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

Минимализм в криптографии, или схема Even–Mansour

Information SecurityCryptographyMathematics
Sandbox
image


Израильские ученые Шимон Ивэн (Shimon Even) и Ишай Мансур (Yishay Mansour) еще в 1997 году задались вопросом: насколько минимальной конструкцией может обладать стойкий блочный шифр? Под минимальностью они подразумевали число конструктивных элементов в схеме шифра, а под стойкостью — любую (формально верную) оценку снизу сложностей атак на этот шифр. Как говорится, под катом — описание минимального (и по сей день) блочного шифра с доказуемой стойкостью.
Каков же он?
Total votes 28: ↑27 and ↓1 +26
Views16.6K
Comments 22

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

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

Лёгкий блочный шифр Speck, или пылинка от агенства, которого нет

CryptographyC++Algorithms
Устройство на КДПВ шифрует не по алгоритму Speck, но могло бы

В июне 2013 года АНБ опубликовало описание двух лёгких блочных шифров — Simon и Speck [1].

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

Прошло два года, практических атак ни на Simon, ни на Speck не появилось [2], а преимущества (простота и гибкость) — остались.

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

Что там внутри и зачем он нужен, когда есть AES
Total votes 37: ↑35 and ↓2 +33
Views27K
Comments 9

ГОСТ Р 34.12 '15 на SSE2, или Не так уж и плох Кузнечик

CryptographyAssemblerAlgorithmsC

На Хабре уже как минимум дважды упоминался новый отечественный стандарт блочного шифрования ГОСТ Р 34.12 2015 «Кузнечик», ru_crypt в своем посте рассмотрел основные механизмы и преобразования нового стандарта, а sebastian_mg занимался пошаговой трассировкой базового преобразования. Но многие вопросы остались без ответа. Насколько быстр новый ГОСТ? Можно ли его оптимизировать, эффективно реализовать, ускорить аппаратно?


GOST R 34.12 2015 with SSE2

А если можно, то как?
Total votes 55: ↑53 and ↓2 +51
Views27.5K
Comments 51

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

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

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

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


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

Случайности не случайны: кто такие семейства псевдослучайных функций (PRFs)

Information SecurityMathematicsPopular science
Sandbox

В 1984 году Голдрайх, Голдвассер и Микали в своей статье формализовали концепцию псевдослучайных функций и предложили реализацию PRF, основанную на псевдослучайном генераторе (PRG) с удвоением длины. С тех пор псевдослучайные функции показали себя чрезвычайно важной абстракцией, которая нашла применение в различных сферах, например, в аутентификации сообщений и в доказательствах теорем. В этой статье я расскажу:

       •    Что из себя представляют случайные функции

       •    Что из себя представляют псевдослучайные функции

       •    Кто же такие эти ваши семейства

       •    PRF vs. PRG

       •    При чём тут блочные шифры

Окунуться в псевдослучайность
Total votes 25: ↑24 and ↓1 +23
Views2.5K
Comments 4