AES Registers: Difference between revisions
AES_MACBLKCNT |
TimmSkiller (talk | contribs) No edit summary |
||
(6 intermediate revisions by 5 users not shown) | |||
Line 14: | Line 14: | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| [[# | | [[#AES_MACEXTRABLKCNT|AES_MACBLKCNT]] | ||
| 0x10009004 | | 0x10009004 | ||
| 2 | | 2 | ||
Line 172: | Line 172: | ||
Changing the input word order triggers the key/keyX/keyY FIFOs to be flushed. | Changing the input word order triggers the key/keyX/keyY FIFOs to be flushed. | ||
== | == AES_MACEXTRABLKCNT == | ||
(CCM-MAC length)>>4, i.e. the | (CCM-MAC extra data length)>>4, i.e. the number of block of CCM-MAC extra data. | ||
== AES_BLKCNT == | == AES_BLKCNT == | ||
Line 232: | Line 232: | ||
== Endianness and word order == | == Endianness and word order == | ||
=== AES_CNT.input_endianness === | |||
Swaps the bytes of 32-bit writes to AES_CTR, AES_WRFIFO, AES_KEY*FIFO according to specified endianness. AES_MAC? | |||
=== AES_CNT.output_endianness === | |||
Swaps the bytes of 32-bit reads from AES_RDFIFO. | |||
=== AES_CNT.input_word_order === | |||
If reversed, writes to AES_KEY*FIFO and AES_WRFIFO fill the FIFO backwards. For AES_WRFIFO, this means that every 16-byte block will have its words in the reverse order, but the order of these blocks remains the same. AES_CTR is unaffected by this field. AES_MAC? | |||
=== AES_CNT.output_word_order === | |||
If reversed, reads from AES_RDFIFO will drain the FIFO backwards. This means that every 16-byte output block will have its words in the reverse order, but the order of these blocks remains the same. | |||
== CCM mode pitfall == | == CCM mode pitfall == | ||
Line 467: | Line 482: | ||
| - | | - | ||
| No | | No | ||
|- | |||
| 0x20 | |||
| [[System_SaveData|System Save Data]] encryption key during [[System_Transfer|System Transfers]]. See [[System_Transfer#System_Save_Data_Transfer|System Save Data Transfer]]. | |||
| Bootrom. | |||
| NATIVE_FIRM | |||
| NATIVE_FIRM | |||
| Yes | |||
|- | |- | ||
| 0x24 | | 0x24 | ||
Line 560: | Line 582: | ||
| Movable.sed key. | | Movable.sed key. | ||
This is the keyslot used for movable.sed encryption + AES-CBC MAC with the import/export [[FSPXI:ImportIntegrityVerificationSeed|commands]]. | This is the keyslot used for movable.sed encryption + AES-CBC MAC with the import/export [[FSPXI:ImportIntegrityVerificationSeed|commands]]. The keyYs used for crypto/CMAC are different, but both can be found in process9 rodata. | ||
| Bootrom. | | Bootrom. | ||
| NATIVE_FIRM. | |||
| - | | - | ||
| Yes | | Yes | ||
|- | |- | ||
| 0x36 | | 0x36 | ||
| | | Used by the [[Friend_Services|the friends module]] for [[Friend_Services#Approach_Contexts|ApproachContext]] encryption. See [[FRDU:GetMyApproachContext]]. | ||
See [[ | |||
| Bootrom. | | Bootrom. | ||
| Bootrom. | | Bootrom. |