RSA Registers: Difference between revisions
→RSA_MOD: Note about attack to read RSA_EXPFIFO indirectly |
Clarifications and edge cases |
||
Line 1: | Line 1: | ||
= Overview = | |||
The RSA module is essentially a hardware-accelerated modular exponentiation engine. It is specially optimized for RSA applications, so its behavior can be incoherent when RSA's invariants are broken. | |||
=== Observed edge cases === | |||
* if 2 divides mod, output == 0 | |||
= Registers = | = Registers = | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 77: | Line 84: | ||
|- | |- | ||
| 8 | | 8 | ||
| Endianness (1=Little endian, 0=Big endian) | | Endianness (1=Little endian, 0=Big endian). Affects RSA_EXPFIFO, RSA_MOD, and RSA_TXT. | ||
|- | |- | ||
| 9 | | 9 | ||
| Word order (1=Normal order, 0=Reversed order) | | Word order (1=Normal order, 0=Reversed order). Affects RSA_MOD and RSA_TXT. | ||
|} | |} | ||