Лекция № 8
Симметричные криптосистемы
Симметричные криптосистемы
Блочные алгоритмы
Блочные алгоритмы
Блочные алгоритмы
Режимы работы блочных шифров
Режимы работы блочных шифров
Режимы работы блочных шифров
Режимы работы блочных шифров
Режимы работы блочных шифров
Режимы работы блочных шифров
Выбор режима работы блочного шифра
Потоковые алгоритмы
Потоковые алгоритмы
Потоковые алгоритмы
Применение симметричных алгоритмов
Сравнение поточных и блочных шифров
Сравнение поточных и блочных шифров
Примеры симметричных шифров
Другие симметричные шифры
Другие симметричные шифры
Другие симметричные шифры
1.16M
Категория: ИнформатикаИнформатика

Симметричные системы шифрования и режимы блочных/поточных алгоритмов

1. Лекция № 8

ЛЕКЦИЯ № 8
Симметричные системы шифрования

2. Симметричные криптосистемы

■ Криптосистемы называются симметричными криптосистемами или
криптосистемами с секретным ключом, если для шифрования и дешифрования
используется один и тот же ключ.

3. Симметричные криптосистемы

Симметричные шифры делятся на:

блочные;

поточные.

4. Блочные алгоритмы

Алгоритм симметричного шифрования называется блочным алгоритмом
шифрования/блочным шифром, если в процессе шифрования данные разбиваются
на блоки фиксированной длины, и данные блоки могут обрабатываться независимо
друг от друга.

5. Блочные алгоритмы

Алгоритм симметричного шифрования называется блочным алгоритмом
шифрования/блочным шифром, если в процессе шифрования данные разбиваются
на блоки фиксированной длины, и данные блоки могут обрабатываться независимо
друг от друга.

6. Блочные алгоритмы

Например
перестановочные
шифры и шифр
Вижнера

7. Режимы работы блочных шифров

■ Режим работы определяет, как блоки шифртекста зацепляются друг с другом.

8. Режимы работы блочных шифров

■ Режим простой замены
Простейшим режимом работы
является режим простой замены
(Electronic Code Book – ECB). В
этом режиме каждый блок
открытого текста преобразуется в
блок шифртекста с применением
только ключа шифрования, без использования IV или предыдущих
блоков открытого или шифртекста.
Таким образом, порожденные
блоки шифртекста
конкатенируются.

9. Режимы работы блочных шифров

■ Режима CTR
В режим счётчика (counter mode,
CTR) сам открытый текст не
обрабатывается алгоритмом
шифрования, как в случае AES.
Вместо этого последовательность
блоков счетчика шифруется
блочным шифром.

10. Режимы работы блочных шифров

■ Режим GCM
Режим гаммирования с аутентификацией Галуа (Galois/Counter
mode – GCM) порождает
шифртекст так же, как в режиме
CTR. Блоки счетчика шифруются
блочным шифром, в результате
чего порождается гамма. Затем к
гамме и открытому тексту
применяется операция XOR, и
получается шифртекст.
Отличие от режима CTR
заключается в том, что GCM не
только шифрует открытый текст, но
также аутентифицирует шифртекст

11. Режимы работы блочных шифров

■ Режим AES-GCM-SIV
AES-GCM-SIV – вариант шифра AES в режиме GCM. Его отличительной особенностью и
преимуществом является то, что алгоритм не допускает неправильного использования IV
или одноразового значения, т.е. гарантирует, что один и тот же IV никогда не будет
использован повторно для разных сообщений.

12. Режимы работы блочных шифров

Существует много других режимов работы блочных шифров, например CBC с
распространением (propagating CBC – PCBC), режим гаммирования с обратной связью
по шифртексту (Cipher Feedback – CFB), режим гаммирования с обратной связью по
выходу (output feedback – OFB), режим гаммирования с имитовставкой (Counter with
CBCMAC – CCM), режим Картера–Вегмана + CTR (CarterWegman + CTR – CWC), режим
гаммирования с аутентификацией Софи Жермен (Sophie Germain Counter Mode – SGCM)
и т. д.

13. Выбор режима работы блочного шифра

Считается, что лучшим режимом работы из поддерживаемых OpenSSL является GCM.
GCM поддерживает не только шифрование, но и аутентификацию, не
требует дополнения, а следовательно, неуязвим для атак с оракулом. GCM также
позволяет предварительно вычислить гамму и распараллелить шифрование и
расшифрование. При использовании GCM обязательно нужно задавать разные IV для
всех открытых текстов, шифруемых одним и тем же ключом. Это очень важно – в
противном случае ни о какой стойкости шифрования говорить не приходится.

14. Потоковые алгоритмы

Алгоритм симметричного шифрования называется поточным алгоритмом
шифрования или потоковым шифром, если каждый символ открытого текста
преобразуется в символ шифрованного текста в зависимости не только от
используемого ключа, но и от его расположения в потоке открытого текста.

15. Потоковые алгоритмы

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

16. Потоковые алгоритмы

17. Применение симметричных алгоритмов

Симметричные алгоритмы окружают нас повсюду; блочные алгоритмы находятся и в
наших смартфонах, и в проходках (RFID-карты), в банковских картах, в почтовых
программах, и т.д. Область применения поточного шифрования значительно уже,
она ограничивается обработкой видео и аудио сигналов, один из примеров мы
рассмотрим когда будем знакомиться со стандартом GSM.

18. Сравнение поточных и блочных шифров


блочное шифрование может трансформироваться в поточное;
поточный шифр имеет более математизированную структуру;
поточные шифры не очень удобны с точки зрения программного обеспечения,
но высоко эффективны с точки зрения аппаратной реализации;
блочные шифры удобны и для программных и аппаратных средств, но не
допускают быстрой обработки информации;
аппаратные средства функционируют быстрее, чем программное обеспечение,
но это приводит к снижению гибкости, поэтому поточное шифрование работает
быстрее блочного

19. Сравнение поточных и блочных шифров

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

20. Примеры симметричных шифров

■ AES - самый популярный из современных симметричных шифров. Он быстрый и
стойкий. AES – блочный шифр с размером блока 128 бит.
■ RC4 – старый потоковый шифр, допускающий использование ключей длиной от
40 до 2048 бит.
■ ChaCha20 – современный потоковый шифр, стойкий и быстрый. ChaCha20
можно применять с 128 или 256-битовым ключом.

21. Другие симметричные шифры

■ Blowfish, CAST5, ГОСТ89, IDEA, RC2 и RC5, – блочные шифры с размером блока
64 бит или переменным размером блока. Эти шифры не рекомендуется
использовать для очень длинных шифртекстов (длиннее 32 ГиБ) изза коллизионных атак и парадокса дней рождения.
■ ARIA, Camellia, SEED и SM4, – блочные шифры со 128-битовыми блоками. При
таком размере блока можно шифровать очень длинные открытые тексты (до 256
экзабайт), не опасаясь коллизионных атак.

22. Другие симметричные шифры

Национальные шифры разрабатываются и стандартизируются в конкретной стране.
Зачастую такие шифры хороши, но не очень популярны за пределами страны
происхождения.
■ CAST5 или CAST-128 - долгое время был симметричным шифром по умолчанию в
программе GNU Privacy Guard (GnuPG), пока его не заменили на AES. CAST5 –
один из стандартных шифров, используемых канадским правительством.
■ ГОСТ89, или Магма, – старый государственный стандартный шифр, применявшийся в СССР, а затем в России. На смену ГОСТ89 пришел
шифр ГОСТ2015, или Кузнечик, но ГОСТ89 при этом не был объявлен
устаревшим.

23. Другие симметричные шифры

■ SEED и ARIA – южнокорейские шифры.
■ Camellia – 128-битовый блочный шифр, разработанный в 2000 году в Японии
компаниями NTT и Mitsubishi Electric.
■ SM4 – китайский национальный стандарт и используется в беспроводных
локальных сетях (LAN) в Китае.
English     Русский Правила