Skip to content

Latest commit

 

History

History
130 lines (92 loc) · 4.54 KB

pyctr.crypto.engine.rst

File metadata and controls

130 lines (92 loc) · 4.54 KB

engine - AES engine tools

The engine module provides tools to perform cryptographic operations on Nintendo 3DS data, including emulating keyslots and the key scrambler.

Warning

This page is incomplete.

AES engine

The 3DS uses keyslots in an attempt to obscure the encryption keys used. Each slot consists of X, Y, and normal keys.

Often, one slot contains a fixed key (often X), while the other is a key unique to something such as a game or console (often Y). When key Y is set, both keys are put into a key scrambler, and the result is stored as a normal key. The AES engine would then use the result for encryption. A normal key can also be set directly.

The AES engine only has keyslots 0x0 to 0x3F (0 to 63). Keyslots 0x0 to 0x3 are for DSi-mode software, and use the DSi key scrambler. This module uses keyslots above 0x3F for internal use.

CryptoEngine objects