Changes

Jump to navigation Jump to search
810 bytes added ,  04:49, 13 March 2018
I see.
Line 52: Line 52:  
| 0xC300040B || [[#ComputeCmac]] || ||
 
| 0xC300040B || [[#ComputeCmac]] || ||
 
|-
 
|-
| 0xC300100C || [[#LoadRsaOaepKey]] || ||
+
| [1.0.0-4.1.0] 0xC300100C || [[#LoadRsaOaepKey]] || ||
 
|-
 
|-
| 0xC300100D || [[#DecryptRsaPrivateKey]] || ||
+
| [5.0.0+] 0xC300D60C || [[#EncryptRsaKeyForImport]] || ||
 
|-
 
|-
| 0xC300100E || [[#LoadSecureExpModKey]] || ||
+
| [1.0.0-4.1.0] 0xC300100D || [[#DecryptRsaPrivateKey]] || ||
 +
|-
 +
| [1.0.0-4.1.0] 0xC300100E || [[#LoadSecureExpModKey]] || ||
 
|-
 
|-
 
| 0xC300060F || [[#SecureExpMod]] || ||
 
| 0xC300060F || [[#SecureExpMod]] || ||
Line 102: Line 104:     
The session kek must have been created with CryptoUsecase_RsaOaep.
 
The session kek must have been created with CryptoUsecase_RsaOaep.
 +
 +
This function was removed in [[5.0.0]], and replaced with [[#EncryptRsaKeyForImport]].
 +
 +
=== EncryptRsaKeyForImport ===
 +
Takes in two session keks created with [[#GenerateAesKek]], two wrapped AES keys, an enum member, and a wrapped RSA private key.
 +
 +
Decrypts and validates the wrapped RSA private key with the first kek/wrapped key, and re-encrypts it with the second if valid.
 +
 +
The re-encrypted key is then passed to the user, for use with [[#DecryptRsaPrivateKey]].
    
=== DecryptRsaPrivateKey ===
 
=== DecryptRsaPrivateKey ===
Takes a session kek created with [[#GenerateAesKek]], a wrapped AES key, and a wrapped RSA private key.
+
Takes a session kek created with [[#GenerateAesKek]], a wrapped AES key, an enum member, and a wrapped RSA private key.
    
The session kek must have been created with CryptoUsecase_RsaPrivate.
 
The session kek must have been created with CryptoUsecase_RsaPrivate.
   −
[{Unknown version}+] The SMC handler when certain conditions pass and SMC_ID==0xC300100D now returns error 0x6 instead of calling the handler funcptr.
+
[4.0.0+] The SMC handler when certain conditions pass and SMC_ID==0xC300100D now returns error 0x6 instead of calling the handler funcptr.
 +
 
 +
[5.0.0+] This SMC was extended to import private keys into the security engine instead of decrypting them, when certain enum members are passed.
    
=== LoadSecureExpModKey ===
 
=== LoadSecureExpModKey ===
Line 114: Line 127:     
The session kek must have been created with CryptoUsecase_RsaSecureExpMod.
 
The session kek must have been created with CryptoUsecase_RsaSecureExpMod.
 +
 +
This function was removed in [[5.0.0]], and replaced with [[#EncryptRsaKeyForImport]].
    
=== SecureExpMod ===
 
=== SecureExpMod ===

Navigation menu