Java Reference
In-Depth Information
Initialization Vector
Cleartext
“his topic is Secure
Java for Web
Application
Development”
Ciphertext
“_b6441P8uFjuplzBKTv7u3.
GA.Wak3hbuT21IV
DOTdD-0vkrAflpBrWf
YzYHSsJEiWA3_64”
Encryption
Key
Figure 8.2
Initialization vector in the encryption process.
of the encrypted messages of the Japanese allowed American cryptanalysts to infer and decrypt
the messages. Initialization vectors are random values introduced into the encryption process to
ensure that two identical plaintext messages, when encrypted with the same encryption algorithm
and the same key, do not produce the same ciphertext. Initialization vectors are adopted in block
and stream ciphers, which require more randomness in the encryption process. Initialization vec-
tors, when used in stream ciphers, utilize a keystream to perform the encryption and decryption
process. A keystream is a combination of random or pseudorandom characters (the key) used to
encrypt the cleartext message. Initialization vectors are used to add a greater degree of random-
ness to the keystream. Initialization vectors are used to add an extra layer of complexity to the
encryption process, and current software implementations for initialization vectors are based on
initialization vectors being generated from pseudo-number generators, which generate numbers
based on a certain degree of randomness required for cryptography. he initialization vector used
should vary with each data record encrypted in the process of encryption, and the initialization
vector should also not be the same with the same key. An initialization vector, however, may be
stored in plaintext, as it does not have to be rendered a secret, as opposed to the key. he concept
of the initialization vector is illustrated in Figure 8.2.
8.1.2.6 One-Way Hash Functions
A one-way hash function can be crisply deined as an algorithm that converts processing data into
a string of bits, known as a hash value or message digest. One-way hash functions are those that
convert an arbitrary-length string into a ixed-length bit string of random values. One-way hash
functions consist of a hashing algorithm that when used in conjunction with a cleartext message
is converted into a ixed-length incomprehensible string of bits commonly known as the message
digest or the hash value . he one-way hashing process, as conveyed by the name, is an irreversible
process, unlike encryption, where the original plaintext message can be decrypted. One-way hash
functions are used extensively in the sphere of information security including digital signatures to
calculate checksums to detect data corruption and to calculate checksums as message authentica-
tion codes, among others. For instance, the hash values of iles are often posted on the Internet for
the user to verify if the integrity of the ile has been breached during the download process. For
instance, a user downloaded a ile “mp3PlayerInstall.exe” and the hash value or the checksum of
the ile was a particular hash value that was posted on the site the ile was downloaded from. he
user may compare the hash value of the downloaded ile after the completion of the download. If
the hash values are the same, then the user knows that the integrity of the ile is intact; however,
if the hash values are diferent, then the user realizes that the integrity of the ile is in question,
Search WWH ::




Custom Search