Ассиметричное шифрование

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

Все алгоритмы асимметричного шифрования базируются на сложности решения математических задач. Например, разложение очень больших чисел на сомножители (RSA). Асимметричное шифрование позволяет решить задачу с распространением ключей.

- понятие хэш-функции и электронной подписи;

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

Хорошая хеш-функция должна удовлетворять двум свойствам: быстро вычисляться; минимизировать количество коллизий.

Для того, чтобы хеш-функция H считалась криптографически стойкой, она должна удовлетворять трём основным требованиям, на которых основано большинство применений хеш-функций в криптографии:

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

Стойкость к коллизиям первого рода или восстановлению вторых прообразов: для заданного сообщения M должно быть вычислительно невозможно подобрать другое сообщение N, для которого

- алгоритмы DES, AES, RSA, ГОСТ 28147-89 и др. – основные возможности.

DES

16 раундов 64 бита - входные блоки для шифрования Функция f: 1. функция расширения , 2. сложение по модулю 2 с ключом 3. преобразование , состоящее из 8 преобразований -блоков , 4. перестановка .

Advanced Encryption Standard (AES), также известный как Rijndael - симметричный алгоритм блочного шифрования (размер блока 128 бит, ключ 128/192/256 бит), принятый в качестве стандарта шифрования правительством США по результатам конкурса AES. Этот алгоритм хорошо проанализирован и сейчас широко используется (10,12,14 раундов в зависимости от ключа).

Процедура SubBytes() обрабатывает каждый байт состояния, независимо производя нелинейную замену байтов используя таблицу замен (S-box). Такая операция обеспечивает нелинейность алгоритма шифрования.

ShiftRows работает со строками State. При этой трансформации строки состояния циклически сдвигаются на r байт по горизонтали, в зависимости от номера строки.

В процедуре MixColumns, четыре байта каждой колонки State смешиваются, используя для этого обратимую линейную трансформацию. В процедуре MixColumns, каждая колонка состояния перемножается с фиксированным многочленом c(x). В процедуре AddRoundKey, RoundKey каждого раунда объединяется со State. Процедура производит побитовый XOR каждого байта State с каждым байтом RoundKey.

RSA Разложение очень больших чисел на сомножители.

Важно отметить, что симметричный ключ никуда не передаётся, поскольку у каждого из партнёров он вырабатывается непосредственно «на месте».

RSA получил имя от имён его создателей: Ron Rivest, Adi Shamir ja Leonard Adleman. RSA использует большие простые числа при шифровании и использует широко распространённые инфраструктуры открытых ключей (PKI - Public Key Infrastructure). RSA алгоритмы можно использовать как для шифрования, так и для создания дигитальной (электронной) подписи.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: