ГОСТ-криптография и GnuPG
Недавно в libgcrypt начали добавлять поддержку российских криптоалгоритмов.
На текущий момент есть симметричный шифр (28147-89) и хэш-функции (как старая,
так и Стрибог). ЭЦП будет позже. (Кстати, а ЭЦП по 34.10-94 кому-нибудь
реально нужна? А то влом реализовывать.)
1. Принимаются критика у улучшения.
2. Есть ли у кого-нибудь желание озаботиться дизайном/реализацией для поддержки
алгоритмов в OpenPGP? GnuPG использует именно libgcrypt в качестве
криптобиблиотеки.
комментариев: 11558 документов: 1036 редакций: 4118
Для официальной поддержки любых новых алгоритмов в OpenPGP нужен дополнительный IETF-стандарт с описанием параметров и резервированием идентификаторов, за примером отсылаю к стандарту на Camellia (с асимметричными алгоритмами документ будет несколько сложнее). Всё это надо проталкивать через рабочую группу OpenPGP, так как именно этим людям реализовывать эти расширения в конечных приложениях. Пишите в список рассылки OpenPGP WG.
комментариев: 12 документов: 3 редакций: 4
а от конкретных людей.
Я опасаюсь, что в одиночку мне целиком создание спеки не потянуть. Поэтому и ищу поддержку.
Сильные шифры, которыми стоит пользоваться, IMHO, — AES и Twofish. Возможно, ещё Serpent. Короче, финалисты конкурса AES. А Camellia тоже не нужна, как и прочая экзотика.
комментариев: 11558 документов: 1036 редакций: 4118
Берёте RFC5581 за шаблон и обновляете своими параметрами. Как я уже сказал, спецификация — не главное. В первую очередь Вам потребуется заинтересовать участников рабочей группы: она хоть и носит неформальный характер, но без поддержки, прежде всего, разработчиков GnuPG, спецификация будет просто валяться в архиве IETF. Если же формализация Вас не интересует, можете использовать зарезервированные в RFC4880 private-идентификаторы, а сами алгоритмы добавить в GnuPG в виде подключаемых библиотек, как это делали с IDEA.
С каким именно набором S-блоков?
Насколько помнится в RFC 4357 живет большая подстава. И не соответствует требованиям предъявляемым ФСБ к реализации ГОСТов.
В общем, не пожалейте времени на общение с теми, кто сертифицировал и помнит нюансы требований к реализации этих алгоритмов.
Потому ряд продуктов других российских компаний имеют два режима. Один из которых сводится к поддержке этого самого RFC 4357. Для совместимости с теми решениями других компаний, которые имеют более низкий уровень сертификации.
комментариев: 12 документов: 3 редакций: 4
Пока что поддерживаются только S-блоки из примера в ГОСТ Р 34.11-94.
Как только придумаю, как именно удобно передавать настройки S-блоков
из вышележащего кода, можно будет добавить остальные блоки.
Основные направления интереса – GnuPG (S/MIME, OpenPGP), GnuTLS (PKI,
TLS под вопросом).
Это массив из восьми uint64.
И если на С++, то
комментариев: 12 документов: 3 редакций: 4
комментариев: 11558 документов: 1036 редакций: 4118
Его нельзя использовать в GnuPG. Потому что наборов S-блоков для ГОСТа существует от шестнадцати и более:
При таком зоопарке имеет смысл брать лишь iso-шный вариант. Например, в своих работах Куртуа использовал набор S-блоков «хрен поймешь откуда взятый». За что и был подвергнут жесткой критики со стороны сообщества. Вполне логично, что в следующий раз он и ему подобные возьмут уже iso-шный вариант. Тем самым в GnuPG будет использован наиболее часто колупаемый вариант.
GnuPG живет в своем собственном мирке и нет вопроса совместимости с другими криптографическими продуктами российского, украинского или белорусского происхождения. Потому нет надобности зашивать все ныне известные наборы S-блоков.
комментариев: 9796 документов: 488 редакций: 5664
[off]
Fix по поводу причины и следствия:
Продукты российского, украинского или белорусского происхождения живут в своём мирке, поэтому у GnuPG нет вопроса совместимости с ними.
[/off]
Тусовка GnuPG — это толпа криптопанков. Долго и нудно ложивших с прибором как на промышленные стандарты сродни PKCS, так и на существующие де-факто. Достаточно вспомнить сколько лет GnuPG огораживалось ото всего мира убогим OpenPGP и когда начали прикручивать поддержку S/MIME и PKI.
комментариев: 9796 документов: 488 редакций: 5664
А кому оно может быть надо, когда есть уже ГОСТы 34.10-2012 и 34.11-2012?