ES block encryption: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
ES block encryption, for lack of a better name, is a commonly used data encryption method on DSi by Nintendo. | ES block encryption, for lack of a better name, is a commonly used data encryption method on DSi by Nintendo. | ||
It uses AES CCM to encrypt a maximum of 0x20000 bytes of data per time, and extends it with a 32 byte metablock at the end. | It uses AES CCM to encrypt a maximum of 0x20000 bytes of data per time, and extends it with a 32 byte metablock at the end. Data blocks bigger than 0x20000 bytes are segmented into multiple ES blocks. | ||
A part of the last 16 bytes of metablock itself is encrypted with AES CTR, and contains the nonce for decryption and size of the ES block: | A part of the last 16 bytes of metablock itself is encrypted with AES CTR, and contains the nonce for decryption and size of the ES block: | ||