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: