АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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…


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)