Editing Keys
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 22: | Line 22: | ||
= Per-console keys = | = Per-console keys = | ||
== Cmep Keyring 0x600 - Visible ID (Test Subject 9 PS Vita) == | == Cmep Keyring 0x600 - Visible ID (Test Subject 9 PS Vita) == | ||
Line 63: | Line 61: | ||
10 08 01 01 AC 72 45 00 00 00 00 00 AB 14 4B 85 <- fuse_id, reserved, hash | 10 08 01 01 AC 72 45 00 00 00 00 00 AB 14 4B 85 <- fuse_id, reserved, hash | ||
</pre> | </pre> | ||
== Usage == | |||
To generate individual seeds, AES128ECB encrypt and decrypt with constant key ids_master_key (also named idskey0, kirk16key), data: ss->buf (derived from Fuse ID) and mesh data. See [https://www.psdevwiki.com/psp/Kirk]. | |||
<source lang="C"> | |||
typedef struct SceIdStorageSeedValue { // size is 0x40 | |||
SceUInt8 aes128cbc_mac_key[0x10]; // used by Kirk command 18 | |||
SceUInt8 aes128cbc_key[0x10]; // used by Kirk command 16 | |||
SceUInt8 derivation_key[0x10]; // used to derive the 2 other keys | |||
SceUInt8 fuse_id[8]; // endianness to precise | |||
SceUInt32 padding; // usually set to zero | |||
SceUInt32 hash; // the hash algorithm is in flashData.prx | |||
} SceIdStorageSeedValue; | |||
</source> | |||
= SUPER KEYS (Dumped by SDBoot glitching) = | = SUPER KEYS (Dumped by SDBoot glitching) = |