What are Cryptographic Algorithms?
Cryptographic algorithms are defined mathematical procedures used with keys and parameters to provide security services such as confidentiality, integrity, source authentication, identity authentication, and support for nonrepudiation. They are not the same as protocols or software implementations: an algorithm is a primitive or mechanism, a protocol coordinates messages and choices, and an implementation realizes the specification in software, firmware, or hardware. The principal families are encryption, hash functions, message authentication codes, digital signatures, key-establishment algorithms, and random-bit-generation algorithms. Their security depends on the selected parameters, mode or scheme, key management, implementation, and current approval or transition status—not on an algorithm name alone.12
- A cryptographic algorithm is a procedure used to provide one or more security services; it normally operates with keys, parameters, or both.
- Encryption protects confidentiality, while hashes, MACs, and signatures primarily provide integrity and authentication-related services.
- Key-establishment algorithms create or transport keying material; random-generation algorithms produce random bits needed by cryptographic systems.
- An algorithm, a scheme or mode, a protocol, and an implementation are different layers of a cryptographic system.
- Approval and suitability are time- and context-dependent. Parameters, security strength, lifecycle guidance, validation, and implementation quality must all be considered.
What is a cryptographic algorithm?
A cryptographic algorithm is a defined procedure that transforms information or generates cryptographic material to provide a security service. Depending on its family and use, it can protect confidentiality, help detect unauthorized changes, authenticate a source or identity, establish shared keying material, or support signer nonrepudiation. NIST uses “security function” for cryptographic algorithms together with modes of operation when appropriate; examples include block ciphers, digital signature algorithms, asymmetric key-establishment algorithms, message authentication codes, hash functions, and random bit generators.12
The word “algorithm” does not describe the entire deployed security system. A primitive is a lower-level building block; a scheme is a higher-level construct than a primitive and a lower-level construct than a protocol. A protocol coordinates parties, messages, negotiation, authentication, and cryptographic operations. TLS 1.3, for example, is a protocol whose handshake produces the cryptographic parameters used by the secure channel. An implementation is the software, firmware, hardware, or combination that performs the specified algorithm or module function.13
The main classes of cryptographic algorithms
Cryptographic algorithms are most usefully classified by the security function they perform. The categories overlap in a complete system: a hash function can be used inside a digital signature or a keyed MAC; a key-establishment exchange can produce symmetric keys that are then used for encryption and authentication; and a mode can combine confidentiality and authentication.21
The practical sequence is to identify the required service, select a suitable algorithm family and parameters, establish or protect the keys, apply the required mode or scheme, and then use a conforming implementation within the intended protocol and environment. The approved explanatory diagram below summarizes that relationship.24
24| Family | Primary function | Typical key relationship | Important context |
|---|---|---|---|
| Encryption | Protect confidentiality by transforming plaintext into ciphertext | Symmetric secret key, or public-key mechanisms in specific schemes | Mode, key length, initialization vector or nonce, and key management matter |
| Hash function | Produce a message digest and support integrity-related constructions | No secret key in the basic hash operation | Digest properties and use inside a larger construction matter |
| Message authentication code | Authenticate message source and protect integrity | Shared secret key | HMAC uses a keyed hash; KMAC is based on an extendable-output function |
| Digital signature | Provide integrity and source authentication; may support nonrepudiation-related assurances | Private key signs; public key verifies | Hash function, domain parameters, certificates, and identity assurance matter |
| Key establishment | Agree on or transport keying material for later protection | Asymmetric exchange or recipient public key, depending on scheme | Certificate checking and authentication affect the resulting assurance |
| Random-bit generation | Generate random or deterministic random bits for cryptographic operations | Depends on generator design and entropy or construction | Generator, parameters, and implementation quality affect generated-key security |
Encryption algorithms: confidentiality
Encryption changes plaintext into ciphertext using a cryptographic algorithm and a key, with the purpose of protecting security or privacy. Symmetric encryption uses a secret key shared by the parties or otherwise protected from disclosure. Block ciphers are families of key-parameterized permutations of fixed-size blocks and are foundational to many confidentiality services. AES is specified in three standardized key-size variants—AES-128, AES-192, and AES-256—and each has a 128-bit block size.215
A block cipher is not normally used in isolation. Its mode of operation determines how the block cipher supplies services such as confidentiality, authentication, or both. Initialization vectors may be used by symmetric algorithms in several modes; their generation and use are governed by the applicable mode guidance and they must be handled as specified for the associated keys and mechanism. FIPS 197 states that AES must be used with a FIPS-approved or NIST-recommended mode of operation.52
This is why “AES” by itself is incomplete deployment information. A technically meaningful description includes the key size, mode, initialization-vector or nonce handling, key-management process, and implementation context. NIST’s transition guidance identifies AES-128, AES-192, and AES-256 as acceptable for encryption and decryption when used with approved modes in the SP 800-38 series; that statement is source- and context-specific rather than a timeless claim that every AES deployment is safe.65
Hash functions: condensed representations and integrity support
A cryptographic hash function maps data to a fixed-size message digest, also called a hash value. The Secure Hash Standard describes properties intended to make it computationally infeasible to find a message corresponding to a given digest or to find two different messages with the same digest. Hash functions do not, by themselves, encrypt data or provide a secret-key authentication mechanism.17
Hash functions are commonly combined with other cryptographic mechanisms. NIST identifies their use with digital signatures, keyed-hash message authentication codes, and random-number generation. The security strength of a hash function depends on the relevant attack goal and on how the hash is incorporated into the larger system; the algorithm’s digest size, block size, and word size are among its specified properties.7
The cited FIPS 180-4 passage specifies SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, and SHA-512/256, but listing algorithms in a standard is not the same as recommending every one for every new use. FIPS 180-4 also states that conformance to the standard does not by itself assure that a particular implementation is secure. Selection therefore requires the applicable current guidance, security strength, protocol requirements, and implementation review.7
Message authentication codes and digital signatures
A message authentication code, or MAC, uses a shared secret key with a cryptographic mechanism to authenticate the source of a message and protect its integrity. MAC algorithms may employ hash functions or symmetric encryption algorithms. HMAC combines a secret key with an approved keyed-hash function, while KMAC is based on an extendable-output function specified in FIPS 202. Because the communicating parties share the authentication secret, MAC verification does not provide the same public-verification model as a digital signature.
Digital signatures use a public-key algorithm and a hash function to provide integrity and source-authentication services; they can also support identity authentication and nonrepudiation-related assurances. A signature algorithm uses a key pair: the private key generates the signature and the public key verifies it. The assurance is not produced by the mathematical operation alone. Public-key certificates, domain-parameter assurance, identity processes, key protection, and the surrounding protocol all affect the result.
Parameters are part of the security design. Domain parameters can be used with public-key algorithms to generate key pairs or perform operations such as signatures or key establishment, and their validity should be assured before use. In certificate systems, an algorithm identifier identifies the algorithm and may include parameters; the certificate profile specifies how these identifiers are represented. A signature that omits or mishandles required parameters is not made safe merely by naming a recognized signature family.
Key establishment and random-generation algorithms
Key-establishment algorithms allow parties to obtain or transport keying material for later cryptographic use. In key agreement, parties compute shared secrets during an asymmetric exchange; in key transport, a sender uses the recipient’s certified public key to encrypt keys for delivery. The resulting symmetric keys may then be used by encryption or message-authentication algorithms. Certificate checking and the strength of the credentials and authentication process are part of the security outcome.
Random-bit-generation algorithms produce random or deterministic random bits for tasks such as key generation, nonces, initialization values, and other cryptographic operations. NIST SP 800-131A identifies deterministic random bit generators, including CTR_DRBG and Hash_DRBG, and separately addresses random-bit generation as a cryptographic use category. The security of generated keys depends on the generator, its entropy or construction, its parameters, and the correctness of its implementation; a random-looking output is not sufficient evidence by itself.
Ephemeral keys are short-term keys generated when needed; an ephemeral key can be generated for each execution of a cryptographic process, such as key establishment, and may be unique to a message or session when the key type requires that property. Ephemeral public keys are therefore operational objects within an exchange, not necessarily long-lived public keys placed in certificates.
Algorithms, parameters, protocols, and implementations
A cryptographic algorithm specifies a mathematical operation, but a deployment requires more information. Parameters may include key lengths, domain parameters, digest sizes, modes, initialization vectors, nonces, and protocol negotiation values. A scheme or mode specifies how a primitive is applied. A protocol defines how parties exchange messages and derive or negotiate cryptographic parameters. An implementation turns those specifications into executable software, firmware, hardware, or a module.13
Implementation quality matters independently of the abstract algorithm. FIPS 140-3 applies to cryptographic modules, including hardware, software, firmware, or combinations. It states that validated modules employ approved security functions, while the selected validation security level must match the application, environment, and services required. FIPS 180-4 similarly cautions that conforming to a hash standard does not assure that a particular implementation is secure.
Protocol context can change the security properties users observe. TLS 1.3 uses a handshake to produce secure-channel parameters and supports authenticated encryption modes; its specification also discusses implementation and side-channel considerations and warns that application protocols and applications can leak information above the TLS layer. Consequently, an algorithm can be mathematically sound while a surrounding protocol, configuration, key-management process, or implementation creates a vulnerability.
Security strength, approval, and deprecation
Security strength is associated with the amount of work required to break an algorithm or system. It is not determined by an algorithm name alone: key length, parameters, attack model, composition, implementation, and the protected data’s required security life all matter. NIST SP 800-131A provides transition guidance because algorithms and key lengths may need to change when attacks improve, algorithms are broken, or more powerful computing becomes available.
Approval status is also time- and document-dependent. NIST SP 800-131A Rev. 2, published in March 2019, says that Skipjack encryption is disallowed while decryption is allowed for legacy use, and it identifies AES-128, AES-192, and AES-256 as acceptable for encryption and decryption with approved modes. These statements must be read with the document version, intended application, and applicable mode guidance; they should not be converted into an undated universal safe list.6
Long-term planning must account for the limits of current public-key approaches. NIST SP 800-175B Rev. 1, published in March 2020, states that large-scale quantum computers would threaten approved asymmetric-key algorithms, including relevant digital-signature and Diffie-Hellman, MQV, and RSA key-establishment or key-transport uses. The same passage records that NIST was then conducting a multiyear post-quantum selection process. NIST SP 800-131A Rev. 2 encourages cryptographic agility so systems can transition when appropriate.
A practical way to evaluate an algorithm choice
- State the required security service: confidentiality, integrity, source authentication, identity authentication, nonrepudiation-related support, key establishment, or random-bit generation.
- Identify the algorithm family and the exact instantiation, including key length, digest size, domain parameters, mode, scheme, nonce or initialization-vector requirements, and protocol version where applicable.
- Check the governing source and its status, publication date, document version, approval terms, transition guidance, and any legacy-only or disallowed use.
- Evaluate key lifecycle and key management: generation, distribution, certificate or parameter assurance, storage, rotation, destruction, and protection from disclosure.
- Assess the implementation and environment, including module validation requirements, side-channel considerations, error handling, and whether the deployment actually conforms to the relevant specification.
- Plan for change. Record dependencies and support cryptographic agility where the algorithm or parameter set may need replacement over the system’s security life.
Conclusion
Cryptographic algorithms are building blocks for confidentiality, integrity, authentication, signatures, key establishment, and random generation. Understanding one requires more than memorizing names: determine the security function, exact parameters and mode or scheme, key-management assumptions, protocol context, implementation properties, and current lifecycle status. Standards such as the cited NIST and IETF documents provide authoritative context, but their dates, versions, approval terms, and limitations must be preserved. A sound design therefore chooses algorithms as part of an adaptable, validated, and context-specific cryptographic system.12
Frequently asked questions
Is encryption the same as cryptography?
No. Encryption is one cryptographic security function: it changes plaintext into ciphertext to protect confidentiality. Cryptography also includes hashing, MACs, digital signatures, key establishment, and random-bit generation.127
Is a hash function an encryption algorithm?
No. A cryptographic hash function produces a message digest and is used for purposes such as integrity support and as a component of signatures or MACs. The cited evidence does not define hashing as reversible encryption.17
Does using AES automatically make a system secure?
No. AES must be paired with an approved or recommended mode, appropriate key and initialization-vector or nonce handling, sound key management, and a secure implementation. NIST’s cited guidance describes acceptable AES variants in a specific approval context; it does not make every configuration or implementation secure.526
What is the difference between a MAC and a digital signature?
A MAC uses a shared secret key to authenticate a message and protect its integrity. A digital signature uses a private key to generate a signature and a corresponding public key to verify it, with public-key certificates and parameter assurance commonly involved in the surrounding system.
Why do cryptographic algorithms need to be replaced?
Security strength can change as attacks improve, algorithms are broken, computing power increases, or new threats emerge. The cited NIST guidance addresses transitions and notes that large-scale quantum computers would threaten approved asymmetric-key algorithms, making planning for cryptographic agility important.
Sources
- 1Guideline for Using Cryptographic Standards in the Federal Government: Cryptographic Mechanisms and Services
National Institute of Standards and Technology · final · NIST SP 800-175B Rev. 1
Accessed July 24, 2026 - 2Recommendation for Key Management: Part 1 – General
National Institute of Standards and Technology · final · NIST SP 800-57 Part 1 Rev. 5
Accessed July 24, 2026 - 3The Transport Layer Security (TLS) Protocol Version 1.3
Internet Engineering Task Force · proposed standard · RFC 8446
Accessed July 24, 2026 - 4Security Requirements for Cryptographic Modules
National Institute of Standards and Technology · final · FIPS 140-3
Accessed July 24, 2026 - 5Advanced Encryption Standard (AES)
National Institute of Standards and Technology · final · FIPS 197 Update 1
Accessed July 24, 2026 - 6Transitioning the Use of Cryptographic Algorithms and Key Lengths
National Institute of Standards and Technology · final · NIST SP 800-131A Rev. 2
Accessed July 24, 2026 - 7Secure Hash Standard (SHS)
National Institute of Standards and Technology · final · FIPS 180-4
Accessed July 24, 2026