На выходных решил поискать open-source реализации отечественных криптографических стандартов. Прежде всего интересовали новые: хэш-функция Стрибог (ГОСТ Р 34.11-2012), Кузнечик (ГОСТ Р 34.12-2015) и ЭЦП (ГОСТ Р 34.10-2012 или 2001 (без 512-бит) ). Старый ГОСТ 28147-89 специально не искал, поскольку найти его реализацию никаких проблем нет уже давно.
Итак, давайте посмотрим, что же получилось. Сразу предупреждаю, что корректность реализаций не проверял.
Если указал не все — пишите добавлю.
Итак, давайте посмотрим, что же получилось. Сразу предупреждаю, что корректность реализаций не проверял.
Кузнечик
- Официальная реализация ТК 26
- Реализация Маркку Сааринена (не оптимизированная )
- Реализация Романа Олейникова (не оптимизированная )
- Реализация, оптимизированная по 8/16/32/64/128-битные архитектуры
- Реализация Эрика Филиоля (не оптимизированная )
- Плагин для KeePass, реализующий Кузнечик
- JS-реализация проекта WebCrypto
- Ассемблерная реализация (UPD от @omegicus )
- C++ реализация
- Реализация на Python от @NeverWalkAloner
- Реализация на Go от @stargrave2
- Еще одна реализация на Go
- Реализация на Python on @stargrave2
- Реализация на C99 c SSE2 оптимизацией от @aaprelev
Стрибог
- Знаменитая реализация Дегтярева
- Вычисление хэш-суммы Стрибог на Qt (на основе Дегтяревской)
- Реализация Казимирова (C и sage)
- Ассемблерная от @omegicus (не оптимизированная)
- Реализация в libgcrypt
- Реализация на Java
- Чистый C
- Реализация в Gostcrypt — форке Truecrypt
- PHP реализация Колесникова (развитие Дегтяревской)
- Криптовалюта SibCoin на Стрибоге (Криптовалюта на Стрибоге, Карл!)
- JS-реализация проекта WebCrypto
- Реализация на Python
- C++ реализация
- LibreSSL
- Реализация на Go
- Оптимизированная от @Ivan_83 + HMAC
- OpenSSL engine
Подпись
- JS-реализация проекта WebCrypto
- Реализация на Python
- OpenSSL
- Реализация в libgcrypt
- Реализация от @Ivan_83
- Реализация от @NeverWalkAloner
- LibreSSL
- Реализация на Go
Если указал не все — пишите добавлю.