Cryptography Reference
In-Depth Information
1. Compute a permutation of numbers 0 ,..., 255 based on the decimal places
of π . Let this permutation be S 0 ,...,S 255 .
2. Pad the text with i bytes of value i such that its length is a multiple of 16.
(For example, if the text is 6 bytes long, you append 10 bytes of numerical
value 10.) The bytes of the text thus created are called T i .
3. Append a 16-byte checksum to the text.
4. Consider a group of 48 bytes: X 0 ,...,X 47 . Initialize X 0 ,...,X 15 to 0 and
set X i + 32 = X i + 16 = T i for i = 0 ,..., 15.
Set t
0.
5. Compute new X i according to the following symbolic C program:
=
for(j=0; j < 17; ++j)
{
for(k=0; k < 47; ++k) {t = X k ^S t ;X k = t;}
t += j; t &= 0xff;
}
6. Allocate the next 16 bytes T i to X 16 ,...,X 31 and compute
X i + 32 =X i ^X i + 16
(i=0,...,15).
Go back to Point 5 where the old value of t is reused.
7. Once all T i are used up, X 0 ,...,X 15 form the 128-bit hash value.
Figure 6.3: Computing the MD2 one-way hash function.
RIPE-MD160 : This algorithm is an integral part of the European project
RIPE and is also based on MD4. RIPE-MD160 creates a 160-bit hash
value. Together with SHA-1, it is currently thought to be one of the
algorithms against which no practically effective attacks are known. An
implementation together with a description can be found on the Web site.
RIPE-MD160 didn't gain acceptance versus SHA-1.
SHA-1 : SHA stands for 'Secure Hash Algorithm'. This function cre-
ates 160-bit hash values. It was developed jointly by the NIST and the
NSA in 1993 and published in 1994. One year later, the NSA submit-
ted an improved version without stating any reasons. This new version
Search WWH ::




Custom Search