Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Криптографические алгоритмы кратко

Лекция



Привет, сегодня поговорим про криптографические алгоритмы , обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое криптографические алгоритмы , настоятельно рекомендую прочитать все из категории Алгоритмы и теория алгоритмов.

а) введение

Криптология - наука, занимающаяся методами шифрования и дешифрования. Она состоит из двух ветвей: криптографии и криптоанализа.

Криптография - наука о способах преобразования (шифрования) информации с целью ее защиты от незаконных пользователей.

Криптоанализ - наука (и практика ее применения) о методах и способах раскрытия шифров.

Шифрования (шифрование) - процесс применения шифра к защищаемой, т.е. преобразования информации (открытого текста) защищаемого в шифрованное сообщение (шифртекст, криптограмма) с помощью определенных правил, содержащихся в шифре.

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

Шифр - совокупность обратных преобразований множества данных на множество зашифрованных данных.

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

Способность шифра противостоять всевозможным атакам на него называют стойкостью шифра. Под атакой на шифр понимают попытку вскрытия этого шифра.

Криптоалгоритмы (шифры) делятся на три категории (табл. 6.1):

1) безключови алгоритмы, не использующие ключи в процессе криптографических преобразований;

2) одноключови алгоритмы, использующие в своих вычислениях некоторое секретный ключ;

3) двухключевые алгоритмы, в которых на разных этапах вычисления применяются два вида ключей: секретные и открытые.

Рассмотрим кратко основные типы криптоалгоритмов:

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

­- генераторы случайных чисел. Необходимые для вычисления ЭП и для алгоритмов аутентификации;

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

Алгоритмы симметричного шифрования Бывают блочными и потоковыми:

a) блочное шифрование - информация разбивается на блоки фиксированной длины (64 или 128 бит), после чего эти блоки поочередно шифруются. В разных алгоритмах или в разных режимах, блоки могут шифроваться независимо друг от друга или со сцеплением - когда результат зашифрования текущего блока данных зависит от значения предыдущего блока или от результата зашифрования предыдущего блока;

b) потоковое шифрование - используется когда информацию нельзя разбить на блоки. Данные шифруются побитно или посимвольно;

- генераторы псевдослучайных чисел - строятся на основе алгоритмов симметричного шифрования;

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

Классификация криптографических алгоритмов

Безключовые

Одноключовые

Двухключевые

- Хэш-функции;

- Генераторы случайных чисел.

- Алгоритмы симметричного шифрования;

- Хэш-функции;

- Генераторы псевдослучайных чисел;

- Алгоритмы аутентификации.

- Алгоритмы асимметричного шифрования;

- Алгоритмы электронного подписи;

- Алгоритмы аутентификации

Пример алгоритма аутентификации:

1) сервер генерирует случайное число;

2) отправляет его пользователю;

3) пользователь зашифровывает полученное число секретным ключом и отправляет результат серверу;

4) сервер зашифровывает полученные данные таким же секретным ключом;

5) сервер сравнивает полученный шифртекст с начальным числом. Об этом говорит сайт https://intellect.icu . Алгоритмы асимметричного шифрования - применяют два вида ключей: открытый ключ для зашифрувания информации и секретный - для расшифровки. Секретный и открытый ключи связаны между собой довольно сложным соотношением, главное в котором - легкость вычисления открытого ключа из секретного и невозможность (за ограниченное время при реальных ресурсах) вычисления секретного ключа по открытому.

б) Алгоритмы симметричного шифрования

Подавляющее большинство современных алгоритмов симметричного шифрования работают очень похожим образом: над шифрованным текстом выполняется некоторое преобразование с участием ключа шифрования, которое повторяется определенное число раз (раундов). При этом, по виду преобразований, повторяются, алгоритмы шифрования принято делить на несколько категорий. Здесь также существуют различные классификации. Одним из наиболее популярных видов симметричного шифрования алгоритмы шифрования на основе сети Фейстеля.

б.1) Алгоритмы на основе сети Фейстеля

Сеть Фейстеля подразумевает разбиение обрабатываемого блока данных на несколько субблоков (чаще всего - на два), один из которых обрабатывается некоторой функцией и накладывается на один или несколько других субблоков. На рисунке 1 приведена структура алгоритмов, наиболее часто встречающаяся на основе сети Фейстеля.

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

Наложение обработанного субблока на необработанный чаще всего выполняется с помощью логической операции «исключающее ИЛИ» (XOR). Довольно часто вместо XOR используется сложение по модулю, где - размер субблока в битах. После наложения субблоков меняются местами, то есть в следующем раунде алгоритма обрабатывается уже другой субблок данных.

На сети Фейстеля основанная большинство современных алгоритмов шифрования - благодаря множеству преимуществ подобной структуры, среди которых стоит отметить следующие:

Криптографические алгоритмы

Рисунок 1 – Сеть Фейстеля

- алгоритмы на основе сети Фейстеля могут быть сконструированы таким образом, что для зашифрувания и расшифровка может использоваться один и тот же код алгоритма - разница между этими операциями может заключаться лишь в порядке применения ключей: такое свойство алгоритма наиболее полезна при его аппаратной реализации или на платформах с ограниченными ресурсами;

- алгоритмы на основе сети Фейстеля являются наиболее изученными - таким алгоритмам посвящено огромное количество криптоаналитических исследований, что является несомненным преимуществом как при разработке алгоритма, так и при его анализе. В качестве примера рассмотрим алгоритм ГОСТ 28147-89, который является обязательным для применения в качестве алгоритмов шифрования в государственных организациях РФ и в ряде коммерческих организаций.

б. 2) Алгоритм ГОСТ 28147-89

Схема алгоритма ГОСТ 28147-89 показана на рисунке. Как видно, схема этого алгоритма достаточно проста, что однозначно упрощает его программную или аппаратную реализацию (рис.2).

Алгоритм ГОСТ 28147-89 шифрует информацию блоками по 64 бита, которые разбиваются на два субблоков по 32 бита (и). Субблок определенным образом обрабатывается, после чего его значение состоит со значением субблока (сложение выполняется по модулю 2), затем субблоков меняются местами. Такое преобразование выполняется определенное количество раундов: или, в зависимости от режима работы алгоритма. В каждом раунде выполняются следующие операции:

Криптографические алгоритмы

Рисунок 2– Схема алгоритма ГОСТ 28147-89

1) наложение ключа. Содержание субблока складывается по модулю части ключа. Ключ шифрования алгоритма ГОСТ 28147-89 имеет размерность 256 бит, а - это его 32-битная часть, то есть 256-битный ключ шифрования представляется в виде конкатенации 32-битных подключей. В процессе шифрования используется один из этих подключей - в зависимости от номера раунда и режима работы алгоритма;

2) табличная замена. После наложения ключей субблок разбивается на 8 частей по 4 бита, значение каждой из которых отдельно заменяется в соответствии с таблицей замены для этой части субблока. Табличные замены (Substitution box, S-box) часто используется в современных алгоритмах шифрования. Табличная замена используется следующим образом: на вход подается блок данных определенной размерности (в данном случае - -битовий), числовое представление которого определяет номер выходного значения. Например, имеем S-box следующего вида: 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1. Пусть на вход пришел 4-битный блок «0100 », то есть значение« 4 ». Согласно таблице, исходное значение будет равно 15, то есть значение «1111» (0 заменяется на 4, 1 на 11 значение 2 не меняется и т.д.). Как видно, схема алгоритма очень проста, что означает, что наибольшая нагрузка по шифрованию данных ложится на таблицы замен;

3) побитовое циклический сдвиг влево на бит.

в) Алгоритмы асимметричного шифрования

Идея криптографии с открытым ключом очень тесно связана с идеей односторонних функций, то есть таких функций f(x ), что по известному довольно просто найти значение f(x ), тогда как определение с f(x ) невозможно при разумный срок. Но сама односторонняя функция бесполезна в применении: ею можно зашифровать сообщение, но расшифровать нельзя. Поэтому криптография с открытым ключом использует односторонние функции с лазейкой. Лазейка - это некоторый секрет, который помогает расшифровать. То есть существует такой, что зная f(x ) и y, можно вычислить x. Например, если разобрать часы на множество составных частей, то очень сложно собрать вновь работающий часы. Но если есть инструкция по сборке (лазейка), то можно легко решить эту проблему. Схема работы алгоритмов асимметричного шифрования следующая (рис. 3):

- выбирает пару ( e, d) и высылает ключ шифрования e (открытый ключ) по открытому каналу, а ключ расшифровки d (закрытый ключ) защищен и секретный (он не должен передаваться по открытому каналу);

- чтобы послать сообщение m для B, A применяет функцию шифрования, определенную открытым ключом e:Ee(m )=c,c, - полученный шифртекст;

- B расшифровывает шифртекст c, применяя обратное преобразование Dd, однозначно определено значением d.

Криптографические алгоритмы

рисунок 3 Схема работы асимметричных шифров

г) Электронная подпись

Электронная подпись - реквизит электронного документа, позволяющий установить отсутствие искажения информации в электронном документе с момента формирования электронной подписи и проверить принадлежность подписи владельцу сертификата ключа подписи. Значение реквизита получается в результате криптографического преобразования информации с использованием закрытого ключа электронной подписи. Схема цифровой подписи или электронно-цифровой подписи - это набор алгоритмов и протоколов, позволяющих построить информационное взаимодействие между двумя и более участниками так, чтобы факт авторства переданного массива данных, «подписанного» одним из участников мог быть надежно подтвержден или опровергнут третьей стороной, «независимым арбитражем». Подобная схема нужна для всех систем электронной обработки данных, где нет полного взаимного доверия между участниками информационного процесса, прежде всего это касается финансовой сферы. Любая схема цифровой подписи предполагает добавление к «подписываемого» массива данных дополнительного кода - собственно «цифровой подписи», выработать который может только автор сообщения, имеет секретный ключ подписи, а все остальные могут лишь проверить соответствие этого «подписи» подписанным данным.

Вау!! 😲 Ты еще не читал? Это зря!

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

создано: 2014-11-16
обновлено: 2021-03-13
362



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Алгоритмы и теория алгоритмов

Термины: Алгоритмы и теория алгоритмов