- Главная
- Информатика
- Стандарт шифрования данных DES (Data Encryption Standard)
Содержание
- 2. В IBM существовала целая команда криптографов, работавшая в Кингстоне (Kingston) и Йорктаун Хайтс (Yorktown Heights), в
- 3. DES представляет собой блочный шифр, он шифрует данные 64-битовыми блоками. На входе алгоритма вводится 64-битовый блок
- 4. DES состоит из 16 этапов, одинаковая комбинация методов применяется к открытому тексту 16 раз.
- 5. DES работает с 64-битовым блоком открытого текста. После первоначальной перестановки блок разбивается на правую и левую
- 6. . Один из этапов DES
- 7. Если B i - это результат i-ой итерации, L i и R i - левая и
- 8. Преобразования ключа Сначала 64-битовый ключ DES уменьшается до 56-битового ключа отбрасыванием каждого восьмого бита. Эти биты
- 9. После сдвига выбирается 48 из 56 битов. Так как при этом не только выбирается подмножество битов,
- 10. У нее две задачи: привести размер правой половины в соответствие с ключом для операции XOR и
- 11. Перестановка с расширением
- 12. Подстановка с помощью S-блоков После объединения сжатого блока с расширенным блоком с помощью XOR над 48-битовым
- 13. Каждый S-блок представляет собой таблицу из 2 строк и 16 столбцов. Каждый элемент в блоке является
- 14. Конечно же, намного легче реализовать S-блоки программно в виде массивов с 64 элементами. Для этого потребуется
- 15. . S-блоки нелинейны, и именно они в большей степени, чем все остальное, обеспечивают безопасность DES. В
- 16. Заключительная перестановка является обратной по отношению к начальной перестановке. Левая и правая половины не меняются местами
- 17. дешифрирования будут K 16, K 15, K 14, ..., K 1. Алгоритм, который создает ключ для
- 18. Положительной стороной является возможность шифровать несколько сообщений одним ключом без снижения безопасности. По сути, каждый блок
- 19. При этом приложения должны уметь бороться с ошибками . Единственная битовая ошибка в блоке открытого текста
- 20. Потоковые шифры преобразуют открытый текст в шифротекст по одному биту за операцию. Генератор потока ключей (иногда-генератор
- 21. На деле безопасность потокового шифра находится где-то между простым XOR и одноразовым блокнотом. В самосинхронизирующихся потоковых
- 22. Положительная сторона синхронных фильтров - это отсутствие распространения ошибок . Если при передаче бит изменит свое
- 23. Блочный шифр также может быть реализованы как самосинхронизирующийся потоковый шифр, такой режим называется режимом обратной связи
- 24. Если размер блока алгоритма - n, то -битовый CFB выглядит следующим образом: Ci = Pi ⊕Ek(Ci-1)
- 25. n-битовый CBF с n-битовым алгоритмом. Как и режим CBC, режим CFB связывает вместе символы открытого текста
- 26. Если IV в режиме CFB не уникален, криптоаналитик может раскрыть соответствующий открытый текст. IV должен меняться
- 27. Режим выходной обратной связи (Output-feedback, OFB) представляет собой метод использования блочного шифра в качестве синхронного потокового
- 28. Потеря синхронизации смертельна. Если сдвиговые регистры при шифровании и при дешифрировании отличаются, то восстановлен-ный открытый текст-
- 29. Потоковый шифр в режиме счетчика может генерировать i-ый бит, ki, без выдачи всех предшествующих ключевых битов.
- 31. Скачать презентацию
Слайд 2В IBM существовала целая команда криптографов, работавшая в Кингстоне (Kingston) и Йорктаун
В IBM существовала целая команда криптографов, работавшая в Кингстоне (Kingston) и Йорктаун
Слайд 3DES представляет собой блочный шифр, он шифрует данные 64-битовыми блоками. На входе
DES представляет собой блочный шифр, он шифрует данные 64-битовыми блоками. На входе
Слайд 4DES состоит из 16 этапов, одинаковая комбинация методов применяется к открытому тексту
DES состоит из 16 этапов, одинаковая комбинация методов применяется к открытому тексту
Слайд 5DES работает с 64-битовым блоком открытого текста. После первоначальной перестановки блок разбивается
DES работает с 64-битовым блоком открытого текста. После первоначальной перестановки блок разбивается
Слайд 6.
Один из этапов DES
.
Один из этапов DES
Слайд 7Если B i - это результат i-ой итерации, L i и R
Если B i - это результат i-ой итерации, L i и R
L i = R i -1
R i = L i -1 ⊕ f(R i-1, K i)
Начальная перестановка выполняется еще до этапа 1, при этом входной блок переставляется, как показано в таблице. Эту и все другие таблицы этой главы надо читать слева направо и сверху вниз. Например, начальная перестановка перемещает бит 58 в битовую позицию 1, бит 50 - в битовую позицию 2, бит 42 - в битовую позицию 3, и так далее.
Начальная перестановка и соответствующая заключительная перестановка не влияют на безопасность DES
Слайд 8Преобразования ключа Сначала 64-битовый ключ DES уменьшается до 56-битового ключа отбрасыванием каждого
Преобразования ключа Сначала 64-битовый ключ DES уменьшается до 56-битового ключа отбрасыванием каждого
Во первых, 56-битовый ключ делится на две 28-битовых половинки. Затем, половинки циклически сдвигаются налево на один или два бита в зависимости от этапа. Этот сдвиг показан в таблице
Слайд 9После сдвига выбирается 48 из 56 битов. Так как при этом не
После сдвига выбирается 48 из 56 битов. Так как при этом не
Перестановка с расширением Эта операция расширяет правую половину данных, R i, от 32 до 48 битов. Так как при этом не просто повторяются определенные биты, но и изменяется их порядок, эта операция называется перестановкой с расширением.
Слайд 10 У нее две задачи: привести размер правой половины в соответствие с
У нее две задачи: привести размер правой половины в соответствие с
Слайд 11Перестановка с расширением
Перестановка с расширением
Слайд 12Подстановка с помощью S-блоков После объединения сжатого блока с расширенным блоком с
Подстановка с помощью S-блоков После объединения сжатого блока с расширенным блоком с
Слайд 13Каждый S-блок представляет собой таблицу из 2 строк и 16 столбцов. Каждый
Каждый S-блок представляет собой таблицу из 2 строк и 16 столбцов. Каждый
Слайд 14Конечно же, намного легче реализовать S-блоки программно в виде массивов с 64
Конечно же, намного легче реализовать S-блоки программно в виде массивов с 64
Слайд 15. S-блоки нелинейны, и именно они в большей степени, чем все остальное,
. S-блоки нелинейны, и именно они в большей степени, чем все остальное,
Слайд 16Заключительная перестановка является обратной по отношению к начальной перестановке. Левая и правая
Заключительная перестановка является обратной по отношению к начальной перестановке. Левая и правая
Дешифрирование DES Различные компоненты DES были подобраны так, чтобы выполнялось очень полезное свойство: для шифрования и дешифрирования используется один и тот же алгоритм. DES позволяет использовать для шифрования или дешифрирования блока одну и ту же функцию. Единственное отличие состоит в том, что ключи должны использоваться в обратном порядке. То есть, если на этапах шифрования использовались ключи K 1, K 2, K 3, ..., K 16, то ключами
Слайд 17дешифрирования будут K 16, K 15, K 14, ..., K 1. Алгоритм,
дешифрирования будут K 16, K 15, K 14, ..., K 1. Алгоритм,
FIPS PUB 81 определяет четыре режима работы: ECB, CBC, OFB и CFB. Банковские стандарты ANSI определяют для шифрования ECB и CBC, а для проверки подлинности - CBC и n-битовый CFB
Режим электронной шифровальной книги (electronic codebook, ECB) - это наиболее очевидный способ использовать блочный шифр: блок открытого текста заменяется блоком шифротекста. Так как 1блок открытого текста заменяется одним и тем же блоком шифротекста, то теоретически возможно создать шифровальную книгу блоков открытого текста и соответствующих шифротекстов . Однако, если размер блока - 64 бита, то кодовая книга будет состоять из 2 64 записей - слишком много для предварительного вычисления и хранения. Для каждого ключа понадобится отдельная шифровальная книга . Особенно уязвимы начало и окончание сообщений, где находится информация об отправителе, получателе дате и т.д.- проблема стандартные заголовки и окончания.
Слайд 18Положительной стороной является возможность шифровать несколько сообщений одним ключом без снижения безопасности.
Положительной стороной является возможность шифровать несколько сообщений одним ключом без снижения безопасности.
В режиме сцепления блоков шифра (cipher block chaining, CBC) перед шифрованием над открытым текстом и предыдущим блоком шифротекста выполняется операция XOR. Сцепление добавляет к блочному шифру механизм обратной связи: результаты шифрования предыдущих блоков влияют на шифрование текущего блока. Другими словами, каждый блок используется для изменения шифрования следующего блока. Каждый блок шифротекста зависит не только от шифруемого блока открытого текста, но и от всех предыдущих блоков открытого текста. Режим CBC характеризуется прямой обратной связью шифротекста при шифровании и инверсной обратной связью шифротекста при дешифрировании.
Слайд 19При этом приложения должны уметь бороться с ошибками . Единственная битовая ошибка
При этом приложения должны уметь бороться с ошибками . Единственная битовая ошибка
В режиме CBC ошибка одного бита шифротекста влияет на один блок и один бит восстановленного открытого текста. Блок, соответствующий содержащему ошибку блоку шифротекста, искажается полностью.
В следующем блоке искажается единственный бит, находящийся в той же позиции, что и ошибочный бит. Это свойство превращения малой ошибки шифротекста в большую ошибку открытого текста называется распространением ошибки. Это является главным недостатком. Эта ошибка не влияет на блоки, расположенные через один от испорченного и далее, поэтому режим CBC является самовосстанавливающимся. Ошибка влияет на два блока, но система продолжает работать правильно для всех последующих блоков . CBC представляет собой пример блочного шифра, используемого в самосинхронизирующейся манере, но только на блоковом уровне.
Слайд 20Потоковые шифры преобразуют открытый текст в шифротекст по одному биту за операцию.
Потоковые шифры преобразуют открытый текст в шифротекст по одному биту за операцию.
Слайд 21На деле безопасность потокового шифра находится где-то между простым XOR и одноразовым
На деле безопасность потокового шифра находится где-то между простым XOR и одноразовым
В самосинхронизирующихся потоковых шифрах каждый бит потока ключей является функцией фиксированного числа предыдущих битов шифротекста. Военные называют этот шифр автоключом шифротекста (ciphertext auto key, CTAK). Самосинхронизирующиеся потоковые шифры также чувствительны к вскрытию повторной передачей.
В синхронном потоковом шифре поток ключей генерируется независимо от потока сообщения. Военные называют этот шифр ключевым автоключом (Key Auto-Key, KAK). При шифровании генератор потока ключей один за другим выдает биты потока ключей. При дешифрировании другой генератор потока ключей один за другим выдает идентичные биты потока ключей. Это работает, если оба генератора синхронизированы . Если один из них пропускает один из циклов, или если бит шифротекста теряется при передаче , то после ошибки каждый символ шифротекста будет расшифрован неправильно .
Слайд 22Положительная сторона синхронных фильтров - это отсутствие распространения ошибок . Если при
Положительная сторона синхронных фильтров - это отсутствие распространения ошибок . Если при
Слайд 23Блочный шифр также может быть реализованы как самосинхронизирующийся потоковый шифр, такой режим
Блочный шифр также может быть реализованы как самосинхронизирующийся потоковый шифр, такой режим
Слайд 24Если размер блока алгоритма - n, то -битовый CFB выглядит следующим образом:
Если размер блока алгоритма - n, то -битовый CFB выглядит следующим образом:
P i = C i ⊕E k(C i-1)
Режим 8-битовой обратной связи по шифру.
Слайд 25n-битовый CBF с n-битовым алгоритмом.
Как и режим CBC, режим CFB связывает вместе
n-битовый CBF с n-битовым алгоритмом.
Как и режим CBC, режим CFB связывает вместе
Вектор инициализации Для инициализации процесса CFB в качестве входного блока алгоритма может использоваться вектор инициализации IV. Как и в режиме CBC IV не нужно хранить в секрете, но он должен быть уникальным.
Слайд 26Если IV в режиме CFB не уникален, криптоаналитик может раскрыть соответствующий открытый
Если IV в режиме CFB не уникален, криптоаналитик может раскрыть соответствующий открытый
В режиме CFB ошибка в открытом тексте влияет на весь последующий шифротекст, но самоустраняется при дешифрировании. В общем случай в n-битовом режиме CFB одна ошибка шифротекста влияет на дешифрирование текущего и следующих m/n-l блоков, где m - размер блока. CFB самовосстанавливается и после ошибок синхронизации.
Слайд 27Режим выходной обратной связи (Output-feedback, OFB) представляет собой метод использования блочного шифра
Режим выходной обратной связи (Output-feedback, OFB) представляет собой метод использования блочного шифра
Ci = Pi ⊕ Si; Si = Ek *(S i-1)
Pi = Ci ⊕ Si; Si = Ek *(S i-1), где Si –состояние, не зависящее ни от открытого текста, ни от шифротекста . Положительные свойства OFB - большая часть работы может быть выполнена автономно, даже до того, как появится открытый текст сообщения. Когда сообщение появится, для получения шифротекста над сообщением и выходом алгоритма нужно будет выполнить операцию XOR.
Слайд 28Потеря синхронизации смертельна. Если сдвиговые регистры при шифровании и при дешифрировании отличаются,
Потеря синхронизации смертельна. Если сдвиговые регистры при шифровании и при дешифрировании отличаются,
Блочные шифры в режиме счетчика используют в качестве входов алгоритма последовательные номера. Для заполнения регистра используется счетчик, а не выход алгоритма шифрования . После шифрования каждого блока счетчик инкрементируется на определенную константу, обычно единицу . Для этого режима свойства синхронизации и распространения ошибки такие же, как и для OFB. Режим счетчика решает проблему n-битового выхода режима OFB, где n меньше длины блока. К счетчику не предъявля-ется никаких особых требований, он не должен проходить по порядку все возможные значения. В качестве входа блочного алгоритма можно использовать генераторы случайных чисел .
Слайд 29Потоковый шифр в режиме счетчика может генерировать i-ый бит, ki, без выдачи
Потоковый шифр в режиме счетчика может генерировать i-ый бит, ki, без выдачи
Другие режимы
Для использования блочного алгоритма в режиме сцепления блоков (block chaining, BC), выполняется XOR входа блочного шифра и результата XOR всех предыдущих блоков шифротекста. Как и для CBC используется IV. Математически это выглядит как: Ci = Ek(Pi + Fi); Fi+1 = Fi + Ci; Pi = Fi + Dk(Ci); F i+1 = Fi + Ci
Как и CBC, обратная связь процесса BC приводит к распространению ошибки в открытом тексте.
-Режим сцепления блоков шифра с распространением ошибки(propagating cipher block chaining, PCBC)
- Сцепление блоков шифра с контрольной суммой (cipher block chaining with checksum, CBCC) представляет собой вариант CBC