Whirlpool

Whirlpool

Whirlpoolхеш-алгоритм, авторы Vincent Rijmen и Paulo S. L. M. Barreto. Работает на вводе до 2256 бит.

Выходное значение алгоритма хеширования Whirlpool составляет 512 бит. Первая версия Whirlpool была опубликована в ноябре 2000-го года. Вторая версия называется Whirlpool-T, рассматривается как вариант для нового стандарта европейской хеш функции для подписания и оперирования хеш-функции в криптографических приложениях.

Содержание

Версии

Изначально Whirlpool именовался как Whirlpool-0, следующая модификация называлась Whirlpool-T.

В первой модификации (в 2001): Улучшены криптографические свойства и стало легче организовывать аппаратно. Во второй модификации (в 2003): обнаружен дефект в диффузных матрицах, безопасность алгоритма ниже, чем потенциал. Ошибку удалось исправить, изменением констант в вращающихся матрицах (8х8) с (1, 1, 3, 1, 5, 8, 9, 5) на (1, 1, 4, 1, 8, 5, 2, 9)

Whirlpool хеширование

Как говорилось выше, алгоритм потерпел два изменения, с момента выпуска в 2000 году. Последняя модификация имеет лучшую и эффективную реализацию аппаратных характеристик, а также, вероятно, является более безопасной. Это также принято в ISO / IEC 10118-3 международного стандарта.

512 бит (64 байта) хэша Whirlpool представляются в виде 128-значного шестнадцатеричного числа. Пример 43-байт ASCII текста и его хэш:

Whirlpool-0("The quick brown fox jumps over the lazy dog") =
4F8F5CB531E3D49A61CF417CD133792CCFA501FD8DA53EE368FED20E5FE0248C
3A0B64F98A6533CEE1DA614C3A8DDEC791FF05FEE6D971D57C1348320F4EB42D
Whirlpool-T("The quick brown fox jumps over the lazy dog") =
3CCF8252D8BBB258460D9AA999C06EE38E67CB546CFFCF48E91F700F6FC7C183
AC8CC3D3096DD30A35B01F4620A1E3A20D79CD5168544D9E1B7CDF49970E87F1
Whirlpool("The quick brown fox jumps over the lazy dog") =
B97DE512E91E3828B40D2B0FDCE9CEB3C4A71F9BEA8D88E75C4FA854DF36725F
D2B52EB6544EDCACD6F8BEDDFEA403CB55AE31F03AD62A5EF54E42EE82C3FB35

Любое малейшее изменение в исходном тексте (с очень высокой вероятностью 1-10-154) в результате дает другой хэш. В нашем примере изменим букву d на e:

Whirlpool-0("The quick brown fox jumps over the lazy eog") =
228FBF76B2A93469D4B25929836A12B7D7F2A0803E43DABA0C7FC38BC11C8F2A
9416BBCF8AB8392EB2AB7BCB565A64AC50C26179164B26084A253CAF2E012676
Whirlpool-T("The quick brown fox jumps over the lazy eog") =
C8C15D2A0E0DE6E6885E8A7D9B8A9139746DA299AD50158F5FA9EECDDEF744F9
1B8B83C617080D77CB4247B1E964C2959C507AB2DB0F1F3BF3E3B299CA00CAE3

Whirlpool("The quick brown fox jumps over the lazy eog") =
C27BA124205F72E6847F3E19834F925CC666D0974167AF915BB462420ED40CC5
0900D85A1F923219D832357750492D5C143011A76988344C2635E69D06F2D38C

Добавление символов в строку, конкатенация строк и прочее изменение также влияет на результат.

Рассмотрим в качестве примера пустой символ:

Whirlpool-0("") =
B3E1AB6EAF640A34F784593F2074416ACCD3B8E62C620175FCA0997B1BA23473
39AA0D79E754C308209EA36811DFA40C1C32F1A2B9004725D987D3635165D3C8
Whirlpool-T("") =
470F0409ABAA446E49667D4EBE12A14387CEDBD10DD17B8243CAD550A089DC0F
EEA7AA40F6C2AAAB71C6EBD076E43C7CFCA0AD32567897DCB5969861049A0F5A
Whirlpool("") =
19FA61D75522A4669B44E39C1D2E1726C530232130D407F89AFEE0964997F7A7
3E83BE698B288FEBCF88E3E03C4F0757EA8964E59B63D93708B138CC42A66EB3

Примеры в Программировании

Язык программирования Код Результат
PHP 5.0 echo hash( 'whirlpool', 'test' );
 b913d5bbb8e461c2c5961cbe0edcdadfd29f068225ceb37da6defcf89849368f
 8c6c2eb6a4c4ac75775d032a0ecfdfe8550573062b653fe92fc7b8fb3b7be8d6
Ruby puts Whirlpool.calc_hex('test')
 b913d5bbb8e461c2c5961cbe0edcdadfd29f068225ceb37da6defcf89849368f
 8c6c2eb6a4c4ac75775d032a0ecfdfe8550573062b653fe92fc7b8fb3b7be8d6

Ссылки


Wikimedia Foundation. 2010.

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

Полезное


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

  • Whirlpool — Whirlpool …   Deutsch Wörterbuch

  • WHIRLPOOL — es una función de hash diseñada por Vincent Rijmen y Paulo S. L. M. Barreto. El hash ha sido recomendado por el proyecto NESSIE y ha sido adoptado por la Organización Internacional de Estandarización (ISO) y la Comisión Electrotécnica… …   Wikipedia Español

  • Whirlpool — [ˈʍɜːɹlˌpuːl] kann folgende Bedeutungen haben: ein Wasserbecken bzw. Badewanne, siehe Whirlpool (Becken) ein Hersteller von Haushaltsgeräten, siehe Whirlpool Corporation ein Gefäß in der Brauerei, siehe Whirlpool (Brauerei) eine kryptographische… …   Deutsch Wikipedia

  • whirlpool — [hwʉrl′po͞ol΄, wʉrl′po͞ol΄] n. 1. water in rapid, violent, whirling motion caused by two meeting currents, by winds meeting tides, etc. and tending to form a circle into which floating objects are drawn; vortex or eddy of water 2. anything like a …   English World dictionary

  • whirlpool — ► NOUN 1) a quickly rotating mass of water in a river or sea into which objects may be drawn. 2) (also whirlpool bath) a heated pool in which hot aerated water is continuously circulated …   English terms dictionary

  • Whirlpool — Whirl pool , n. [1913 Webster] 1. An eddy or vortex of water; a place in a body of water where the water moves round in a circle so as to produce a depression or cavity in the center, into which floating objects may be drawn; any body of water… …   The Collaborative International Dictionary of English

  • WHIRLPOOL — es una función de hash diseñada por Vincent Rijmen y Paulo S. L. M. Barreto. El hash ha sido recomendado por el proyecto NESSIE y ha sido adoptado por la Organización Internacional de Estandarización (ISO) y la Comisión Electrotécnica… …   Enciclopedia Universal

  • whirlpool — 1520s, from WHIRL (Cf. whirl) (v.) + POOL (Cf. pool) (1). O.E. had hwyrfepol and wirfelmere …   Etymology dictionary

  • whirlpool — *eddy, maelstrom, vortex …   New Dictionary of Synonyms

  • whirlpool — [n] spinning water eddy, maelstrom, stir, undercurrent, undertow, vortex, whirl; concept 514 …   New thesaurus


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

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