Fact-checked by Grok 2 weeks ago

Initialization vector

An initialization vector (IV) is a fixed-length block of pseudorandom bits used as an input to cryptographic algorithms, particularly symmetric-key ciphers in modes such as Cipher Block Chaining (CBC), Cipher Feedback (CFB), and Output Feedback (OFB), to provide variability in the encryption process and ensure that identical blocks produce different outputs, thereby preventing patterns that could reveal information about the . In operations, the serves as the initial value that "chains" or seeds the of subsequent data s; for instance, in mode, it is XORed with the first before , and the resulting becomes the for the next , creating a dependency that enhances and properties essential for security. Similarly, in CFB mode, the initializes a to generate a keystream for XORing with , while in OFB mode, it seeds an iterative process to produce a purely random-like keystream independent of the . The is typically the same length as the cipher's size—for example, 128 bits for the ()—and is transmitted alongside the since it does not need to remain secret. Security relies heavily on the IV's properties: it must be unpredictable and unique for each session to avoid vulnerabilities like chosen-plaintext attacks or keystream reuse, which could compromise ; for example, reusing an IV in mode with the same key allows an adversary to XOR ciphertexts and recover differences. Generation methods include using a or a (a number used once), and standards recommend avoiding predictable sequences to maintain the mode's provable security bounds. While not used in Electronic Codebook (ECB) mode due to its deterministic nature, the IV's role extends to modes like Galois/ Mode (GCM), where it combines with a for both and .

Fundamentals

Definition

An initialization vector (IV) is a fixed-length, random or pseudo-random used as the input to initialize , such as block ciphers or stream ciphers, to ensure that identical inputs produce different outputs, thereby increasing security against certain attacks. The IV serves as a non-secret parameter that introduces variability into the encryption process without compromising the provided by the underlying . The size of an IV typically matches the block size of the block cipher it is used with, consisting of a sequence of bits or bytes; for example, it is 64 bits (8 bytes) for the and 128 bits (16 bytes) for the . In operation, the IV is often XORed with the first plaintext block or incorporated into the initial state of the algorithm, and it may be prepended to the ciphertext for transmission to the decryptor. Unlike a symmetric cryptographic , which must be kept secret to maintain , an is not confidential and can be transmitted in alongside the encrypted , as its role is solely to provide uniqueness rather than secrecy. The concept of the IV originated in the development of modes of operation during the 1970s, coinciding with the standardization of , and was formally defined in the National Institute of Standards and Technology's Federal Information Processing Standard (FIPS) 81 in 1980, which outlined its use in DES modes like Cipher Block Chaining.

Purpose

The primary goal of an initialization vector (IV) in cryptographic protocols is to prevent identical plaintexts from producing identical ciphertexts when encrypted multiple times under the same , thereby transforming deterministic encryption into a probabilistic process that enhances . This ensures that even repeated encryptions of the same message yield distinct outputs, mitigating risks associated with pattern leakage in the . By incorporating an unpredictable IV, encryption schemes achieve indistinguishability under (IND-CPA) security, a standard notion equivalent to , where an adversary cannot distinguish ciphertexts of two different plaintexts with advantage better than negligible. The IV randomizes the encryption process without needing itself, making the scheme malleable yet secure against chosen-plaintext adversaries who can query encryptions of their choice. For instance, in electronic codebook (ECB) mode without an , identical blocks encrypt to identical ciphertext blocks, leaking structural patterns in the data such as repetitions in images or text; modes employing an , like cipher block chaining (), introduce variability to obscure these patterns. An often serves the role of a —a number used once—in such contexts, though it may be reused across independent keys without compromising security, provided it is unique for each key.

Properties

Essential Characteristics

An initialization vector (IV) in must exhibit high to ensure unpredictability and , thereby preventing statistical biases that could compromise the security of encrypted data. This is typically achieved through the use of a cryptographically secure , which produces values that are statistically indistinguishable from true random sources. For instance, in modes such as , the IV should be randomly chosen to avoid patterns in the ciphertext that might reveal information about the . Uniqueness is another critical property, requiring that the IV does not repeat for the same within a given session or to maintain the of the cryptographic process. Reuse of an IV with the same can lead to vulnerabilities, but ensuring —often through random selection or sequential nonces—helps preserve without additional overhead. This property is particularly emphasized in standards for modes like OFB, where the IV must be distinct for each operation. Unlike encryption keys, an is non-secret and can be transmitted openly alongside the , as its security relies on rather than . However, it must possess sufficient —ideally matching the full size, such as 128 bits for —to resist prediction or collision attacks. Pseudo-random IVs are acceptable provided the underlying or is securely managed and produces high-entropy output. The length of the IV is specifically matched to the cipher's size, ensuring compatibility; for , this is 16 bytes (128 bits).

Generation Techniques

Initialization vectors (IVs) are generated using a variety of methods to ensure they provide the necessary or unpredictability required for secure cryptographic operations. Hardware-based approaches leverage true generators (TRNGs) that draw from physical phenomena to produce high- bits. These include s such as thermal noise in electronic circuits, where random fluctuations in voltage or current are amplified and digitized to generate unpredictable bit sequences. Similarly, processes, which involve measuring the timing of particle emissions from radioactive isotopes, serve as another non-deterministic for TRNGs, offering bits with full entropy suitable for IV creation. These hardware methods are preferred in environments demanding the highest level of , as they rely on inherently unpredictable physical events rather than algorithmic simulation. Software-based generation typically employs pseudo-random number generators (PRNGs) that are seeded with sufficient system to produce cryptographically secure outputs. On operating systems, the /dev/urandom device provides an interface to the kernel's CSPRNG, which continuously generates random bytes by mixing from sources like hardware interrupts, disk I/O timings, and network events, without blocking even under low- conditions. This makes /dev/urandom a standard choice for software applications needing IVs, as it ensures outputs indistinguishable from true random for practical purposes, provided the initial seed is adequately diverse. PRNGs compliant with standards like those in further process this using deterministic algorithms, such as hash-based or block cipher-based DRBGs, to expand it into the required IV length. In protocol-specific contexts, IVs may be derived deterministically from other protocol elements to maintain uniqueness without relying solely on random sources. For instance, timestamps can be incorporated, where the current time in high-resolution format is hashed or directly used as part of the IV, ensuring it changes with each session. Sequence numbers, incremented per message or packet, provide a predictable yet unique value that, when combined with a secret, yields an unpredictable IV, as seen in protocols like IPsec's mode. Key derivation functions such as can also generate IVs by expanding a master key or with additional inputs like s or labels; in TLS 1.3, for example, a static IV is derived via HKDF-Expand-Label from the traffic secret, and the per-record is formed by XORing a padded sequence number with this static IV. Standards from authoritative bodies guide these generation techniques to promote interoperability and security. NIST SP 800-90A outlines approved DRBG mechanisms for producing random bits, emphasizing the need for entropy sources that meet minimum security strengths (e.g., 112 bits for AES-128 keys and associated IVs). Complementing this, NIST SP 800-38A recommends that IVs for modes like CBC be generated as random bit strings of the block size, or unpredictably if randomness is unavailable, to prevent patterns that could compromise confidentiality. These guidelines ensure IVs align with the essential requirement of randomness or nonce properties outlined in IV characteristics. A key consideration in IV generation is avoiding sources with insufficient , as they can lead to predictable values. Relying solely on low-entropy timestamps, such as coarse-grained seconds without additional mixing, is a common pitfall, as attackers may guess or synchronize them, reducing the IV's effectiveness. Similarly, unadorned sequence numbers without secrecy or hashing should be augmented to prevent attacks, underscoring the need for hybrid approaches that combine multiple inputs for robustness.

Applications in Block Ciphers

Modes of Operation

In block cipher encryption, several modes of operation incorporate an initialization vector (IV) to enhance security by ensuring that identical plaintexts produce different ciphertexts under the same key. These include chaining modes like Cipher Block Chaining (CBC), counter-based modes like (CTR), and authenticated encryption modes like Galois/ Mode (GCM). The general mechanics of these IV-dependent modes involve using the IV to initialize the encryption process, either by seeding the first block in chaining operations or by forming part of an initial counter value, which then influences the processing of subsequent blocks through feedback or incremental counters. This initialization prevents deterministic outputs and helps diffuse patterns across the entire message. A representative example is mode, where the serves as the zeroth . The formula is given by: C_i = E_k(P_i \oplus C_{i-1}) where C_0 = \text{[IV](/page/IV)}, P_i is the i-th , C_i is the i-th , and E_k denotes under key k. In contrast, modes without an , such as Electronic Codebook (ECB), encrypt each independently and deterministically, which can reveal structure if identical blocks appear, making ECB unsuitable for most applications. These IV-based modes for the (AES) were standardized by the National Institute of Standards and Technology (NIST) in Special Publication 800-38A, published in December 2001, with extensions like GCM in SP 800-38D from November 2007.

CBC Mode Usage

In (CBC) mode, the initialization vector (IV) serves as the initial chaining value that ensures each encryption of the same under the same produces a unique ciphertext, promoting security through diffusion. The IV, which must match the size of the underlying (e.g., 128 bits for AES), is XORed with the first plaintext block before encryption. This process begins the chaining mechanism, where the output ciphertext block then acts as the chaining input for the subsequent plaintext block. The encryption procedure in CBC mode proceeds as follows: for the first block, the ciphertext C_1 is computed as C_1 = \text{CIPH}_k (P_1 \oplus \text{IV}), where \text{CIPH}_k denotes the forward function under k, P_1 is the first block, and \oplus represents the bitwise XOR operation. For subsequent blocks j = 2 to n, C_j = \text{CIPH}_k (P_j \oplus C_{j-1}). During decryption, the process reverses: the first plaintext block is recovered as P_1 = \text{DEC}_k (C_1) \oplus \text{IV}, where \text{DEC}_k is the decryption function, and for j = 2 to n, P_j = \text{DEC}_k (C_j) \oplus C_{j-1}. The is typically transmitted alongside the to enable decryption, as it is not secret but must remain unpredictable to prevent certain attacks. CBC mode requires the to be padded if its length is not a multiple of the , commonly using , which appends bytes indicating the padding length. The itself is unaffected by this padding, as it operates solely on the before the chaining begins. This setup provides a key security benefit through diffusion: any alteration in the or propagates to all subsequent , ensuring that errors or changes do not remain localized. For instance, in AES-CBC with a 128-bit , a 128-bit such as "000102030405060708090a0b0c0d0e0f" is used in reference implementations to initialize the chain.

Applications in Stream Ciphers

Role in Stream Generation

In stream ciphers, the initialization vector (IV) is combined with the secret to initialize the internal of the keystream , producing a pseudorandom bit sequence for . This setup ensures that reusing the key across multiple messages yields distinct keystreams, preventing patterns that could compromise security. The keystream generator, once initialized, outputs a continuous sequence of bits that are XORed with the to form the , allowing of streams of arbitrary length. The IV's inclusion in the initialization process guarantees a unique keystream per message, as identical s encrypted under the same but different IVs result in different s, thwarting attacks like known- via XOR differences. In synchronous stream ciphers, the IV resets the generator's internal at the start of each message, maintaining independence from the or prior and enabling straightforward resynchronization between encryptor and decryptor. Self-synchronizing stream ciphers differ by deriving their from recent blocks, typically obviating the need for an IV in resynchronization, though an initial IV may still seed the starting . For example, in the stream cipher, the IV is prepended to the key to form the input for the key-scheduling algorithm, which permutes and initializes a 256-byte state array from which the keystream is derived. Similarly, in Salsa20, the 64-bit IV (termed ) is loaded into an initial 64-byte state alongside the 256-bit key, 64-bit block counter, and fixed 16-byte constants; this state undergoes 20 rounds of quarter-round transformations to produce 64-byte keystream blocks. Unlike block ciphers, which process fixed-size data blocks and chain them via modes of operation, stream ciphers generate a continuous, variable-length keystream directly from the initialized state, with the IV providing the necessary per-message variability without block boundaries.

Security Implications

Risks of IV Reuse

Reusing an initialization vector (IV) with the same cryptographic key in block cipher modes of operation poses severe security risks, primarily by enabling attackers to uncover relationships between multiple plaintexts encrypted under that key. This violation of the fundamental requirement for IV uniqueness per key leads to pattern leakage, where the XOR of corresponding ciphertext blocks reveals the XOR of the underlying plaintext blocks, compromising confidentiality. Such reuse undermines the semantic security of the encryption scheme, allowing adversaries to distinguish ciphertexts from random strings and perform meaningful analysis on the data. In Cipher Chaining () mode, IV reuse facilitates known- recovery attacks. The encryption process for the first is defined as C_1 = E_k(IV \oplus P_1), where E_k is the encryption under k, P_1 is the first plaintext , and C_1 is the corresponding ciphertext . If the same IV is reused for a second plaintext P_2, yielding C_2 = E_k(IV \oplus P_2), an attacker can compute C_1 \oplus C_2 = (IV \oplus P_1) \oplus (IV \oplus P_2) = P_1 \oplus P_2. This directly exposes the XOR difference between the plaintexts, enabling recovery of one plaintext if the other is known or guessed, such as in scenarios involving repetitive or predictable data. Subsequent blocks may also leak information if plaintext patterns align, further amplifying the . In Counter (CTR) mode, the consequences of IV reuse are even more catastrophic due to keystream repetition. CTR generates a keystream by encrypting a counter block, typically structured as S_i = E_k(IV || i), where i is the block counter starting from zero, and the ciphertext is C_i = P_i \oplus S_i. Reusing the IV with the same key produces identical keystream blocks S_i for each position i. For two plaintexts P and P' encrypted this way, yielding ciphertexts C and C', it follows that C_i \oplus C'_i = (P_i \oplus S_i) \oplus (P'_i \oplus S_i) = P_i \oplus P'_i for every block i. This keystream reuse effectively turns the scheme into a two-time pad, allowing direct decryption of one message if any portion of the other is known, as the attacker can XOR the known plaintext with the corresponding ciphertext to recover the shared keystream and apply it universally. The full derivation highlights the total breakdown: starting from the keystream equality under reuse, any known-plaintext segment propagates to decrypt the entire affected messages, rendering the encryption malleable and insecure against even passive adversaries. The real-world impact of IV reuse extends beyond direct decryption to enable sophisticated , where attackers infer communication patterns, message similarities, or even content correlations from the leaked XOR differences, particularly in high-volume protocols. This has historically led to exploitable vulnerabilities in deployed systems, emphasizing the need for rigorous enforcement. To mitigate these risks, cryptographic standards mandate a strict non-reuse policy: each must be unique for every operation under a given , often achieved through random generation or sequential counters with sufficient to avoid collisions.

Predictability and Attacks

Predictability in initialization vectors (IVs) arises when the IV generation process lacks sufficient or follows a discernible , allowing an adversary to anticipate future IV values with high probability. This vulnerability enables attackers to guess the IV used for a particular operation, thereby predicting elements of the cryptographic output such as the keystream in stream ciphers or the chaining dependencies in modes. For instance, if an IV is derived from a low-entropy source like a or a short without , an eavesdropper monitoring traffic can infer the sequence and forecast subsequent IVs, compromising . A primary exploiting predictable IVs is the , which targets systems with short IV spaces by leveraging the birthday paradox to find IV collisions efficiently. In such scenarios, even if IVs are not directly guessable, the limited size of the IV space—say, 24 bits—leads to collisions after a modest number of encryptions, approximately 5,000 packets, enabling an attacker to correlate ciphertexts and recover information. This attack is particularly effective in protocols where IV collisions allow reconstruction of the underlying keystream or key stream segments. The probability of at least one collision among n IVs drawn from a space of size N is approximated by the formula: P(\text{collision}) \approx 1 - e^{-n^2 / (2N)} This equation, derived from the birthday paradox, quantifies the risk: for N = 2^{24} and n \approx 2^{12}, the collision probability approaches 0.5, highlighting the need for IV spaces of at least 96 bits in modern systems. In counter modes of operation, predictable IVs facilitate precomputation attacks, such as time-memory tradeoff (TMTO) techniques, where an adversary precomputes keystream tables for anticipated IV values, significantly reducing the effective security of the cipher. For AES-128 in counter mode, a fully predictable initial counter can lower the effective key strength to around 85 bits via TMTO, as the attacker trades storage for computation to accelerate decryption attempts. Sequential or low-entropy IVs exacerbate this by allowing targeted precomputation of likely counter blocks. To mitigate predictability risks, IVs must be generated using cryptographically secure pseudorandom number generators (CSPRNGs) that ensure high and unpredictability, as specified in standards like . These mechanisms produce IVs indistinguishable from true random values, preventing both direct guessing and collision-based exploits while avoiding reliance on weaker deterministic methods. Implementing such PRNGs ensures that even if an attacker observes past IVs, future ones remain unpredictable.

Historical and Protocol-Specific Issues

WEP IV Vulnerabilities

The (WEP) protocol, introduced as part of the networking standard, uses a 24-bit (IV) prepended to a static secret key—either 40 bits (for 64-bit WEP) or 104 bits (for 128-bit WEP)—to derive a per-packet key stream via the . This IV is transmitted in alongside each encrypted packet to enable decryption, with the intent of ensuring unique key streams for in environments. However, the design's reliance on a short IV exposed WEP to severe vulnerabilities, as the limited IV space of 2^{24} (approximately 16.8 million values) exhausts quickly in moderate- to high-traffic networks, often within hours or days of operation. A primary flaw arises from IV reuse under the same static , which generates identical key streams for multiple packets; an attacker capturing two such packets can XOR their ciphertexts to eliminate the key stream and reveal the XOR difference, enabling straightforward recovery of sensitive data like credentials or session contents. This reuse vulnerability is exacerbated by the absence of mechanisms for rotation or IV management in WEP, allowing passive eavesdroppers to accumulate exploitable packets without active interference. Furthermore, the protocol's IV selection—random but unchecked—produces "weak IVs" that bias 's key scheduling algorithm, leaking information about the secret through statistical anomalies in the initial output bytes. The Fluhrer-Mantin-Shamir (FMS) attack, published in 2001, capitalizes on these weak IVs by collecting a targeted set of around 10,000 to 50,000 packets with specific IV patterns (e.g., those following the form where the first byte is 0 and subsequent bytes align predictably), allowing probabilistic key recovery through linear equations derived from RC4's state biases. This attack demonstrated that even without reuse, the IV-key concatenation in WEP enables efficient , reducing key recovery to feasible computational effort on commodity hardware. Practical implementations, such as the suite, integrate the FMS method with optimizations like KoreK statistical attacks and techniques to accelerate IV collection, often cracking 104-bit WEP keys in minutes using captured traffic from a single access point. WEP was standardized in the IEEE 802.11-1999 edition but rendered obsolete by escalating IV-related exploits, culminating in its formal deprecation in 2004 via the IEEE 802.11i amendment, which introduced robust alternatives like WPA2 while retaining WEP only for backward compatibility. These vulnerabilities illustrate the perils of appending short, predictable IVs to static keys in stream ciphers, as the resulting key stream predictability undermines the entire encryption scheme and facilitates both confidentiality breaches and key compromise.

SSL 2.0 Randomness Weaknesses

SSL 2.0, released in 1995 as a protocol for securing web communications, employed as a in its export-grade suites to comply with U.S. export restrictions on cryptography, limiting effective key lengths to 40 bits. Unlike block modes that use an (IV) for variability, SSL 2.0 did not incorporate an IV for RC4; instead, the was initialized solely with session keys derived from predictable components, including the client challenge and connection ID. This design relied on the protocol's (PRNG) to produce the client challenge, but the PRNG seed was derived from easily guessable values such as the time of day, process ID, and parent process ID, allowing attackers to predict the challenge and thus the keys. A critical flaw in SSL 2.0 was the predictability of its , which directly impacted the security of keystreams and keys. Sequence numbers, starting from zero and incrementing predictably per , were used for but provided no additional to the process, further enabling keystream and full with minimal computational effort—demonstrated to require only about 25 seconds on contemporary to test a million possibilities. In 1996, researchers and David Wagner detailed an attack exploiting this predictability in Netscape's SSL implementation, where passive observation of network traffic allowed seed guessing and subsequent decryption of sessions. This vulnerability facilitated man-in-the-middle scenarios by enabling attackers to recover session keys and decrypt traffic without active interference, compromising the confidentiality of export-grade connections. The weaknesses contributed to SSL 2.0's obsolescence, leading to its deprecation by the IETF in 2011 and widespread disabling in major browsers by the mid-2010s, such as and in 2015. In response, SSL 3.0 introduced longer, cryptographically secure random values for key derivation and explicit unpredictable IVs for block ciphers in CBC mode, mitigating predictability issues and enhancing resistance to keystream reuse attacks. These changes addressed the core flaws in SSL 2.0's design, establishing a foundation for more robust protocols like TLS.

Modern Best Practices

NIST and IETF Guidelines

The National Institute of Standards and Technology (NIST) Special Publication (SP) 800-38 series establishes key recommendations for initialization vectors (IVs) in block cipher modes of operation, with a focus on the Advanced Encryption Standard (AES). These guidelines mandate that IVs be unique and unpredictable across all encryptions under the same key to preserve confidentiality and prevent attacks such as keystream reuse. For modes like Cipher Block Chaining (CBC), the IV must be randomly generated with full unpredictability, while in Counter (CTR) mode, the IV serves as a nonce that requires strict non-reuse per key, often concatenated with a counter value to form the initial block. The (IETF) complements these through RFC 5116, which defines interfaces and algorithms for , including nonce-based IVs in CTR mode variants such as those used in Galois/Counter Mode (GCM). This standard requires nonces to be distinct for each invocation under a given , recommending a 12-octet structure comprising a fixed field for uniqueness and a 4-octet counter, while explicitly prohibiting predictable generation methods that could enable forgery or decryption attacks. NIST further specifies entropy minimums for IV generation, requiring at least 128 bits for modern ciphers like AES-128 to achieve the desired strength, with IVs produced via approved Deterministic Random Bit Generators (DRBGs) outlined in SP 800-90A. These DRBGs ensure high-quality by incorporating sources validated under SP 800-90B, supporting levels up to 256 bits as needed for robust IV unpredictability. Adherence to these IV guidelines is compulsory in cryptographic modules certified under Federal Information Processing Standard (, which mandates compliance with the SP 800-38 series for all approved symmetric modes. Validation testing verifies proper IV uniqueness, unpredictability, and non-reuse to meet operational requirements across hardware, software, and hybrid implementations.

Usage in TLS 1.3

In TLS 1.3, the initialization vector (IV) is integral to the protection mechanism, which exclusively employs with associated data (AEAD) ciphers such as AES-GCM to secure application data and messages. The IV is not transmitted explicitly in the record; instead, it is derived implicitly as part of the traffic keys during the key derivation process. Specifically, the IV—known as the per-connection write IV (e.g., client_write_iv or server_write_iv)—is generated using the HKDF-Extract and HKDF-Expand functions from the handshake traffic secrets, ensuring it is unique to each direction of communication and bound to the session keys. The required for AEAD is constructed by combining this implicit with a 64-bit sequence number that increments for each record encrypted under the same key. For ciphers like AES-GCM, the is formed by XORing the sequence number (zero-padded on the left to match the IV length, which is at least 8 bytes and typically 12 bytes) with the implicit IV, resulting in a 96-bit that meets the algorithm's requirements. This construction, where the effectively incorporates the IV as its base, ensures per-record uniqueness without requiring explicit transmission of the IV or additional nonce material in the record header, thereby reducing overhead and potential exposure. In some AEAD modes, an explicit portion of the may be included if specified by the , but TLS 1.3 prioritizes the implicit approach for efficiency. From a perspective, this and design prevents reuse by leveraging the record-layer sequence number, which starts at 0 and increments monotonically, allowing up to 2^64 - 1 records per key before rekeying is mandated to avoid wraparound and potential nonce repetition. 8446 explicitly requires that each define a secure method for per-record nonce formation, prohibiting predictable or reusable IVs to mitigate risks like those in earlier protocols. The integration of the IV-derived nonce with AEAD modes also eliminates the need for in encrypted records, which reduces vulnerabilities such as padding oracle attacks that plagued predecessors.

References

  1. [1]
    Initialization Vector (IV) - Glossary | CSRC
    A binary vector used as the input to initialize the algorithm for the encryption of a plaintext block sequence to increase security.
  2. [2]
    [PDF] NIST SP 800-38A, Recommendation for Block Cipher Modes of ...
    This publication provides recommendations regarding modes of operation to be used with symmetric key block cipher algorithms. 2 Authority. This document has ...
  3. [3]
  4. [4]
  5. [5]
    What is an initialization vector? | Definition from TechTarget
    Apr 2, 2025 · An initialization vector (IV) is an arbitrary number that can be used with a secret key for data encryption to foil cyberattacks.
  6. [6]
    Differences Between Key, Initialization Vector and Nonce - Baeldung
    Mar 18, 2024 · Block ciphering algorithms, however, employ initialization vectors to make a single encryption key encode data differently each time it is used.
  7. [7]
    Does the Initialization Vector in DES have to be 8 bytes long?
    Jan 5, 2020 · The IV is always set to 8 bytes or 64 bits. Note that DES itself only supports 64 bit keys, of which 8 bits are parity bits, so an effective key size of 56 ...What size of initialization vector (IV) is needed for AES encryption?AES-GCM recommended IV size: Why 12 bytes?More results from crypto.stackexchange.com
  8. [8]
    Initialization Vector for Encryption | Baeldung
    Nov 9, 2021 · The IV of AES is always 128-bit regardless of the key length. 3.2. Generating the IV. We can get an IV directly from the Cipher class: byte ...Missing: DES | Show results with:DES
  9. [9]
    [PDF] FIPS 81 - Des Modes of Operation
    Dec 2, 1980 · In CBC encryption, the first DES input block is formed by exclusive-. ORing the first block of a message with a 64-bit initialization vector (IV) ...
  10. [10]
    Why does IV not need to be secret in AES CBC encryption?
    May 4, 2016 · ... plaintext or any information about the plaintext given only an ... The Initialization vector used is a random number also called nonce ...When using AES and CBC, is it necessary to keep the IV secret?Initialization vector with cipher blockMore results from security.stackexchange.com
  11. [11]
  12. [12]
    Symmetric key cryptography | IBM Quantum Learning
    To achieve IND-CPA level security, block ciphers need to operate in a mode that utilizes randomness introduced via a pseudorandom initialization vector
  13. [13]
    Why is ECB cipher mode not recommended for encryption? - Qvera
    Dec 22, 2022 · ECB mode is not recommended because it lacks diffusion, encrypts identical blocks into identical blocks, and doesn't hide data patterns well, ...Missing: leaks | Show results with:leaks
  14. [14]
    Generation of Deterministic Initialization Vectors (IVs) and Nonces
    Jul 4, 2011 · Many cryptographic algorithms use Initialization Vectors, or IVs. An IV is provided to an algorithm along with a message to be processed ...
  15. [15]
    CWE-1204: Generation of Weak Initialization Vector (IV)
    In both of these examples, the initialization vector (IV) is always a block of zeros. This makes the resulting cipher text much more predictable and susceptible ...
  16. [16]
    RFC 4086 - Randomness Requirements for Security
    This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities.
  17. [17]
    Microsoft SDL cryptographic recommendations
    Aug 18, 2025 · Initialization vectors (IV). All symmetric block ciphers should also be used with a cryptographically strong random number as an initialization ...
  18. [18]
    [PDF] Recommendation for the Entropy Sources Used for Random Bit ...
    This document specifies design principles and requirements for entropy sources used by Random Bit Generators, and tests for validation.
  19. [19]
    random(7) - Linux manual page - man7.org
    The cryptographic algorithms used for the urandom source are quite conservative, and so should be sufficient for all purposes. The disadvantage of GRND_RANDOM ...
  20. [20]
    [PDF] NIST Special Publication 800-90A Revision 1
    This Recommendation specifies mechanisms for the generation of random bits using deterministic methods.
  21. [21]
  22. [22]
    SP 800-38A, Recommendation for Block Cipher Modes of Operation
    Dec 1, 2001 · This recommendation defines five confidentiality modes of operation for use with an underlying symmetric key block cipher algorithm.
  23. [23]
    SP 800-38D, Recommendation for Block Cipher Modes of Operation
    This Recommendation specifies the Galois/Counter Mode (GCM), an algorithm for authenticated encryption with associated data, and its specialization, GMAC.
  24. [24]
    [PDF] Why IV Setup for Stream Ciphers is Difficult - DROPS
    Mar 14, 2007 · In recent years, the initialization vector (IV) setup has proven to be the most vulnerable point when designing secure stream ciphers. In this.
  25. [25]
    [PDF] Stream Ciphers for Constrained Environments
    Nov 7, 2011 · Synchronous stream ciphers. Self-synchronizing stream ciphers. Meltem ... A Key/IV initialization function is used for resynchronization.
  26. [26]
    Snuffle 2005: the Salsa20 encryption function
    Salsa20 specification. This document contains the complete definition of the Salsa20 core, the Salsa20 expansion function, and the Salsa20 encryption function.
  27. [27]
    [PDF] A Note on Stream Ciphers that Continuously Use the IV
    Rivest designed RC4 [Sch95], which was later used in SSL/TLS [DR08] and the wireless network security protocols WEP [Ins97] and TKIP (often called WPA). [Ins04] ...
  28. [28]
    [PDF] Stream Ciphers - Lihao Xu
    There are synchronous stream ciphers where the key stream depends only on the key, and asynchronous ones where the key stream also depends on the ciphertext.Missing: reset | Show results with:reset<|control11|><|separator|>
  29. [29]
    [PDF] RC4 1
    ❑ RC4 is a stream cipher, so each packet must be encrypted using a different key o Initialization Vector (IV) sent with packet o Sent in the clear (IV is ...
  30. [30]
    RFC 3686 - Using Advanced Encryption Standard (AES) Counter ...
    This document describes the use of AES Counter Mode (AES-CTR), with an explicit initialization vector (IV), as an IPsec Encapsulating Security Payload (ESP) [ ...
  31. [31]
    Difference between a nonce and IV - Cryptography Stack Exchange
    May 4, 2014 · A nonce is a number used once, while an IV is an initialization vector. IVs are often unpredictable, while nonces don't need to be. In some ...How to use nonce, counter, and IV in AES-256-CTR?IV/Nonce in CTR&GCM mode of operationMore results from crypto.stackexchange.com
  32. [32]
    RFC 5288 - AES Galois Counter Mode (GCM) Cipher Suites for TLS
    This memo defines TLS cipher suites that use AES-GCM with RSA, DSA, and Diffie-Hellman-based key exchange mechanisms.
  33. [33]
    [PDF] Report on the Block Cipher Modes of Operation in the NIST SP 800 ...
    NIST SP 800-38A [25] defines the Electronic Codebook (ECB), Cipher Block Chaining. (CBC), Cipher Feedback (CFB), Output Feedback (OFB), and Counter (CTR) modes, ...
  34. [34]
    [PDF] Evaluation of Some Blockcipher Modes of Operation
    Feb 10, 2011 · that the consequences here of IV-reuse are worse than with CTR mode: IV reuse doesn't only compromise a particular ciphertext, it silently ...
  35. [35]
    [PDF] Counter Mode Security: Analysis and Recommendations
    Nov 15, 2002 · In this document we describe Counter Mode (CM) and its security properties, reviewing relevant cryptographic attacks and system security ...
  36. [36]
    [PDF] Collision-Based Attacks on Block Cipher Modes
    In this paper, we analyze the use of GCM with all the IV constructions and lengths approved in NIST SP 800-38D [14] when encrypting multiple plaintexts with the ...<|control11|><|separator|>
  37. [37]
    WEP on an Autonomous Access Point Configuration Example - Cisco
    Standard 64-bit WEP uses a 40 bit key (also known as WEP-40), which is concatenated with a 24-bit initialization vector (IV) in order to form the RC4 key. A 64- ...
  38. [38]
    [PDF] Guide to IPsec VPNs - NIST Technical Series Publications
    Jun 1, 2020 · ... Use of Galois/Counter Mode (GCM) in IPsec. Encapsulating Security Payload (ESP). (Internet Engineering Task Force (IETF). Network Working ...
  39. [39]
  40. [40]
    [PDF] Using the Fluhrer, Mantin, and Shamir Attack to Break WEP
    This paper describes the attack, how we implemented it, and some optimizations to make the attack more efficient. We con- clude that 802.11 WEP is totally ...
  41. [41]
    [PDF] Weaknesses in the Key Scheduling Algorithm of RC4 | Cornell
    Mantin and A. Shamir. A practical attack on broadcast RC4. In FSE: Fast Software Encryption, 2001. MT98] Mister and ...
  42. [42]
    Aircrack-ng is an 802.11 WEP and WPA/WPA2-PSK key cracking ...
    Sep 18, 2019 · The main advantage of the PTW approach is that very few data packets are required to crack the WEP key. The other, older method is the FMS/KoreK ...Missing: vulnerabilities | Show results with:vulnerabilities
  43. [43]
    IEEE 802.11-1999 - IEEE SA
    This standard defines one medium access control (MAC) and several physical layer (PHY) specifications for wireless connectivity for fixed, portable, and moving ...
  44. [44]
    802.11i-2004 | IEEE Standard | IEEE Xplore - IEEE Xplore
    Jul 24, 2004 · This amendment defines security mechanisms for IEEE 802.11. It includes a definition of WEP for backward compatibility with the original standard.
  45. [45]
    ssl 0.2 protocol specification - Mozilla
    May 15, 2001 · The SEQUENCE-NUMBER is a 32 bit value which is presented to the hash function as four bytes, with the first byte being the most significant byte ...
  46. [46]
    [PDF] Randomness and the Netscape Browser - BME-HIT
    Jan 1, 1996 · Randomness and the Netscape Browser. No one was more surprised than ... By Ian Goldberg and David Wagner, Dr. Dobb's Journal. Jan 01 ...
  47. [47]
    RFC 5116 - An Interface and Algorithms for Authenticated Encryption
    This nonce generation method is also used by several counter mode variants including CTR ESP. McGrew Standards Track [Page 10]. RFC 5116 Authenticated ...
  48. [48]
    SP 800-90B, Recommendation for the Entropy Sources Used for ...
    Jan 10, 2018 · SP 800-90B specifies design principles and requirements for entropy sources used by Random Bit Generators, and tests for validation.Missing: thermal radioactive decay
  49. [49]
    FIPS 140-3, Security Requirements for Cryptographic Modules | CSRC
    The security requirements cover areas related to the secure design, implementation and operation of a cryptographic module.Missing: initialization vectors
  50. [50]
  51. [51]
  52. [52]