Cryptography

cat-cryptography

Cryptography protects data from unauthorized access, ensuring confidentiality, integrity, authenticity, and non-repudiation. Cryptography is used to secure emails, messages, and data transfers to protect them from eavesdropping. Data Integrity ensures that data has not been tampered with. Authentication means verifying the identity of users and devices.

This section covers

  • Encryption: The process of converting plaintext into ciphertext using an algorithm and a key. Only someone with the correct key can decrypt the ciphertext back into plaintext.
  • Hashing: A method of transforming data into a fixed-size value, which is unique to the original data. Hashes are used for verifying data integrity.
  • Digital Signatures: A cryptographic technique that uses asymmetric keys to verify the authenticity and integrity of a message or document.

It covers both Symmetric Cryptography and Asymmetric Cryptography. The former uses the same key for both encryption and decryption. It's fast and efficient but requires secure key distribution. The latter uses a pair of keys (public and private). The public key is shared openly, while the private key is kept secret. This method enhances security but is slower than symmetric cryptography.

Encryption

RecipeCratesCategories
Use the RSA Algorithmrsacat-cryptography

AEAD (Authenticated Encryption with Associated Data)

RecipeCratesCategories
aes-gcm-sivaes-gcm-siv aes-gcmcat-cryptography
aes-gcmaes-gcmcat-cryptography
ChaCha20Poly1305chacha20poly1305cat-cryptography

Hashing

Password Hashing

HMAC (Hash-based Message Authentication Code)

Signatures

RecipeCratesCategories
ed25519ed25519-websitecat-cryptography
ed25519-daleked25519-dalek-websitecat-cryptography
ecdsaecdsacat-cryptography
dsadsacat-cryptography

Certificates

RecipeCratesCategories
DERdercat-cryptography
pem-rfc7468pem-rfc7468cat-cryptography
pkcs8pkcs8cat-cryptography
x509-certx509-certcat-cryptography

TLS (Transport Layer Security)

RecipeCratesCategories
rustlsrustlscat-cryptography
native-tlsnative-tlscat-cryptography

Cryptographic Utilities

RecipeCratesCategories
subtlesubtlecat-cryptography
zeroizezeroizecat-cryptography