- Python
- pip install bcrypt pynacl cryptography
Never roll your own crypto. (unless you want to learn how things work) Avoid messing with primitives or libs that require args that you don't understand.
- Alice
- Bob
- Eve
Alice wants to communicate with Bob. Eve (the eavesdropper) can listen to what they "say".
https://ico.org.uk/for-organisations/guide-to-data-protection/encryption/types-of-encryption/
Alice and Bob know the key to encrypt their data. The key doesn't change and has been shared out of band (e.g. verbally at the pub)
AES
Alice and Bob don't have a key to encrypt their data.
Not all hash functions are created the same.
A bunch of godlike cryptographers made a lib, humans made bindings to these libs. Use them. https://download.libsodium.org/doc/bindings_for_other_languages/