Комбинированный метод шифрования
Главным достоинством криптосистем с открытым ключом является их потенциально высокая безопасность; нет необходимости ни передавать, ни сообщать кому бы то ни было значения секретных ключей, ни убеждаться в их подлинности. В симметричных криптосистемах существует опасность раскрытия секретного ключа во время передачи.
Однако алгоритмы, лежащие в основе криптосистем с открытым ключом, имеют следующие недостатки:
• генерация новых секретных и открытых ключей основана на генерации новых больших простых чисел, а проверка простоты чисел занимает много процессорного времени;
• процедуры шифрования и расшифрования, связанные с возведением в степень многозначного числа, достаточно громоздки.
— Поэтому быстродействие криптосистем с открытым ключом обычно в сотни и более раз меньше быстродействия симметричных криптосистем с секретным ключом.
Комбинированный (гибридный) метод шифрования позволяет сочетать преимущества высокой секретности, предоставляемые асимметричными криптосистемами с открытым ключом, с преимуществами высокой скорости работы, присущими симметричным криптосистемам с секретным ключом. При таком подходе криптосистема с открытым ключом применяется для шифрования, передачи и последующего расшифрования только секретного ключа симметричной криптосистемы. А симметричная криптосистема применяется для шифрования и передачи исходного открытого текста. В результате криптосистема с открытым ключом не заменяет симметричную криптосистему с секретным ключом, а лишь дополняет ее, позволяя повысить в целом защищенность передаваемой информации.
Если пользователь А хочет передать зашифрованное комбинированным методом сообщение М пользователю В, то порядок его действий будет таков.
1. Создать (например, сгенерировать случайным образом) симметричный ключ, называемый в этом методе сеансовым ключом Ks-
2. Зашифровать сообщение М на сеансовом ключе Ks.
3. Зашифровать сеансовый ключ Ks на открытом ключе Кв пользователя В и своем секретном ключе КА.
4. Передать по открытому каналу связи в адрес пользователя В зашифрованное сообщение вместе с зашифрованным сеансовым ключом.
Действия пользователя В при получении зашифрованного сообщения и зашифрованного сеансового ключа должны быть обратными: ,
5. Расшифровать на своем секретном ключе Кв и открытом ключе КА пользователя А сеансовый ключ Ks.
6. С помощью полученного сеансового ключа Ks расшифровать и прочитать сообщение М.
При использовании комбинированного метода шифрования можно быть уверенным в том, что только пользователь В сможет правильно расшифровать ключ KS и прочитать сообщение М.
Таким образом, при комбинированном методе шифрования применяются криптографические ключи как симметричных, так и асимметричных криптосистем. Очевидно, выбор длин ключей для каждого типа криптосистемы следует осуществлять таким образом, чтобы злоумышленнику было одинаково трудно атаковать любой механизм защиты комбинированной криптосистемы.
Комбинированный метод допускает возможность выполнения процедуры аутентификации, т.е. проверки подлинности передаваемого сообщения. Для этого пользователь А на основе функции хэширования сообщения и своего секретного ключа КА с помощью известного алгоритма электронной цифровой подписи (ЭЦП) генерирует свою подпись и записывает ее, например, в конец передаваемого файла.
Пользователь В, прочитав принятое сообщение, может убедиться в подлинности цифровой подписи абонента А. Используя тот же алгоритм ЭЦП и результат хэширования принятого сообщения, пользователь В проверяет полученную подпись (см.гл.6). Комбинированный метод шифрования является наиболее рациональным, объединяя в себе высокое быстродействие симметричного шифрования и высокую криптостойкость, гарантируемую системами с открытым ключом.
Комбинированные методы шифрования
Достаточно эффективным средством повышения стойкости шифрования является комбинированное использование нескольких различных способов шифрования, т.е. последовательное шифрование исходного текста с помощью двух или более методов. Стойкость комбинированного шифрования S не ниже произведения стойкостей используемых способов:
Организационные проблемы криптозащиты
Рассмотренные значения стойкости шифров являются потенциальными величинами. Они могут быть реализованы только при строгом соблюдении правил использования криптографических средств защиты.
Основные правила криптозащиты:
· Сохранение в тайне ключей.
· Достаточно частая смена ключей.
Под дублированием здесь понимается повторное шифрование одного и того же отрывка текста с использованием тех же ключей (например, если при первом шифровании произошел сбой). Нарушение этого правила резко снижает надежность шифрования, так как исходный текст может быть восстановлен с помощью статистического анализа двух вариантов зашифрованного текста.
Важнейшим правилом криптозащиты является достаточно частая смена ключей. Причем частота может определяться исходя из длительности использования ключа или исходя из объема зашифрованного текста. При этом смена ключей по временному графику является защитной мерой против возможного их хищения, смена после шифрования определенного объема текста — от раскрытия шифра статистическими методами.
Нельзя допускать злоумышленнику возможности направить в систему ряд специально подобранных сообщений и получать их в зашифрованном виде. Такого взлома не может выдержать ни одна криптосистема!
Важными аспектами организации криптозащиты являются выбор способа закрытия, распределение ключей и доставка их в места пользования (механизм распределения ключей).
Выбор способа защиты тесно связан с трудоемкостью метода шифрования, степенью секретности закрываемых данных, стойкостью метода и объемом шифруемой информации.
Один из принципов криптографии является предположение об известности используемого алгоритма шифрации. Предполагается, что необходимая надежность закрытия обеспечивается только за счет сохранения в тайне ключей. Отсюда вытекает принципиальная важность формирования ключей, распределения их и доставка в пункты назначения. Основными правилами механизма распределения ключей являются:
· Ключи должны выбираться случайно.
· Выбранные ключи должны распределяться таким образом, чтобы не было закономерностей в изменении ключей от пользователя к пользователю.
· Должна быть обеспечена тайна ключей на всех этапах функционирования системы. Ключи должны передаваться по линиям связи, почте или курьерами в зашифрованном виде с помощью другого ключа.
Лекция 8
Стандарт шифрования данных Data Encryption Standard (DES)
Описание алгоритма DES
В 1977 году Национальное бюро Стандартов США (NBS) опубликовало стандарт шифрования данных Data Encryption Standard (DES), предназначенный для использования в государственных и правительственных учреждениях США для защиты от несанкционированного доступа важной, но несекретной информации.
С 1980 г. DES становится стандартом не только по названию, но и фактически. Появляется не только программное обеспечение, но и специализированные микро-ЭВМ, предназначенные для шифрования/расшифрования информации в сетях передачи данных и на магнитных носителях. К настоящему времени DES является наиболее распространенным алгоритмом, используемым в системах защиты коммерческой информации. Более того реализация алгоритма DES в таких системах является просто признаком хорошего тона! Основные достоинства алгоритма DES:
· Используется только один ключ длиной 56 битов.
· Зашифровав сообщение с помощью одного пакета, для расшифровки вы можете использовать любой другой.
· Относительная простота алгоритма обеспечивает высокую скорость обработки информации.
· Достаточно высокая стойкость алгоритма.
DES осуществляет шифрование 64-битовых блоков данных с помощью 56-битового ключа.
Расшифрование в DES является операцией обратной шифрованию и выполняется путем повторения операций шифрования в обратной последовательности.
Процесс шифрования осуществляется с помощью специальных таблиц и заключается в перестановке с помощью этих таблиц битов 64-битового блока исходного текста последовательно в шестнадцати циклах шифрования и, наконец, обратной их перестановки.
Необходимо сразу же отметить, что все таблицы, являются стандартными, и включаются в любую реализацию алгоритма DES в неизменном виде. Все перестановки и коды в таблицах подобраны разработчиками таким образом, чтобы максимально затруднить процесс расшифровки путем подбора ключа.
На каждой из 16 итераций шифрования используется индивидуальный 48 –битовый ключ. Алгоритм получения 48-битовых ключей К(i), i=1. 16 на каждой итерации предполагает их вычисление из начального ключа K, представляющего собой 64-битовый блок с восемью битами контроля по четности, расположенными в соответствующих позициях.
Восстановление исходного текста осуществляется по этому же алгоритму, но вначале вы используете ключ K(15), затем — K(14), K(13),… K(0).
Режимы работы алгоритма DES
Для наиболее полного удовлетворения всем требованиям, предъявляемым к коммерческим системам шифрования, реализованы несколько режимов работы алгоритма DES. Наиболее широкое распространение получили следующие режимы:
· Электронный шифроблокнот (Electronic Codebook ) – ECB.
· Цепочка цифровых блоков (Cipher Block Chaining) – CBC.
· Цифровая обратная связь (Cipher Feedback) – CFB.
· Внешняя обратная связь (Output Feedback) — OFB.
1. Режим «Электронный шифроблокнот» (DES-ECB). В этом режиме исходный файл M разбивается на 64-битовые блоки (по 8 байтов): M = M(1)M(2). M(n). Каждый из этих блоков кодируется независимо с использованием одного и того же ключа шифрования. Основное достоинство этого алгоритма – простота реализации. Недостаток – относительно слабая устойчивость против квалифицированных криптоаналитиков.
В частности, не рекомендуется использовать данный режим работы для шифрования EXE файлов, потому что первый же блок — заголовок файла, является вполне удачным началом для взлома всего шифра. В то же время следует признать, что этот режим в силу своей простой реализации наиболее популярен среди любительских разработок.
2. Режим «Цепочка цифровых блоков» (DES-CBC). В этом режиме исходный файл M также, как и в первом случае, разбивается на 64-битовые блоки: M = M(1)M(2). M(n).
Первый блок M(1) складывается по модулю 2 с 64-битовым начальным вектором IV, который меняется ежедневно и держится в секрете. Полученная сумма затем шифруется с использованием ключа DES, известного и отправителю, и получателю информации. Полученный 64-битовый блок шифртекста C(1) складывается по модулю 2 со вторым блоком исходного текста, результат шифруется и получается второй 64-битовый блок шифртекста C(2) и т.д. Процедура повторяется до тех пор, пока не будут обработаны все блоки исходного текста.
Расшифрование выполняется следующим образом:
M(i) = C(i-1) xor DES -1 (C(i)),
C(0) = IV — начальное значение шифра, равное начальному вектору.
Прелесть данного режима состоит в том, что он не позволяет накапливаться ошибкам при передаче. Блок M(i) является функцией только C(i-1) и C(i). Поэтому ошибка при передаче приведет к потере только двух блоков исходного текста.
3. Режим «Цифровая обратная связь» (DES-CFB).В этом режиме размер блока может отличаться от 64. Исходный файл M считывается последовательными t-битовыми блоками (t <= 64): M = M(1)M(2). M(n) (остаток дописывается нулями или пробелами).
64-битовый сдвиговый регистр (входной блок) вначале содержит вектор инициализации IV, выровненный по правому краю. Для каждого сеанса шифрования используется новый IV.
Для всех i = 1. n блок шифртекста C(i) определяется следующим образом:
где P(i-1) — старшие t битов операции DES(С(i-1)), причем C(0)=IV.
Обновление сдвигового регистра осуществляется путем удаления его старших t битов и дописывания справа C(i).
Восстановление зашифрованных данных также не представляет труда: P(i-1) и C(i) вычисляются аналогичным образом и
4. Режим «Внешняя обратная связь» (DES-OFB). Режим OFB очень похож на режим CFB. Отличие от режима CFB состоит только в методе обновления сдвигового регистра. В данном случае это осуществляется путем удаления его старших t битов и дописывания справа P(i-1).
Каждому из рассмотренных режимов свойственны свои достоинства и недостатки, что обусловливает области их применения.
Режим ECB хорошо подходит для шифрования ключей. Режимы CBC и CFB пригодны для аутентификации данных. Режим CFB, кроме того, предназначен для шифрования отдельных символов. Режим OFB нередко используется в спутниковых системах связи.
Комбинированный метод шифрования
Главным достоинством криптосистем с открытым ключом является их потенциально высокая безопасность: нет необходимости ни передавать, ни сообщать кому бы, то ни было значения секретных ключей, ни убеждаться в их подлинности. В симметричных криптосистемах существует опасность раскрытия секретного ключа во время передачи.
Однако алгоритмы, лежащие в основе криптосистем с открытым ключом, имеют следующие недостатки:
- • генерация новых секретных и открытых ключей основана на генерации новых больших простых чисел, а проверка простоты чисел занимает многопроцессорного времени;
- • процедуры шифрования и расшифрования, связанные с возведением в степень многозначного числа, достаточно громоздки.
Поэтому быстродействие криптосистем с открытым ключом обычно в сотни и более раз меньше быстродействия симметричных криптосистем с секретным ключом.
Комбинированный (гибридный) метод шифрования позволяет сочетать преимущества высокой секретности, предоставляемые асимметричными криптосистемами с открытым ключом, с преимуществами высокой скорости работы, присущими симметричным криптосистемам с секретным ключом. При таком подходе криптосистема с открытым ключом применяется для шифрования, передачи и последующего расшифрования только секретного ключа симметричной криптосистемы. А симметричная криптосистема применяется для шифрования и передачи исходного открытого текста. В результате криптосистема с открытым ключом не заменяет симметричную криптосистему с секретным ключом, а лишь дополняет ее, позволяя повысить в целом защищенность передаваемой информации. Такой подход иногда называют схемой электронного цифрового конверта.
Если пользователь А хочет передать зашифрованное комбинированным методом сообщение М пользователю В, то порядок его действий будет следующий.
- 1. Создать (например, сгенерировать случайным образом) симметричный ключ, называемый в этом методе сеансовым ключом Ks.
- 2. Зашифровать сообщение Мна сеансовом ключе ks.
- 3. Зашифровать сеансовый ключ ks на открытом ключе ^пользователя В.
- 4. Передать по открытому каналу связи в адрес пользователя В зашифрованное сообщение вместе с зашифрованным сеансовым ключом.
Действия пользователя В при получении зашифрованного сообщения и зашифрованного сеансового ключа должны быть обратными:
- 5. Расшифровать на своем секретном ключе кв сеансовый ключ Ks.
- 6. С помощью полученного сеансового ключа к8 расшифровать и прочитать сообщение М.
При использовании комбинированного метода шифрования можно быть уверенным в том, что только пользователь В сможет правильно расшифровать ключ Ks и прочитать сообщение М.
Таким образом, при комбинированном методе шифрования применяются криптографические ключи как симметричных, так и асимметричных криптосистем. Очевидно, выбор длин ключей для каждого типа криптосистемы следует осуществлять таким образом, чтобы злоумышленнику было одинаково трудно атаковать любой механизм защиты комбинированной криптосистемы.
В табл. 2.3. приведены распространенные длины ключей симметричных и асимметричных криптосистем, для которых трудность атаки полного перебора примерно равна трудности факторизации соответствующих модулей асимметричных криптосистем.
Комбинированный метод шифрования
Главным достоинством криптосистем с открытым ключом является их потенциально высокая безопасность: нет необходимости ни передавать, ни сообщать кому бы то ни было значения секретных ключей, ни убеждаться в их подлинности. В симметричных криптосистемах существует опасность раскрытия секретного ключа во время передачи.
Однако алгоритмы, лежащие в основе криптосистем с открытым ключом, имеют следующие недостатки:
- • генерация секретных и открытых ключей основана на генерации больших простых чисел, а проверка простоты чисел занимает много процессорного времени;
- • процедуры шифрования и расшифрования, связанные с возведением в степень многозначного числа, достаточно трудоемки.
Поэтому быстродействие (скорость шифрования и дешифрования) в криптосистемах с открытым ключом обычно в сотни и тысячи раз меньше быстродействия симметричных криптосистем с секретным ключом.
Комбинированный метод шифрования позволяет сочетать преимущества высокой секретности, предоставляемые асимметричными криптоистемами с открытым ключом, с преимуществами высокой скорости работы, присущими симметричным криптосистемам с секретным ключом. При таком подходе криптосистема с открытым ключом применяется для шифрования, передачи и последующего расшифрования только секретного ключа симметричной криптосистемы. А симметричная криптосистема применяется для шифрования и передачи исходного открытого текста. В результате криптосистема с открытым ключом не заменяет симметричную криптосистему с секретным ключом, а лишь дополняет ее, позволяя повыить в целом защищенность передаваемой информации.
Пользователи А и В, использующие комбинированный метод шифрования, имеют каждый по паре асимметричных ключей шифрования
(Ад0, К Ас) И (Аво, Авс)-
Если пользователь А хочет передать зашифрованное комбинированым методом сообщение m пользователю В, то порядок его действий будет таков.
1. Создать (например, сгенерировать случайным образом) симметричный ключ,
называемый в этом методе сеансовым ключом Ks.
- 2. Зашифровать сообщение m на сеансовом ключе Ks.
- 3. Зашифровать сеансовый ключ Ks на открытом ключе Лво пользователя В и своем секретном ключе К
Действия пользователя В при получении зашифрованного сообщения и зашифрованного сеансового ключа должны быть обратными:
- 5. Расшифровать на своем секретном ключе Аве и открытом ключе Лд0 пользователя А сеансовый ключ Ks.
- 6. С помощью полученного сеансового ключа Ks расшифровать и прочитать сообщение ш.
При использовании комбинированного метода шифрования можно быть уверенным в том, что только пользователь В сможет правильно расшифровать ключ Ks и прочитать сообщение т.
Выбор длины ключей в комбированном методе шифрования. Таким образом, при комбинированном методе шифрования применяются криптографические ключи как симметричных, так и асимметричных криптосистем. Очевидно, выбор длин ключей для каждого типа криптосистемы следует осуществлять таким образом, чтобы злоумышленнику было одинаково трудно атаковать любой механизм защиты комбинированной криптосистемы.
В таблице 3.1. приведены распространенные длины ключей симметричных и асимметричных криптосистем, для которых трудность атаки полного перебора примерно равна трудности факторизации соответствующих модулей асимметричных криптосистем.
Таблица 3.1. Длины ключей для симметричных и асимметричных криптосистем при одинаковой их криптостойкости
- 179
- 2
- 230
- 4
Метод экспоненциального ключевого обмена Диффи-Хеллмана
Одни из авторов идеи криптосистем с открытым ключом, Диффи и Хеллман предложили новую идею — открытое распределение ключей.
Они задались вопросом: можно ли организовать такую процедуру взаимодействия абонентов А и В по открытым каналам связи, чтобы решить следующие задачи:
- 1) вначале у А и В нет никакой общей секретной информации, но в конце процедуры такая общая секретная информация (общий ключ) у А и В появляется, т. е. вырабатывается;
- 2) пассивный противник, который перехватывает все передачи информации и знает, что хотят получить А и В, тем не менее не может восстановить выработанный общий ключ А и В.
Метод получил название метода экспоненциального ключевого обмена. Он был первой криптосистемой с открытым ключом, хотя для обмена ключами можно использовать любые криптосистемы с открытым ключом, например, тот же алгоритм RSA.
Криптостойкость данного метода определяется трудоемкостью вычисления дискретного логарифма:
f(x) = g r mod р,
где р — большое простое число, х — произвольное натуральное число, g — некоторый примитивный элемент поля Галуа GF(/>). Общепризнано, что инвертирование функции g v mod р, т.е. дискретное логарифмирование, является трудной математической задачей.
Сама процедура или протокол выработки общего ключа заключается в следующем. Значения р и g являются общедоступными параметрами протокола. Абоненты А и В независимо друг от друга случайно выбирают по одному большому натуральному числу хА и хв. Это их секретные ключи. Далее каждый из них вычисляет открытые ключи:
уЛ = g xA mod р и ув = g xB mod р.
Потом они обмениваются этими элементами по каналу связи. Теперь абонент А, получив ув и зная свой секретный элемент хк, вычисляет новый элемент:
j?b xA mod р = (g xB ) хА mod р.
Аналогично поступает абонент В:
уА хВ mod р = (g xA ) хВ mod р.
Тем самым у А и В появился общий элемент поля, равный g xA хВ . Этот элемент и объявляется общим ключом абонентов А и В.
Необратимость преобразования в этом случае обеспечивается тем, что достаточно легко вычислить показательную функцию в конечном поле Галуа, состоящем из р элементов (р — простое число). Обратная задача вычисления х из у будет достаточно сложной. Если р выбрано достаточно правильно, то извлечение логарифма потребует вычислений, пропорциональных Ьф) = ехр <(Inр In In/?) 05 >.
При всей простоте алгоритма Диффи-Хелмана его недостатком по сравнению с системой RSA является отсутствие гарантированной нижней оценки трудоемкости раскрытия ключа.