User's Manual

54
8.3 DES
The Data Encryption Standard (DES) is an encryption algorithm chose as standard by the Federal Information
Processing Standard (FIPS) for the USA government in 1976 and then adopted worldwide.
DES is reckoned to be insecure for a number of applications. Its insecurity derives from the key used for encrypting the
messages, which is only 56 bit.
http://en.wikipedia.org/wiki/Data_Encryption_Standard
http://it.wikipedia.org/wiki/Data_Encryption_Standard
8.4 Triple DES
Triple DES is a block encryption system based on the repetition of \ref DES for three times.
Triple DES was introduced for making the DES secure. This algorithm expands the key by preventing a brute force
attack even if it makes the algorithm virtually vulnerable to attacks, which are not feasible in practice.
Triple DES 2EDE is made up of a 128 bit key (only 112 bits are useful) where the encrypted data is obtained by
applying the DES with the first 56 bits of the key, then decryption is applied with the second part of the key, and finally
a new encrypting is carried out with the first part of the key.
8.5 Hashing algorithms
By hash functions those functions generally defined as « one-way hash function » are meant; hereunder a definition is
provided.
Suppose that M is an arbitrary length message and h a fixed length binary string.
The “one way hash function” H function is defined as follows:
h = H(M)
Besides, for H it is true:
1.
Given M, it is « easy » to calculate h.
2.
Given h, it is “difficult” to calculate M so that H(M) = h.
3.
Given M, it is “difficult” to find another M’ message so that H(M) = H(M’).
In many applications the following property is also required:
4.
it is « difficult » to find two such M and M’ messages that H(M) = H(M’).
By “easy” a calculation that any computer can carry out in an extremely short time is meant, whilst by “difficult” a
calculation that it is impossible to carry out in reasonable time is meant at the state-of-the-art (in terms of days, weeks,
months) even with the aid of exceptionally powerful computation resources.
Points 1 and 2 of the above-given definition identify the unidirectional characteristic (one way) required to Hash
algorithms: given an x value it is easy to calculate f(x), but given f(x) it is difficult to extract x from a
computational point of view.
Point 3 states the collisions are improbable, that is, difficult.
It is understood as computationally impossible for the same hashing value to correspond to two different values. Given
an x and y value so that x is different from y then the x ( f(x) ) hashing value will be different from the y ( f(y) )
hashing value.
The value obtained from a hashing algorithm is called message digest.