Cryptography algorithms are techniques and mathematical procedures used to secure data and communications by transforming plaintext (original data) into ciphertext (encrypted data).
Some common categories and examples:
-
Symmetric key algorithms use one key for encryption and decryption. This is fast but requires secure key exchange. Example: AES (Advanced Encryption Standard).
-
Asymmetric key algorithms use a public key and private key. Data encrypted with one key can only be decrypted with the other key. Example: RSA (Rivest–Shamir–Adleman).
-
Hash Functions: Take an input (message or data) and produce a fixed-size hash value. Good for integrity verification and password storage. Example: SHA (Secure Hash Algorithm).
-
Public Key Infrastructure (PKI): PKI is a framework of algorithms and standards to manage digital certificates, key distribution, and secure communication. Example: X.509.
-
Symmetric Key Exchange Protocols: Facilitate key sharing. Example: Diffie-Hellman Key Exchange.
-
Digital Signature Algorithms: Provide authentication and non-repudiation. Example: DSA (Digital Signature Algorithm).
-
Stream ciphers encrypt data bit by bit or byte by byte. Example: RC4 (Rivest Cipher 4).
-
Block ciphers work on fixed-size blocks of data. Example: AES (Advanced Encryption Standard).
-
Homomorphic Encryption: Enables computation on encrypted data without revealing the plaintext. Example: LWE (Learning With Errors)-based schemes.