Краткий обзор перечня отечественных стандартов по криптографии.


Начнем сразу со схемы. Она проста и достаточно наглядна.


Базовыми структурами современной криптографии являются: блочный шифр, криптографическая хэш-функция (функция хэширования) и электронная подпись (ГОСТ оперирует термином ЭЦП, а федеральный закон «Об электронной подписи» — ЭП).

Следует отметить, что ГОСТ 34.311-95 имеет одинаковую силу с ГОСТ Р 34.11-94 «в связи с идентичностью», обозначен как действующий, несмотря на то, что ГОСТ Р 34.11-94 — заменен.

Ссылки на Госстандарт


Комментарии (22)


  1. StrangerInRed
    22.09.2015 15:23
    +12

    Очень полезно.


    1. nvv
      22.09.2015 16:02
      -4

      вы о своем комментарии?

      наглядное представление ГОСТов по порядку появления и сфере применения, надеюсь, снизит количество ошибок у «начинающих» (и в рефератах/курсовых)


      1. zorge_van_daar
        22.09.2015 17:13
        +3

        Честно говоря, в словах StrangerInRed есть доля правды. Ну что мешало сделать краткий обзор по каждому пункту, длины ключей, вероятность перебора в современных условиях, известные атаки. Показать отличия новых и старых алгоритмов. Я изучал криптографию в вузе в 2010 году, тут уже 2 госта которые разработаны позднее. Это превратило бы схемку в короткую статью — не было бы претензий к полезности.
        Мой совет — в черновики на доработку.


        1. nvv
          22.09.2015 17:33
          +1

          только 2 новых с 2010 года, не 4? (или вы знакомились с проектами ГОСТ Р 34.10/11 -2012)
          — атака перебором ключей давно уже не рассматривается серьёзно, насколько мне известно
          — длины ключей, без понимания особенностей алгоритмов и вычислительной сложности, мало что значат (если только для перебора)
          — известные а, главное, эффективные атаки — это очень большая тема, по которой есть отличные статьи


  1. gotch
    22.09.2015 17:11

    Я дилетантский вопрос задам, сугубо самообразовательного свойства, а есть какая-то таблица совместимости использования, например, алгоритма хеширования, длины хеша и алгоритма ЭЦП?


    1. lumag
      22.09.2015 17:35
      +2

      • Симметричные шифры
        • ГОСТ Р 34.12-2015 / Кузнечик — 128-битный блок, ключ 256 бит.
        • ГОСТ Р 34.12-2015 / ГОСТ 28147-89 / Магма — 64-битный блок, ключ 256 бит.

      • Хеш-функции.
        • ГОСТ Р 34.11-2015 / Стрибог — два варианта размера, 256 бит и 512 бит. Размер блока данных — 512 бит.
        • ГОСТ Р 34.11-94 /ГОСТ 34.311-95 (устарел). — 256 бит. Размер блока данных — 256 бит.

        ЭЦП
        • ГОСТ Р 34.10-2012/ ГОСТ Р 34.10-2001. Алгоритм подписи на эллиптических кривых. Изначально (2001 год) длина ключа 256 бит. В 2012 году добавлена поддержка 512-битных ключей.
        • ГОСТ Р 34.10-94 / ГОСТ 34.311-94 (устарел) — вычисления подписи над полем целых чисел. Специфицированы длины ключей 510–512 бит и 1021–1024 бит.


    1. lumag
      22.09.2015 17:58
      +2

      • Имитовставка:
        • ГОСТ Р 34.13-2015 — CMAC
        • ГОСТ 28147-89 определяет отдельный алгоритм выработки имитовставки
        • В методических документах описано использование алгорита HMAC совместно с ГОСТ Р 34.11-94 или ГОСТ Р 34.11-2012
      • Совместимость:
        • ГОСТ Р 34.10-94 уже не применяется.
        • ГОСТ Р 34.10-2001 (256 бит) может использоваться с ГОСТ Р 34.11-94 (256 бит).
        • ГОСТ Р 34.10-2012 (256 бит) может использоваться с ГОСТ Р 34.11-2012 (256 бит).
        • ГОСТ Р 34.10-2012 (512 бит) может использоваться с ГОСТ Р 34.11-2012 (512 бит).
        • При использовании в TLS используется шифрование и имитовставка по ГОСТ 28147-89 или отсутствие шифрования и имитовставка на основе HMAC + ГОСТ Р 34.11 (-94 или -2012).


  1. lockywolf
    22.09.2015 18:28
    +1

    Как они вообще соотносятся со стандартными RSA/AES/SHA512?

    Есть ли хоть одна причина выбрать их, кроме необходимости проходить что-нибудь вроде ФСТЭК?


    1. nvv
      22.09.2015 19:56

      Соотносятся в каком плане? Например: стойкость, распространенность, эффективность аппаратной реализации.
      RSA — может применяться как для ЭП, так и, теоретически, для шифрования данных
      AES — блочный шифр
      SHA512 — хэш


      1. lockywolf
        22.09.2015 19:59

        Спасибо, я знаю, зачем применяются инструменты, которые я перечислил.

        Меня интересует, в каких случаях я должен применить для решения своих задач экзотические гостовские инструменты вместо повсеместно распространённых.


        1. nvv
          22.09.2015 20:16

          это решения, требующие сертификации (только криптографией занимается ФСБ, а не ФСТЭК)
          это решения с ограничениями по эффективности реализации / потребляемым ресурсам при заданной стойкости
          это (для любителей заговоров) уверенность в качестве алгоритмов — посмотрите статьи с разоблачительными «взломами слабого и ненадежного ГОСТ», которые препятствовали международной стандартизации ISO www.tc26.ru/ISO_IEC/ISO28147-89/index.php


          1. lockywolf
            22.09.2015 22:00

            По первому и третьему пункту вопросов нет. Первый вообще не имеет отношения к технологии, третий же не поддаётся проверке в связи с кардинально меньшей распространёностью ГОСТ.

            А вот пункт два любопытен. Где можно почитать сравнение вычислительной сложности ГОСТ с популярными решениям?


            1. nvv
              23.09.2015 12:52

              В ISO/IEC 18033-3:2010 приведены несколько шифров (64-bit block TDEA, MISTY1, CAST-128, HIGHT; 128-bit AES, Camellia, SEED).

              сравнение ГОСТ 28147-89 с шифрами, созданными в 70-80-е годы XX века или со стандартами, принятыми на 10+ лет позже?


  1. btd
    22.09.2015 18:56

    А нет ли официального описания алгоритма (к примеру кузнечика)? Например если я реализовать хочу.


    1. nvv
      22.09.2015 19:07

      Описание с контрольными примерами непосредственно в ГОСТ.
      На сайте Госстандарта или профильного комитета tc26.ru/standard/gost


  1. GamePad64
    22.09.2015 19:04

    Есть ли какая-нибудь кроссплатформенная библиотека для работы со всеми этими алгоритмами?


    1. lumag
      22.09.2015 19:25
      +1

      LibreSSL и libgcrypt поддерживают работу с этими алгоритмами (кроме ''Кузнечика'').


    1. nvv
      22.09.2015 19:52

      Посмотрите раздел Open Source на сайте компании Криптоком www.cryptocom.ru/opensource/index.html


      1. lumag
        22.09.2015 19:54

        Криптоком делал реализацию ГОСТ-ов для OpenSSL, сделал по состоянию на начало двухтысячных. Т.е. Стрибог и ЭЦП с 512-битными ключами не поддерживается.


        1. nvv
          22.09.2015 20:03

          многие RFC по ГОСТ созданы при их участии: rfc6986, rfc7091 и др.


          1. lumag
            22.09.2015 20:34

            Что не отменяет того, что в OpenSSL нет обновленных алгоритмов. Частично вина лежит на самих авторах OpenSSL, которые не спешат принимать патчи (например, Стрибог висит в патч-трекере уже давно).


        1. gotch
          29.09.2015 12:38

          Крипто Ком сделал свой коммит по трагичной случайности? Тогда они еще не поняли, что на Open Source можно будет заработать?