Автор работы: Пользователь скрыл имя, 08 Января 2014 в 01:44, реферат
В "докомпьютерную" эпоху шифрование данных выполнялось вручную. Специалист-шифровальщик обрабатывал исходное сообщение посимвольно и таким образом получал зашифрованный текст. Несмотря на то, что результат шифрования многократно проверялся, известны исторические факты ошибок шифровальщиков. После изобретения механических шифровальных машин процесс обработки данных при шифровании был автоматизирован и ускорен. Кроме того, применение шифровальной техники снизило вероятность ошибок в процессе шифрования и расшифрования. Дальнейшее развитие техники привело к появлению сначала электромеханических, а затем электронных криптографических устройств.
Вопрос 6. Роторные машины 2
Введение 2
История появления алгоритма 2
Описание алгоритма 3
Достоинства и недостатки 6
Применение на практике 6
Вопрос 26. Функция хэширования SHA-1 8
Введение 8
История появления алгоритма 9
Описание алгоритма 9
Достоинства и недостатки 14
Применение на практике 15
A, B, C, D, E (CLS5 (A) + ft (B, C, D) + E + Wt + Kt), A, CLS30 (B), C, D
Где
A, B, C, D, E - пять слов из буфера. |
t - номер цикла, 0 <= t <= 79. |
ft - элементарная логическая функция. |
CLSs - циклический левый сдвиг 32-битного аргумента на s битов. |
Wt - 32-битное слово, полученное из текущего входного 512-битного блока. |
Kt - дополнительная константа. |
+ - сложение по модулю 232. |
Рис. 9.3. Логика выполнения
отдельного цикла
Каждая элементарная функция получает на входе три 32-битных слова и создает на выходе одно 32-битное слово. Элементарная функция выполняет набор побитных логических операций, т.е. n-ый бит выхода является функцией от n-ых битов трех входов. Функции следующие:
Номер цикла |
ft (B, C, D) |
(0 <= t <= 19) |
|
(20 <= t <= 39) |
|
(40 <= t <= 59) |
|
(60 <= t <= 79) |
|
На самом деле используются только три различные функции. Для 0 <= t <= 19 функция является условной: if B then C else D. Для 20 <= t <= 39 и 60 <= t <= 79 функция создает бит четности. Для 40 <= t <= 59 функция является истинной, если два или три аргумента истинны.
32-битные слова Wt получаются из очередного 512-битного блока сообщения следующим образом.
Рис. 9.4. Получение входных
значений каждого цикла из очередного
блока
Первые 16 значений Wt берутся непосредственно из 16 слов текущего блока. Оставшиеся значения определяются следующим образом:
В первых 16 циклах вход состоит из
32-битного слова данного
Алгоритм SHA-1 можно суммировать следующим образом:
Где
IV - начальное значение буфера ABCDE. |
ABCDEq - результат обработки q-того блока сообщения. |
L - число блоков в сообщении, включая поля добавления и длины. |
- сумма по модулю 232, выполняемая отдельно для каждого слова буфера. |
SHA - значение дайджеста сообщения. |
Достоинаства:
Недостатки:
Хранение парольной фразы. В большинстве случаев парольные фразы не хранятся на целевых объектах, хранятся лишь их хеш-значения. Хранить парольные фразы нецелесообразно, так как в случае несанкционированного доступа к файлу с фразами злоумышленник узнает все парольные фразы и сразу сможет ими воспользоваться, а при хранении хеш-значений он узнает лишь хеш-значения, которые не обратимы в исходные данные, в данном случае в парольную фразу. В ходе процедуры аутентификации вычисляется хеш-значение введённой парольной фразы, и сравнивается с сохранённым. Примером в данном случае могут служить ОС GNU/Linux и Microsoft Windows XP. В них хранятся лишь хеш-значения парольных фраз из учётных записей пользователей.
Электронная цифровая подпись (ЭЦП)- по сути шифрование сообщения алгоритмом с открытым ключом. Текст, зашифрованный секретным ключом, объединяется с исходным сообщением. Тогда проверка подписи — расшифрование открытым ключом, если получившийся текст аналогичен исходному тексту — подпись верна.
Использование хеш-функции позволяет оптимизировать данный алгоритм. Производится шифрование не самого сообщения, а значение хеш-функции взятой от сообщения.
SHA-1 используется в следующих приложениях:
S/MIME — дайджесты сообщений.
SSL — дайджесты сообщений.
IPSec — для алгоритма
проверки целостности в
SSH — для проверки целостности переданных данных.
PGP — для создания электронной цифровой подписи.
Git — для идентификации каждого объекта по SHA-1-хешу от хранимой в объекте информации.
Mercurial — для идентификации ревизий
BitTorrent — для проверки
целостности загружаемых
Страница из 16
Информация о работе Роторные машины и Функция хэширования SHA-1