A method for providing a random for a cryptographic algorithm, the method being implemented by an electronic calculator comprising a core and a set of memory/memories, the set of memory/memories including a reference memory having intrinsic randomness in a predefined state of generating random elements, the method comprising a initialization phase of initializing a physical unclonable function and a use phase of using the physical unclonable function;
- the initialization phase comprising:
- reading a reference message in a first memory zone, the first memory zone being included in the reference memory, the reading step being performed in the state of generating random elements of the reference memory;
- writing the reference message in a second memory zone, distinct from the first memory zone, the second memory zone being included in the set of memory/memories;
- the use phase comprising:
- subsequent reading of the reference message in the second memory zone, the reference message read in the second memory zone forming the random element for the cryptographic algorithm.