Выпущена версия 2 Cryptol


Выпущена версия Cryptol с открытым исходным кодом. Язык разработан специально для криптографии, и хотя это первая общедоступная версия, язык находится в стадии разработки и используется уже почти 15 лет.

Cryptol был первоначально разработан Галуа для Агентства национальной безопасности США, но он также используется частными компаниями.

Написав о новом выпуске в блоге компании, команда отмечает, что Cryptol помогает разработчикам обнаруживать (или избегать) ошибок корректности в криптографическом коде. Они говорят, что Cryptol сокращает разрыв между эталонной спецификацией криптографического алгоритма и исполняемой версией, которую можно использовать для тестирования и проверки.

Проблема со многими криптографическими алгоритмами заключается в том, что они написаны в научных статьях в математической нотации, которая не является исполняемой. Затем она преобразуется в «эталонную реализацию», которая отличается от математической, и эта эталонная реализация затем используется в приложениях, но не было простого способа проверить точность эталонной реализации по математической спецификации.

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

Используя спецификацию в Cryptol, программисты могут генерировать свои собственные тестовые векторы, доказывать теоремы и (используя другие инструменты) проверять эквивалентность своим собственным программам или генерировать код или оборудование из спецификации.

Разработчики говорят, что Cryptol — это мощный инструмент для использования возможностей решателей SMT, таких как Yices, Z3 и CVC4. Версия с открытым исходным кодом размещена на GitHub. Если вы хотите увидеть диапазон возможных применений, загрузка включает в себя папку funstuff с решениями головоломок, таких как судоку, закодированными в Cryptol, которые затем можно решить с помощью команды: sat.


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