<<
>>

SHA-1

Второй широко применяемой функцией вычисления профиля сообщения является SHA (Secure Hash Algorithm — надежный алгоритм хэширования), разработанный Агентством национальной безопасности США (NSA) и получивший благословение национального института стандартов и технологий NIST (выразившееся в федеральном стандарте FIPS 180-1).
Как и MD5, алгоритм SHA обрабатывает входные данные 512-битовыми блоками, но, в отличие от MD5, он формирует 160-разрядный профиль сообщения. Типичный случай отправки Алисой несекретного, но подписанного сообщения Бобу показан на рис. 8.18. Открытый текст обрабатывается алгоритмом SHA-1, на выходе получается 160-битный хэш SHA-1. Он подписывается Алисой (закрытым ключом RSA) и отправляется вместе с открытым текстом Бобу.

Рис. 8.18. Применение SHA-1 и RSA для создания подписей несекретных сообщений

При получении сообщения Боб сам вычисляет хэш-функцию с помощью алгоритма 5НА-1 и применяет открытый ключ Алисы к подписанному хэшу для того, чтобы получить исходный хэш, Я.

Если они совпадают, сообщение считается корректным. Так как Труди не может, перехватив сообщение, изменить его таким образом, чтобы значение Я совпадало с контрольным, Боб легко узнает обо всех подменах, которые совершила Труди. Для сообщений, чья неприкосновенность существенна, а секретность не имеет значения, часто применяется схема, показанная на рис. 8.18. При относительно небольших затратах на вычисления она гарантирует, что любые изменения, внесенные на пути следования сообщения, будут с высокой вероятностью выявлены.

Давайте теперь вкратце рассмотрим, как работает 5НА-1. Для начала алгоритм 8НА-1 также дополняет сообщение единичным битом в конце, за которым следует такое количество нулевых бит, чтобы в итоге получилось общее число битов, кратное 512. Затем 64-разрядное число, содержащее длину сообщения (до битового дополнения), логически складывается (операция ИЛИ) с 64 младшими битами.

На рис. 8.19, а показано сообщение с дополнением, расположенным справа, потому что английский текст и рисунки читаются слева направо (то есть правая граница рисунка воспринимается как его конец, а левая — как начало). Применительно к вычислительной технике такое расположение соответствует обратному порядку хранения байтов (сначала передается самый значимый, старший бит).

Такая реализация присуща, например, SPARC. Однако вне зависимости от используемой техники SHA-1 вставляет битовое дополнение в конец сообщения.

Во время выполнения вычислений SHA-1 работает с пятью 32-битными переменными (Я0... Я4), в которых накапливается значение хэш-функции. Они показаны на рис. 8.19, б. Их начальные значения — это постоянные величины, определенные стандартом.

Рис. 8.19. Сообщение, дополненное до размера, кратного 512 битам (а); выходные переменные (б); массив слов (в)

Затем поочередно обрабатываются блоки с М0 по Мп_х. Для текущего блока 16 слов сначала копируются в начало вспомогательного массива W размером 80 слов, как показано на рис. 8.19, в. 64 оставшихся слова вычисляются с использованием следующей формулы:

W. = S!(Wj._3 XOR W(_8 XOR Wt_Xi XOR (165/5 79),

где Sb(W) представляет собой поворот 32-разрядного слова W на Ь бит. Теперь по значениям #0... Н4 инициализируются переменные от А до Е.

Сами вычисления на псевдо-С можно записать таким образом:

for(i-0;i

<< | >>
Источник: Э. ТАНЕНБАУМ. КОМПЬЮТЕРНЫЕ СЕТИ 4-Е ИЗДАНИЕ. 2003

Еще по теме SHA-1:

  1. Л.О. Доліненко, В.О. Доліненко, С.О. Сарновська. Цивільне право України, 2006
  2. ЦИВІЛЬНЕ ПРАВО УКРАЇНИ
  3. ПЕРЕДМОВА
  4. Частина І ПРОГРАМА КУРСУ «ЦИВІЛЬНЕ ПРАВО УКРАЇНИ»
  5. Розділ І. Загальні положення цивільного права
  6. Тема 1. Поняття цивільного права. Предмет та метод, система цивільного права. Функції та принципи цивільного права
  7. Тема 2. Цивільне законодавство України
  8. Тема 3. Поняття, елементи та види цивільних правовідносин
  9. Тема 4. Здійснення цивільних прав і виконання обов’язків
  10. Тема 5. Захист цивільних прав та інтересів
  11. Тема 6. Об’єкти цивільних прав
  12. Тема 7.ФІЗИЧНІ особи як суб’єкти цивільного права
  13. Тема 8. Юридичні особи
  14. Тема 9. Держава як суб’єкт цивільного права. Територіальні громади та Автономна Республіка Крим як суб’єкти цивільного права
  15. Тема 10. Правочини: поняття, види. Умови чинності правочину
  16. Тема 11. Представництво і довіреність
  17. Тема П.Строки. Позовна давність
  18. Нормативний матеріал: