Синхронные потоковые шифры — шифры, в которых поток ключей генерируется независимо от открытого текста и шифротекста.
При шифровании генератор потока ключей выдаёт биты потока ключей, которые идентичны битам потока ключей при дешифровании. Потеря знака шифротекста приведёт к нарушению синхронизации между этими двумя генераторами и невозможности расшифрования оставшейся части сообщения.
Обычно синхронизация производится вставкой в передаваемое сообщение специальных маркеров. В результате этого пропущенный при передаче знак приводит к неверному расшифрованию лишь до тех пор, пока не будет принят один из маркеров.
Плюсы СПШ:
· отсутствие эффекта распространения ошибок (только искажённый бит будет расшифрован неверно);
· предохраняют от любых вставок и удалений шифротекста, так как они приведут к потере синхронизации и будут обнаружены.
Минусы СПШ:
· уязвимы к изменению отдельных бит шифрованного текста. Если злоумышленнику известен открытый текст, он может изменить эти биты так, чтобы они расшифровывались, как ему надо.
Самосинхронизирующиеся потоковые шифры
Основная идея построения была запатентована в 1946 г. в США.
Самосинхронизирующиеся потоковые шифры (асинхронные потоковые шифры (АПШ)) — шифры, в которых ключевой поток создаётся функцией ключа и фиксированного числа знаков шифртекста.
Реализация этого режима происходит следующим образом: каждое сообщение начинается случайным заголовком длиной N битов; заголовок шифруется, передаётся и расшифровывается; расшифровка является неправильной, зато после этих N бит оба генератора будут синхронизированы.
|
|
Плюсы АПШ:
· Размешивание статистики открытого текста. Так как каждый знак открытого текста влияет на следующий шифротекст, статистические свойства открытого текста распространяются на весь шифротекст. Следовательно, АПШ может быть более устойчивым к атакам на основе избыточности открытого текста, чем СПШ.
Минусы АПШ:
· распространение ошибки (каждому неправильному биту шифротекста соответствуют N ошибок в открытом тексте);
· чувствительны к вскрытию повторной передачей.
· 22. Криптосистема шифрования данных RSA
Блок послания M представляется числом из интервала [0,n-1] и шифруется с помощью вычисления экспоненты C = Me mod n.
Блок M восстанавливается с помощью той же операции, но с другой степенью M = Cd mod n.
Здесь пара чисел (e,n) называется ключом шифрования или открытым ключом, пара чисел (d,n) называется ключом расшифрования или секретным ключом. В схеме RSA модуль n является произведением двух больших простых чисел p и q: n = pq.
Числа e и d подбираются таким образом, чтобы ed = 1 mod (p-1)(q-1). При этом НОД(e,(p-1)(q-1))=1. Тогда практически для любого M из множества [0,n-1] Med mod n = M. Для нахождения чисел e и d используется расширенный алгоритм Евклида.
|
|
Пусть a и b - целые числа, не равные одновременно нулю, и последовательность чисел a>b>r1>r2>r3>…>rn
определена тем, что каждое rk - это остаток от деления предпредыдущего числа на предыдущее, а предпоследнее делится на последнее нацело, то есть
a=bq0+r1
b=r1q1+r2
r1=r2q2+r3
……
rk-2=rk-1qk-1+rk
……
rn-1=rnqn
Тогда НОД(a,b), наибольший общий делитель a и b, равен rn, последнему ненулевому члену этой последовательности.
Формулы для ri могут быть переписаны следующим образом:
r1=a+b(-q0)
r2=b-r1q1=a(-q1)+b(1+q1q0)
……
НОД(a,b)=rn=as+bt
Хэш - функция SHA
Secure Hash Algorithm 1 — алгоритм криптографического хеширования. Для входного сообщения произвольной длины (максимум {\displaystyle 2^{64}-1} бит) алгоритм генерирует 160-битное хеш-значение, называемое также дайджестом сообщения. Используется во многих криптографических приложениях и протоколах. Также рекомендован в качестве основного для государственных учреждений в США. Принципы, положенные в основу SHA-1, аналогичны тем, которые использовались Рональдом Ривестом при проектировании MD4.
SHA-1 реализует хеш-функцию, построенную на идее функции сжатия. Входами функции сжатия являются блок сообщения длиной 512 бит и выход предыдущего блока сообщения. Выход представляет собой значение всех хеш-блоков до этого момента.
|
|
Инициалиация
Исходное сообщение разбивается на блоки по 512 бит в каждом. Последний блок дополняется до длины, кратной 512 бит. Сначала добавляется 1 (бит), а потом нули, чтобы длина блока стала равной (512 — 64 = 448) бит. В оставшиеся 64 бита записывается длина исходного сообщения в битах (в big-endian формате). Если последний блок имеет длину более 448, но менее 512 бит, то дополнение выполняется следующим образом: сначала добавляется 1 (бит), затем нули вплоть до конца 512-битного блока; после этого создается ещё один 512-битный блок, который заполняется вплоть до 448 бит нулями, после чего в оставшиеся 64 бита записывается длина исходного сообщения в битах (в big-endian формате). Дополнение последнего блока осуществляется всегда, даже если сообщение уже имеет нужную длину.
Дата добавления: 2020-04-25; просмотров: 426; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!