S25FL128S /S25FL256S OTP address space randomization

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
matthewburman
Level 1
Level 1
First reply posted First question asked Welcome!

I have a S25FL128S/S25FL256S device, and I was going to leverage the 16 lowest address bytes from the OTP address space as a random number since it states:  (part 7.4 in https://www.cypress.com/file/448601/download)

 

“In the 32-byte region starting at address zero:

■ The 16 lowest address bytes are programmed by Cypress with a 128-bit random number. Only Cypress is able to program these bytes.

■ The next 4 higher address bytes (OTP Lock Bytes) are used to provide one bit per OTP region to permanently protect each

■ region from programming. The bytes are erased when shipped from Cypress. After an OTP region is programmed, it can be locked to prevent further programming, by programming the related protection bit in the OTP Lock Bytes.

■ The next higher 12 bytes of the lowest address region are Reserved for Future Use (RFU). The bits in these RFU bytes may be programmed by the host system but it must be understood that a future device may use those bits for protection of a larger OTP space. The bytes are erased when shipped from Cypress.”

 

However I was curious about the randomization, how can we ensure that each device is random.  Is there a possibility that a sequence can be determined.  Do you have any information regarding this?

0 Likes
3 Replies
AlbertB_56
Moderator
Moderator
Moderator
500 replies posted 50 likes received 250 replies posted

Hello Matthew,

I am not quite certain if I understand your case usage.  Region 0 is OTP and is 32-bytes in size.  Are you asking if the lowest 16 address bytes can be used as memory space to store an 128-bit random number?  If so, the answer is no, since these bytes are programmed at the factory, with a random 128-bit number.  The next 4-bytes are designated for OTP lock bits settings, and the remaining 12-bytes are Reserved for Future Use (RFU).

 

Best regards,

Albert

Cypress Semiconductor Corp.

An Infineon Technologies Company

0 Likes

Hello Matthew,

Cypress' standard practice is to program the low order 16 bytes of the OTP memory space (locations 0x0 to 0xF) with a 128-bit random number using the "Linear Congruential Random Number Method." The seed value for the algorithm is a random number concatenated with the day and time of tester insertion.   

Hope this helps...

 

 

Best regards,
Albert

Cypress Semiconductor Corp.

An Infineon Technologies Company

 

 

0 Likes
matthewburman
Level 1
Level 1
First reply posted First question asked Welcome!

@AlbertB_56 I am curious about the randomization from the programming at the factory.  How can you ensure the randomization?  I was looking for more information about if someone uses the random number, how can they ensure it is random enough?  Do you have more information about how the random number is generated?

Thanks,

Matt

0 Likes