Fiat Cryptography, как называется код, в настоящее время обеспечивает около 90% коммуникаций Google Chrome. Исследователи представили свой доклад на симпозиуме EEE по безопасности и конфиденциальности в мае, хотя эта технология была первоначально создана и развернута в лабораториях MIT еще в 2018 году.
Таким образом, еще год назад новая система шифрования данных в интернете была создана криптографами, которые писали и переписывали алгоритмы, вручную изучая различные математические методы и архитектуры чипов для оптимизации производительности. Кроме того, они пытались решить проблемы, с которыми сталкиваются все подобные проекты. Помимо очевидной проблемы человеческого фактора и неоптимальных алгоритмов, со временем математика или архитектура микросхем, для которых были написаны алгоритмы, устареет, а это значит, что придется все начинать сначала.
Исследователи сначала искали решение на языках программирования C и ассемблера и перенесли эти методы в свою библиотеку кода - список самых эффективных алгоритмов для каждой архитектуры. Используя компилятор для преобразования языков программирования в код, алгоритмы затем автоматически проверяются с помощью Coq - средства проверки математических теорем. Каждая итерация тестируется перед тем, как будет выбрана наиболее эффективная для конкретной архитектуры чипа.
В ходе этого процесса исследователи использовали существующий рукописный код и обнаружили, что автоматизированный процесс генерации ключей и сертификатов для шифрования данных соответствует производительности лучшего написанного вручную кода, но завершает его намного быстрее.
«По сути, это все равно, что взять процесс, который осуществляется в человеческом мозге, и понять его достаточно хорошо, чтобы написать код, имитирующий этот процесс», - сказал исследователь CSAIL Адам Чипала (Adam Chlipala), работавший над проектом.
С тех пор Fiat Cryptography была применена в Google BoringSSL - криптографической библиотеке с открытым исходным кодом, используемой Google Chrome, приложениями Android и другими программами. Вместе с Чипала над проектом работали аспиранты CSAIL Андрес Эрбсен (Andres Erbsen) в качестве первого автора, Джейд Филипум (Jade Philipoom) и Джейсон Гросс (Jason Gross) в качестве соавторов, а также Роберт Слоун (Robert Sloan).
В настоящее время исследователи работают над тем, чтобы заставить компилятор работать еще быстрее при поиске оптимизированных алгоритмов.