Краткий обзор алгоритмов шифрования постквантовой эпохи


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


Post-Quantum crypto

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

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

Довольно старая штука, но про неё мало кто знает. В 2000 году была предложена схема, которая позволяла получить сообщение, состоящее из зашифрованных данных, незашифрованной служебной части, например, размера пакета, и некоего значения, зависящего от ключа, которое позволяло аутентифицировать всё сообщение целиком. Этот режим шифрования оказался настолько удобным, что в 2007 году NIST приняла одну из его реализаций — AES GCM как стандарт. В современных процессорах intel даже инструкция специальная есть PCLMULQDQ помимо AES-NI, которая позволяет реализовывать этот режим очень шустрым образом.
Проблема в том, что все AEAD алгоритмы обязательно требуют некое дополнительно значение nonce, которое обязано быть разным для разных сообщений, шифруемых одним ключом. Не обязательно случайным, просто разным. Иначе ваша криптография превратится в тыкву, т.е. либо использовать счетчик какой-то и хранить состояние, либо использовать случайные nonce и надеяться, что они не совпадут. Буквально на днях группа исследователей опубликовала атаку на TLS, которая как раз эксплуатирует уязвимость nonce reuse. Там и Visa уязвима и еще половина всех серверов в интернете, довольно серьезная дырка.
Чтобы обезопасить таких вот неумелых реализаторщиков хороших алгоритмов, устроили крипто контест CAESAR, целью которого является найти лучший алгоритм AEAD, в том числе защищенный от атак типа nonce reuse/misuse.
Самыми перспективными считаются HS1-SIV (PDF) и AES-GSM-SIV (pdf)
Второму так вообще не нужно ничего нового, он использует уже существующие инструкции AES-NI и PCLMULQDQ, поэтому очень шустрый. Реализация уже доступна на гитхабе.

Noise protocol

Если вы следите за новостями, то в курсе, что WhatsApp включил шифрование для всех по умолчанию. Используют они лучший, на мой взгляд, протокол Signal, но это не самое интересное в новости.
Создатель протокола Signal Trevor Perrin так же разработал легковесную замену TLS, noise protocol. Это не просто протокол, это фреймворк для построения безопасных протоколов передачи данных. И WhatsApp используют его для сетевого уровня взаимодействия. Он гораздо проще TLS и гораздо более дуракоустойчив. Вот, даже видео сняли с объяснением того, как он работает
Реализации уже есть на C, Go, Haskell и Rust(от самого автора). Будет приятно увидеть реализацию у какого-нибудь гугла, вещь стоящая.

ARGON2

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

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


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

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


О передовых методах генерации случайных чисел


Учёные из университета Техаса предложили новый метод генерации случайных чисел, который позволяет комбинировать две относительно некачественные последовательности случайных чисел и получать качественный результат. Открытие может иметь далекоидущие последствия в области криптографии.
Исследования в этой области ведутся не одно десятилетие, но специалисты полагают, что в данном случае был совершён прорыв. До сих пор функции, которые генерируют качественные случайные последовательности на основе пары менее качественных, нуждались в более качественном «сырье».
Научная работа, описывающая новый метод, была опубликована в марте, а в июне её авторы, Дэвид Цукерман и Ишан Чаттопадхья, расскажут о своём открытии на симпозиуме по теории алгоритмов, которую проводит международная Ассоциация вычислительной техники (ACM).
В работе Цукермана и Чаттопадхьи предложена функция, принимающая случайные последовательности на n бит из двух источников со значениями мин-энтропии не менее logCn для достаточно большого значения C и выдающая случайный бит с ошибкой n−Ω(1). Лучший метод, известный ранее, требовал более качественных источников с мин-энтропией 0,499n.

Мы продемонстрировали, что если у вас есть два низкокачественных источника случайных чисел, — а источники невысокого качества куда проще найти, — и они независимы друг от друга и не коррелируют между собой, то их можно комбинировать и получить случайное число высокого качества, — объясняет Цукерман.


Источник

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s