Jump to content

    
Sign in to follow this  
uriy

ГОСТ 34.12-2015 шифрование кузнечик

Recommended Posts

Ищу исходники шифрования по алгоритму кузнечик в режиме гаммирования. На гитхабе нашел несколько вариантов но у меня они не работают, либо я что-то делаю не так.

Есть исходники для работы с фиксированной длиной блока 128 бит, они работают. Прочитав ГОСТ я не понимаю как это переделать в режим гаммирования. 

Share this post


Link to post
Share on other sites

Ну да я этот термин только в наших ГОСТах по шифрованию встречал. Это режим в котором размер блока может быть произвольным.

У буржуев кажется это называется режим CTR 

Share this post


Link to post
Share on other sites
4 минуты назад, Herz сказал:

Простите дилетанта, а что это такое "режим гаммирования"? Это такой зашифрованный термин из обихода шифровальщиков?

Блин, первая же ссылка в гугле - неплохо интересно расписано https://tech-geek.ru/gost-34-13/

гаммирование == XOR

режим гаммирования  (CTR, от английского Counter);

Share this post


Link to post
Share on other sites
3 минуты назад, Andreas1 сказал:

Блин, первая же ссылка в гугле

За "блин" первое предупреждение, пока "устно". Если без "блина" выражаться не получается, лучше воздержитесь от комментариев.

Share this post


Link to post
Share on other sites
27 minutes ago, Andreas1 said:

гаммирование == XOR

Не совсем так. Это процесс зашифрования/расшифрования - XOR открытого/шифртекта с гаммой шифра.

Сама же гамма шифра - это зашифрование счëтчика в режиме простой замены (ECB). Таким образом, гамма шифра будет всегда кратна размеру блока. А уже потом, в побитовом  XOR, используйте столько бит, сколько нужно.

Edited by one_eight_seven

Share this post


Link to post
Share on other sites
3 минуты назад, one_eight_seven сказал:

Не совсем так. Это процесс зашифрования/расшифрования - это XOR открытого/шифртекта с гаммой шифра.

Судя по сайту есть 2 понятия

гаммирование(процесс) -  "Гаммирование — это наложение (или снятие при расшифровке сообщений) на открытое (или зашифрованное) сообщение так называемой криптографической гаммы..... Наложение (или снятие) гаммы на блок сообщения в рассматриваемом нами стандарте реализуется с помощью операции побитного сложения по модулю 2 (XOR)."

гаммирование(режим) - "В режиме гаммирования инициализирующий вектор формируется дополнением нулями синхропосылки до размера одного блока используемого алгоритма блочного шифрования. В случае «Магмы» длина синхропосылки равна четырем байтам, длина инициализирующего вектора — восьми. Вторая часть инициализирующего вектора (заполненная нулями) будет использоваться в качестве того самого счетчика (Counter), который и лег в основу англоязычного сокращения CTR."

Зачем фактически одним словом назвали разные понятия непонятно, но похоже это так.

 

Share this post


Link to post
Share on other sites
4 minutes ago, Andreas1 said:

Зачем фактически одним словом назвали разные понятия непонятно, но похоже это так.

 

Нет. Это не так. Я тот сайт не читал, поэтому, зачем они, на том сайте, смешали два разных понятия, мне неизвестно: стандарт и без этого написан путано и непоследовательно, и не нуждается в дополнительном усложнении. В стандарте такого двойного использования термина "гаммирование"- нет.

Share this post


Link to post
Share on other sites
14 минут назад, one_eight_seven сказал:

Нет. Это не так. Я тот сайт не читал, поэтому, зачем они, на том сайте, смешали два разных понятия, мне неизвестно:

Теперь и меня запутали)

Т.е гаммирование это XOR именно с шифрованным счетчиком(и только с ним), а если XOR с предыдущим шифроблоком(CBC) это уже не то?

Share this post


Link to post
Share on other sites

Да, именно так. Наиболее близкий к CTR в этом плане - OFB, там тоже через процедуру шифрования не проходит шифруемое сообщение, а только вектор инициализации, а далее делается XOR результата с текстом. И так же, как в CTR используется только прямая операция и для зашифрования, и для расшифрования. И там термина "гаммирование" не применяется. Есть и другие режимы подобного типа.

Edited by one_eight_seven

Share this post


Link to post
Share on other sites
On 8/20/2021 at 5:32 PM, VladimirG said:

https://disk.yandex.ru/d/D_a59rXJcULEwg

Посмотрите архив. Может там что полезное.

Спасибо! У вас там есть вот такая функция "тестирование режима ctr алгоритма "кузнечик"" Но почему-то в функциях используются названия 28147-14. Номер старого госта и рядом странный год 14. Не прокомментируете что это?

Share this post


Link to post
Share on other sites

Исходники работают! Там есть большая таблица multTable на 64 КБайта. Нет ли варианта реализации без этой таблицы? У меня были планы затолкать это в контроллер, где свободной флешки около 40 КБайт :mda:

Share this post


Link to post
Share on other sites
36 minutes ago, uriy said:

Исходники работают! Там есть большая таблица multTable на 64 КБайта. Нет ли варианта реализации без этой таблицы?

Есть. Он приведëн в стандарте. Mult table - это предварительно посчитанные результаты объединения L и S функций. Обе функции отдельно описаны в стандарте.

2 hours ago, uriy said:

 28147-14. Номер старого госта и рядом странный год 14. Не прокомментируете что это?

Предварительная версия стандарта, если правильно помню, то принят он не был, и послужил материалом для нового стандарта ГОСТ 34.12-2015 (уже заменëн стандартом 34.12-2018).

Edited by one_eight_seven

Share this post


Link to post
Share on other sites
3 hours ago, uriy said:

Спасибо! У вас там есть вот такая функция "тестирование режима ctr алгоритма "кузнечик"" Но почему-то в функциях используются названия 28147-14. Номер старого госта и рядом странный год 14. Не прокомментируете что это?

К сожалению нет, я когдато давно скачал этот архив в предверии вероятного проекта, но проекта так и не случилось.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this