Editing Keys

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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 23: Line 23:


== Kirk Keys ==
== Kirk Keys ==
=== Kirk Test Key ===
<pre>
2B7E151628AED2A6ABF7158809CF4F3C
</pre>
* Used to test the AES HW crypto engine of Kirk
* Also used in several other places such as:
<pre>
https://www.psdevwiki.com//ps3/Keys#index.dat_Keys
https://bughunters.google.com/blog/5424842357473280/zen-and-the-art-of-microcode-hacking
</pre>


=== PSP Kirk command 1 AESCBC128-CMAC Key ===
=== PSP Kirk command 1 AESCBC128-CMAC Key ===
Line 42: Line 28:
<pre>
<pre>
98C940975C1D10E87FE60EA3FD03A8BA
98C940975C1D10E87FE60EA3FD03A8BA
</pre>
=== PSP Kirk command 1 ECDSA Curve ===
<pre>
FFFFFFFFFFFFFFFF00000001FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF00000001FFFFFFFFFFFFFFFC
65D1488C0359E234ADC95BD3908014BD91A525F9
FFFFFFFFFFFFFFFF0001B5C617F290EAE1DBAD8F
2259ACEE15489CB096A882F0AE1CF9FD8EE5F8FA
604358456D0A1CB2908DE90F27D75C82BEC108C0
</pre>
=== PSP Kirk command 1 ECDSA Private Key ===
<pre>
F392E26490B80FD889F2D9722C1F34D7274F983D
</pre>
=== PSP Kirk command 1 ECDSA Public Key ===
<pre>
ED9CE58234E61A53C685D64D51D0236BC3B5D4B9
049DF1A075C0E04FB344858B61B79B69A63D2C39
</pre>
</pre>


Line 670: Line 632:
=== Spock Master Key (Spock command 9) ===
=== Spock Master Key (Spock command 9) ===


<pre>
private byte[] PSPSpockMasterKey = new byte[16] {
9F46F9FCFAB2AD0569F688D8794B92BA
0x9F, 0x46, 0xF9, 0xFC, 0xFA, 0xB2, 0xAD, 0x05, 0x69, 0xF6, 0x88, 0xD8, 0x79, 0x4B, 0x92, 0xBA
</pre>
};


* Located in Kicho & Dencho flashData.prx
* Located in Kicho & Dencho
 
=== Spock Unknown Key ===
 
<pre>
0C0D0E0F08090A0B0405060700010203
</pre>
 
* Located in Kicho & Dencho TESTMODE.prx


== PSP IdStorage Keys ==
== PSP IdStorage Keys ==


=== PSP Fuse KeyGen Master Key ===
=== PSP IdStorage Master Key ===


<pre>
//PSP Kirk commands 16 and 18 master key, also used for UMD Keys decryption
475E09F4A237DA9BEFFF3BC077143D8A
private byte[] PSPIDStorageKey = new byte[16] {
</pre>
0x47, 0x5E, 0x09, 0xF4, 0xA2, 0x37, 0xDA, 0x9B, 0xEF, 0xFF, 0x3B, 0xC0, 0x77, 0x14, 0x3D, 0x8A
};


* Located in Kicho & Dencho flashData.prx
* Located in Kicho & Dencho


=== PSP IdStorage Certificates ECDSA Public Keys ===
=== PSP IdStorage Certificates ECDSA Public Keys ===
Line 744: Line 699:
  };
  };
</pre>
</pre>
=== VDV Hash key ===
<pre>
73 70 65 63 69 61 6C 77 65 65 6B 00
</pre>
i.e. "specialweek" in ASCII
* Used to calculate version.txt hash for [[IDStorage]] leaf 0x51
Usage:
* allocate a work buffer of 0x100 zeroed bytes
* copy content of plaintext version.txt starting from zero offset
* XOR each QWORD (8 bytes) with Fuse ID in big endian
* compute hash of the work buffer
* compare first 8 bytes of hash with content of ID Storage leaf 0x51


== PSP Save Data Hash Keys ==
== PSP Save Data Hash Keys ==
Line 777: Line 717:
  private byte[] PSPAMHashKey4 = new byte[16] { 0x13, 0x5F, 0xA4, 0x7C, 0xAB, 0x39, 0x5B, 0xA4, 0x76, 0xB8, 0xCC, 0xA9, 0x8F, 0x3A, 0x04, 0x45 };
  private byte[] PSPAMHashKey4 = new byte[16] { 0x13, 0x5F, 0xA4, 0x7C, 0xAB, 0x39, 0x5B, 0xA4, 0x76, 0xB8, 0xCC, 0xA9, 0x8F, 0x3A, 0x04, 0x45 };
  private byte[] PSPAMHashKey5 = new byte[16] { 0x67, 0x8D, 0x7F, 0xA3, 0x2A, 0x9C, 0xA0, 0xD1, 0x50, 0x8A, 0xD8, 0x38, 0x5E, 0x4B, 0x01, 0x7E };
  private byte[] PSPAMHashKey5 = new byte[16] { 0x67, 0x8D, 0x7F, 0xA3, 0x2A, 0x9C, 0xA0, 0xD1, 0x50, 0x8A, 0xD8, 0x38, 0x5E, 0x4B, 0x01, 0x7E };
== PSP Kirk command 1 ECDSA Curve ==
private byte[][] kirk_command_1_ecdsa_curve = new byte[6][] {
new byte[20] { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
new byte[20] { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC },
new byte[20] { 0x65, 0xD1, 0x48, 0x8C, 0x03, 0x59, 0xE2, 0x34, 0xAD, 0xC9, 0x5B, 0xD3, 0x90, 0x80, 0x14, 0xBD, 0x91, 0xA5, 0x25, 0xF9 },
new byte[20] { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0xB5, 0xC6, 0x17, 0xF2, 0x90, 0xEA, 0xE1, 0xDB, 0xAD, 0x8F },
new byte[20] { 0x22, 0x59, 0xAC, 0xEE, 0x15, 0x48, 0x9C, 0xB0, 0x96, 0xA8, 0x82, 0xF0, 0xAE, 0x1C, 0xF9, 0xFD, 0x8E, 0xE5, 0xF8, 0xFA },
new byte[20] { 0x60, 0x43, 0x58, 0x45, 0x6D, 0x0A, 0x1C, 0xB2, 0x90, 0x8D, 0xE9, 0x0F, 0x27, 0xD7, 0x5C, 0x82, 0xBE, 0xC1, 0x08, 0xC0 },
};
== PSP Kirk command 1 ECDSA Private Key ==
private byte[] kirk_command_1_ecdsa_private_key = new byte[20] = {
0xF3, 0x92, 0xE2, 0x64, 0x90, 0xB8, 0x0F, 0xD8, 0x89, 0xF2, 0xD9, 0x72, 0x2C, 0x1F, 0x34, 0xD7, 0x27, 0x4F, 0x98, 0x3D
};
== PSP Kirk command 1 ECDSA Public Key ==
private byte[] kirk_command_1_ecdsa_pub_key_x = new byte[20] { 0xED, 0x9C, 0xE5, 0x82, 0x34, 0xE6, 0x1A, 0x53, 0xC6, 0x85, 0xD6, 0x4D, 0x51, 0xD0, 0x23, 0x6B, 0xC3, 0xB5, 0xD4, 0xB9 };
private byte[] kirk_command_1_ecdsa_pub_key_y = new byte[20] { 0x04, 0x9D, 0xF1, 0xA0, 0x75, 0xC0, 0xE0, 0x4F, 0xB3, 0x44, 0x85, 0x8B, 0x61, 0xB7, 0x9B, 0x69, 0xA6, 0x3D, 0x2C, 0x39 };
private byte[] kirk_command_1_ecdsa_ec_m_header = new byte[20] { 0x7D, 0x7E, 0x46, 0x85, 0x4D, 0x07, 0xFA, 0x0B, 0xC6, 0xE8, 0xED, 0x62, 0x99, 0x89, 0x26, 0x14, 0x39, 0x5F, 0xEA, 0xFC };
private byte[] kirk_command_1_ecdsa_ec_r_header = new byte[20] { 0x66, 0x4f, 0xe1, 0xf2, 0xe9, 0xd6, 0x63, 0x36, 0xf7, 0x33, 0x0b, 0xca, 0xb9, 0x55, 0x6d, 0xb6, 0xeb, 0xe8, 0x05, 0xdc };
private byte[] kirk_command_1_ecdsa_ec_m_data = new byte[20] { 0x15, 0xee, 0x16, 0x24, 0x12, 0x09, 0x58, 0x16, 0x0f, 0x8b, 0x1a, 0x21, 0x33, 0x7a, 0x38, 0xf8, 0x29, 0xf7, 0x2e, 0x58 };
private byte[] kirk_command_1_ecdsa_ec_r_data = new byte[20] { 0xcd, 0xe3, 0x88, 0xa6, 0x3c, 0x1d, 0x57, 0xdc, 0x5e, 0x94, 0xee, 0xac, 0x2e, 0x6c, 0x9f, 0x2e, 0x81, 0xc7, 0x1c, 0x58 };


== PSP Applications ECDSA Curve ==
== PSP Applications ECDSA Curve ==
Line 957: Line 924:
  public static final int[] drmkeys_6XX_1 = {0x36, 0xEF, 0x82, 0x4E, 0x74, 0xFB, 0x17, 0x5B, 0x14, 0x14, 0x05, 0xF3, 0xB3, 0x8A, 0x76, 0x18};
  public static final int[] drmkeys_6XX_1 = {0x36, 0xEF, 0x82, 0x4E, 0x74, 0xFB, 0x17, 0x5B, 0x14, 0x14, 0x05, 0xF3, 0xB3, 0x8A, 0x76, 0x18};
  public static final int[] drmkeys_6XX_2 = {0x21, 0x52, 0x5D, 0x76, 0xF6, 0x81, 0x0F, 0x15, 0x2F, 0x4A, 0x40, 0x89, 0x63, 0xA0, 0x10, 0x55};
  public static final int[] drmkeys_6XX_2 = {0x21, 0x52, 0x5D, 0x76, 0xF6, 0x81, 0x0F, 0x15, 0x2F, 0x4A, 0x40, 0x89, 0x63, 0xA0, 0x10, 0x55};
public static final int[] key_indexdat2 = {0x6B, 0x3F, 0x91, 0x58, 0xED, 0x40, 0x68, 0x54, 0x93, 0xD6, 0x45, 0x3F, 0x2C, 0xD4, 0x23, 0x43};


== PRXDecrypter 144-byte Tag Keys ==
== PRXDecrypter 144-byte Tag Keys ==
Line 4,958: Line 4,924:
== NPDRM Keys ==
== NPDRM Keys ==


See [https://www.psdevwiki.com/ps3/Keys#NPDRM_Keys Keys on PS3 Dev Wiki].
See [https://www.psdevwiki.com/ps3/edit/Keys#NPDRM_Keys|NPDRM Keys on PS3 Dev Wiki].


== Retail iplloader ==
== Retail Lib-PSP iplloader ==


=== IPL header Kirk command 1 XOR keys ===
=== IPL header Kirk command 1 XOR keys ===
Line 5,001: Line 4,967:
</pre>
</pre>


== 3.5.0 DTP-T1000 iplloader ==
=== Kirk command 1 ECDSA Public Key ===
 
<pre>
BC660611A70BD7F2D140A48215C096D11D2D4112F0E9379AC4E0D387C542D091349DD15169DD5A87
</pre>
 
== 3.5.0 DTP-T1000 Lib-PSP iplloader ==


=== IPL header Kirk command 1 XOR key ===
=== IPL header Kirk command 1 XOR key ===
Line 5,012: Line 4,984:
</pre>
</pre>


=== IPL decryption seed binary (0x2C0 bytes) ===
=== IPL decryption seed hash (key) ===


<pre>
<pre>
Line 5,019: Line 4,991:
4A9561D58704E6538410D9EEBFED2E97
4A9561D58704E6538410D9EEBFED2E97
EE4C8B042BC817DFD3D91EF6714055F7
EE4C8B042BC817DFD3D91EF6714055F7
</pre>
=== IPL decryption seed binary (0x280 bytes) ===
<pre>
DF0CBB0F808D785D705C60DBA33B8788
DF0CBB0F808D785D705C60DBA33B8788
CBA210244B6DD7FB292C57223B6D217F
CBA210244B6DD7FB292C57223B6D217F
You have switched to source editingClose

You can switch back to visual editing at any time by clicking on this icon.

Please note that all contributions to PSP Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PSP Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)