Симметричные и асимметричные системы шифрования — КиберПедия 

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Симметричные и асимметричные системы шифрования

2018-01-13 432
Симметричные и асимметричные системы шифрования 0.00 из 5.00 0 оценок
Заказать работу

Симметричные и асимметричные системы шифрования

Введение

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

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

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

В общем случае, аутентификация информации включает и процедуру ее целостности. Под обеспечением целостности понимается достижение идентичности отправляемой и принимаемой информации. Целостность передаваемой информации предполагает ее неизменность в процессе следования от отправителя к получателю.

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

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

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

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

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

Обозначим открытый текст как M (от message, сообщение), или P (от plaintext, открытый текст). Открытый текст это двоичные, которые могут быть созданы для хранения или передачи. В любом случае, M - это сообщение, которое должно быть зашифровано.

Обозначим шифрованный текст как C. Функция шифрования E действует на M под управлением секретного ключа К, создавая C, т. е.

Ek (M) = C.

В обратном процессе функция дешифрирования D с помощью такого же ключа К действует на C, восстанавливая M:

Dk (C) = Dk (Ek (M)) = M.

Таким образом, вновь будет получен открытый текст. На рисунке 3.1 показана симметричная схема шифрования.

Абонент В
Криптосистема представляет собой алгоритм плюс все возможные открытые тексты, шифротексты и ключи.

 
 

 

 

 


Рисунок 3.1 - Симметричная система шифрования.

Асимметричные системы шифрования ( Системышифрованияс открытым ключом ) (называемые асимметричными алгоритмами) разработаны таким образом, что ключ, используемый для шифрования, отличается от ключа дешифрирования. Более того, ключ дешифрирования не может быть (по крайней мере в течение разумного интервала времени) рассчитан по ключу шифрования. Алгоритмы называются "с открытым ключом", потому что ключ шифрования может быть открытым: кто угодно может использовать ключ шифрования для шифрования сообщения, но только конкретный человек с соответствующим ключом дешифрирования может расшифровать сообщение. В этих системах ключ шифрования часто называется открытым ключом K o, а ключ дешифрирования – закрытым K з. Закрытый ключ иногда называется секретным ключом, но чтобы не было путаницы с симметричными алгоритмами, этот термин не используется в данной работе. Шифрование с открытым ключом K oобозначается как:

EK o(M) =C.

Хотя открытый и закрытый ключи различны, дешифрирование с соответствующим закрытым ключом обозначается как:

DK з(C) =M.

Асимметричная система шифрования приведена на рис.3.2.

 
 

 

 


Рисунок 3.2 - Асимметричная система шифрования.

В асимметричных криптографических системах способность зашифровывать сообщения данным ключом отделяется от возможности дешифрования этих сообщений. Это достигается путем использования пар преобразований (D, Е), каждое из которых обратно другому, но ни одно из которых нельзя легко получить из другого. Такие односторонние функции образуют коллективный шифр, в котором один ключ K o известен всем и служит для шифрования сообщений, адресуемых данному пользователю В, в то время как соответствующий ему ключ K з держится в секрете и служит для дешифрования сообщений, посылаемых пользователем А.

Шифрование

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

Блоки данных состояния можно представить в виде прямоугольного массива байтов. Этот массив имеет 4 строки, а число столбцов обозначено как N b и равно длине блока, деленной на 32. Ключ шифрования также представлен в виде прямоугольного массива с четырьмя строками, число столбцов в котором обозначено как N k и равно длине ключа, деленной на 32.

Система шифрования по стандарту AES с алгоритмом работы представлена в приложении 3 для случая, когда длина блока открытого текста N b = 6 словам (слово равно 32 битам, а длина ключа N k =4 словам). Тогда таблицы массива байт открытого текста и массива ключей будут выглядеть следующим образом:

Таблица 1

a 00 a 01 a 02 a03 a 04 a 05         k 00 k 01 k 02 k 03
a 10 a 11 a 12 a 13 a 14 a 15         k 10 k 11 k 12 k 13
a 20 a 21 a 22 a 23 a 24 a 25         k 20 k 21 k 22 k 23
a 30 a 31 a 32 a 33 a 34 a 35         k 30 k 31 k 32 k 33

 

Условные обозначения на схемах математических функций приведены в приложении 4.

Процесс шифрования состоит из следующих этапов:

· начальное добавление раундового ключа (начальное забеливание),

· раундовое преобразование в течение (r – 1) раундов,

· заключительный раунд.

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

Число раундов обозначено как r и зависит от значений N b и N k. Оно приведено в таблице 2.

Таблица 2

r N b = 4 N b = 6 N b = 8
N k = 4      
N k = 6      
N k = 8      

Начальное добавление раундового ключа. В преобразовании добавление раундового ключа (начальное забеливание) цикловой ключ добавляется к состоянию посредством сложения по модулю 2. Длина раундового Nk ключа равна длине блока Nb.

a 00 a 01 a 02 a 03 a 04 a 05   k 00 k 01 k 02 k 03 k 04 k 05   = b 00 b 01 b 02 b 03 b 04 b 05  
a 10 a 11 a 12 a 13 a 14 a 15 Å k 10 k 11 k 12 k 13 k 14 k 15 b 10 b 11 b 12 b 13 b 14 b 15  
b 20 b 21 b 22 b 23 b 24 b 25  
a 20 a 21 a 22 a 23 a 24 a 25   k 20 k 21 k 22 k 23 k 24 k 25  
b 30 b 31 b 32 b 33 b 34 b 35  
a 30 a 31 a 32 a 33 a 34 a 35   k 30 k 31 k 32 k 33 k 34 k 35  

Сложение и вывод результатов осуществляется в следующей последовательности: a 00Å k 00= b 00, a 10Å k 10= b 10,…, a 35Å k 35= b 35.

Раундовое преобразование. Это преобразование включает в себя нелинейное преобразование матрицы данных и добавление раундового ключа. Нелинейное преобразование матрицы состоит из трех шагов: замены байтов матрицы на новые значения (S- box - преобразования), циклического сдвига строк матрицы влево, перемешивания столбцов матрицы (умножения матрицы данных слева на постоянную матрицу-циркулянт M.

М =        
       
       
       

Преобразование замена байт представляет собой нелинейную замену байт, выполняемую независимо с каждым байтом состояния. Таблицы замены (или S-box) являются инвертируемыми и построены из композиции двух преобразований: а) получение обратного элемента, б) применение аффинного преобразования (над GF(2)). Эти преобразования определены как:

b 0 =                 * a 0 Å  
b 1                 a 1  
b 2                 a2  
b 3                 a 3  
b 4                 a4  
b 5                 a 5  
b 6                 a 6  
b7                 a 7  

 

Применение описанного S -box ко всем байтам состояния можно проиллюстрировать как:

 
 

Рис.3.3. Преобразование замены байтов

Преобразование S - box в виде таблицы приведено в приложении 5, табл. 1.

Преобразование сдвига строк подразумевает, что последние 3 строки состояния циклически сдвигаются на различное число байт. Строка 1 сдвигается на С 1 байт, строка 2 - на С 2 байт и строка 3 - на С 3 байт. Значения сдвигов С 1, С 2 и С 3 зависят от длины блока N b. Их величины приведены в таблице 2.

Таблица 2. - Величина сдвига для разной длины блоков.

N b C 1 C 2 C 3
       
       
       

 

В преобразовании перемешивания столбцов столбцы состояния рассматриваются как многочлены над полем GF(28) и умножаются по модулю x 4+1 на многочлен c (x), выглядящий следующим образом:

c (x)='03' x 3 + '01' x 2 + '01' x + '02'.

Это может быть представлено в виде матричного умножения. Пусть b (x)= c (x)* a (x),

b 0 =         * a 0
b 1         a 1
b 2         a 2
b 3         a 3

 

Конечное поле GF(28) порождается неприводимым полиномом g (x) = x 8+ x 4+ x 3+ x 2+1. Операция сложения в этом поле является ни чем иным, как побитовым суммированием по модулю 2, умножение выполняется как обычное умножение полиномов над GF(2) по модулю полинома g (x).

В графическом виде преобразование перемешивание столбцов выглядит так.

 
 

Рис.3.4. Преобразование перемешивания столбцов.

Добавление раундового ключа. В конце каждого раунда с полученным в результате всех преобразований блоком складывается посредством поразрядного сложения по модулю 2 раундовый ключ. Это осуществляется аналогично начальному добавлению раундового ключа.

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

Дешифрование

Дешифрование в Rijndael алгоритмически эквивалентно шифрованию, однако между этими двумя процедурами имеются определенные различия, гораздо более существенные, чем в стандарте DES, где все сводится к порядку использования ключевых элементов. Дешифрование отличается от шифрования по следующим четырем пунктам:

1. Ключевые элементы используются в порядке, обратном тому, в котором они используются при шифровании. Кроме того, все ключевые элементы, кроме первого и последнего, должны быть умножены слева на матрицу, обратную матрице M. Таким образом, если при шифровании используется следующая последовательность ключевых элементов

Kr 0, Kr 1, Kr 2 ,..., Krr- 1, Krr,

то при дешифровании должна быть использована следующая последовательность элементов:

Krr, M -1× Krr- 1,..., M -1× Krr- 2, M -1× Krr- 1, Kr 0.

2. На шаге побайтовой замены используется узел замен S -1 обратный тому, что применяется в процедуре шифрования S. Таблица узла замен S -1 приведена в приложении 5, таблица 2. Это означает, что каково бы ни было байтовое значение b, всегда справедливо следующее соотношение:

S -1[ S [ b ]] = b.

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

С i ' = n - Ci, i = 2¸4.

Константы циклического сдвига влево строк матрицы в процедуре дешифрования в зависимости от числа столбцов матрицы данных приведены

в следующей ниже таблице:

N b      
С2'      
С3'      
С4'      

 

4. На шаге умножения слева на постоянную матрицу используется матрица M -1, обратная используемой при шифровании матрице M:

 

М -1 = 0E 0B 0D  
  0E 0B 0D
0D   0E 0B
0B 0D   0E

 

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

Процесс дешифрования по стандарту AES показан в приложении 6.

Ключевая последовательность K длиной 128 (192, 256) бит данных поступает на блок расширения ключа БРК, где формируется ключевая последовательность из 4-х байтовых слов, из которой в дальнейшем берутся раундовые ключи. Исходный массив зашифрованного блока данных С длиной 128 (192, 256) бит, поступает на схему сложения по модулю 2, где производится сложение по модулю 2 с раундовым ключом блока Krr. Над данными в блоке S -1 осуществляется преобразование нелинейной замены байт, результат которого поступает на блок циклического сдвига вправо, где осуществляется построчное вращение матрицы данных (сдвиг строк вправо). Результат данной операции заносится в блок памяти БП. С выхода блока БП массив данных складывается по модулю 2 в соответствующем блоке с последующим раундовым ключом Krr -1 блока БРК. В блоке *M -1 производится умножение массива данных предшествующего блока на постоянную матрицу М-1. После преобразований в блоках S -1 и циклического сдвига вправо результат заносится опять в БП. Данное преобразование повторяется (r -1) раз, где r – число раундов. Результат дешифрования блока C формируется на входе схемы сложения по модулю 2, где производится сложение результата (r -1) – числа преобразований с последним раундовым ключом блока БРК. После схемы сложения по модулю 2 будет получен открытый текст М.

Симметричные и асимметричные системы шифрования

Введение

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

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

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

В общем случае, аутентификация информации включает и процедуру ее целостности. Под обеспечением целостности понимается достижение идентичности отправляемой и принимаемой информации. Целостность передаваемой информации предполагает ее неизменность в процессе следования от отправителя к получателю.

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

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

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

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

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

Обозначим открытый текст как M (от message, сообщение), или P (от plaintext, открытый текст). Открытый текст это двоичные, которые могут быть созданы для хранения или передачи. В любом случае, M - это сообщение, которое должно быть зашифровано.

Обозначим шифрованный текст как C. Функция шифрования E действует на M под управлением секретного ключа К, создавая C, т. е.

Ek (M) = C.

В обратном процессе функция дешифрирования D с помощью такого же ключа К действует на C, восстанавливая M:

Dk (C) = Dk (Ek (M)) = M.

Таким образом, вновь будет получен открытый текст. На рисунке 3.1 показана симметричная схема шифрования.

Абонент В
Криптосистема представляет собой алгоритм плюс все возможные открытые тексты, шифротексты и ключи.

 
 

 

 

 


Рисунок 3.1 - Симметричная система шифрования.

Асимметричные системы шифрования ( Системышифрованияс открытым ключом ) (называемые асимметричными алгоритмами) разработаны таким образом, что ключ, используемый для шифрования, отличается от ключа дешифрирования. Более того, ключ дешифрирования не может быть (по крайней мере в течение разумного интервала времени) рассчитан по ключу шифрования. Алгоритмы называются "с открытым ключом", потому что ключ шифрования может быть открытым: кто угодно может использовать ключ шифрования для шифрования сообщения, но только конкретный человек с соответствующим ключом дешифрирования может расшифровать сообщение. В этих системах ключ шифрования часто называется открытым ключом K o, а ключ дешифрирования – закрытым K з. Закрытый ключ иногда называется секретным ключом, но чтобы не было путаницы с симметричными алгоритмами, этот термин не используется в данной работе. Шифрование с открытым ключом K oобозначается как:

EK o(M) =C.

Хотя открытый и закрытый ключи различны, дешифрирование с соответствующим закрытым ключом обозначается как:

DK з(C) =M.

Асимметричная система шифрования приведена на рис.3.2.

 
 

 

 


Рисунок 3.2 - Асимметричная система шифрования.

В асимметричных криптографических системах способность зашифровывать сообщения данным ключом отделяется от возможности дешифрования этих сообщений. Это достигается путем использования пар преобразований (D, Е), каждое из которых обратно другому, но ни одно из которых нельзя легко получить из другого. Такие односторонние функции образуют коллективный шифр, в котором один ключ K o известен всем и служит для шифрования сообщений, адресуемых данному пользователю В, в то время как соответствующий ему ключ K з держится в секрете и служит для дешифрования сообщений, посылаемых пользователем А.


Поделиться с друзьями:

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.079 с.