Programing
Programing¶
Whiteboxing¶
No AES key is stored in code instead the inputs and outputs are in lookup tables.
Unboxing¶
Secure Random¶
Linux:
- /dev/random
- /dev/urandom
Windows:
- BCryptGenRandom
function from the Cryptography API
C#:
- System.Security.Cryptography.RandomNumberGenerator.Create()
Python:
- os.urandom()
- secrets.token_bytes()
.
Java:
- java.security.SecureRandom
JavaScript Browser:
- window.crypto.getRandomValues(Uint8Array)
JavaScript (NodeJS):
- crypto.randomBytes()
Other Ciphers¶
LibSodium¶
https://paragonie.com/blog/2017/06/libsodium-quick-reference-quick-comparison-similar-functions-and-which-one-use
AWS¶
Key Management Service (KMS): allows creating and managing keys to control the encryption across a wide range of services and in your applications. Is backed by hardware crypto using AWS
SSM Parameter Store: For encrypting secrets like API tokens.
Systems Manager Parameter Store hierarchical storage for configuration data and secrets. Storing passwords, database strings, and license codes as parameter values and reference them by the unique names.
Post Quantum Crypto¶
https://soatok.blog/2020/07/24/a-brief-opinionated-of-nists-post-quantum-cryptography-round-3-candidates/