RSA Registers: Difference between revisions
No edit summary |
No edit summary |
||
Line 29: | Line 29: | ||
| 0x100 | | 0x100 | ||
|- | |- | ||
| | | REG_RSATXT | ||
| 0x1000B800 | | 0x1000B800 | ||
| 0x100 | | 0x100 | ||
Line 79: | Line 79: | ||
The RSA public key for the selected keyslot can be written here. When writing the RSA key, the key is copied to 0x1000B500-RSA_bytesize, length RSA_bytesize. The engine determines the RSA byte-size by checking where the first word of the key was written. The engine only supports RSA-2048 and below. | The RSA public key for the selected keyslot can be written here. When writing the RSA key, the key is copied to 0x1000B500-RSA_bytesize, length RSA_bytesize. The engine determines the RSA byte-size by checking where the first word of the key was written. The engine only supports RSA-2048 and below. | ||
== | == REG_RSATXT == | ||
The RSA signature can be written here, and the data read from here is the message | The RSA signature can be written here, and the data read from here is the message. When writing the RSA signature, the signature must be prepended with zeroes until it is a multiple of 8 bytes, and the end of the signature must align with the end of the register area. | ||
The PKCS message padding must be manually checked by software, as hardware will only do raw RSA operations. | |||
== Keyslots usage == | == Keyslots usage == |