- •1. Криптографические методы
- •1.1.1 Зачем нужны криптографические протоколы
- •1.1.2 Распределение ролей
- •1.1.3 Протоколы с арбитражем
- •1.1.4 Протокол с судейством
- •1.1.5 Самоутверждающийся протокол
- •1.1.6 Разновидности атак на протоколы
- •1.1.7 Доказательство с нулевым разглашением конфиденциальной информации
- •1.1.8 Протокол доказательства с нулевым разглашением конфиденциальной информации
- •1.1.9 Параллельные доказательства с нулевым разглашением конфиденциальной информации
- •1.1.10 Неинтерактивные протоколы доказательства с нулевым разглашением конфиденциальной информации
- •1.1.11 Удостоверение личности с нулевым разглашением конфиденциальной информации
- •1.1.12 Неосознанная передача информации
- •1.1.13 Анонимные совместные вычисления
- •1.2 Симметричная криптография (одноключевая, с секретным ключом)
- •1.2.1 Симметричная (секретная) методология
- •1.2.2 Симметричные алгоритмы
- •Подстановка Цезаря
- •Многоалфавитные системы. Системы одноразового использования.
- •Системы шифрования Вижинера
- •Гаммирование (Потоковое шифрование)
- •Датчики псч
- •Конгруэнтные датчики
- •Датчики м-последовательностей
- •1.3 Асимметричная криптография (с открытым ключом)
- •1.3.1 Асимметричная (открытая) методология
- •1.3.2 Асимметричные алгоритмы
- •1.4 Цифровой дайджест и хэш-функции
- •1.4.1 Криптографические хэш-функции
- •1.4 Цифровая подпись. Цифровая отметка времени
- •Назад | Оглавление | Вперед
1.2.1 Симметричная (секретная) методология
В этой методологии и для шифрования, и для расшифровки отправителем и получателем применяется один и тот же ключ, об использовании которого они договорились до начала взаимодействия. Если ключ не был скомпрометирован, то при расшифровке автоматически выполняется аутентификация отправителя, так как только отправитель имеет ключ, с помощью которого можно зашифровать информацию, и только получатель имеет ключ, с помощью которого можно расшифровать информацию. Так как отправитель и получатель - единственные люди, которые знают этот симметричный ключ, при компрометации ключа будет скомпрометировано только взаимодействие этих двух пользователей. Проблемой, которая будет актуальна и для других криптосистем, является вопрос о том, как безопасно распространять симметричные (секретные) ключи.
Алгоритмы симметричного шифрования используют ключи не очень большой длины и могут быстро шифровать большие объемы данных.
Порядок использования систем с симметричными ключами:
Безопасно создается, распространяется и сохраняется симметричный секретный ключ.
Отправитель создает электронную подпись с помощью расчета хэш-функции для текста и присоединения полученной строки к тексту
Отправитель использует быстрый симметричный алгоритм шифрования-расшифровки вместе с секретным симметричным ключом к полученному пакету (тексту вместе с присоединенной электронной подписью) для получения зашифрованного текста. Неявно таким образом производится аутентификация, так как только отправитель знает симметричный секретный ключ и может зашифровать этот пакет. Только получатель знает симметричный секретный ключ и может расшифровать этот пакет.
Отправитель передает зашифрованный текст. Симметричный секретный ключ никогда не передается по незащищенным каналам связи.
Получатель использует тот же самый симметричный алгоритм шифрования-расшифровки вместе с тем же самым симметричным ключом (который уже есть у получателя) к зашифрованному тексту для восстановления исходного текста и электронной подписи. Его успешное восстановление аутентифицирует кого-то, кто знает секретный ключ.
Получатель отделяет электронную подпись от текста.
Получатель создает другую электронную подпись с помощью расчета хэш-функции для полученного текста.
Получатель сравнивает две этих электронных подписи для проверки целостности сообщения (отсутствия его искажения)
Доступными сегодня средствами, в которых используется симметричная методология, являются:
Kerberos, который был разработан для аутентификации доступа к ресурсам в сети, а не для верификации данных. Он использует центральную базу данных, в которой хранятся копии секретных ключей всех пользователей.
Сети банкоматов (ATM Banking Networks). Эти системы являются оригинальными разработками владеющих ими банков и не продаются. В них также используются симметричные методологии.
1.2.2 Симметричные алгоритмы
Все многообразие существующих криптографических методов можно свести к следующим классам преобразований:
Подстановки
Моно- и многоалфавитные подстановки.
Наиболее простой вид преобразований, заключающийся в замене символов исходного текста на другие (того же алфавита) по более или менее сложному правилу. Для обеспечения высокой криптостойкости требуется использование больших ключей.
Перестановки.
Также несложный метод криптографического преобразования. Используется как правило в сочетании с другими методами.
Гаммирование (Потоковое шифрование).
Этот метод заключается в наложении на исходный текст некоторой псевдослучайной последовательности, генерируемой на основе ключа.
Блочные шифры.
Представляют собой последовательность (с возможным повторением и чередованием) основных методов преобразования, применяемую к блоку (части) шифруемого текста. Блочные шифры на практике встречаются чаще, чем “чистые” преобразования того или иного класса в силу их более высокой криптостойкости. Российский и американский стандарты шифрования основаны именно на этом классе шифров.
Перестановки
Перестановкой s набора целых чисел (0,1,...,N-1) называется его переупорядочение. Для того чтобы показать, что целое i перемещено из позиции i в позицию s(i), где 0 £ (i) < n, будем использовать запись
s=(s(0), s(1),..., s(N-1)).
Число перестановок из (0,1,...,N-1) равно n!=1*2*...*(N-1)*N. Введем обозначение s для взаимно-однозначного отображения (гомоморфизма) набора S={s0,s1, ...,sN-1}, состоящего из n элементов, на себя.
s: S ® S
s: si ® ss(i), 0 £ i < n
Будем говорить, что в этом смысле s является перестановкой элементов S. И, наоборот, автоморфизм S соответствует перестановке целых чисел (0,1,2,.., n-1).
Криптографическим преобразованием T для алфавита Zm называется последовательность автоморфизмов: T={T(n):1£n<¥}
T(n): Zm,n®Zm,n, 1£n<¥
Каждое T(n) является, таким образом, перестановкой n-грамм из Zm,n.
Поскольку T(i) и T(j) могут быть определены независимо при i¹j, число криптографических преобразований исходного текста размерности n равно (mn)!. (Здесь и далее m – объем используемого алфавита). Оно возрастает непропорционально при увеличении m и n: так, при m=33 и n=2 число различных криптографических преобразований равно 1089!. Отсюда следует, что потенциально существует большое число отображений исходного текста в шифрованный.
Практическая реализация криптографических систем требует, чтобы преобразования {Tk: kÎK} были определены алгоритмами, зависящими от относительно небольшого числа параметров (ключей).
Системы подстановок
Определение Подстановкой p на алфавите Zm называется автоморфизм Zm, при котором буквы исходного текста t замещены буквами шифрованного текста p(t):
Zm à Zm; p: t à p(t).
Набор всех подстановок называется симметрической группой Zm и будет в дальнейшем обозначаться как SYM(Zm).
Утверждение SYM(Zm) c операцией произведения является группой, т.е. операцией, обладающей следующими свойствами:
Замкнутость: произведение подстановок p1p2 является подстановкой:
p: tàp1(p2(t)).
Ассоциативность: результат произведения p1p2p3 не зависит от порядка расстановки скобок:
(p1p2)p3=p1(p2p3)
Существование нейтрального элемента: постановка i, определяемая как i(t)=t, 0£t<m, является нейтральным элементом SYM(Zm) по операции умножения: ip=pi для "pÎSYM(Zm).
Существование обратного: для любой подстановки p существует единственная обратная подстановка p-1, удовлетворяющая условию:
pp-1=p-1p=i.
Число возможных подстановок в симметрической группе Zm называется порядком SYM(Zm) и равно m! .
Определение. Ключом подстановки k для Zm называется последовательность элементов симметрической группы Zm:
k=(p0,p1,...,pn-1,...), pnÎSYM(Zm), 0£n<¥
Подстановка, определяемая ключом k, является криптографическим преобразованием Tk, при помощи которого осуществляется преобразование n-граммы исходного текста (x0 ,x1 ,..,xn-1) в n-грамму шифрованного текста (y0 ,y1 ,...,yn-1):
yi=p(xi), 0£i<n
где n – произвольное (n=1,2,..). Tk называется моноалфавитной подстановкой, если p неизменно при любом i, i=0,1,..., в противном случае Tk называется многоалфавитной подстановкой.
Примечание. К наиболее существенным особенностям подстановки Tk относятся следующие:
1. Исходный текст шифруется посимвольно. Шифрования n-граммы (x0 ,x1 ,..,xn-1) и ее префикса (x0 ,x1 ,..,xs-1) связаны соотношениями
Tk(x0 ,x1 ,..,xn-1)=(y0 ,y1 ,...,yn-1)
Tk(x0 ,x1 ,..,xs-1)=(y0 ,y1 ,...,ys-1)
2. Буква шифрованного текста yi является функцией только i-й компоненты ключа pi и i-й буквы исходного текста xi.