Java Reference
In-Depth Information
8.1.2.2 Cryptosystem
he system that provides encryption and decryption is known as a cryptosystem . It can be created
either using hardware components (please refer to the example of the Enigma in the previous sec-
tion) or using software program code. he cryptosystem uses an encryption algorithm, and its
keys and necessary components. An encryption algorithm is a complex mathematical function
that is designed to convert plaintext data to ciphertext data and vice versa. he algorithm can be
succinctly summarized as the rules and boundaries that govern the crypto-system. he encryp-
tion algorithm also uses a string of bits, commonly referred to as a key to encrypt and decrypt. An
encryption algorithm is also sometimes referred to as a cipher .
8.1.2.3 Key and Keyspace
he key in a cryptosystem is supposed to be the most secret aspect of that cryptosystem. Most
encryption algorithms today are public and the only element ensuring the secrecy of the ciphertext
is the key. he key is a long sequence of random bits that is used in conjunction with the encryp-
tion algorithm to render the data incomprehensible. A key is what is used to decrypt the data when
it is to be read by the intended recipient of the message.
A keyspace is the range of values that can be used to create a key for an encryption algorithm.
he greater the size of the keyspace, the greater the complexity of the key and, ergo, the greater
efort necessary for an intruder to break the key and render the data readable. For instance, the
key “APPLE” will be much less complex than the one “i@mg0ing2DmArKet4groCeries.” he
attacker would ind it diicult to break the second key, because the encryption algorithm provides
for a larger keyspace. Strong encryption algorithms of today generally provide for a keyspace of
128 bits and above. Keyspace is expressed as follows. For instance, if the keyspace for an encryp-
tion algorithm is 128 bits, then the key size would be 2 128 , which means that there could be 2 128
combinations for an attacker to try to ind the key.
8.1.2.4 Substitution and Transposition
Substitution is the process by which one character of a message is replaced with another character.
he Caesar Cipher provides an ideal example of a substitution cipher, where the letter of a message
is replaced with another letter of the alphabet, three positions ahead. Some of the best encryption
algorithms of today rely on the concept of substitution, although they are much more complex
than the type of basic substitution performed by the Caesar Cipher.
Transposition refers to the process through which the values are scrambled; the key determines
the positions that the values are moved to. he best encryption algorithms today use a complex
means of transposition, which is made possible because of the complex mathematical functions
that are used in performing sophisticated transposition. he best encryption algorithms today use
a combination of substitution and transposition to carry out the encryption process and to ensure
that ciphertext generated is random and attackers cannot check values for frequency and break
the cipher.
8.1.2.5 Initialization Vector
Ordinarily, when a speciic message is encrypted with a particular encryption algorithm repeatedly,
the same ciphertext is produced in every single instance. During World War II, the repetitiveness
Search WWH ::




Custom Search