|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
MD 2 (R. RIVEST 1992)
Данный алгоритм также реализует 128 битную однопроходную хэш-функцию и в частности используется в протоколе PEM (Privacy -Enhanced Mail см. ниже). Этот алгоритм значительно более медленный чем остальные изложенные в книге примеры, однако, до сих пор у него не найдено даже потенциальных слабостей. Алгоритм использует случайную перестановку на байтах, задаваемую вектором (S0,S1,... S255), сам автор, например, предлагает генерировать эту подстановку из битового вектора, получаемого записью числа p в двоичном виде. Также используется 48 байтный блок X=X0,...,X48, Алгоритм выглядит следующим образом; 1. Исходное сообщение расширяется до сообщения длины кратной 16 байтам. При этом если дописывается N байтов, до их значение равно 0, 1,... N-1. 2. Сообщение дополняется 16 байтной контрольной суммой, которая содержит истинный размер сообщения и может содержать дополнительную информацию (например, CRC значение). 3. Первый 16 байтный блок блока X инициализируется нулями. 4. Второй 16 байтный блок блока Х устанавливается равным очередному 16 байтному блоку хэшируемого текста. 5. Третий 16 байтный блок блока Х получается покоординатным суммированием первого и второго 16-байтных блоков блока X. 6. Вычисляется преобразование (запишем его в терминах псевдоязыка программирования)
45. Примеры хеш-функций Классификация хеш-функций. Ключевые хэш-функции Называются кодами аутентификации сообщений (message authentication code(MAC)) и применяются в системах с симметричными ключами. К ним предъявляются определенные требования. Требования к ключевым хэш – функциям: простота вычисления сжатие стойкость к вычислению Бесключевые хэш-функции известны как коды обнаружения ошибок (modification detection code(MDC)) и дают возможность с помощью дополнительных средств гарантировать целостность данных. На бесключевые хеш-функции накладываются определенные условия. Условия для бесключевых хэш-функций. однонаправленность устойчивость к коллизиям устойчивость к нахождению второго прообраза Алгоритм MD2 MD2(The MD2 Message Digest Algorithm) — хэш-функция, разработанная Бартом Калиски (RSA Laboratories) в 1992 году, и описанная в RFC 1319. Размер хэша — 128 бит. Размер блока входных данных — 512 бит. Предполагается, что на вход подано сообщение, состоящее из байт, хеш которого нам предстоит вычислить. Здесь — произвольное неотрицательное целое число; оно может быть нулем или сколь угодно большим. Запишем сообщение побайтово, в виде: m0m1…m(b-1)\ Алгоритм MD5 Предназначен для создания «отпечатков» или «дайджестов» сообщений произвольной длины. Является улучшенной в плане безопасности версией MD4.[1] Зная MD5, невозможно восстановить входное сообщение, так как одному MD5 могут соответствовать разные сообщения. Используется для проверки подлинности опубликованных сообщений путём сравнения дайджеста сообщения с опубликованным. Эту операцию называют «проверка хеша» (hashcheck). На вход алгоритма поступает входной поток данных, хеш которого необходимо найти. Длина сообщения может быть любой (в том числе нулевой). Запишем длину сообщения в L. Это число целое и неотрицательное. Кратность каким-либо числам необязательна. После поступления данных идёт процесс подготовки потока к вычислениям.
46. Примеры хеш-функций: применение хеш-функций в системах ЭЦП; хеш-функции с ключом. В большинстве ранних систем ЭЦП использовались функции с секретом, которые по своему назначению близки к односторонним функциям. Такие системы уязвимы к атакам с использованием открытого ключа, так как, выбрав произвольную цифровую подпись и применив к ней алгоритм верификации, можно получить исходный текст.[9] Чтобы избежать этого, вместе с цифровой подписью используется хеш-функция, то есть, вычисление подписи осуществляется не относительно самого документа, а относительно его хеша. В этом случае в результате верификации можно получить только хеш исходного текста, следовательно, если используемая хеш-функция криптографически стойкая, то получить исходный текст будет вычислительно сложно, а значит атака такого типа становится невозможной. Также существуют другие преимущества использования хеш-функций вместе с ЭЦП: Вычислительная сложность. Обычно цифровой документ во много раз больше, чем его хеш, поэтому время, затрачиваемое на подпись, намного меньше, так как алгоритмы вычисления хеша являются более быстрыми по сравнению с алгоритмами ЭЦП. Совместимость. Большинство алгоритмов оперирует со строками бит данных, но некоторые используют другие представления. Хеш-функцию можно использовать для преобразования произвольного входного текста в подходящий формат. Целостность. Без использования хеш-функции большой электронный документ в некоторых схемах нужно разделять на достаточно малые блоки для применения ЭЦП. При верификации невозможно определить все ли блоки получены и в правильном ли они порядке. Стоит заметить, что использование хеш-функции не обязательно при цифровой подписи, а сама функция не является частью алгоритма ЭЦП, поэтому может использоваться любая хеш-функция или вообще не использоваться. хеш-функции с ключом Называются кодами аутентификации сообщений (message authentication code(MAC)) и применяются в системах с симметричными ключами. К ним предъявляются определенные требования. простота вычисления (для известной функции Hk, заданного значения k и входного значения x, легко вычислить Hk(x)); сжатие (Hk отображает входное значение x - конечную двоичную строку произвольной длины в выводное значение Hk(x) - двоичную строку фиксированной длины n); стойкость к вычислению (по известным парам "сообщение - значение функции" вычислительно невозможно получить любую другую пару "сообщение - значение функции", для любого входного значения отличного от имеющихся). Свойство также включает не восстанавливаемость ключа. Применение ключевых хэш-функций Ключевые хеш-функции применяются в случаях, когда стороны имеют общий секретный ключ (доверяют друг другу). В подобных ситуациях обычно не требуется обеспечение защиты в случае отказа получателя от факта получения сообщения или его подмены. Поэтому от ключевых хеш-функций не требуется устойчивости к коллизиям.
47. Примеры хеш-функций sha… Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |