Синхронные потоковые шифры — шифры, в которых поток ключей генерируется независимо от открытого текста и шифротекста.



При шифровании генератор потока ключей выдаёт биты потока ключей, которые идентичны битам потока ключей при дешифровании. Потеря знака шифротекста приведёт к нарушению синхронизации между этими двумя генераторами и невозможности расшифрования оставшейся части сообщения.

Обычно синхронизация производится вставкой в передаваемое сообщение специальных маркеров. В результате этого пропущенный при передаче знак приводит к неверному расшифрованию лишь до тех пор, пока не будет принят один из маркеров.

Плюсы СПШ:

· отсутствие эффекта распространения ошибок (только искажённый бит будет расшифрован неверно);

· предохраняют от любых вставок и удалений шифротекста, так как они приведут к потере синхронизации и будут обнаружены.

Минусы СПШ:

· уязвимы к изменению отдельных бит шифрованного текста. Если злоумышленнику известен открытый текст, он может изменить эти биты так, чтобы они расшифровывались, как ему надо.

Самосинхронизирующиеся потоковые шифры

Основная идея построения была запатентована в 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!