RIPEMD-256

RIPEMD-256

RIPEMD-256 — хэш-функция разработанная Хансом Доббертином, Антоном Боселаерсом и Бартом Принилом в 1996 году. Размер хэша — 256 бит. Размер блока входных данных — 512 бит. RIPEMD-256 является развитием RIPEMD-128 и предназначен для приложений, которые требуют более длинного хэша и не нуждаются в большей безопасности, чем приложения уровня RIPEMD-128. Уязвимостей данного алгоритма на текущий момент не обнаружено.

Пример

RIPEMD-256("") = 02ba4c4e5f8ecd1877fc52d64d30e37a2d9774fb1e5d026380ae0168e3c5522d

RIPEMD-256("а") = f9333e45d857f5d90a91bab70a1eba0cfb1be4b0783c9acfcd883a9134692925

Псевдокод для RIPEMD-256

 RIPEMD-256: определения
   нелинейные функции: exor, mux, -, mux
   f(j, x, y, z) = x XOR y XOR z                (0 <= j <= 15)
   f(j, x, y, z) = (x AND y) OR (NOT(x) AND z)  (16 <= j <= 31)
   f(j, x, y, z) = (x OR NOT(y)) XOR z          (32 <= j <= 47)
   f(j, x, y, z) = (x AND z) OR (y AND NOT(z))  (48 <= j <= 63)
   константы (шестнадцатеричные)
   K(j) = 0x00000000      (0 <= j <= 15)     
   K(j) = 0x5A827999     (16 <= j <= 31)      int(2**30 x sqrt(2))
   K(j) = 0x6ED9EBA1     (32 <= j <= 47)      int(2**30 x sqrt(3))
   K(j) = 0x8F1BBCDC     (48 <= j <= 63)      int(2**30 x sqrt(5))
   K'(j) = 0x50A28BE6     (0 <= j <= 15)      int(2**30 x cbrt(2))
   K'(j) = 0x5C4DD124    (16 <= j <= 31)      int(2**30 x cbrt(3))
   K'(j) = 0x6D703EF3    (32 <= j <= 47)      int(2**30 x cbrt(5))
   K'(j) = 0x00000000    (48 <= j <= 63)      
   выбор слов в сообщении
   r(j)      = j                    (0 <= j <= 15)
   r(16..31) = 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8
   r(32..47) = 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12
   r(48..63) = 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2
   r'(0..15) = 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12
   r'(16..31)= 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2
   r'(32..47)= 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13
   r'(48..63)= 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14
   сумма для левого поворота
   s(0..15)  = 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8
   s(16..31) = 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12
   s(32..47) = 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5
   s(48..63) = 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12
   s'(0..15) = 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6
   s'(16..31)= 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11
   s'(32..47)= 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5
   s'(48..63)= 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8
   первоначалыные значения (шестнадцатиричные)
   h0 = 0x67452301; h1 = 0xEFCDAB89; h2 = 0x98BADCFE; h3 = 0x10325476; 
   h4 = 0x76543210; h5 = 0xFEDCBA98; h6 = 0x89ABCDEF; h7 = 0x01234567; 
 RIPEMD-256: псевдокод
       for i := 0 to t-1 {
       A := h0; B := h1; C := h2; D = h3; 
       A' := h4; B' := h5; C' := h6; D' = h7; 
       for j := 0 to 63 {
           T := rol_s(j)(A [+] f(j, B, C, D) [+] X[i][r(j)] [+] K(j));
           A := D; D := C; C := B; B := T;
           T := rol_s'(j)(A' [+] f(63-j, B', C', D') [+] X[i][r'(j)] [+] K'(j));
           A' := D'; D' := C'; C' := B'; B' := T;
           if j == 15 {
               T := A; A := A'; A' := T;
           } else if j == 31 {
               T := B; B := B'; B' := T;
           } else if j == 47 {
               T := C; C := C'; C' := T;
           } else if j == 63 {
               T := D; D := D'; D' := T;
           }
       }
       h0 := h0 + A; h1 := h1 + B; h2 := h2 + C; h3 := h3 + D;
       h4 := h4 + A'; h5 := h5 + B'; h6 := h6 + C'; h7 := h7 + D';
   }

См. также


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "RIPEMD-256" в других словарях:

  • Ripemd-256 — L algorithme de hachage RIPEMD 256, pour RACE Integrity Primitives Evaluation Message Digest, est une fonction de hachage qui produit une signature de 256 bits. Elle a été développée en Europe par le RIPE Consortium. Voir aussi SHA 1 RIPEMD 128… …   Wikipédia en Français

  • RIPEMD-256 — L algorithme de hachage RIPEMD 256, pour RACE Integrity Primitives Evaluation Message Digest, est une fonction de hachage qui produit une signature de 256 bits. Elle a été développée en Europe par le RIPE Consortium. Lien externe Jacksum (Un… …   Wikipédia en Français

  • RIPEMD — 160 (RACE Integrity Primitives Evaluation Message Digest) is a 160 bit message digest algorithm (and cryptographic hash function) developed in Leuven (Belgium) by Hans Dobbertin, Antoon Bosselaers and Bart Preneel at the COSIC research group at… …   Wikipedia

  • RIPEMD-160 — Saltar a navegación, búsqueda RIPEMD 160 (acrónimo de RACE Integrity Primitives Evaluation Message Digest, primitivas de integridad del resumen del mensaje) es un algoritmo del resumen del mensaje de 160 bits (y función criptográfica de hash)… …   Wikipedia Español

  • Ripemd-160 — L algorithme de hachage RIPEMD 160, pour RACE Integrity Primitives Evaluation Message Digest, est une fonction de hachage qui génère une signature de 160 bits. Elle a été développée en Europe par Hans Dobbertin, Antoon Bosselaers et Bart Preneel …   Wikipédia en Français

  • RIPEMD-160 — (RACE Integrity Primitives Evaluation Message Digest) ist eine kryptographische Hashfunktion mit einer Ausgabe von 160 Bits. RIPEMD 160 wurde von Hans Dobbertin, Antoon Bosselaers und Bart Preneel in Europa entwickelt und 1996 erstmals publiziert …   Deutsch Wikipedia

  • RIPEMD — 160 (RACE Integrity Primitives Evaluation Message Digest) ist eine kryptographische Hash Funktion mit einer Ausgabe von 160 Bits. RIPEMD 160 ist eine kryptologische Hash Funktion und wurde von Hans Dobbertin, Antoon Bosselaers und Bart Preneel in …   Deutsch Wikipedia

  • RIPEMD-320 — RIPEMD 320  хэш функция разработанная Хансом Доббертином, Антоном Боселаерсом и Бартом Принилом в 1996 году. Размер хэша  320 бит. Размер блока входных данных  512 бит. Уязвимостей на текущий момент не обнаружено. RIPEMD 320… …   Википедия

  • Ripemd-128 — L algorithme de hachage RIPEMD 128, pour RACE Integrity Primitives Evaluation Message Digest, est une fonction de hachage qui produit une signature de 128 bits. Elle a été développée en Europe par Hans Dobbertin, Antoon Bosselaers et Bart Preneel …   Wikipédia en Français

  • RIPEMD-160 — Криптографическая хеш функция Название RIPEMD 160 Создан 1996 Опубликован 18 апреля 1996 Размер хеша 160 бит Число раундов 5 Тип хеш функция RIPEMD 160 (от англ. RACE Integrity P …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»