Pull to refresh
  • by relevance
  • by date
  • by rating

ФСБ рекомендует внедрить шифры «Магма» и «Кузнечик» в TLS 1.3 для сайтов Рунета

Information Security *Website development *Cryptography *Legislation in IT


Технический комитет по стандартизации «Криптографическая защита информации» (ТК 26) подготовил проекты рекомендаций по использованию отечественных криптографических алгоритмов «Магма» и «Кузнечик» в ключевых протоколах интернета. Деятельностью комитета руководит ФСБ.
Читать дальше →
Total votes 21: ↑19 and ↓2 +17
Views 17K
Comments 119

В ГОСТе сидел «Кузнечик»

Information Security *Cryptography *Algorithms *
Sandbox
В июне этого года в России был принят новый стандарт блочного шифрования — ГОСТ Р 34.12-2015. Этот стандарт помимо старого доброго ГОСТ 28147-89, который теперь называется «Магма» и имеет фиксированный набор подстановок, содержит описание блочного шифра «Кузнечик». О нем я и расскажу в этом посте.
Читать дальше →
Total votes 30: ↑27 and ↓3 +24
Views 64K
Comments 11

«Боевая алгебра» или криптография «по ГОСТу»

Information Security *Cryptography *Algorithms *IT Standards *
Sandbox
На первый взгляд название статьи абсурдно, видимо единственное, что приходит на ум читателю, это использование расчетных методов в баллистике. Но там скорее боевая физика, нежели боевая математика. Область применения «чистой» математики в военной сфере — криптография. О важности темы распространяться не буду, это понятно еще со времен «Энигмы». В настоящее время в криптографии проходят очень тревожные события, на которые, к сожалению, не реагируют Российские специалисты. А если и реагируют, то очень специфическим образом, об этом уже писалось, но видимо мало, придется продолжить тему.

«Особенности национальной криптографии»


В середине 2015 года были принято несколько новых ГОСТов стандартизирующих криптографические операции. Даже титульные листы этих важнейших государственных документов вызывают, мягко говоря, недоумение. Посмотрите, вот один из них:

image

Я тоже «впервые» вижу официальные документы особой государственной важности в разработках которых принимала участие некая коммерческая фирма из разряда «Рога и Копыта».

Фирма «Инфотекс» не имеет даже собственного помещения и размещается на площадях «Офисного торгового центра» (цитата с сайта компании). Кто не верит, может убедиться сам, вот ссылка на публичный сайт этой фирмы.

Разрабатывались, между прочим, стандарты криптографических алгоритмов, а не ГОСТ на производство Докторской колбасы…
Читать дальше →
Total votes 36: ↑14 and ↓22 -8
Views 13K
Comments 13

Реализация блочного шифра «Кузнечик» с режимом CFB на С++

Cryptography *Programming *C++ *
Sandbox
Сегодня речь пойдёт о новом алгоритме блочного шифрования «Кузнечик» из стандарта ГОСТ Р 34.12 2015. В последнее время выходит множество публикаций, посвященных этому стандарту. В них с теоретической точки зрения описываются приведённый алгоритм, изучаются особенности отельных преобразований, а так же предлагаются способы оптимизации, путём включения вставок кода на языке ассемблера.

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

Структура программы


Программа состоит из трех частей
  • набор вспомогательных функций и классов — mycrypto.cpp mycrypto.hpp
  • блочный шифр «Кузнечик» — Kuznyechik.cpp Kuznyechik.hpp
  • режим шифрования Cipher Feed Back — modes.hpp
Читать дальше →
Total votes 32: ↑28 and ↓4 +24
Views 18K
Comments 18

Третье пришествие ГОСТ 28147-89 или «Русская рулетка»

High performance *Information Security *Cryptography *Programming *Development for Windows *
Recovery mode
До середины 60х годов прошлого века, в эпоху арифмометров и логарифмических линеек, криптографические системы разрабатывали инженеры. Тогда роль математиков сводилась к криптоанализу и внедрению в алгоритмы скрытых бэкдоров.

С появлением ЭВМ, математики полностью оккупировали тему криптографии, цифровое представление данных их вотчина.

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

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

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

Примером такого подхода является алгоритм симметричного шифрования «Кузнечик», реализовать его эффективно в программных кодах х86-64 невозможно.

Сделаем все наоборот и посмотрим, что получится…
Читать дальше →
Total votes 21: ↑4 and ↓17 -13
Views 6.6K
Comments 15

Очередные странности в алгоритмах ГОСТ Кузнечик и Стрибог

Virgil Security, Inc. corporate blog Information Security *Cryptography *
Привет, %username%!

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

Читать дальше →
Total votes 165: ↑156 and ↓9 +147
Views 69K
Comments 288

Криптографический алгоритм «Кузнечик»: просто о сложном

Cryptography *Java *Algorithms *
Sandbox
В данной статье будет подробно рассмотрен алгоритм блочного шифрования, определенный в ГОСТ Р 34.12-2015 как «Кузнечик». На чем он основывается, какова математика блочных криптоалгоритмов, а так же как реализуется данный алгоритм в java.

Кто, как, когда и зачем разработал данный алгоритм останется за рамками статьи, так как в данном случае нас это мало интересует, разве что:

КУЗНЕЧИК = КУЗнецов, НЕЧаев И Компания.



Так как криптография в первую очередь основана на математике, то чтобы дальнейшее объяснение не вызвало уймы вопросов сначала стоит разобрать базовые понятия и математические функции, на которых строится данный алгоритм.
Читать дальше →
Total votes 46: ↑39 and ↓7 +32
Views 39K
Comments 51

Шифруем по-русски, или отечественные криптоалгоритмы

Information Security *Cryptography *Algorithms *
Sandbox

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

Читать далее
Total votes 41: ↑38 and ↓3 +35
Views 11K
Comments 51

Улучшаем Кузнечик на Rust

Cryptography *Rust *
Sandbox

Порой, простое и красивое решение лучше правильного и выдержанного. Возможно, именно так бы и было, если в жизни всё происходило как в учебниках. На практике же, нужно пройти долгий путь, чтобы создать задуманное.

Отступая от лирики, в данной статье я хочу рассказать заинтересованному читателю про шифрование по ГОСТ, а именно – алгоритм «Кузнечик», и про то, что стоит обратить внимание на новые и перспективные средства – язык Rust.

Читать далее →
Total votes 26: ↑21 and ↓5 +16
Views 5.1K
Comments 30

Лучше поздно, чем никогда: К 25-летию создания алгоритма криптографической защиты информации ГОСТ 28147-89

Information Security *Cryptography *Mathematics *History of IT Popular science

I. Предисловие


Всё началось с того, что 26 января 2021 года в одноклассниках мне пришло сообщение от Валерия Иванова:
Владимир, в ВА им. Дзержинского вы когда учились и в какой группе?

Я написал Валерию:
1971-1976 г.г. 25 кафедра, НК-25 — Захаров В.Н., начальник курса — п-к Григорьев, курсовой — Кузнецов Ю.М. 1979-1982 г.г. адъюнктура 25 кафедры

И от него пришёл ответ:
Володя, я Иванов Валерий Петрович, сверхсрочник, 23 группа....
Да, я помнил его. Он был единственным сверхсрочником на нашем курсе в Военной Академии им. Ф.Э. Дзержинского (сокращённо ВАД).
В те годы Академия им. Ф.Э. Дзержинского располагалась в столице нашей Родины Городе-Герое Москве на набережной Москвы- реки в Китай-городе:
Читать дальше →
Total votes 19: ↑12 and ↓7 +5
Views 7.2K
Comments 30

На пути к вершине: Магма и Кузнечик на Эльбрусе

High performance *Cryptography *CPU
Sandbox

В последнее время всё чаще появляются статьи о производительности российских процессоров Эльбрус на различных задачах. Тема криптографии пока что остаётся за кадром, хотя в разное время были упоминания то о высоких возможностях Эльбруса (некий ГОСТ лучше в 9 раз на Эльбрус-4С, чем на Intel Core i7-2600), то о плохой оптимизации компилятора и, соответственно, крайне низкой скорости реализованных алгоритмов (Кузнечик в 100 раз медленнее, чем на Intel?). Предлагаю наконец разобраться, что может Эльбрус, на примере двух ГОСТ алгоритмов симметричного шифрования.

Так что он может?
Total votes 46: ↑46 and ↓0 +46
Views 14K
Comments 35

По пути к вершине Эльбруса: Кузнечик на DSP

Миландр corporate blog Cryptography *Programming microcontrollers *
Sandbox
Tutorial

C интересом прочитал статью о впечатляющих показателях  процессора Эльбрус  на алгоритме шифрования  Кузнечик.  В этой же статье приведена ссылка на проект  с реализацией указанного алгоритма.    Вот мне и захотелось   посмотреть, как пойдет  реализация этого алгоритма шифрования на сигнальном процессоре  К1967ВН44(28) , с которым мне часто приходится работать.  

Шаг за шагом

DSP   серии  К1967ВНхх  имеют собственную среду разработки CM-LYNX , компилятор С и С++ на базе Clang.   Этого набора достаточно чтобы попробовать  сделать оценку производительности процессора  на указанной выше реализации алгоритма . В архиве проекта   два файла: в одном 8-битная версия   алгоритма, а в другом 128-битная версия, т.е. вариант для процессоров поддерживающих операции со  128-разрядными числами.  

Для полноты эксперимента, начинаю с 8-битной версии. После компиляции и запуска на отладочной плате К1967ВН44, при максимально возможном уровне оптимизации  –О2,  получаю результат

Self-test OK!

kuz_encrypt_block(): 54.804 kB/s (n=200kB,t=3.649s)

kuz_decrypt_block(): 52.435 kB/s (n=200kB,t=3.814s) 

Программа    информирует , что тест самопроверки  прошел успешно , а затем производит замер скорости шифрования-дешифрования. По умолчанию, в инструментальном софте для платы К1967ВН44 используется определение  частоты процессора 250 МГц. Для этой частоты и произведены вычисления.            

Чтобы понять, что это за уровень скорости  54.804 kB/s, приведу аналогичный показатель последовательной обработки для процессора Эльбрус(8СВ) -  150 мегабайт в секунду на одном ядре. До Эльбруса  нужно еще ускориться где-то в 3 000 раз.  

Читать далее
Total votes 47: ↑46 and ↓1 +45
Views 4.7K
Comments 6

Он вам не саранча! Тяжелые будни серого кузнечика

Reading room Popular science Biology

Бывает, что в жизни мы сталкиваемся с непониманием, встречая незнакомцев по одежке, а книжки выбирая по обложке. То же самое случается и с животным миром. Нет, сегодняшний пост не про мимикрию — о ней вы можете почитать здесь. Сегодня мы поговорим об одном из самых недооцененных и страдающих от предрассудков насекомых — сером кузнечике.

Читать далее
Total votes 64: ↑59 and ↓5 +54
Views 9.9K
Comments 36