save3ds icon indicating copy to clipboard operation
save3ds copied to clipboard

Automatic derivation of 0x2F keyY

Open Cu3PO42 opened this issue 4 years ago • 0 comments

Key 0x2F keyY is derived by NATIVE_FIRM, but the derivation procedure is arguably quite simple. It is probably best summarised by this one line from SciresM/3ds-pohlig-hellmann:

keys = hashlib.sha256(binascii.unhexlify('%0512X' % pow(asn1, d, n))).hexdigest().upper()

where asn1 is some data that would need to be hardcoded and d and n can be read from boot9.

I'm not sure if hardcoding (some) data is something that aligns with the ideas you have for this project, but I believe it would be quite convenient, since it's a lot less clear how to obtain that key than it is to obtain boot9.

Maybe a similar procedure would also be viable for 0x19 and 0x1A keyX?

Cu3PO42 avatar Dec 03 '19 09:12 Cu3PO42