Интернет магазин китайских планшетных компьютеров



Компьютеры - RIPEMD-160 - RIPEMD-160 на псевдокоде

27 июня 2011


Оглавление:
1. RIPEMD-160
2. Реализация RIPEMD-160
3. RIPEMD-160 на псевдокоде
4. Производительность



Под сложением «+» подразумевается сложение по модулю 2, rols обозначает циклический сдвиг влево на s позиций.

for i:=0 to t-1 {

A := h0; B := h1; C := h2; D = h3; E = h4;
A' := h0; B' := h1; C' := h2; D' = h3; E' = h4;
for j := 0 to 79 {
T := rols + Xi + K) + E;
A := E; E := D; D := rol10; C := B; B := T;
T := rols' + Xi + K') E';
A' := E'; E' := D'; D' := rol10; C' := B'; B' := T;}
T := h1 + C + D'; h1 := h2 + D + E'; h2 := h3 + E + A';
h3 := h4 + A + B'; h4 := h0 + B + C'; h0 := T;}

Примеры хешей RIPEMD-160

Входная строка состоит из ASCII-символов. Выходная строка представляет собой шестнадцатеричную запись.

 RIPEMD-160 =
 37f332f68db77bd9d7edd4969571ad671cf9dd3b

Даже маленькое изменение сообщения вызывает значительное изменение дайджеста. Например, мы заменим в вышеприведённом примере d на c:

 RIPEMD-160 =
 132072df690933835eb8b6ad0b77e7b6f14acad7

Хеш-сумма нулевой строки выглядит так:

 RIPEMD-160 = 
 9c1185a5c5e9fc54612808977ee8f548b2258d31




Просмотров: 3223


<<< RIPEMD-256