Криптографическая хеш-функция |
Автор: admin Просмотров: 2654 Комментарии:
Добавлен: 7 сентября 2016
Криптографическая хеш-функция - это хеш-функция , которая является алгоритмом , который принимает произвольный блок данных и возвращает строку установленного размера, ( криптографическое ) хеш-значение , такое что (случайные или преднамеренные) изменения данных (с очень высокой вероятностью) изменят геш- значения. Данные для кодирования часто называют «сообщения», а хеш-значение иногда называют дайджест сообщения ( англ. Message digest ) или просто дайджест, дословно «краткое изложение».
Идеальная криптографическая хеш-функция имеет четыре основные или важные характеристики:
легкость вычисления хеш-значение для любого сообщения
невыполнимо создать сообщение для заданного хеш-значение
неосуществимо изменить сообщение без изменения Геша
неосуществимо найти два разных сообщения с тем же Аравитянина
Криптографические хеш-функции часто применяются в информационной безопасности, особенно в цифровой подписи, коде авторизации сообщения (MAC) и других формах аутентификация. Их также можно использовать как обычную хеш-функцию, для индексирования данных в хеш-таблицы, для выявления повторения данных или уникального отождествление файлов и как контрольную сумму для обнаружения повреждения данных. На самом деле, в разрезе информационной безопасности, криптографические хеш-значения иногда называют ( цифровыми ) отпечатками пальцев, контрольными суммами или просто хеш-значениями, хотя все эти термины означают функции быстрее с различными свойствами и целями.
Криптографическая хеш-функция должна выдерживать все известные типы криптографических атак. По меньшей мере, она должна обладать следующими свойствами:
Устойчивость на первый взгляд
для определенного Гешу {\ Displaystyle h \} {\ Displaystyle h \} должно быть сложно найти сообщение {\ Displaystyle m \} m \,, Такое что {\ Displaystyle h = \ mathrm {hash} (m) \} {\ Displaystyle h = \ mathrm {hash} (m) \}. Эта концепция касается односторонней функции. Функции, не соответствуют этому свойству уязвимы к атакам нахождения устойчивости.
Вторая устойчивость на первый взгляд
Для определенного входа {\ Displaystyle m_ {1} \} {\ Displaystyle m_ {1} \} должно быть сложно найти другой вход {\ Displaystyle m_ {2} \} {\ Displaystyle m_ {2} \} - где {\ Displaystyle m_ {1} \ neq m_ {2} \} {\ Displaystyle m_ {1} \ neq m_ {2} \}, Такой что {\ Displaystyle \ mathrm {hash} (m_ {1}) \ mathrm {hash} (m_ {2}) \} {\ Displaystyle \ mathrm {hash} (m_ {1}) \ mathrm {hash} (m_ {2}) \}. Это свойство иногда называют слабая коллизионная стйкисть ( англ. Weak collision resistance ) и функций, не имеющих этого свойства уязвимы к атакам нахождения першовзору второго рода.
Коллизионная устойчивость
Должно быть сложно найти два разных сообщения {\ Displaystyle m_ {1} \} {\ Displaystyle m_ {1} \} и {\ Displaystyle m_ {2} \} {\ Displaystyle m_ {2} \}, Таких что {\ Displaystyle \ mathrm {hash} (m_ {1}) \ mathrm {hash} (m_ {2}) \} {\ Displaystyle \ mathrm {hash} (m_ {1}) \ mathrm {hash} (m_ {2}) \}. Такая двойка называется криптографическая хеш-коллизия. Это свойство иногда называют сильная коллизионная устойчивость ( англ. Strong collision resistance ). Оно требует минимум вдвое длительного хеш-значение чем нужно для першовзоровои устойчивости, иначе коллизии можно найти с помощью атаки «дней рождения».
Эти свойства имеют в виду, что злоумышленник не может изменить исходные данные без изменения дайджеста. Итак, если две строки имеют одинаковый дайджест можно быть уверенным, что и сами они такие.
Функции, отвечающие этим требованиям все еще могут иметь нежелательные свойства. Сейчас популярны криптографические хеш-функции уязвимы к атакам через довжинне дополнения ( англ. Length-extension ): для {\ Displaystyle h (m) \} {\ Displaystyle h (m) \} и {\ Displaystyle \ mathrm {len} (m) \} {\ Displaystyle \ mathrm {len} (m) \}, Но не {\ Displaystyle m \} m \,, Через выбор соответствующего {\ Displaystyle m '\} {\ Displaystyle m '\} нападающий может вычислить {\ Displaystyle h (m || m ') \} {\ Displaystyle h (m || m ') \} где {\ Displaystyle ||} {\ Displaystyle ||}обозначает конкатенацию. [ источник не ] Это свойство можно использовать, чтобы разбить наивную схему аутентификации построенную на хеш-функции. HMAC обходит эту проблему.
В идеале, пользователь может захотеть сильных требований. Исключить для противника найти два сообщения с существенно похожими дайджестами; или выявить будке-либо полезную информацию о данных, имея лишь дайджест. Итак, криптографическая хеш-функция насколько возможно подобно случайной функции, оставаясь Детерминистические и эффективно вычислительной.
Алгоритмы контрольных сумм, такие как CRC32 и другие циклические избыточные проверки, спроектированы с соблюдением гораздо более слабых требований и обычно непригодны для использования в качестве криптографические хеш-функции. Например, CRC использовали для целостности сообщений в WEP стандарте шифрования, но была легко найдена атака, которая использовала линейность контрольной суммы.
В некоторых теоретических анализах сложность имеет особое математическое значение, такое как неразрешимый за асимптотический полиномиальное время. Такие интерпретации сложности важные в изучении доказательно безопасных криптографических хеш-функций, но обычно не имеют сильной связи с практической безопасностью. Например, алгоритм экспоненциального времени иногда может быть достаточно быстрым для осуществимой атаки. И наоборот, алгоритм полиномиального времени (например, такой что требует n 20 шагов для ключа в n цифр) может быть медлительным для практического использования.
Важным применением безопасных гешив является проверка целостности сообщений. Определение были внесены какие-то изменения в сообщение (или файл), примеру, можно осуществить сравнением дайджестов до и после передачи (или иного события).
Связанным применением является проверка паролей. Обычно пароли не сохраняются открытым текстом, а хранятся их хеш-значения. Для аутентификации пользователя, пароль предоставленный пользователем гешуеться и сравнивается с сохраненным Аравитянина. Это также значит, что первичный пароль невозможно восстановить, и при потере его необходимо заменить новым.
Одно из главных применений хеш-функций - это возможность быстрого поиска данных в хеш-таблицы. Будучи хеш-функцией определенного типа, криптографическая хеш-функция ведет себя хорошо и здесь также.
Однако по сравнению со стандартной хеш-функцией, криптографическая хеш-функции тяготеют к большей вычислительной сложности. Поэтому, их больше используют в случаях, когда пользователю необходимо защитить себя от возможной подделки злоумышленником.
Псевдослучайная генерация и образования ключей
Хеш-функции можно использовать как породивший псевдослучайных битов или для вывода новых ключей или паролей с одного секретного ключа или пароля.
Хеш-функции основаны на блочных шифрах
Существует несколько способов использования блочных шифров для построения криптографических хеш-функций, особенно односторонней функции сжатия.
Методы напоминают режимы операций блочных шифров обычно використовни для шифрования. Все хорошо известны хеш-функции, включая MD4, MD5, SHA-1 и SHA-2 построены из составляющих подобных блочных шифров спроектированных для них, с гарантией, что полученная операция может биективна. Среди финалистов соревнования хеш-функций от NIST (SHA-3) присутствуют хеш-функции с составными подобными блочных шифров (например, Skein, BLAKE) и функции на основе других дизайнов (например, JH, Keccak ).
Стандартный блочный шифр такой как AES можно использовать вместо этих специальных блочных шифров; это может быть полезным когда встроенная система должна обеспечивать шифрование и хеширования с минимальным по размеру кодом или размером платы. Однако, такой подход происходит на действенности и безопасности. Шифры в хеш-функциях созданы для хеширования: они используют большие ключи и блоки, могут действенно менять ключ щоблока, и разработаны и проверены на устойчивость к атакам со связанными ключами. Шифры общего назначения имеют разные цели. В частности, размеры ключа и блока в AES делают нетривиальным использования его для образования длинных хеш-значений; шифрования с AES становится менее действенным когда ключ меняется щоблока; и атака со связанными ключами делает его менее безопасным для использования в хеш-функциях чем для шифрования.
Последний обработанный блок также должен быть однозначно довжинно-дополненным; это критично для безопасности построения. Такой подход называется - строение меркли-Демґарда. Наиболее широко використовни хеш-функции, включая SHA-1 и MD5, выглядят следующим образом.
Строение имеет некоторые присущие недостатки, включая атаками через довжинне дополнения ( англ. Length-extension ) и создать и-вставить ( англ. Generate-and-paste ), также не может использовать преимущества параллельного вычисления. Поэтому, многие участники соревнования хеш-функций от NIST спроектированы на других принципах.
Использование в строении других криптографических примитивов
Хеш-функции можно использовать для строительства других криптографических примитивов. Чтобы полученные примитивы были криптографически безопасными, надо осторожно подходить к строению, чтобы исход был правильным.
MAC (также известные как хеш-функции с ключом) часто строят из хеш-функций. HMAC является таким примером.
Так же как и блочные шифры модная викристаты для строения хеш-функций, хеш-функции можно использовать для строения шифров. Строения Luby-Rackoff с использованием хеш-функций могут быть доказательно безопасными, если подчиненная функция безопасна. Также бвгвто хеш-функций (включая SHA-1 и SHA-2 ) построены с использованием специально разработанных блочных шифров в строении Дейвиса-Мейера ( англ. Davies-Meyer ) или другой. См. SHACAL, BEAR и LION.
Генератор псевдослучайных чисел можно построить с использованием хэш-функции. Это делается сочетанием (секретного) случайного зерна со счетчиком и последующим хеширования.
Некоторые функции, такие как Skein, Keccak и RadioGatún выдают произвольной длины поток и их можно использовать как потоковый шифр, хотя потоковый шифр можно построить и с хеш-функции с дайджестом установленного размера. Часто это делают сначала строя криптографически безопасный генератор псевдослучайных чисел и тогда используя этот поток как ключ. Потоковый шифр SEAL, что использует SHA-1 для построения внутренних таблиц, которые затем используются в генераторе ключа. Не предоставляется гарантии, что SEAL так же силен или слаб как SHA-1.
Конкатенация криптографических хеш-функций
Зчеплюючы выходы нескольких хеш-функций мы получаем устойчивость к коллизиям столь высокую как в сильнейшего из использованных алгоритмов. Наприкад, старые версии TLS / SSL используют объединены суммы MD5 и SHA-1 ; это гарантировало, что метод найденных коллизий в одной из этих функций не позволит подделать трафик защищен обоими.
Для хеш-функций меркли-Демгарда, сцеплена функция так же коллизионно-стойка как и ее сильная составляющая, [1] но не более. [2] Joux [3] заметил, что 2 коллизии приводят к n коллизий: если осуществимо найти два сообщения с одинаковым Аравитянина MD5, тогда фактически более сложно найти сколько завнодно сообщений с таким же Аравитянина MD5. Среди n сообщений с одинаковым Аравитянина MD5, вероятно случится коллизия в SHA-1. Дополнительная работа по нахождению коллизий SHA-1 полиномиальная. Этот довод суммированный Finney. Более современной документ с полным доказательством безопасности такой сочетанной конструкции и четким и полным объяснением изложенного.
По состоянию на 2009, употребляемые криптографические хеш-функции это MD5 и SHA-1. Однако, MD5 сломали; атаку против них использовали для взлома SSL в 2008
Хеш-функции SHA-0 и SHA-1 разработало NSA. В феврале 2005, сообщили об успешной атаке на SHA-1, нахождения коллизий за примерно 2 69 операций хеширования, вместо 2 80 ожидаемых для 160-битной хэш-функции. В августе 2005, сообщили о другой успешную атаку на SHA-1, нахождения коллизий за 2 63 операций. Новые приложения могут избежать этого через использование следующих членов семьи SHA, таких как SHA-2, или использования подходов вроде случайного хеширования при котором вход обрабатывается с каким случайным значением перед применением хеш-функции, не требующие коллизионной устойчивости.
Однако, для обеспечения длительной прочности приложений, использующих хеш-функции, введен соревнования с целью замены для SHA-2, новая хеш-функция получит имя SHA-3 и станет федеральным стандартом в 2012.
https://uk.wikipedia.org/wiki/Криптографічна_геш-функція
------------------------
ТРИО теплый пол отзыв
Заработок на сокращении ссылок
Earnings on reducing links
Код PHP на HTML сайты
Я уже пять лет не занимаюсь сайтом, так как работаю по 12 часов. Образование у меня среднее, и по этому нет нормальной работы. Если бы сайт приносил по 100$ в месяц, я бы добавлял по 50 статей каждый месяц. Если отправите пожертвования, я оставлю Ваши имена и фамилии в списке благодетелей !
Bitcoin: 1AP3JCZVFpHzZwcAyNztbrbFFiLdnKbY1j
Litecoin LfHXHz4k6LnDNNvCodd5pj9aW4Qk67KoUD
Dogecoin D9HHvKNFZxRhjtoh6uZYjMjgcZewwiUME9
Есть также другие кошельки.
Идеальная криптографическая хеш-функция имеет четыре основные или важные характеристики:
легкость вычисления хеш-значение для любого сообщения
невыполнимо создать сообщение для заданного хеш-значение
неосуществимо изменить сообщение без изменения Геша
неосуществимо найти два разных сообщения с тем же Аравитянина
Криптографические хеш-функции часто применяются в информационной безопасности, особенно в цифровой подписи, коде авторизации сообщения (MAC) и других формах аутентификация. Их также можно использовать как обычную хеш-функцию, для индексирования данных в хеш-таблицы, для выявления повторения данных или уникального отождествление файлов и как контрольную сумму для обнаружения повреждения данных. На самом деле, в разрезе информационной безопасности, криптографические хеш-значения иногда называют ( цифровыми ) отпечатками пальцев, контрольными суммами или просто хеш-значениями, хотя все эти термины означают функции быстрее с различными свойствами и целями.
Свойства
Большинство криптографических хеш-функций спроектировано так, чтобы на вход подавался строку произвольной длины, а на выходе мы получали хеш-значение установленной длины.Криптографическая хеш-функция должна выдерживать все известные типы криптографических атак. По меньшей мере, она должна обладать следующими свойствами:
Устойчивость на первый взгляд
для определенного Гешу {\ Displaystyle h \} {\ Displaystyle h \} должно быть сложно найти сообщение {\ Displaystyle m \} m \,, Такое что {\ Displaystyle h = \ mathrm {hash} (m) \} {\ Displaystyle h = \ mathrm {hash} (m) \}. Эта концепция касается односторонней функции. Функции, не соответствуют этому свойству уязвимы к атакам нахождения устойчивости.
Вторая устойчивость на первый взгляд
Для определенного входа {\ Displaystyle m_ {1} \} {\ Displaystyle m_ {1} \} должно быть сложно найти другой вход {\ Displaystyle m_ {2} \} {\ Displaystyle m_ {2} \} - где {\ Displaystyle m_ {1} \ neq m_ {2} \} {\ Displaystyle m_ {1} \ neq m_ {2} \}, Такой что {\ Displaystyle \ mathrm {hash} (m_ {1}) \ mathrm {hash} (m_ {2}) \} {\ Displaystyle \ mathrm {hash} (m_ {1}) \ mathrm {hash} (m_ {2}) \}. Это свойство иногда называют слабая коллизионная стйкисть ( англ. Weak collision resistance ) и функций, не имеющих этого свойства уязвимы к атакам нахождения першовзору второго рода.
Коллизионная устойчивость
Должно быть сложно найти два разных сообщения {\ Displaystyle m_ {1} \} {\ Displaystyle m_ {1} \} и {\ Displaystyle m_ {2} \} {\ Displaystyle m_ {2} \}, Таких что {\ Displaystyle \ mathrm {hash} (m_ {1}) \ mathrm {hash} (m_ {2}) \} {\ Displaystyle \ mathrm {hash} (m_ {1}) \ mathrm {hash} (m_ {2}) \}. Такая двойка называется криптографическая хеш-коллизия. Это свойство иногда называют сильная коллизионная устойчивость ( англ. Strong collision resistance ). Оно требует минимум вдвое длительного хеш-значение чем нужно для першовзоровои устойчивости, иначе коллизии можно найти с помощью атаки «дней рождения».
Эти свойства имеют в виду, что злоумышленник не может изменить исходные данные без изменения дайджеста. Итак, если две строки имеют одинаковый дайджест можно быть уверенным, что и сами они такие.
Функции, отвечающие этим требованиям все еще могут иметь нежелательные свойства. Сейчас популярны криптографические хеш-функции уязвимы к атакам через довжинне дополнения ( англ. Length-extension ): для {\ Displaystyle h (m) \} {\ Displaystyle h (m) \} и {\ Displaystyle \ mathrm {len} (m) \} {\ Displaystyle \ mathrm {len} (m) \}, Но не {\ Displaystyle m \} m \,, Через выбор соответствующего {\ Displaystyle m '\} {\ Displaystyle m '\} нападающий может вычислить {\ Displaystyle h (m || m ') \} {\ Displaystyle h (m || m ') \} где {\ Displaystyle ||} {\ Displaystyle ||}обозначает конкатенацию. [ источник не ] Это свойство можно использовать, чтобы разбить наивную схему аутентификации построенную на хеш-функции. HMAC обходит эту проблему.
В идеале, пользователь может захотеть сильных требований. Исключить для противника найти два сообщения с существенно похожими дайджестами; или выявить будке-либо полезную информацию о данных, имея лишь дайджест. Итак, криптографическая хеш-функция насколько возможно подобно случайной функции, оставаясь Детерминистические и эффективно вычислительной.
Алгоритмы контрольных сумм, такие как CRC32 и другие циклические избыточные проверки, спроектированы с соблюдением гораздо более слабых требований и обычно непригодны для использования в качестве криптографические хеш-функции. Например, CRC использовали для целостности сообщений в WEP стандарте шифрования, но была легко найдена атака, которая использовала линейность контрольной суммы.
Степень сложности
В криптографической практике, сложность обычно значит почти наверняка вне досягаемости любого противника, который не должен иметь возможность сломать систему в течение времени, когда безопасность система считается нужным. В результате значение термина зависит от применения, поскольку усилия, злоумышленник может затратить на задачу обычно пропорциональное его ожидаемой выгоде. Однако, из-за того, что необходимые усилия растут очень быстро с длиной дайджеста, даже улучшение мощности вычисления в тысячи раз можно обезвредить добавлением нескольких десятков битов в конце со временем.В некоторых теоретических анализах сложность имеет особое математическое значение, такое как неразрешимый за асимптотический полиномиальное время. Такие интерпретации сложности важные в изучении доказательно безопасных криптографических хеш-функций, но обычно не имеют сильной связи с практической безопасностью. Например, алгоритм экспоненциального времени иногда может быть достаточно быстрым для осуществимой атаки. И наоборот, алгоритм полиномиального времени (например, такой что требует n 20 шагов для ключа в n цифр) может быть медлительным для практического использования.
Пример использования
Покажем возможно использование криптографической хеш-функции: Алиса подает сложную математическую проблему Бобовые, и заявляет, что она решила ее. Боб хотел бы решить ее самостоятельно, но также хочет убедиться что Алиса не блефует. Итак Алиса записывает свое решение, добавляет случайное криптографическое число. Вычисляет хеш-значение и передает его Бобу (тогда как решение и случайное число остаются в секрете). Тогда, за несколько дней, Боб приходит со своим решением, и Алиса может доказать, что она имела решение ранее открывая случайное число Бобовые. (Это пример простой схемы обязательства ).Применение
Проверка целостности файлов и сообщенийВажным применением безопасных гешив является проверка целостности сообщений. Определение были внесены какие-то изменения в сообщение (или файл), примеру, можно осуществить сравнением дайджестов до и после передачи (или иного события).
Связанным применением является проверка паролей. Обычно пароли не сохраняются открытым текстом, а хранятся их хеш-значения. Для аутентификации пользователя, пароль предоставленный пользователем гешуеться и сравнивается с сохраненным Аравитянина. Это также значит, что первичный пароль невозможно восстановить, и при потере его необходимо заменить новым.
Идентификатор файла или данных
Хеш-значение также может служить как способ надежного отождествления файлов; несколько систем управления версиями, включая Git, Mercurial и Monotone, используют sha1sum разнотипного содержимого уникального отождествления. Геше используют для идентификации фалов в peer-to-peer сетях совместного использования файлов. Например, ed2k link, вариант Геша MD4 соединенный с размером файла, обеспечивает достаточную информацию для нахождения источника файла, загрузки файла и проверки его содержимого. Другой пример - это magnet-ссылки. Такие файловые Геше часто используют как корневые Геше хеш-списков или хеш-деревьев.Одно из главных применений хеш-функций - это возможность быстрого поиска данных в хеш-таблицы. Будучи хеш-функцией определенного типа, криптографическая хеш-функция ведет себя хорошо и здесь также.
Однако по сравнению со стандартной хеш-функцией, криптографическая хеш-функции тяготеют к большей вычислительной сложности. Поэтому, их больше используют в случаях, когда пользователю необходимо защитить себя от возможной подделки злоумышленником.
Псевдослучайная генерация и образования ключей
Хеш-функции можно использовать как породивший псевдослучайных битов или для вывода новых ключей или паролей с одного секретного ключа или пароля.
Хеш-функции основаны на блочных шифрах
Существует несколько способов использования блочных шифров для построения криптографических хеш-функций, особенно односторонней функции сжатия.
Методы напоминают режимы операций блочных шифров обычно використовни для шифрования. Все хорошо известны хеш-функции, включая MD4, MD5, SHA-1 и SHA-2 построены из составляющих подобных блочных шифров спроектированных для них, с гарантией, что полученная операция может биективна. Среди финалистов соревнования хеш-функций от NIST (SHA-3) присутствуют хеш-функции с составными подобными блочных шифров (например, Skein, BLAKE) и функции на основе других дизайнов (например, JH, Keccak ).
Стандартный блочный шифр такой как AES можно использовать вместо этих специальных блочных шифров; это может быть полезным когда встроенная система должна обеспечивать шифрование и хеширования с минимальным по размеру кодом или размером платы. Однако, такой подход происходит на действенности и безопасности. Шифры в хеш-функциях созданы для хеширования: они используют большие ключи и блоки, могут действенно менять ключ щоблока, и разработаны и проверены на устойчивость к атакам со связанными ключами. Шифры общего назначения имеют разные цели. В частности, размеры ключа и блока в AES делают нетривиальным использования его для образования длинных хеш-значений; шифрования с AES становится менее действенным когда ключ меняется щоблока; и атака со связанными ключами делает его менее безопасным для использования в хеш-функциях чем для шифрования.
Строение меркли-Демґарда
Строение Геша за меркли-Демґардом.
Хеш-функция должна быть в состоянии перевести сообщение произвольной длины в выход установленной длины. Этого можно достичь через разбиение данных на входе в ряд блоков одинаковой длины, и обработки их последовательно с использованием односторонней функции сжатия. Функция сжатия может быть разработана для хеширования или образована из блочного шифра. Хеш-функция построена по строению меркли-Демґарда настолько коллизионно устойчивой насколько такая ее функция сжатия; Любую коллизию хэш-функции в целом можно проследить к коллизии в функции сжатия.Последний обработанный блок также должен быть однозначно довжинно-дополненным; это критично для безопасности построения. Такой подход называется - строение меркли-Демґарда. Наиболее широко використовни хеш-функции, включая SHA-1 и MD5, выглядят следующим образом.
Строение имеет некоторые присущие недостатки, включая атаками через довжинне дополнения ( англ. Length-extension ) и создать и-вставить ( англ. Generate-and-paste ), также не может использовать преимущества параллельного вычисления. Поэтому, многие участники соревнования хеш-функций от NIST спроектированы на других принципах.
Использование в строении других криптографических примитивов
Хеш-функции можно использовать для строительства других криптографических примитивов. Чтобы полученные примитивы были криптографически безопасными, надо осторожно подходить к строению, чтобы исход был правильным.
MAC (также известные как хеш-функции с ключом) часто строят из хеш-функций. HMAC является таким примером.
Так же как и блочные шифры модная викристаты для строения хеш-функций, хеш-функции можно использовать для строения шифров. Строения Luby-Rackoff с использованием хеш-функций могут быть доказательно безопасными, если подчиненная функция безопасна. Также бвгвто хеш-функций (включая SHA-1 и SHA-2 ) построены с использованием специально разработанных блочных шифров в строении Дейвиса-Мейера ( англ. Davies-Meyer ) или другой. См. SHACAL, BEAR и LION.
Генератор псевдослучайных чисел можно построить с использованием хэш-функции. Это делается сочетанием (секретного) случайного зерна со счетчиком и последующим хеширования.
Некоторые функции, такие как Skein, Keccak и RadioGatún выдают произвольной длины поток и их можно использовать как потоковый шифр, хотя потоковый шифр можно построить и с хеш-функции с дайджестом установленного размера. Часто это делают сначала строя криптографически безопасный генератор псевдослучайных чисел и тогда используя этот поток как ключ. Потоковый шифр SEAL, что использует SHA-1 для построения внутренних таблиц, которые затем используются в генераторе ключа. Не предоставляется гарантии, что SEAL так же силен или слаб как SHA-1.
Конкатенация криптографических хеш-функций
Зчеплюючы выходы нескольких хеш-функций мы получаем устойчивость к коллизиям столь высокую как в сильнейшего из использованных алгоритмов. Наприкад, старые версии TLS / SSL используют объединены суммы MD5 и SHA-1 ; это гарантировало, что метод найденных коллизий в одной из этих функций не позволит подделать трафик защищен обоими.
Для хеш-функций меркли-Демгарда, сцеплена функция так же коллизионно-стойка как и ее сильная составляющая, [1] но не более. [2] Joux [3] заметил, что 2 коллизии приводят к n коллизий: если осуществимо найти два сообщения с одинаковым Аравитянина MD5, тогда фактически более сложно найти сколько завнодно сообщений с таким же Аравитянина MD5. Среди n сообщений с одинаковым Аравитянина MD5, вероятно случится коллизия в SHA-1. Дополнительная работа по нахождению коллизий SHA-1 полиномиальная. Этот довод суммированный Finney. Более современной документ с полным доказательством безопасности такой сочетанной конструкции и четким и полным объяснением изложенного.
Криптогафични хеш-алгоритмы
Существует большое количество криптографических хеш-функций, многие из них обнаружили уязвимость и не должны использоваться. Даже удачная атака против ослабленного варианта может подорвать уверенность экспертов и привести к прекращению применения. Например, в августе 2004 нашли слабость во многих распространенных в то время функциях, включая SHA-0, RIPEMD и MD5. Это поставило вопрос о безопасности в перспективе хеш-функций отриамних на их основе - в частности, SHA-1 (усиленная версия SHA-0), RIPEMD-128 и RIPEMD-160 (усиленные версии RIPEMD). Ни SHA-0, ни RIPEMD не использовались широко, потому что были заменены на усиленные версии.По состоянию на 2009, употребляемые криптографические хеш-функции это MD5 и SHA-1. Однако, MD5 сломали; атаку против них использовали для взлома SSL в 2008
Хеш-функции SHA-0 и SHA-1 разработало NSA. В феврале 2005, сообщили об успешной атаке на SHA-1, нахождения коллизий за примерно 2 69 операций хеширования, вместо 2 80 ожидаемых для 160-битной хэш-функции. В августе 2005, сообщили о другой успешную атаку на SHA-1, нахождения коллизий за 2 63 операций. Новые приложения могут избежать этого через использование следующих членов семьи SHA, таких как SHA-2, или использования подходов вроде случайного хеширования при котором вход обрабатывается с каким случайным значением перед применением хеш-функции, не требующие коллизионной устойчивости.
Однако, для обеспечения длительной прочности приложений, использующих хеш-функции, введен соревнования с целью замены для SHA-2, новая хеш-функция получит имя SHA-3 и станет федеральным стандартом в 2012.
https://uk.wikipedia.org/wiki/Криптографічна_геш-функція
------------------------
ТРИО теплый пол отзыв
Заработок на сокращении ссылок
Earnings on reducing links
Код PHP на HTML сайты
Я уже пять лет не занимаюсь сайтом, так как работаю по 12 часов. Образование у меня среднее, и по этому нет нормальной работы. Если бы сайт приносил по 100$ в месяц, я бы добавлял по 50 статей каждый месяц. Если отправите пожертвования, я оставлю Ваши имена и фамилии в списке благодетелей !
Bitcoin: 1AP3JCZVFpHzZwcAyNztbrbFFiLdnKbY1j
Litecoin LfHXHz4k6LnDNNvCodd5pj9aW4Qk67KoUD
Dogecoin D9HHvKNFZxRhjtoh6uZYjMjgcZewwiUME9
Есть также другие кошельки.
Категория: Компьютерные советы
Комментарии |