TODO:
Kernel: 67/88
| Export Name |
Location |
Implemented |
Has Tests? |
Notes |
| XeCryptAesKey |
Kernel |
✔️ |
❌ |
|
| XeCryptAesEcb |
Kernel |
✔️ |
❌ |
|
| XeCryptAesCbc |
Kernel |
✔️ |
❌ |
|
| XeCryptBnDwLeDhEqualBase |
Kernel |
❌ |
❌ |
|
| XeCryptBnDwLeDhInvalBase |
Kernel |
❌ |
❌ |
|
| XeCryptBnDwLeDhModExp |
Kernel |
❌ |
❌ |
|
| XeCryptBnDw_Copy |
Kernel |
✔️ |
❌ |
|
| XeCryptBnDw_SwapLeBe |
Kernel |
✔️ |
❌ |
|
| XeCryptBnDw_Zero |
Kernel |
✔️ |
❌ |
|
| XeCryptBnDwLePkcs1Format |
Kernel |
❌ |
❌ |
|
| XeCryptBnDwLePkcs1Verify |
Kernel |
❌ |
❌ |
|
| XeCryptBnQwBeSigCreate |
Kernel |
❌ |
❌ |
|
| XeCryptBnQwBeSigFormat |
Kernel |
✔️ |
❌ |
|
| XeCryptBnQwBeSigVerify |
Kernel |
✔️ |
❌ |
|
| XeCryptBnQwNeModExp |
Kernel |
❌ |
❌ |
|
| XeCryptBnQwNeModExpRoot |
Kernel |
❌ |
❌ |
|
| XeCryptBnQwNeModInv |
Kernel |
✔️ |
❌ |
|
| XeCryptBnQwNeModMul |
Kernel |
✔️ |
❌ |
|
| XeCryptBnQwNeRsaKeyGen |
Kernel |
❌ |
❌ |
|
| XeCryptBnQwNeRsaPrvCrypt |
Kernel |
❌ |
❌ |
|
| XeCryptBnQwNeRsaPubCrypt |
Kernel |
✔️ |
❌ |
|
| XeCryptBnQw_Copy |
Kernel |
✔️ |
❌ |
|
| XeCryptBnQw_SwapDwQw |
Kernel |
✔️ |
❌ |
|
| XeCryptBnQw_SwapDwQwLeBe |
Kernel |
✔️ |
❌ |
|
| XeCryptBnQw_SwapLeBe |
Kernel |
✔️ |
❌ |
|
| XeCryptBnQw_Zero |
Kernel |
✔️ |
❌ |
|
| XeCryptChainAndSumMac |
Kernel |
✔️ |
❌ |
|
| XeCryptDesParity |
Kernel |
✔️ |
❌ |
|
| XeCryptDesKey |
Kernel |
✔️ |
❌ |
|
| XeCryptDesEcb |
Kernel |
✔️ |
❌ |
|
| XeCryptDesCbc |
Kernel |
✔️ |
❌ |
|
| XeCryptDes3Key |
Kernel |
✔️ |
❌ |
|
| XeCryptDes3Ecb |
Kernel |
✔️ |
❌ |
|
| XeCryptDes3Cbc |
Kernel |
✔️ |
❌ |
|
| XeCryptHmacMd5Init |
Kernel |
✔️ |
❌ |
|
| XeCryptHmacMd5Update |
Kernel |
✔️ |
❌ |
|
| XeCryptHmacMd5Final |
Kernel |
✔️ |
❌ |
|
| XeCryptHmacMd5 |
Kernel |
✔️ |
❌ |
|
| XeCryptHmacShaInit |
Kernel |
✔️ |
❌ |
|
| XeCryptHmacShaUpdate |
Kernel |
✔️ |
❌ |
|
| XeCryptHmacShaFinal |
Kernel |
✔️ |
❌ |
|
| XeCryptHmacSha |
Kernel |
✔️ |
❌ |
|
| XeCryptHmacShaVerify |
Kernel |
✔️ |
❌ |
|
| XeCryptMd5Init |
Kernel |
✔️ |
❌ |
|
| XeCryptMd5Update |
Kernel |
✔️ |
❌ |
|
| XeCryptMd5Final |
Kernel |
✔️ |
❌ |
|
| XeCryptMd5 |
Kernel |
✔️ |
❌ |
|
| XeCryptParveEcb |
Kernel |
✔️ |
❌ |
|
| XeCryptParveCbcMac |
Kernel |
✔️ |
❌ |
|
| XeCryptRandom |
Kernel |
❌ |
❌ |
Uses RC4 with a static RC4_STATE, inited by Hypervisor during boot - is it possible to find what that initial value is? |
| XeCryptRc4Key |
Kernel |
✔️ |
❌ |
|
| XeCryptRc4Ecb |
Kernel |
✔️ |
❌ |
|
| XeCryptRc4 |
Kernel |
✔️ |
❌ |
|
| XeCryptRotSumSha |
Kernel |
✔️ |
❌ |
|
| XeCryptShaInit |
Kernel |
✔️ |
❌ |
|
| XeCryptShaUpdate |
Kernel |
✔️ |
❌ |
|
| XeCryptShaFinal |
Kernel |
✔️ |
❌ |
|
| XeCryptSha |
Kernel |
✔️ |
❌ |
|
| XeCryptSha256Init |
Kernel |
✔️ |
❌ |
|
| XeCryptSha256Update |
Kernel |
✔️ |
❌ |
|
| XeCryptSha256Final |
Kernel |
✔️ |
❌ |
|
| XeCryptSha256 |
Kernel |
✔️ |
❌ |
|
| XeCryptSha384Init |
Kernel |
✔️ |
❌ |
|
| XeCryptSha384Update |
Kernel |
✔️ |
❌ |
|
| XeCryptSha384Final |
Kernel |
✔️ |
❌ |
|
| XeCryptSha384 |
Kernel |
✔️ |
❌ |
|
| XeCryptSha512Init |
Kernel |
✔️ |
❌ |
|
| XeCryptSha512Update |
Kernel |
✔️ |
❌ |
|
| XeCryptSha512Final |
Kernel |
✔️ |
❌ |
|
| XeCryptSha512 |
Kernel |
✔️ |
❌ |
|
| XeCryptBnQwNeCompare |
Kernel |
✔️ |
❌ |
|
| XeCryptAesCtr |
Kernel |
❌ |
❌ |
|
| XeCryptAesCbcMac |
Kernel |
❌ |
❌ |
|
| XeCryptAesDmMac |
Kernel |
❌ |
❌ |
|
| XeCryptSha224Init |
Kernel |
✔️ |
❌ |
|
| XeCryptAesCreateKeySchedule |
Kernel |
✔️ |
❌ |
|
| XeCryptAesEncryptOne |
Kernel |
✔️ |
❌ |
|
| XeCryptAesDecryptOne |
Kernel |
✔️ |
❌ |
|
| XeCryptAesCbcEncrypt |
Kernel |
✔️ |
❌ |
|
| XeCryptAesCbcDecrypt |
Kernel |
✔️ |
❌ |
|
| XeCryptAesGcmInitialize |
Kernel |
❌ |
❌ |
|
| XeCryptAesGcmUpdate |
Kernel |
❌ |
❌ |
|
| XeCryptAesGcmFinalize |
Kernel |
❌ |
❌ |
|
| XeCryptEccGetCurveParameters |
Kernel |
✔️ |
❌ |
Weird function, returns an address to a uint32? Is there anything that uses this we can look at? |
| XeCryptEccEcdhGenerateKeypair |
Kernel |
❌ |
❌ |
|
| XeCryptEccEcdhExponentiate |
Kernel |
❌ |
❌ |
|
| XeCryptEccEcdsaGenerateSignature |
Kernel |
❌ |
❌ |
|
| XeCryptEccEcdsaVerifySignature |
Kernel |
❌ |
❌ |
|
Extra: 2/8
These are mentioned in a header file available on pastebin, doesn't seem like kernel has them included though, need to see if any bootloaders or other OS files might include them (otherwise there's not really any way to tell how they're implemented...)
If nothing uses them I guess they aren't that important, but still worth mentioning for completeness sake.
| Export Name |
Location |
Implemented |
Has Tests? |
Notes |
| XeCryptBnQwNeRsaPrvExpFromRoot |
Header |
❌ |
❌ |
Generates private exponent for input private key? |
| XeCryptBnQwBeSigDifference |
Header (+ Bootloaders/HV?) |
✔️ |
❌ |
Mostly same as SigVerify but "returns difference"? |
| XeCryptMemDiff |
1BL |
✔️ |
❌ |
Used by SigDifference |
| XeCryptBnQwNeEcSigVerify |
Header |
❌ |
❌ |
Elliptic curve |
| XeCryptEmeOaepPack |
Header |
❌ |
❌ |
|
| XeCryptEmeOaepUnpack |
Header |
❌ |
❌ |
|
| XeCryptPkcs1ReverseBytes |
Header |
❌ |
❌ |
Related to the EmeOaep funcs above |
| XeCryptOmac1Compute |
Header |
❌ |
❌ |
|
TODO:
Kernel: 67/88
Extra: 2/8
These are mentioned in a header file available on pastebin, doesn't seem like kernel has them included though, need to see if any bootloaders or other OS files might include them (otherwise there's not really any way to tell how they're implemented...)
If nothing uses them I guess they aren't that important, but still worth mentioning for completeness sake.