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 1: Line 1:
[[Category:Software]]
[[Category:Software]]<noinclude>[[Category:Main]]</noinclude>
<noinclude>
[[Category:Main]]
</noinclude>


= Useful Information =
= Useful Information =
Line 20: Line 17:
* pub file (public): %s-pub-%s
* pub file (public): %s-pub-%s
* priv file (private): %s-priv-%s
* priv file (private): %s-priv-%s
= Per-console keys =
See [https://www.psdevwiki.com/psp/Kirk#Individual_Seed Kirk documentation] for usage of PSP-related individual seeds.
== Cmep Keyring 0x600 - Visible ID (Test Subject 9 PS Vita) ==
<pre>
00 00 01 01 AC 72 45 00 F5 68 96 03 80 57 C8 1A
25 99 21 A1 73 A4 89 F2 E9 96 23 E9 86 0F 74 2D
</pre>
* Contains the console's [https://wiki.henkaku.xyz/vita/VisibleId Visible ID].
== Cmep Keyring 0x601 - ScePspIndividualKeyMeshCert first half (Test Subject 9 PS Vita) ==
* Contains the first half (0x20 bytes) of of the console's [https://www.psdevwiki.com/psp/Kirk#PSP_Individual_Key_Mesh_Certificate ScePspIndividualKeyMeshCert].
* Warning: the dump presented here is byte-swapped.
<pre>
B9 18 4E 22 83 8B 91 6D 19 86 72 D5 FB 10 FD A3 <- byte-swapped key_mesh.derivation_seed_1
4A 4E 72 CB 02 6E 96 E9 96 B2 C3 23 B9 CF 36 A4 <- byte-swapped key_mesh.derivation_seed_0
</pre>
== Cmep Keyring 0x602 - ScePspIndividualKeyMeshCert second half (Test Subject 9 PS Vita) ==
* Contains the second half (0x20 bytes) of the console's [https://www.psdevwiki.com/psp/Kirk#PSP_Individual_Key_Mesh_Certificate ScePspIndividualKeyMeshCert].
* Warning: the dump presented here is byte-swapped.
<pre>
85 4B 14 AB 00 00 00 00 00 45 72 AC 01 01 08 10 <- byte-swapped hash, byte-swapped reserved, byte-swapped fuse_id
FF 9A 3E E5 A2 B9 F5 25 32 4D E0 2A 8F B1 8F B9 <- byte-swapped key_mesh.derivation_key
</pre>
== ScePspIndividualKeyMeshCert (Test Subject 9 PS Vita) ==
* By byte-swapping keyrings 0x601 and 0x602 or by taking Fuse ID only and running the ScePspIndividualKeyMeshCert generation algorithm (see PSP Jig Kick flashData.prx), we can obtain ScePspIndividualKeyMeshCert.
<pre>
A4 36 CF B9 23 C3 B2 96 E9 96 6E 02 CB 72 4E 4A <- key_mesh.derivation_seed_0
A3 FD 10 FB D5 72 86 19 6D 91 8B 83 22 4E 18 B9 <- key_mesh.derivation_seed_1
B9 8F B1 8F 2A E0 4D 32 25 F5 B9 A2 E5 3E 9A FF <- key_mesh.derivation_key
10 08 01 01 AC 72 45 00 00 00 00 00 AB 14 4B 85 <- fuse_id, reserved, hash
</pre>


= SUPER KEYS (Dumped by SDBoot glitching) =
= SUPER KEYS (Dumped by SDBoot glitching) =
Line 76: Line 30:
<pre>
<pre>
A193E1DD073BECDF6720D0616A8E815D
A193E1DD073BECDF6720D0616A8E815D
</pre>
== Perconsole Keyslot 0x8 (Test Subject 8) ==
<pre>
80D71F18E0A3F393236AE1E875AE3EF8
</pre>
</pre>


Line 94: Line 42:
<pre>
<pre>
C310134A5F5D825AC5E0BB838BA3E287
C310134A5F5D825AC5E0BB838BA3E287
</pre>
== Perconsole Keyslot 0x9 (Test Subject 8) ==
<pre>
04937A014699DA528E6B0CF7ECCADB78
</pre>
</pre>


Line 158: Line 100:
7E EE 37 A4 C0 DA C7 D2 0A AA 5E DA 34 17 B4 5C   
7E EE 37 A4 C0 DA C7 D2 0A AA 5E DA 34 17 B4 5C   
45 A8 DA 4E FD 40 7D 9D E5 08 53 B4 9A 06 29 43
45 A8 DA 4E FD 40 7D 9D E5 08 53 B4 9A 06 29 43
</pre>
== Perconsole Keyslot 0x607 (Test Subject 8) ==
<pre>
6E 1E 68 77 A7 1D 05 8B 97 55 F6 9D 2E 2A 24 1C 
4A 3D B7 E4 3B E8 F0 65 FA A0 8C 20 58 89 3F F2
</pre>
</pre>


Line 911: Line 846:
* Used with other possible keys besides AA key (5 possibilities)
* Used with other possible keys besides AA key (5 possibilities)
* Never seen used
* Never seen used


== Second Loader ==
== Second Loader ==
Line 944: Line 881:
</pre>
</pre>


=== SMI Modulus ===
=== Unknown GCAUTHMGR Key and IV ===
 
<pre>
821C5714415E9804D6AAE324EB3DDDFE7BB73E8EC0F9E04D3D6D60BCD0CF4EE9
</pre>
 
<pre>
CEC36FCD7DB3102A80E9C2AA65734FC1
</pre>
 
=== SMI Modulus ===
 
<pre>
<pre>
C618BE3270E1553B2D08660C70000616
C618BE3270E1553B2D08660C70000616
Line 967: Line 913:
=== SMI (Slot 0x213) ===
=== SMI (Slot 0x213) ===
<pre>
<pre>
AB7097356FDD49D83878540167F0C4AD85537C5A56BD15DF0EB5F7F0D9E276E6 Seed First Derivation SMI
310D20077AF3BF121F21D9ADAF389CDA IV First Derivation SMI  
310D20077AF3BF121F21D9ADAF389CDA IV First Derivation SMI  


Line 1,002: Line 946:
AC78EE86799148699B9CB3F5C6CAB73A6AC45EB11F44E9151232CF8F123C7D88
AC78EE86799148699B9CB3F5C6CAB73A6AC45EB11F44E9151232CF8F123C7D88
</pre>
</pre>
== GcAuthMgr ==
=== Master Key Seeds ===
As part of gc authentication, some keys are derived using these key seeds
& 0x345 and 0x348 bbmac.
different key seeds are used depending on the key id used by the gamecart.
==== KeyID 0x1 ====
KEYSEED:
<pre>
7f1fd065dd2f40b3e26579a6390b616d
</pre>
IV:
<pre>
8b14c8a1e96f30a7f101a96a3033c55b
</pre>
==== KeyID 0x8001 ====
KEYSEED:
<pre>
6f2285ed463a6e57c5f3550ddcc81feb
</pre>
==== KeyID 0x8002 ====
KEYSEED:
<pre>
da9608b528825d6d13a7af1446b8ec08
</pre>
==== KeyID 0x8003 ====
KEYSEED:
<pre>
368b2eb5437a821862a6c95596d8c135
</pre>
=== Unknown GcAuthMgr Key and IV ===
<pre>
821C5714415E9804D6AAE324EB3DDDFE7BB73E8EC0F9E04D3D6D60BCD0CF4EE9
</pre>
<pre>
CEC36FCD7DB3102A80E9C2AA65734FC1
</pre>
== KPRX_AUTH ==
keys part of kprx_auth_sm
=== Bind Data HMAC Key ===
used for ksceSblAuthMgrDecBindData
<pre>
901a84fb13a744a378c5018a60f58c22
</pre>
HMAC-SHA256 using this key
result is the key to aes-cbc-decrypt bind data
first 0x10 is key, last 0x10 is iv.


== AIMGR ==
== AIMGR ==
Line 1,911: Line 1,803:
</pre>
</pre>


== IdStorage Keys ==
== IdStorage Certificate Keys ==
 
=== IdStorage Certificates ECDSA Public Keys (160 bit) ===


=== PS Vita IdStorage leaves 0-0x7D RSA2048 Public Key ===
==== PSP Certificates ====
 
<pre>
E9 18 F0 8E F8 D1 ED 4A 5E 80 65 44 15 5D AF 3E
99 CD 65 65 5C 5D FE BC BA 59 A4 AB 52 81 63 53
B1 DC 9C 0E BB 70 F7 48 57 47 9C 4C 49 00 8E E4
F7 55 93 14 71 67 DF 9C 92 8E D8 42 4A 10 75 50
D0 9F 6A 48 57 9A E3 86 BF 6B A3 0C 73 57 00 DC
F7 CB 2B B3 7C 03 11 CC EC D9 0F BA A1 2E E5 EE
5C D3 10 D5 0F 1D 58 C1 23 8B CD 7B 9E E6 2C 7F
4C AE 11 01 8C A5 AE F0 D5 C2 8D 5E E9 F6 6F 1E
37 8B B4 BD BC C0 2F 3D 3D 6E F8 E6 35 EF B6 C2
EF 82 ED AD 07 16 5A 4D A4 AB 83 76 14 9D 6F 29
6D AD DA 83 CF 0D F3 9F 9C 6B AC 79 61 B6 6F 32
60 34 99 B4 C3 9C 94 D7 1A 29 8A B4 12 D8 42 F9
69 C3 0E 47 EF 86 FD 35 E5 CD 23 E8 95 B3 E1 A3
D6 E9 CA 90 8F 46 59 FE BC B3 00 C0 9C E7 34 07
5A 7F 85 2A 5B AD 82 B8 52 85 74 6F 73 45 C2 5F
4B 7A 8D 85 70 8B 6C FD AA 59 70 BF 33 00 79 D5
</pre>
 
* Exponent is 65537.
* Found in PS Vita factTest.self.
* Signature is stored in PS Vita IdStorage leaf 0x7E offset 0x60.
* PSP IdStorage does not have this signature.
* This signature does not seem to be checked on console boot. It might be used only during manufacturing/servicing to ensure that IdStorage leaves 0-0x7D have been written correctly. This implies that IdStorage leaves 0-0x7D are not meant to be edited after manufacturing, contrarly to some other leaves.
 
== IdStorage Certificate Keys ==
 
=== IdStorage Certificates ECDSA Public Keys (160 bit) ===
 
==== PSP Certificates ====


<pre>
<pre>
Line 2,070: Line 1,933:
== PSM Keys ==
== PSM Keys ==


=== Update HMAC Key ===
=== PSM PKG HMAC Key ===
 
    5AE4E16B214290E14366E5B653C4E3C3E69E4956510EADD66ACB37A077E0686E
    086F8BAB5030E3D82407F01B676CB8037DF20D1420C08A91A2141A3FE5DC063C


how to calculate update URL:
    5AE4E16B214290E14366E5B653C4E3C3
    E69E4956510EADD66ACB37A077E0686E
    086F8BAB5030E3D82407F01B676CB803
    7DF20D1420C08A91A2141A3FE5DC063C


HmacSha1("NPPA00236_00", hmackey) => 87b2fc0108d5197ae7572bda397dd8a81b56839e
used to calculate PSM PKG URL


append first 8 characters of hex encoded hmac; like such: "NPPA00236_00_87B2FC01"
hmacsha1("NPPA00236_00", key) = 87b2fc0108d5197ae7572bda397dd8a81b56839e


update xml is => http://psm-pkg.np.dl.playstation.net/psm/np/NPPA/NPPA00236_00_87B2FC01/version.xml
use last 8 characters for this part: "NPPA00236_00_87B2FC01"


you can get the PKG for any PSM application like so:  
final result: http://psm-pkg.np.dl.playstation.net/psm/np/NPPA/NPPA00236_00_87B2FC01/1.00/NPPA00236_00.pkg


take "appVersion" from version.xml => "1.00"
(change domain to zeus.dl.playstation.net to download in current year)


build PKG link using version => http://psm-pkg.np.dl.playstation.net/psm/np/NPPA/NPPA00236_00_87B2FC01/1.00/NPPA00236_00.pkg
=== PSMDA "protected_kconsole_cache.dat" HMAC Key ===
 
you can also get screenshots and description of the application; using /metadata.xml; for example;
 
http://psm-pkg.np.dl.playstation.net/psm/np/NPPA/NPPA00236_00_87B2FC01/1.00/metadata.xml
 
(note; you have to change the domain to zeus.dl.playstation.net as sony removed the "psm-pkg.np.dl.playstation.net" subdomain awhile ago)
 
=== 'psm.pub' strong name public key ===
Used for verifying strong name signature of runtime's Mono/.NET assemblies;
    00240000048000009400000006020000002400005253413100040000110000009133D396CA929938BC68440B541D8888614E7BD475B
    EF719AB4F4B85B1C21FC3EF2B5F32DF0DE7C769CA90687650DA49EEBE7ADCB71479F1463E10902CB65A1F44FA2E71B3F30E108FE0F6
    699D179DAED5B1A774DB1ABA104C59118544B47CDA724AEA8E6899FA760DFE0BA8656515B48AE94FDE29FC8F5BD569126C7A9AE6F3
 
 
=== PSM Developer Assistant ===
Keys used in the PlayStation Mobile Development Assistant and PlayStation Mobile Development Assistant for Unity applications
 
==== "protected_kconsole_cache.dat" HMAC Key ====


     B73966320E286ADC03F05465CA9E2F92388AEE236D43883135BAB0A5BD5043EA
     B73966320E286ADC03F05465CA9E2F92388AEE236D43883135BAB0A5BD5043EA


==== "NSXVID-PSS.VT.WW-GLOBAL.xml" RSA Private ====
=== PSMDA "NSXVID-PSS.VT.WW-GLOBAL.xml" RSA Private ===


     -----BEGIN PRIVATE KEY-----
     -----BEGIN PRIVATE KEY-----
Line 2,128: Line 1,973:
     VIiHA1jfP9eiCl+1lMhhnnNIHX0CgYEA69Ffc2w5UCJ1cHxu8dR9V4otY57vBJFN
     VIiHA1jfP9eiCl+1lMhhnnNIHX0CgYEA69Ffc2w5UCJ1cHxu8dR9V4otY57vBJFN
     2Svb8h3kJnO9LfU/RYMeXTgJSklh9Tw/zXPOMEQnxi7LocrDd1713vQTTspT3wWd
     2Svb8h3kJnO9LfU/RYMeXTgJSklh9Tw/zXPOMEQnxi7LocrDd1713vQTTspT3wWd
     3AJ25l0BP3NGnbEtGwv6It+VnUULr964vOUv/bl4UMQs52JsnxURts+GPZ3gAF1S
     3AJ25l0BP3NGnbEtGwv6It+VnUULr964vOUv/bl4UMQs52JsnxURts+GPZ3gAF1S
     U2AVxvVej9sCgYBAk7Yhb99RTKjJRGhfqvbvpIeIkivI4CUaDx85KcrMHfydig0F
     U2AVxvVej9sCgYBAk7Yhb99RTKjJRGhfqvbvpIeIkivI4CUaDx85KcrMHfydig0F
     UFXntj36j6W7YH8HX3v7qhM8pfuJNBzze7vtUT96I8hh5HOBJ0nwqQtUFtSrD/AX
     UFXntj36j6W7YH8HX3v7qhM8pfuJNBzze7vtUT96I8hh5HOBJ0nwqQtUFtSrD/AX
     RZsOcv8K/coDGGHTvHtfXlFqfCJM85L6vcB7nokpGVFtqCFqdLQ+Ht9JAQKBgQCU
     RZsOcv8K/coDGGHTvHtfXlFqfCJM85L6vcB7nokpGVFtqCFqdLQ+Ht9JAQKBgQCU
     Ao/0dCLs5xPrDE7ePk6FmVavxlui9Eh2XI7qQlSmxdIhfGLAEHIIdFlwZOq076Hk
     Ao/0dCLs5xPrDE7ePk6FmVavxlui9Eh2XI7qQlSmxdIhfGLAEHIIdFlwZOq076Hk
     JCFwLfcA7vIklI1m6RVNYMiVlWxa+L2CD5HtOMbFumbCJyh2Z2gSZ18SnPme4x30
     JCFwLfcA7vIklI1m6RVNYMiVlWxa+L2CD5HtOMbFumbCJyh2Z2gSZ18SnPme4x30
     ga1DhRu9JcRBXodqueCqa0qIdgTYdbpsVkyU2gEGLQKBgGotuH/yrXNfifTc6Y24
     ga1DhRu9JcRBXodqueCqa0qIdgTYdbpsVkyU2gEGLQKBgGotuH/yrXNfifTc6Y24
     TSaqk/Dq6OvQOEFSIzgOzaQhWvwZjlz3uOnmi3vUo/guG9q/J1JWucWoXNXkkcmb
     TSaqk/Dq6OvQOEFSIzgOzaQhWvwZjlz3uOnmi3vUo/guG9q/J1JWucWoXNXkkcmb
     trc3RYwzy6Rn+0uGHGA91e2bn6vT6PLNOgNUE7YCRDJe5DsDYHtUNILNbRVdSvNs
     trc3RYwzy6Rn+0uGHGA91e2bn6vT6PLNOgNUE7YCRDJe5DsDYHtUNILNbRVdSvNs
     rnh1i22Y3zLWChh3swswqgf7
     rnh1i22Y3zLWChh3swswqgf7
     -----END PRIVATE KEY-----
     -----END PRIVATE KEY-----
 
 
* Used by the PSM Dev Assistant to sign the NSXVID-PSS.VT.WW-GLOBAL.xml file to prevent from modification.
* Used by the PSM Dev Assistant to sign the NSXVID-PSS.VT.WW-GLOBAL.xml file to prevent from modification.
 
 
==== Publishing License PKCS12 Import Password ====
=== PSM Publishing License PKCS12 Import Password ===
 
 
     password
     password
 
 
==== Publishing License PKCS12 PEM Pass Phrase ====
=== PSM Publishing License PKCS12 PEM Pass Phrase ===
 
 
     password
     password
 
 
* PKCS12 certificate used in signing PSM Dev PSSE with PSM SDK.
* PKCS12 certificate used in signing PSM Dev PSSE with PSM SDK.
(World's most secure passwords ever, impossible to crack)     
 
 
(World's most secure passwords ever, impossible to crack xD)     
You can use openssl like so:     
You can use openssl like so:     
     openssl pkcs12 -in <filename> -password pass:password -passout pass:password
     openssl pkcs12 -in <filename> -password pass:password -passout pass:password
to view the private and public keys of a PSM Publishing license.
to view the keystore of a PSM Publishing License
 
 
=== PSM Android ===
=== 'psm.pub' strong name signatures public key ===
These keys are labeled within the debug symbols of the Android version of PSM.
    00240000048000009400000006020000002400005253413100040000110000009133D396CA929938BC68440B541D8888614E7BD475B
    EF719AB4F4B85B1C21FC3EF2B5F32DF0DE7C769CA90687650DA49EEBE7ADCB71479F1463E10902CB65A1F44FA2E71B3F30E108FE0F6
    699D179DAED5B1A774DB1ABA104C59118544B47CDA724AEA8E6899FA760DFE0BA8656515B48AE94FDE29FC8F5BD569126C7A9AE6F3


==== SCE_PSM_KDBG_ACCOUNT_KEY ====  
=== SCE_PSM_KDBG_ACCOUNT_KEY ===


     965895DF95F5432CCBCC4B7823CBF4B3
     965895DF95F5432CCBCC4B7823CBF4B3


==== SCE_PSM_KDBG_ACCOUNT_IV ====  
=== SCE_PSM_KDBG_ACCOUNT_IV ===


     00000000000000000000000000000000
     00000000000000000000000000000000


==== SCE_PSM_KDBG_C1_KEY ====  
=== SCE_PSM_KDBG_C1_KEY ===


     965895DF95F5432CCBCC4B7823CBF4B3
     965895DF95F5432CCBCC4B7823CBF4B3


==== SCE_PSM_KDBG_C1_IV ====  
=== SCE_PSM_KDBG_C1_IV ===


     00000000000000000000000000000000
     00000000000000000000000000000000


==== SCE_PSM_KDBG_CONSOLE_KEY ====  
=== SCE_PSM_KDBG_CONSOLE_KEY ===


     8235EDC66CD14D04F793369A74C7A4FE
     8235EDC66CD14D04F793369A74C7A4FE


==== SCE_PSM_KDBG_CONSOLE_IV ====  
=== SCE_PSM_KDBG_CONSOLE_IV ===


     00000000000000000000000000000000
     00000000000000000000000000000000


==== SCE_PSM_KDBG_LOGINFO_KEY ====  
=== SCE_PSM_KDBG_LOGINFO_KEY ===


     B293993BB5977F88844A7D21DDF63BC7
     B293993BB5977F88844A7D21DDF63BC7


==== SCE_PSM_KDBG_LOGINFO_IV ====  
=== SCE_PSM_KDBG_LOGINFO_IV ===


     00000000000000000000000000000000
     00000000000000000000000000000000


==== SCE_PSM_KDBG_V1_KEY ====  
=== SCE_PSM_KDBG_V1_KEY ===


     14E5A03B1E62D483F88769986EDB1140
     14E5A03B1E62D483F88769986EDB1140


==== SCE_PSM_KDBG_V1_IV ====  
=== SCE_PSM_KDBG_V1_IV ===


     00000000000000000000000000000000
     00000000000000000000000000000000


==== SCE_PSM_HEADER_SIGNATURE_PUB_KEY ====  
=== SCE_PSM_HEADER_SIGNATURE_PUB_KEY ===


     3082010A0282010100A98F6B27F5AFF0F96C7411A337DFCF723C37BEF6FF6552B
     3082010A0282010100A98F6B27F5AFF0F96C7411A337DFCF723C37BEF6FF6552B
Line 2,212: Line 2,059:
     F2EE34F88702030100010000
     F2EE34F88702030100010000


==== SCE_PSM_WHOLE_SIGNATURE_PUB_KEY ====  
=== SCE_PSM_WHOLE_SIGNATURE_PUB_KEY ===


     3082010A0282010100D452C18752BDE6289ACEB862AD32145322C13EEC82F5675
     3082010A0282010100D452C18752BDE6289ACEB862AD32145322C13EEC82F5675
Line 2,224: Line 2,071:
     655F4CDE0F02030100010000
     655F4CDE0F02030100010000


==== internalKey (KeyStore) ====  
=== internalKey (KeyStore) ===


     534B4257020000000000000010000000002F27E9ECD4606C3CE0BCFE99E2AE5EB
     534B4257020000000000000010000000002F27E9ECD4606C3CE0BCFE99E2AE5EB
Line 2,232: Line 2,079:
     E83746A9819C60AB7ED23B8D7685612A831C41000000
     E83746A9819C60AB7ED23B8D7685612A831C41000000


==== internalIcvKey (KeyStore) ====  
=== internalIcvKey (KeyStore) ===


     534B4257020000000000000010000000002F27E9ECD4606C3CE0BCFE99E2AE5EB
     534B4257020000000000000010000000002F27E9ECD4606C3CE0BCFE99E2AE5EB
Line 2,239: Line 2,086:
     C026F69D7A98767567BF04C95074B4C00000000000000000000000000000000BB
     C026F69D7A98767567BF04C95074B4C00000000000000000000000000000000BB
     6E2E9E14AB8D04309918ABD4186B5798F48C78000000
     6E2E9E14AB8D04309918ABD4186B5798F48C78000000
=== PSSE (PlayStation Suite Encryption) ===
PSSE is the encryption of PSM application files,
the whole game is encrypted and it server a similar function as PFS for the PSVita.


==== Header IV ====
=== PSSE Header IV ===


     000102030405060708090A0B0C0D0E0F
     000102030405060708090A0B0C0D0E0F


==== Header Key ====  
=== PSSE Header Key ===  
      
      
     4E298B40F531F469D21F75B133C307BE
     4E298B40F531F469D21F75B133C307BE


==== App Key ====
=== Runtime PSSE App Key ===
For decrypting PSSE files with IP9100-NPXS10074_00-0000000000000000 as content id
For decrypting PSSE files with IP9100-NPXS10074_00-0000000000000000 as content id
     A8693C4DF0AEEDBC9ABFD8213692912D
     A8693C4DF0AEEDBC9ABFD8213692912D


==== Debug Header Key ====
=== Debug PSSE Header Key ===
When you encrypt files locally for use in PSM Dev Assistant, using PSM SDK's "psm_encryptor64.dll"  
When you encrypt files locally for use in PSM Dev Assistant, using PSM SDK's "psm_encryptor64.dll"  
the following header key is used INSTEAD of the retail one.
the following header key is used INSTEAD of the retail one.
     00112233445566778899AABBCCDDEEFF
     00112233445566778899AABBCCDDEEFF
=== Hash Account ID ===
used for calculating "Unique ID" in
Sce.PlayStation.Core.Services.AccountInformation.UniqueID
==== Hash Account ID HMAC-SHA256 key ====
    BDEE3E0B93073749856F25CCDB443AFB0FAB94287493DC1AD0C5697E2A7AE14E
==== Hash Account ID AES-128-CBC Key ====
    5AA3DB8FE6AEE26CD185B086F5BD78A4
==== Hash Account ID AES-128-CBC Iv ====
    00000000000000000000000000000000
How to calculate UniqueID:
get psn accountid; => 0123456789abcdef (example)
sha256hmac(accountid, hmackey) => 4653ec6275f410c47d280a3688a554a579a7e7c9f52599381ae9ee4a1b6220e3
trim hmac to first 8 bytes => 4653ec6275f410c4
append trimmed hmac to accountid => 0123456789abcdef4653ec6275f410c4
aes128cbc(accountid + trimhmac, key, iv) => c7656d883573d94809c8fa05f511d84f
so "c7656d883573d94809c8fa05f511d84f" is the "UniqueID"


== EncDec Keys ==
== EncDec Keys ==
Line 3,316: Line 3,134:
! Type !! Version !! Modulus !! Usage || Notes
! Type !! Version !! Modulus !! Usage || Notes
|-
|-
| 0 and 1 || 1.00+ ||
| 0 and 1 || 1.00+ ||  
     9CCCE3A536FA641B2D1354EE98F093C2
     9CCCE3A536FA641B2D1354EE98F093C2
     68470F722C024B86CD60274E08E0067A
     68470F722C024B86CD60274E08E0067A
Line 3,400: Line 3,218:
! Type !! Version !! Modulus !! Usage || Notes
! Type !! Version !! Modulus !! Usage || Notes
|-
|-
| PSP || 1.00+ ||
| PSP || 1.00+ ||  
     BBDB6AA32E3B51A6D4708D5FC9899919
     BBDB6AA32E3B51A6D4708D5FC9899919
     395A2AAD83E98F4864C3BA43A5D6906F
     395A2AAD83E98F4864C3BA43A5D6906F
Line 3,472: Line 3,290:
== NID generation suffixes ==
== NID generation suffixes ==


* The algorithm is sha1(name + suffix).
* algo is sha1(name + suffix)


=== No suffix ===
=== No suffix ===
Line 3,478: Line 3,296:
For some PSP and PS Vita old NIDs, there was no suffix at all: algo was simply sha1(name).
For some PSP and PS Vita old NIDs, there was no suffix at all: algo was simply sha1(name).


=== PS3 NONAME suffix ===
=== PS3 NONAME default suffix ===


<pre>"0xbc5eba9e042504905b64274994d9c41f"</pre>
<pre>bc5eba9e042504905b64274994d9c41f</pre>


* Note that this ASCII string is used but not the hexadecimal value for it.
To check how to use this suffix (see: [https://www.psdevwiki.com/ps3/Keys#PS3_NONAME_NIDs_Salt]).


=== PS3 default suffix ===
=== PS3 default suffix ===
Line 3,488: Line 3,306:
<pre>6759659904250490566427499489741A</pre>
<pre>6759659904250490566427499489741A</pre>


* Note that this hexadecimal value is used but not the ASCII string for it.
=== PS Vita NONAME default suffix ===
 
=== PS Vita NONAME suffix ===


<pre>c1b886af5c31846467e7ba5e2cffd64a</pre>
<pre>c1b886af5c31846467e7ba5e2cffd64a</pre>
* Note that this hexadecimal value is used but not the ASCII string for it.


== SceKrm ==
== SceKrm ==
Please note that all contributions to Vita Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see Vita 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 protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)