Difference between revisions of "Криптографические хэш-функции"

From CryptoWiki
Jump to: navigation, search
(Сравнительная характеристика наиболее известных функций)
(Сравнительная характеристика наиболее известных функций)
Line 75: Line 75:
  
 
== Сравнительная характеристика наиболее известных функций ==
 
== Сравнительная характеристика наиболее известных функций ==
There is a long list of cryptographic hash functions, although many have been found to be vulnerable and should not be used. Even if a hash function has never been broken, a [[Cryptographic_attack#Amount_of_information_available_to_the_attacker|successful attack]] against a weakened variant thereof may undermine the experts' confidence and lead to its abandonment.   For instance, in August 2004 weaknesses were found in a number of hash functions that were popular at the time, including SHA-0, RIPEMD, and MD5. This has called into question the long-term security of later algorithms which are derived from these hash functions — in particular, SHA-1 (a strengthened version of SHA-0), RIPEMD-128, and RIPEMD-160 (both strengthened versions of RIPEMD). Neither SHA-0 nor RIPEMD are widely used since they were replaced by their strengthened versions.
+
Существует длинный перечень криптографических хеш-функций , хотя многие из них были признаны уязвимыми и не должны быть использованы. Даже если хэш-функция никогда не была нарушена, успешная атака против ослабленной его вариант может подорвать доверие экспертов и привести к его отказу . Например, в августе 2004 года слабые были найдены в ряде хэш-функций , которые были популярны в то время, в том числе SHA -0, RIPEMD и MD5. Это поставило под сомнение долгосрочную безопасность более поздних алгоритмов, которые являются производными от этих хеш-функций - в частности, SHA-1 ( усиленный вариант SHA- 0 ) , RIPEMD- 128 , и RIPEMD- 160 (оба усиленных версий RIPEMD ) . Ни SHA- 0 , ни RIPEMD широко используются , так как они были заменены их укрепления версий .
 
+
По состоянию на 2009 , два наиболее часто используемых криптографических хэш-функций являются MD5 и SHA-1 . . Тем не менее, MD5 была нарушена ; нападение на него было использовано сломать SSL в 2008 <ref> Александра Иванова , Марк Стивенс, Джейкоб Appelbaum , Арьен Ленстра , Дэвид Мольнар, Даг Арне Osvik , BENNE де Вегер , MD5 считается вредным сегодня: Создание изгоев сертификат центра сертификации , доступ 29 марта 2009 </ ссылка >
As of 2009, the two most commonly used cryptographic hash functions are [[MD5]] and [[SHA-1]]. However, MD5 has been broken; an attack against it was used to break [[Transport Layer Security|SSL]] in 2008.<ref>Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, Benne de Weger, [http://www.win.tue.nl/hashclash/rogue-ca/ MD5 considered harmful today: Creating a rogue CA certificate], accessed March 29, 2009</ref>
+
Функции SHA- 0 и SHA-1 хэш были разработаны АНБ. В феврале 2005 года сообщалось, успешная атака на SHA-1 , находя столкновения примерно 269 хэширования операций , а не в 280 , ожидаемой для функции 160 -битный хэш . В августе 2005 года сообщалось, еще одним успешным нападением на SHA-1 , находя столкновений в 263 операций . Теоретические слабые стороны SHA-1 существует , а , <ref> Xiaoyun Ван , Yiqun Лиза Инь и Хунбо Ю. , найти столкновений в Full SHA-1 </ ссылка > <ref> Брюс Шнайер , Криптоанализ SHA-1 ( обобщает Ван и соавт. результаты и их последствия ) </ ссылка > предполагая, что это может быть практичным сломать в лет. Новые приложения могут избежать этих проблем с помощью более продвинутых членов семьи SHA , например, SHA- 2 , или с использованием таких методов, как рандомизированном хеширования <ref> Шай Халеви Уго Кравчик , обновления на рандомизированного хэширования </ ссылка > <ref> Шай Халеви и Хьюго Кравчик , рандомизированное Хэширование и цифровые подписи </ ссылка > , которые не требуют сопротивление столкновения .
 
+
Тем не менее, для обеспечения долгосрочного надежность приложений, использующих хэш-функций , был конкурс на лучший проект замену SHA- 2. 2 октября 2012 года, Keccak был выбран в качестве победителя хэш функции конкуренции NIST . Версия этого алгоритма как ожидается, станет стандартным FIPS в 2014 году под названием SHA- 3 <ref> NIST.gov - . Компьютерная Отдел безопасности - ресурсный центр компьютерной безопасности </ ссылка >
The [[SHA-0]] and [[SHA-1]] hash functions were developed by the [[NSA]]. In February 2005, a successful attack on SHA-1 was reported, finding collisions in about 2<sup>69</sup> hashing operations, rather than the 2<sup>80</sup> expected for a 160-bit hash function. In August 2005, another successful attack on SHA-1 was reported, finding collisions in 2<sup>63</sup> operations. Theoretical weaknesses of SHA-1 exist as well,<ref>Xiaoyun Wang, Yiqun Lisa Yin, and Hongbo Yu, [http://people.csail.mit.edu/yiqun/SHA1AttackProceedingVersion.pdf Finding Collisions in the Full SHA-1]</ref><ref>Bruce Schneier, [http://www.schneier.com/blog/archives/2005/02/cryptanalysis_o.html Cryptanalysis of SHA-1] (summarizes Wang et al. results and their implications)</ref> suggesting that it may be practical to break within years. New applications can avoid these problems by using more advanced members of the SHA family, such as [[SHA-2]], or using techniques such as randomized hashing<ref>Shai Halevi, Hugo Krawczyk, [http://csrc.nist.gov/groups/ST/hash/documents/HALEVI_UpdateonRandomizedHashing0824.pdf Update on Randomized Hashing]</ref><ref>Shai Halevi and Hugo Krawczyk, [http://www.ee.technion.ac.il/~hugo/rhash/ Randomized Hashing and Digital Signatures]</ref> that do not require collision resistance.
+
Некоторые из следующих алгоритмов часто используется в криптографии ; проконсультироваться статью для каждого конкретного алгоритма для получения дополнительной информации о состоянии каждого алгоритма . Обратите внимание, что этот список не включает кандидатов в текущем NIST хэш функции конкуренции. Для дополнительных хэш-функции см. врезку внизу страницы.
 
+
However, to ensure the long-term robustness of applications that use hash functions, there was a [[NIST hash function competition|competition]] to design a replacement for SHA-2. On October 2, 2012, Keccak was selected as the winner of the [[National Institute of Standards and Technology|NIST]] hash function competition. A version of this algorithm is expected to become a [[Federal Information Processing Standard|FIPS]] standard in 2014 under the name [[SHA-3]].<ref>[http://csrc.nist.gov/groups/ST/hash/sha-3/timeline_fips.html NIST.gov - Computer Security Division - Computer Security Resource Center]</ref>
+
 
+
Some of the following algorithms are used often in cryptography; consult the article for each specific algorithm for more information on the status of each algorithm. Note that this list does not include candidates in the current NIST hash function competition. For additional hash functions see the box at the bottom of the page.
+
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! rowspan="2"|Algorithm
+
! rowspan="2"|Алгоритм
! rowspan="2"|Output size (bits)
+
! rowspan="2"|Размер выхода (bits)
! rowspan="2"|Internal state size<ref group="c">The ''internal state'' here means the "internal hash sum" after each compression of a data block. Most hash algorithms also internally use some additional variables such as length of the data compressed so far since that is needed for the length padding in the end. See the [[Merkle-Damgård construction]] for details.</ref>
+
! rowspan="2"|Размер внутреннего состояния(т.е. после применения функции сжатия)
! rowspan="2"|Block size
+
! rowspan="2"|Размер блока
! rowspan="2"|Length size
+
! rowspan="2"|Длина
! rowspan="2"|Word size
+
! rowspan="2"|Размер слова
! rowspan="2"|Rounds
+
! rowspan="2"|Количество раундов
! colspan="3"|Best known attacks <br />(complexity:rounds)<ref group="c">When omitted, rounds are full number.</ref>
+
! colspan="3"|Атаки <br />(сложность:раунды)
 
|-
 
|-
! [[Birthday attack|Collision]]
+
! [[Атака дней рождения]]
! [[Preimage attack|Second<br />preimage]]
+
! [[Нахождение прообраза|Нахождение <br />второго прообраза]]
! [[Preimage attack|Preimage]]
+
! [[Нахождение прообраза|Нахождение прообраза]]
  
 
|- style="text-align:center;"
 
|- style="text-align:center;"
| '''[[GOST (hash function)|GOST]]'''
+
| '''[[ГОСТ 34.11-45]]'''
 
| 256
 
| 256
 
| 256
 
| 256

Revision as of 18:26, 22 December 2013

Криптографической хэш-функцией называется всякая хэш-функция, являющаяся криптостойкой, то есть, удовлетворяющая ряду специфичных требований.

Contents

Постановка задачи

Хэш-функции, долгое время использующиеся в компьютерных науках, представляют собой функции, математические или иные, которые получают на вход строку переменной длины (называемую прообразом) и преобразуют ее в строку фиксированной, обычно меньшей, дли- ны (называемую значением хэш-функции). В качестве простой хэшфункции можно рассматривать функцию, которая получает прообраз и возвращает байт, представляющий собой XOR всех входных байтов. Смысл хэш-функции состоит в получении характерного признака, прообраза-значения, по которому анализируются различные прообразы при решении обратной задачи. Так как обычно хэш-функция представляет собой соотношение "многие к одному", невозможно со всей деленностью сказать, что две строки совпадают, но их можно использовать, получая приемлемую оценку точности. Однонаправленная хэш-функция – это хэш-функция, которая работает только в одном направлении. Легко вычислить значение хэш-функции по прообразу, но трудно создать прообраз, значение хэш-функции которого равно заданной величине. Упоминавшиеся ранее хэш-функции, вообще говоря, не являются однонаправленными: задав конкретный байт, не представляет труда создать строку байтов, XOR которых дает заданное значение. С однонаправленной хэш-функцией такой вариант невозможен. Хэш-функция является открытой, тайны ее расчета не существует. Безопасность однонаправленной хэш-функции заключается именно в ее однонаправленности. У выхода нет видимой зависимости от входа. Изменение одного бита прообраза приводит к изменению (в среднем) половины битов значения хэш-функции, что известно также как лавинный эффект. Вычислительно невозможно найти прообраз, соответствующий заданному значению хэш-функциию.

Требования

Для того, чтобы хэш-функция H считалась криптографически стойкой, она должна удовлетворять трем основным требованиям, на которых основано большинство применений хэш-функций в криптографии:

  • Необратимость или стойкость к восстановлению прообраза: для заданного значения хэш-функции m должно быть вычислительно невозможно найти блок данных X, для которого H(X)=m.
  • Стойкость к коллизиям первого рода или восстановлению вторых прообразов: для заданного сообщения M должно быть вычислительно невозможно подобрать другое сообщение N, для которого H(N)=H(M).
  • Стойкость к коллизиям второго рода: должно быть вычислительно невозможно подобрать пару сообщений (M, M'), имеющих одинаковый хэш.

Данные требования не являются независимыми:

  • Обратимая функция нестойка к коллизиям первого и второго рода.
  • Функция, нестойкая к коллизиям первого рода, нестойка к коллизиям второго рода; обратное неверно.

Следует отметить, что не доказано существование необратимых хэш-функций, для которых вычисление какого-либо прообраза заданного значения хэш-функции теоретически невозможно. Обычно нахождение обратного значения является лишь вычислительно сложной задачей.

Атака «дней рождения» позволяет находить коллизии для хэш-функции с длиной значений n битов в среднем за примерно 2 n/2 вычислений хэш-функции. Поэтому n – битная хэш-функция считается криптостойкой, если вычислительная сложность нахождения коллизий для неё близка к 2 n/2.

Для криптографических хэш-функций также важно, чтобы при малейшем изменении аргумента значение функции сильно изменялось (лавинный эффект). В частности, значение хэша не должно давать утечки информации даже об отдельных битах аргумента. Это требование является залогом криптостойкости алгоритмов хэширования пользовательских паролей для получения ключей.

Принципы построения

Итеративная последовательная схема.jpg

Итеративная последовательная схема

В общем случае, в основе построения хэш-функции лежит итеративная последовательная схема. Ядром алгоритма является сжимающая функция — преобразование k входных в n выходных бит, где n — разрядность хэш-функции, а k — произвольное число большее n. При этом сжимающая функция должна удовлетворять всем условиям криптостойкости.

Входной поток разбивается на блоки по (k-n) бит. Алгоритм использует временную переменную размером в n бит, в качестве начального значения которой берется некое произвольное число. Каждый следующий блок данных объединяется с выходным значением сжимающей функции на предыдущей итерации. Значением хэш-функции являются выходные n бит последней итерации. Каждый бит выходного значения хэш-функции зависит от всего входного потока данных и начального значения. Таким образом достигается лавинный эффект.

При проектировании хэш-функций на основе итеративной схемы возникает проблема с размером входного потока данных. Размер входного потока данных должен быть кратен (k-n). Как правило, перед началом алгоритма данные расширяются неким, заранее известным, способом.

Помимо однопроходных алгоритмов, существуют многопроходные алгоритмы, в которых ещё больше усиливается лавинный эффект. В данном случае, данные сначала повторяются, а потом расширяются до необходимых размеров.

Сжимающая функция на основе симметричного блочного алгоритма

В качестве сжимающей функции можно использовать симметричный блочный алгоритм шифрования. Для обеспечения большей безопасности можно использовать в качестве ключа блок данных предназначенный к хэшированию на данной итерации, а результат предыдущей сжимающей функции в качестве входа. Тогда результатом последней итерации будет выход алгоритма. В таком случае безопасность хэш-функции базируется на безопасности используемого алгоритма.

A, B и C могут принимать значения Mj , Hj-1 , MjHj-1 или быть константой, где Mj — j – ый блок входного потока,  — сложение по модулю 2, Hj — результат j – ой итерации.

Обычно при построении хэш-функции используют более сложную систему. Обобщенная схема симметричного блочного алгоритма шифрования изображена на рис.2

Таким образом, мы получаем 64 варианта построения сжимающей функции. Большинство из них являются либо тривиальными, либо небезопасными. Ниже изображены четыре наиболее безопасные схемы при всех видах атак.

Схемы безопасного хэширования.jpg

Основным недостатком хэш-функций, спроектированных на основе блочных алгоритмов, является низкая скорость работы. Необходимую криптостойкость можно обеспечить и за меньшее количество операций над входными данными. Существуют более быстрые алгоритмы хэширования, спроектированных самостоятельно, с нуля, исходя из требований криптостойкости (наиболее распространенные из них — MD5, SHA-1, SHA-2 и ГОСТ Р 34.11-94).

Применения

Электронная цифровая подпись

Электронная цифровая подпись (ЭЦП) - по сути шифрование сообщения алгоритмом с открытым ключом. Текст, зашифрованный секретным ключом, объединяется с исходным сообщением. Тогда проверка подписи — расшифрование открытым ключом, если получившийся текст аналогичен исходному тексту — подпись верна.

Использование хэш-функции позволяет оптимизировать данный алгоритм. Производится шифрование не самого сообщения, а значение хэш-функции взятой от сообщения. Данный метод обеспечивает следующие преимущества:

  • Понижение вычислительной сложности. Как правило, документ значительно больше его хэша.
  • Повышение криптостойкости. Криптоаналитик не может, используя открытый ключ, подобрать подпись под сообщение, а только под его хэш.
  • Обеспечение совместимости. Большинство алгоритмов оперирует со строками бит данных, но некоторые используют другие представления. Хэш-функцию можно использовать для преобразования произвольного входного текста в подходящий формат.

Проверка пароля

В большинстве случаев парольные фразы не хранятся на целевых объектах, хранятся лишь их хэш-значения. Xранение самих паролей нецелесообразно, так как в случае несанкционированного доступа к файлу с паролями злоумышленник получает их в открытом и сразу готовом к использованию виде, а при хранении хэш-значений он узнает лишь хэши, которые не обратимы в исходные данные. В ходе процедуры аутентификации вычисляется хэш-значение введённого пароля, и сравнивается с хранимым.

Примером в данном случае могут служить ОС GNU/Linux и Microsoft Windows. В них хранятся лишь хэш-значения парольных фраз из учётных записей пользователей.

Данная система подразумевает передачу сообщения по защищенному каналу, то есть каналу, из которого криптоаналитику невозможно перехватить сообщения или послать свое. Иначе он может перехватить хэш-значение пароля, и использовать его для дальнейшей нелегальной аутентификации. Защищаться от подобных атак можно при помощи метода «тройного рукопожатия».

Пусть некий клиент, с именем name, производит аутентификацию по парольной фразе, pass, на некоем сервере. На сервере хранится значение хэш-функции H(pass,R2), где R2 — псевдослучайное, заранее выбранное, число. Клиент посылает запрос (name, R1), где R1 — псевдослучайное, каждый раз новое, число. В ответ сервер посылает значение R2. Клиент вычисляет значение хэш-функции H(R1,H(pass,R2)) и посылает его на сервер. Сервер также вычисляет значение H(R1,H(pass,R2)) и сверяет его с полученным. Если значения совпадают — аутентификация верна.

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

Случайный оракул

Напомним свойство перемешивания, которое присуще функции хэширования: при любом аргументе хэширование неотличимо с вычислительной точки зрения от строки битов, равномерно распределенных в области значений функции. Если заменить последнее выражение фразой "принадлежит генеральной совокупности равномерно распределенных величин", мы получим весьма мощную гипотетическую функцию, называемую случайный оракул (randome oracle). Он обладает тремя свойствами: детерминированность, эффективность, равномерность распределения результирующих значений. Однако,все известные вычислительные модели в той или иной степени не соответствуют модели случайного оракула. Равномерность и детерминированность величин, вычисляемых случайным оракулом, означает, что энтропия его результатов выше, чем энтропия чисел, поступающих на вход. Поскольку свойства перемешивания, которым обладает хэш-функция является лишь предположением вычислительного характера, реальная хэш-функция должна обеспечивать лишь вычислительную неразличимость, то есть результаты должны иметь некое распределение вероятностей в области значений, которое невозможно определить за полиномиальное время. Итак, реальные функции хэширования лишь имитируют поведение случайного оракула, хоть и с высокой точностью.

Атака на основе парадокса дней рождений

Предположим, что функция хэширования h действительно является случайным оракулом. В атаке по методу квадратного корня (атака на основе парадокса дней раждения) предполагается, что для обнаружения коллизий с ненулевой вероятностью достаточно выполнить 2 в степени |h|/2 случайных вычислений значения функции хэширования. Для организации атаки на основе парадокса дней рождений атакующий должен сгенерировать пары "сообщение-хэшированное значение", пока не обнаружаться два сообщения m и m`, удовлетворяющие условиям m не равно m`, h(m)=h(m`). Такая пара сообщений называется коллизией(collision) функции хэширования h. Например, для функции хэшироания SHA-1 выполняется условие |h|=160, а значит его стойкость на основе парадокса дней рождения оценивается величиной 280.

Сравнительная характеристика наиболее известных функций

Существует длинный перечень криптографических хеш-функций , хотя многие из них были признаны уязвимыми и не должны быть использованы. Даже если хэш-функция никогда не была нарушена, успешная атака против ослабленной его вариант может подорвать доверие экспертов и привести к его отказу . Например, в августе 2004 года слабые были найдены в ряде хэш-функций , которые были популярны в то время, в том числе SHA -0, RIPEMD и MD5. Это поставило под сомнение долгосрочную безопасность более поздних алгоритмов, которые являются производными от этих хеш-функций - в частности, SHA-1 ( усиленный вариант SHA- 0 ) , RIPEMD- 128 , и RIPEMD- 160 (оба усиленных версий RIPEMD ) . Ни SHA- 0 , ни RIPEMD широко используются , так как они были заменены их укрепления версий . По состоянию на 2009 , два наиболее часто используемых криптографических хэш-функций являются MD5 и SHA-1 . . Тем не менее, MD5 была нарушена ; нападение на него было использовано сломать SSL в 2008 <ref> Александра Иванова , Марк Стивенс, Джейкоб Appelbaum , Арьен Ленстра , Дэвид Мольнар, Даг Арне Osvik , BENNE де Вегер , MD5 считается вредным сегодня: Создание изгоев сертификат центра сертификации , доступ 29 марта 2009 </ ссылка > Функции SHA- 0 и SHA-1 хэш были разработаны АНБ. В феврале 2005 года сообщалось, успешная атака на SHA-1 , находя столкновения примерно 269 хэширования операций , а не в 280 , ожидаемой для функции 160 -битный хэш . В августе 2005 года сообщалось, еще одним успешным нападением на SHA-1 , находя столкновений в 263 операций . Теоретические слабые стороны SHA-1 существует , а , <ref> Xiaoyun Ван , Yiqun Лиза Инь и Хунбо Ю. , найти столкновений в Full SHA-1 </ ссылка > <ref> Брюс Шнайер , Криптоанализ SHA-1 ( обобщает Ван и соавт. результаты и их последствия ) </ ссылка > предполагая, что это может быть практичным сломать в лет. Новые приложения могут избежать этих проблем с помощью более продвинутых членов семьи SHA , например, SHA- 2 , или с использованием таких методов, как рандомизированном хеширования <ref> Шай Халеви Уго Кравчик , обновления на рандомизированного хэширования </ ссылка > <ref> Шай Халеви и Хьюго Кравчик , рандомизированное Хэширование и цифровые подписи </ ссылка > , которые не требуют сопротивление столкновения . Тем не менее, для обеспечения долгосрочного надежность приложений, использующих хэш-функций , был конкурс на лучший проект замену SHA- 2. 2 октября 2012 года, Keccak был выбран в качестве победителя хэш функции конкуренции NIST . Версия этого алгоритма как ожидается, станет стандартным FIPS в 2014 году под названием SHA- 3 <ref> NIST.gov - . Компьютерная Отдел безопасности - ресурсный центр компьютерной безопасности </ ссылка > Некоторые из следующих алгоритмов часто используется в криптографии ; проконсультироваться статью для каждого конкретного алгоритма для получения дополнительной информации о состоянии каждого алгоритма . Обратите внимание, что этот список не включает кандидатов в текущем NIST хэш функции конкуренции. Для дополнительных хэш-функции см. врезку внизу страницы.

Алгоритм Размер выхода (bits) Размер внутреннего состояния(т.е. после применения функции сжатия) Размер блока Длина Размер слова Количество раундов Атаки
(сложность:раунды)
Атака дней рождения Нахождение
второго прообраза
Нахождение прообраза
ГОСТ 34.11-45 256 256 256 256 32 256 Template:Bad (2105) Template:Depends<ref group="c" name="second_preimage">There isn't a unique second preimage attack against this hash. However, the second preimage challenge reduces to the ordinary preimage attack by simply constructing a hash of the given message.</ref> (2192) Template:Bad (2192)
HAVAL 256/224/192/160/128 256 1,024 64 32 160/128/96 Template:Bad Template:Good Template:Good
MD2 128 384 128 - 32 864 Template:Bad (263.3) Template:Depends<ref group="c" name="second_preimage" /> (273) Template:Bad (273)
MD4 128 128 512 64 32 48 Template:Bad (3) Template:Bad (264) Template:Bad (278.4)
MD5 128 128 512 64 32 64 Template:Bad (220.96) Template:Depends<ref group="c" name="second_preimage" /> (2123.4) Template:Bad (2123.4)
PANAMA 256 8,736 256 - 32 - Template:Bad Template:Good Template:Good
RadioGatún Up to 608/1,216 (19 words) 58 words 3 words - 1–64 - Template:Bad (2352 or 2704) Template:Good Template:Good
RIPEMD 128 128 512 64 32 48 Template:Bad (218) Template:Good Template:Good
RIPEMD-128/256 128/256 128/256 512 64 32 64 Template:Good Template:Good Template:Good
RIPEMD-160 160 160 512 64 32 80 Template:Depends<ref group="c" name="partial_rounds" /> (251:48) Template:Good Template:Good
RIPEMD-320 320 320 512 64 32 80 Template:Good Template:Good Template:Good
SHA-0 160 160 512 64 32 80 Template:Bad (233.6) Template:Good Template:Good
SHA-1 160 160 512 64 32 80 Template:Bad (251) Template:Good Template:Good
SHA-256/224 256/224 256 512 64 32 64 Template:Depends<ref group="c" name="partial_rounds">There is no known attack against the full version of this hash function, however there is an attack against this hashing scheme when the number of rounds is reduced.</ref> (228.5:24) Template:Depends<ref group="c" name="second_preimage" /> <ref group="c" name="partial_rounds" /> (2248.4:42) Template:Depends<ref group="c" name="partial_rounds" /> (2248.4:42)
SHA-512/384 512/384 512 1,024 128 64 80 Template:Depends<ref group="c" name="partial_rounds" /> (232.5:24) Template:Depends<ref group="c" name="second_preimage" /> <ref group="c" name="partial_rounds" /> (2494.6:42) Template:Depends<ref group="c" name="partial_rounds" /> (2494.6:42)
SHA-3 224/256/384/512<ref group="c">Although the underlying algorithm Keccak has arbitrary hash lengths, the NIST specified 224, 256, 384 and 512 bits output as valid modes for SHA-3.</ref> 1600 1600-2*bits - 64 24 Template:Good Template:Good Template:Good
SHA-3-224 224 1600 1152 - 64 24 Template:Good Template:Good Template:Good
SHA-3-256 256 1600 1088 - 64 24 Template:Good Template:Good Template:Good
SHA-3-384 384 1600 832 - 64 24 Template:Good Template:Good Template:Good
SHA-3-512 512 1600 576 - 64 24 Template:Good Template:Good Template:Good
Tiger(2)-192/160/128 192/160/128 192 512 64 64 24 Template:Depends<ref group="c" name="partial_rounds" /> (262:19) Template:Depends<ref group="c" name="second_preimage" /> (2184.3) Template:Bad (2184.3)
WHIRLPOOL 512 512 512 256 8 10 Template:Depends<ref group="c" name="partial_rounds" /> (2120:4.5) Template:Good Template:Good

Глоссарий

Литература

Составители


Комаров А.И. / Митцель А.С.

Назад к оглавлению