Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции (3).doc
Скачиваний:
203
Добавлен:
28.06.2014
Размер:
508.93 Кб
Скачать

5.2.2. Абсолютно стойкий шифр. Генерация, хранение, распространение ключей

Клод Шеннон определил условия существования идеального шифра:

  • ключ выбирается совершенно случайно,

  • длина открытого текста не больше длины ключа.

Проблемы: генерация, хранение и распространение ключей.

Генерация: как обеспечить случайность? В современных системах используется генератор случайных чисел, который инициализируется от таймера, от случайной последовательности событий. Случайная составляющая добавляется к ключу.

Хранение: ключи должны храниться в зашифрованном виде (на каком-то мастер-ключе). Где хранить мастер-ключ? Например, в открытом виде на защищенном от чтения носителе.

Распространение:

  • через центр распределения ключей (KDC, Key Distribution Center); каждый хост имеет ключ доступа к KDC; проблема – потенциальная возможность чтения всех сообщений;

  • обмен напрямую (непосредственно между хостами), требуется взаимная аутентификация.

5.2.3. Криптосистема des и ее модификация

  • обозначения

  • шифрование

  • расшифрование

  • варианты использования (ECB, CBC, CFB, OFB)

  • особенности

  • модификации (3-DES, DESX, AES)

DES – Data Encryption Standard

Обозначения:

IP – начальная перестановка (initial partition)

Key – базовый ключ шифрования (64 бита)

ki – некоторые внутренние ключи, используемые на каждом шаге шифрования (48 бит)

ki = KS(i, Key)

P – исходный блок открытого текста (64 бита)

C – результат шифрования P

L||R – сцепление левой и правой половин блоков (по 32 бита)

Шифрование

  1. L0||R0= IP (64 бита);

  2. для i = 1, 2, …, 16: Li = Ri-1, Ri = Li-1f(Ri-1, ki) (сеть Фейстела);

  3. C = IP-1(R16L16).

f(Ri-1, ki)

    1. Ri-1  Ri-1 (расширение до 48 бит по определенному правилу);

    2. R1= Ri-1Ki;

    3. R2 = S(R1) (блок подстановки; 32 бита);

    4. R3 = P(R2) (блок перестановки; 32 бита).

Расшифрование

Используется тот же алгоритм и те же ключи, только в обратном порядке (вместо k1, k2, …, k16  k16, k15, …, k1).

Варианты использования

  1. ECB (Electronic Code Book, электронная кодовая книга) – базовый

P = P1P2…Pn – текст разбивается на блоки.

Ci= EK(Pi) (i = 1, …, n)

C = C1C2…Cn

Недостатки:

  • проблема расширения последнего блока,

  • изменение одного бита в блоке влияет только на этот блок.

  1. CBC (Cipher Block Chain, сцепление блоков шифра)

Ci= EK(PiCi-1) (i = 1, …, n)

Pi= DK(Ci)Ci-1

C0= IV (initial vector)

Фактически, Cn – некоторая функция от K, P1, P2, …, Pn. CnназываютMAC (Message Authentication). MAC может использоваться для проверки целостности шифра.

  1. CFB (Cipher Feedback, обратная связь по шифру)

Ci= PiEK(Ci-1)

C0= IV

Pi= CiEK(Ci-1)

Cn– MAC

  1. OFB (Output Feedback, обратная связь по выходу)

Ci= PiEK(Si-1)

Pi= CiEK(Si-1)

Si – псевдослучайная последовательность, инициализируется с помощью IV.

Особенности:

  • вектор инициализации либо передается вместе с шифром, либо генерируется по общеизвестному правилу;

  • для увеличения длины ключа могут использоваться случайные значения (salt values), которые передаются вместе с зашифрованным файлом.

Модификации

  1. 3-DES –тройное шифрование разными ключами

C = EK3(DK2(EK1(P)))

P = DK1(EK2(DK3(C)))

Эффективная длина ключа: 168 бит.

  1. DESX (DES Extended)

К ключу K (56-битный ключ DES) добавляется 2 части по 64 бита K1 и K2.

Шифрование: EK(PK1)K2.

  1. AES (Advanced Encryption Standard) – стандарт по передаче коммерческой информации.