# Украинские стандарты криптографии
Есть несколько реализаций украинских стандартов криптографических функций.
В рамках SED мы используем код IIT для работы с ключами на фронтенде, и код компании "Автор" для реализации проверки КЕП на бекенде.
У нас нет прав на использование кода компании "Автор", поэтому мы инициировали процесс интеграции Криптонита.
https://github.com/privat-it/cryptonite
Erlang поддерживает NIF (код Автора так же подключен как NIF), это интероп из BEAM в C код. В ходе разбора кода Cryptonite пришли к выводу, что он содержит много артефактов, которые могут быть заменены стандартными реализациями доступными в виде биндинга к OpenSSL. Соответственно стоит задача подключить Cryptonite через интероп, одновременно с этим убрав те части кода которые могут быть заменены на уже существующие функции.
Основная проблема NIF в механизме обработки ошибок возникающих в нем — они приводят к Panic самой виртуальной машины BEAM. Поэтому желательно уменьшить количество логики выполняемой в интеропе.
[Certificate Authority](/PLmMG-j6QqKk2sF1JwFkuQ?both)