- PVSM.RU - https://www.pvsm.ru -

Дайджест последних достижений в области криптографии. Выпуск нулевой

Дайджест последних достижений в области криптографии. Выпуск нулевой - 1

Привет!
Хотелось бы в одной статье вкратце рассказать о достижениях математиков, которыми мы уже пользуемся или скоро будем.
Начнем

Post-Quantum crypto

Ни для кого не секрет, что грядут квантовые компьютеры. И как только они станут работать в полную силу, публичноключевой криптографии в современном её понимании придет конец. RSA, DSA, ECC, DH. Все современные популярные криптопримитивы для обмена ключами и подписей станут мусором. К счастью, есть свет в конце тоннеля и в последние годы идут активные исследования алгоритмов, устойчивых к взлому на квантовых компьютерах. Проводятся ежегодные конференции [1] на эту тему и уже есть первые рекомендации по алгоритмам, которые можно использовать для противодействия квантовым компьютерам.

image

Многие из этих алгоритмов давно существуют и хорошо изучены. McEliece, например, создан в 1978 году. Hash based signatures [2] (слайды об XMSS signatures [3], pdf) тоже родом из 80х. Единственное — размеры ключей, передаваемых данных, скорость работы и т.п. у асимметричных алгоритмов могут быть не такими удобными как сейчас.

Nonce-misuse-resistance и AEAD-режим блочного шифрования [4]

Довольно старая штука, но про неё мало кто знает. В 2000 году была предложена схема, которая позволяла получить сообщение, состоящее из зашифрованных данных, незашифрованной служебной части, например, размера пакета, и некоего значения, зависящего от ключа, которое позволяло аутентифицировать всё сообщение целиком. Этот режим шифрования оказался настолько удобным, что в 2007 году NIST приняла одну из его реализаций — AES GCM [5] как стандарт. В современных процессорах intel даже инструкция специальная есть PCLMULQDQ [6] помимо AES-NI, которая позволяет реализовывать этот режим очень шустрым образом.

Проблема в том, что все AEAD алгоритмы обязательно требуют некое дополнительно значение nonce, которое обязано быть разным для разных сообщений, шифруемых одним ключом. Не обязательно случайным, просто разным. Иначе ваша криптография превратится в тыкву. Т.е. либо использовать счетчик какой-то и хранить состояние, либо использовать случайные nonce и надеяться, что они не совпадут. Буквально на днях группа исследователей опубликовала атаку на TLS [7], которая как раз эксплуатирует уязвимость nonce reuse. Там и Visa уязвима и еще половина всех серверов в интернете, довольно серьезная дырка.

Чтобы обезопасить таких вот криворуких реализаторщиков хороших алгоритмов, устроили крипто контест CAESAR, целью которого является найти лучший алгоритм AEAD, в том числе защищенный от атак типа nonce reuse/misuse.
Самыми перспективными считаются HS1-SIV [8] (PDF) и AES-GSM-SIV [9] (pdf)
Второму так вообще не нужно ничего нового, он использует уже существующие инструкции AES-NI и PCLMULQDQ, поэтому очень шустрый. Даже реализацию [10] запилили на гитхабе.

Noise protocol

Если вы следите за новостями, то в курсе, что WhatsApp включил шифрование для всех по умолчанию. Используют они лучший, на мой взгляд, протокол Signal, но это не самое интересное в новости.
Создатель протокола Signal Trevor Perrin так же разработал легковесную замену TLS, noise protocol [11]. Это не просто протокол, это фреймворк для построения безопасных протоколов передачи данных. И WhatsApp используют его для сетевого уровня взаимодействия. Он гораздо проще TLS и гораздо более дуракоустойчив. Вот, даже видео сняли с объяснением того, как он работает

Реализации уже есть на C, Go, Haskell и Rust(от самого автора). Будет приятно увидеть реализацию у какого-нибудь гугла, вещь стоящая.

ARGON2

Я уже ранее писал [12] об этом memory hard алгоритме для получения хэшей паролей. Повторюсь — хватит использовать просто хэш(соль+пароль), используйте нормальные KDF вроде scrypt, bcrypt или превосходящий их по характеристикам ARGON2. Из нового — появились хорошие слайды [13] (pdf) с последней конференции, и не стоит забывать о коинах на его основе. Может получиться довольно перспективная валюта без asicов.

Реверс инжиниринг S-box шифра «Кузнечик»

Дайджест последних достижений в области криптографии. Выпуск нулевой - 3
Интересный анализ новых российских алгоритмов шифрования и хеширования «Кузнечик», «Стрибог» и «Стрибоб» от Alex Biryukov, Leo Perrin, Aleksei Udovenko показывает, что ключевой элемент — таблица замены размером 16x16 была сгенерирована не случайным образом, как утверждают разработчики, а с помощью скрытого алгоритма (pdf [14])

Дайджест последних достижений в области криптографии. Выпуск нулевой - 4

Довольно интересный результат, который наводит на подозрения о скрытом бекдоре. Иначе, зачем врать?

На этом у меня всё, увидимся в новых дайджестах!

Автор: Scratch

Источник [15]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/121164

Ссылки в тексте:

[1] конференции: https://pqcrypto2016.jp/

[2] Hash based signatures: https://en.wikipedia.org/wiki/Merkle_signature_scheme

[3] слайды об XMSS signatures: https://www.ietf.org/proceedings/interim/2016/05/12/cfrg/slides/slides-interim-2016-cfrg-1-3.pdf

[4] AEAD-режим блочного шифрования: https://ru.wikipedia.org/wiki/AEAD-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC_%D0%B1%D0%BB%D0%BE%D1%87%D0%BD%D0%BE%D0%B3%D0%BE_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F

[5] AES GCM: https://en.wikipedia.org/wiki/Galois/Counter_Mode

[6] PCLMULQDQ: https://en.wikipedia.org/wiki/CLMUL_instruction_set

[7] опубликовала атаку на TLS: https://github.com/nonce-disrespect/nonce-disrespect

[8] HS1-SIV: https://competitions.cr.yp.to/round2/hs1sivv2.pdf

[9] AES-GSM-SIV: https://www.ietf.org/proceedings/interim/2016/05/12/cfrg/slides/slides-interim-2016-cfrg-1-7.pdf

[10] реализацию: https://github.com/Shay-Gueron/AES-GCM-SIV

[11] noise protocol: http://noiseprotocol.org/index.html

[12] писал: https://habrahabr.ru/post/281569/

[13] хорошие слайды: https://www.ietf.org/proceedings/interim/2016/05/12/cfrg/slides/slides-interim-2016-cfrg-1-6.pdf

[14] pdf: https://eprint.iacr.org/2016/071.pdf

[15] Источник: https://habrahabr.ru/post/301180/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best