Cryptography Algorithms

Home > Computer Science > Computer Security and Cryptography > Cryptography Algorithms

A deep dive into the popular symmetric and asymmetric algorithms such as AES, DES, RSA, and ECC, and their usage in securing data.

Cryptographic primitives: Fundamental building blocks of cryptography, such as ciphers, hash functions, and digital signatures.
Symmetric-key algorithms: Cryptographic algorithms that use the same secret key for both encryption and decryption of messages.
Asymmetric-key algorithms: Cryptographic algorithms that use two different keys (public and private) for encryption and decryption of messages.
Key exchange algorithms: Cryptographic algorithms that enable two parties to securely exchange secret keys over an insecure channel.
Block ciphers: Cryptographic algorithms that operate on fixed-size blocks of data and are used for symmetric-key encryption.
Stream ciphers: Cryptographic algorithms that encrypt data in a continuous stream and are used for symmetric-key encryption.
Hash functions: Cryptographic algorithms that take input data of any size and produce a fixed-size output (a hash), used for message authentication and digital signatures.
Message authentication codes (MACs): Cryptographic algorithms used to verify the authenticity and integrity of a message.
Digital signatures: Cryptographic algorithms used to provide non-repudiation and ensure the authenticity, integrity, and confidentiality of messages.
Public Key Infrastructure (PKI): A system of digital certificates, Certificate Authorities (CAs), and other registration authorities that verify the identity of entities (e.g., individuals, organizations) on a network.
Elliptic curve cryptography (ECC): A type of asymmetric-key cryptography that uses elliptic curves over finite fields as its basis.
Quantum cryptography: A type of cryptography that uses the principles of quantum mechanics to perform secure key exchange and communication.
Cryptanalysis: The art and science of breaking cryptographic systems to discover their weaknesses and potentially exploit them.
Side-channel attacks: Attacks that exploit information leaked during the execution of a cryptographic algorithm, such as power consumption, electromagnetic radiation, or sound.
Cryptography standards: Specifications and guidelines for encryption and decryption algorithms, which are used to ensure inter-operability across different systems and platforms.
Symmetric Key Cryptography: Also called private key cryptography, it is a type of cryptography where the same key used for encryption is used for decryption. The key is kept secret between the sender and receiver. Examples of these types of cryptography algorithms include DES, AES, and Blowfish.
Asymmetric Key Cryptography: Also known as public key cryptography, it uses two different keys (public and private key) to encrypt and decrypt messages. The public key is used for encryption, while the private key is used for decryption. Examples of these types of cryptography algorithms include RSA, ElGamal, and DSA.
Hashing Algorithms: It is a type of cryptographic algorithms that converts data of any length into a fixed length. The output generated by hashing algorithms is called a hash. Examples of these types of cryptographic algorithms include MD5, SHA-1, and SHA-2.
Message Authentication Code (MAC) Algorithms: It is a type of cryptographic algorithm that provides integrity and authenticity of messages. MAC algorithms use a secret key to generate a tag (MAC) for a message. Examples of these types of cryptographic algorithms include HMAC, CBC-MAC, and CMAC.
Digital Signature Algorithms: It is a type of cryptographic algorithm that uses a private key to sign a document and verify its authenticity. Digital signatures provide non-repudiation and ensure that the document is not tampered with after being signed. Examples of these types of cryptographic algorithms include RSA, DSA, and ECDSA.
Key Exchange Algorithms: It is a type of cryptographic algorithm that securely exchanges keys between the sender and receiver without revealing the keys to others. Examples of these types of cryptographic algorithms include Diffie-Hellman Key Exchange, ECDH, and PKI.
Homomorphic Encryption: It is a type of cryptographic algorithm that enables computation on encrypted data without decrypting it first. This ensures that the data remains encrypted throughout the computation process. Examples of these types of cryptography algorithms include Paillier and Gentry.
Threshold Cryptography: It is a type of cryptographic algorithm that uses multiple private keys to encrypt and decrypt messages. Threshold cryptography ensures that no one single keyholder can decrypt the messages, which enhances the security of the system. Examples of these types of cryptography algorithms include Shamir's Secret Sharing and Threshold RSA.
- "Cryptography, or cryptology, is the practice and study of techniques for secure communication in the presence of adversarial behavior."
- "Modern cryptography exists at the intersection of the disciplines of mathematics, computer science, information security, electrical engineering, digital signal processing, physics, and others."
- "Core concepts related to information security (data confidentiality, data integrity, authentication, and non-repudiation) are also central to cryptography."
- "Practical applications of cryptography include electronic commerce, chip-based payment cards, digital currencies, computer passwords, and military communications."
- "Cryptography prior to the modern age was effectively synonymous with encryption, converting readable information (plaintext) to unintelligible nonsense text (ciphertext), which can only be read by reversing the process (decryption)."
- "The sender of an encrypted (coded) message shares the decryption (decoding) technique only with the intended recipients to preclude access from adversaries."
- "The cryptography literature often uses the names 'Alice' (or 'A') for the sender, 'Bob' (or 'B') for the intended recipient, and 'Eve' (or 'E') for the eavesdropping adversary."
- "Since the development of rotor cipher machines in World War I and the advent of computers in World War II, cryptography methods have become increasingly complex and their applications more varied."
- "Modern cryptography is heavily based on mathematical theory and computer science practice; cryptographic algorithms are designed around computational hardness assumptions."
- "Such schemes, if well designed, are therefore termed 'computationally secure'."
- "Theoretical advances (e.g., improvements in integer factorization algorithms) and faster computing technology require these designs to be continually reevaluated and, if necessary, adapted."
- "While it is theoretically possible to break into a well-designed system, it is infeasible in actual practice to do so."
- "Information-theoretically secure schemes that provably cannot be broken even with unlimited computing power, such as the one-time pad, are much more difficult to use in practice than the best theoretically breakable but computationally secure schemes."
- "The growth of cryptographic technology has raised a number of legal issues in the Information Age."
- "Cryptography's potential for use as a tool for espionage and sedition has led many governments to classify it as a weapon and to limit or even prohibit its use and export."
- "In some jurisdictions where the use of cryptography is legal, laws permit investigators to compel the disclosure of encryption keys for documents relevant to an investigation."
- "Cryptography also plays a major role in digital rights management and copyright infringement disputes with regard to digital media."