Главная страница

Криптография. 1 История криптографии


Скачать 251.1 Kb.
Название1 История криптографии
АнкорКриптография
Дата17.12.2019
Размер251.1 Kb.
Формат файлаdocx
Имя файлаКриптография .docx
ТипДокументы
#100728
страница2 из 6
1   2   3   4   5   6

№7 Современные комбинированные шифры


При комбинированном шифровании реализуются принципы как блоч­ного, так и поточного шифрования. При этом возможно использование блочного шифра в поточном режиме (гаммирование, шифрование с обрат­ной связью) и поточного шифра в блочном режиме (шифрование блоков).

Комбинированное шифрование применяется на практике в различных режимах стандартов шифрования ГОСТ 28147-89 и DES.

Одноключевые криптографические алгоритмы наиболее хорошо извес­тны в огромном мире криптографии. Сравнительные характеристики неко­торых из них представлены в табл. 5.1.

Все приведенные в табл. 1 одноключевые алгоритмы используют слож­ный режим шифрования с обратной связью CFB американского федераль­ного стандарта шифрования данных DES.

Двухключевые криптографические системы характеризуются на исполь­зовании двух ключей: открытого (несекретного) и закрытого (секретного). Особенность двухключевых систем состоит в возможности получения двух разновидностей шифрования в зависимости от вариантов применения от­крытого и секретного ключей.

 



8 системы шифрования с секретным ключом

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

Симметричные криптосистемы делятся в свою очередь ещё на две группы: на блочные и поточные методы.

Блочные шифры применяют одно и то же преобразование к тексту, разбитому на блоки, длина которых может быть равна 8, 16, 24, 32 байтам в зависимости от криптометода. Криптосистема, предоставляемая .NET, работает по принципу построения цепочки блочных шифров (Cipher Block Chaining - CBC), которая использует ключ и вектор инициализации (Initialization Vector - IV). Простая блочная система шифрования, не использующая вектор инициализации, преобразует один и тот же блок исходного текста в тот же самый блок зашифрованного текста, т. е. безо всяких перемещений и рекомбинаций. Если у вас был дублированный блок в исходном тексте, то он появится и в зашифрованном. В результате, зная структуру исходного текста, злоумышленник может дешифровать соответствующую часть криптограммы и определить ключ шифрования. Чтобы этого избежать, в технологии CBC информация из предыдущего блока внедряется в шифруемый следующий блок. Поскольку такой подход использует предыдущий блок для шифрования следующего, то IV шифрует самый первый блок. Это позволяет защитить заголовок (первый блок), чтобы взломщик не мог использовать его для получения ключа.

ПРИМЕЧАНИЕ

Необходимость использования IV для шифрования 1-го блока возникает из-за того, что применение предыдущего блока для шифрования следующего начинается лишь со 2-го блока - у 1-го нет предыдущего блока - он и так стоит в самом начале.

Другая группа симметричных криптосистем - поточные методы. Эти методы применяют изменяющиеся во время шифрования преобразования к наборам символов, образующим единый исходный текст.

Среди симметричных алгоритмов можно выделить следующие: DES (Data Encryption Standard), DES 2, различные вариации TripleDES, Rijndael/AES (Advanced Encryption Standard), RC2, RC4, ГОСТ 28147-89… Если взглянуть на их алгоритмы, то очевидно, что многие из них основаны на операторе XOr. Вообще, впервые оператор " исключающий или " был применён в так называемом методе одноразовых блокнотов , изученном Клодом Шенноном. Действовал этот метод по следующему принципу: бралась строка исходного текста и строка ключа такой же длины, после чего каждый символ исходного текста XOr’ился с соответствующим символом строки ключа. Этот метод работает и как шифровщик, и как дешифровщик, поскольку повторный вызов функции XOr возвращает исходное значение.

ПРИМЕЧАНИЕ

Алгоритм TripleDES имеет различные конфигурации, немного отличающиеся по принципу работы:

  • DES-EEE3 - тройное шифрование с различными ключами.

  • DES-EDE3 - шифрует, дешифрует и ещё раз шифрует с различными ключами.

  • DES-EEE2 - тройное шифрование, но одинаковые ключи только при первой и третьей итерациях.

  • DES-EDE2 - шифрование, дешифрование и ещё раз шифрование с одинаковыми ключами при первой и третьей итерациях.

Инфраструктура .NET Framework содержит классы для работы со следующими методами: DES, TripleDES, RC2, Rijndael. Но если воспользоваться услугами CryptoAPI, то можно также получить возможность работать с поточным симметричным методом шифрования RC4. Позже мы рассмотрим примеры использования всех этих методов, а сейчас перейдём к следующему криптографическому примитиву - к шифрованию с открытым ключом (асимметричная система).
1   2   3   4   5   6


написать администратору сайта