Файл: Общие сведения о шифровании данных Типы алгоритмов шифрования.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.11.2023

Просмотров: 64

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Термин гамма-последовательность (gamma sequence) обычно употребляется в отношении последовательности псевдослучайных элементов, которые генерируются по определенному закону и алгоритму.

В процессе выполнения работы выполнен анализ известных данных о методах симметричного шифрования. Рассмотрены метод классического шифрования Шеннона, блочные шифры-американский шифр DES и отечественный шифр, определенный стандартом ГОСТ 28147-89, IDEA (International Data Encryption Algorithm), CAST, Шифр Skipjack, RC2 и RC4 и др.

Кроме того, выполнена опытно-экспериментальная работа по разработке программного обеспечения по реализации алгоритма шифрования, основанного на гамировании. Используя при этом язык объектно-ориентированного программирования Visual Basic

Симметричное шифрование (гаммирование)

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

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

Гаммированием (gamma xoring) называется процесс «наложения» гамма-последовательности на открытые данные. Обычно это суммирование по какому-то модулю, например, по модулю два, такое суммирование приобретает вид обычного «исключающего ИЛИ» суммирования.

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

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


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

В общедоступной литературе математические задачи криптографии на современном уровне впервые были рассмотрены К. Шенноном в работе [1], хотя по некоторым данным в России аналогичные результаты были известны и ранее. В этой работе К. Шеннон с помощью предложенного им теоретико-информационного подхода решил некоторые из важнейших проблем теоретико-информационной криптографии. В частности, им показано, что абсолютной надежностью могут обладать только те шифры, у которых объем ключа не меньше объема шифруемой информации, а также приведены примеры таких шифров. Там же были предложены и принципы построения криптографически надежных преобразований с помощью композиции некоторых разнородных отражений и т.п.

В указанной работе Шеннона были сформулированы и доказаны математическими средствами необходимые и достаточные условия недешифруемости системы шифра. Было установлено, что единственным недешифруемым шифром является, так называемая, Лента одноразового использования (One-time Pad), когда открытый текст шифруется с помощью случайного ключа такой же длины. Это обстоятельство делает абсолютно устойчивый шифр очень дорогим в эксплуатации.

Прежде всего, Шеннон сделал вывод, что у всех, даже очень сложных шифры, в качестве типовых компонентов можно выделить шифры замены и перестановки.

Математическое описание шифра замены выглядит следующим образом. Пусть Икс и Y-два текста (открытый и зашифрованный соответственно), Икс взаимно однозначно отображается в текст Y. Действие шифра замены можно представить как преобразование открытого текста X = (x1, x2,... xn) в шифрованныйтекст Y = g (X) = g (x1, x2,..., xn).

Математическое описание шифра перестановки выглядит следующим образом. Пусть длина отрезков, на которые разбивается открытый текст, равна m, а S – взаимно однозначное отображение X = (x1, x2,... xm) в себя. Шифр перестановки преобразует отрезок открытого текста x1, x2,... xm в отрезок шифрованного текста S (x1, x2,..., xm) (Рисунок 2).

Р
ис.1.1.1

Классическое шифрование
Шифр DES работает следующим образом. Данные представляются в цифровом виде и разбиваются на блоки длиной 64 бита, затем по блокам шифруются. Блок разбивается на левую и правую части. На первом этапе шифрования вместо левой части блока записывается правая, а вместо правой – сумма по модулю два левой и правой частей. На втором этапе по определенной схеме выполняются побитовые замены и перестановки. Ключ DES имеет длину 64 бита, из которых 56 битов – случайные, а 8 – служебные, используемые дляконтроля ключа.



IDEA-блочный шифр с длиной ключа 128 бит. Этот европейский стандарт предложен в 1990 году. Шифр IDEA по скорости и устойчивости к анализу не уступает шифру DES.

CAST-это блочный шифр, который использует 128-битный ключ в США и 40-битный – в экспортном варианте. CAST используется компанией Northern Telecom (Nortel).

Шифр Skipjack, разработанный Агентством национальной безопасности США (National Security Agency – NSA), использует 80-битные ключи.

Шифры RC2 и RC4 разработаны Роном Рейвестом – одним из основателей компании RSA Data Security, и запатентованы этой компанией. Они используют ключи разной длины, а в экспортируемых продуктах заменяют des. Шифр RC2-блочный, с длиной блока 64 бита; шифр RC4 – потоковый. По замыслу разработчиков, производительность RC2 и RC4 должна быть не меньше, чем у алгоритма DES.

Асимметричные методы



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

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

Открытый ключ вычисляется из секретного: kl = f (k2). Асимметричные алгоритмы шифрования основаны на применении однонаправленных функций. Согласно определению функция y = f (x) является однонаправленной, если ее можно легко вычислить для всех возможных вариантов x, а для большинства возможных значений y достаточно сложно вычислить такое значение x, при котором y = f (x).

Примером однонаправленной функции может служить умножение двух больших чисел: N = S х G. Само по себе, с точки зрения математики, такое умножение является простой операцию. Однако обратная операция (разложение N на два больших множителя), называемая также факторизацией, по современным временным оценкам представляет собой довольно сложную математическую задачу.

Ну что ж, рассмотрим некоторые из алгоритмов асимметричного шифрования.

Алгоритм Диффи-Хеллмана. В 1976 году Уитфилд Диффи (Whitfield Diffie) и Мартин Хеллман (Martin Hellman) разработали свою систему шифрования с открытым ключом. Система Диффи-Хеллмана разрабатывалась для решения проблемы распространения ключей при использовании систем шифрования с секретными ключами. Идея заключалась в том, чтобы применить безопасный метод сопоставления секретного ключа без передачи ключа каким-либо другим способом. Следовательно, необходимо было найти безопасный способ получения секретного ключа с помощью того же метода связи, для которого разрабатывалась защита. Суть алгоритма Диффи-Хеллмана заключается в следующем. Предположим, что двух точках (S1 и S2) нужно установить между собой безопасное соединение, для которого необходимо согласовать ключ шифрования.


/ S1 и S2 принимают к использованию два больших целых числа a и b, причем 1
/ S1 выбирает случайное число i и вычисляет I = ai? mod b. S1 передает I абоненту S2.

/ S2 выбирает случайное число j и вычисляет J = aj? mod b. S2 передает J абоненту S1.

/ S1 вычисляет1 = Ji? modb.

/ S2 вычисляет2 = Ij? modb.

Есть k1 = k2 = ai? j x mod b, следовательно, k1 и k2 являются секретными ключами, предназначенными для использования при передаче других данных.

Даже если допустить, что злоумышленнику каким-то образом удастся прослушать переданный трафик, то ему будут известны a, b, I и J. Однако остаются в секрете i и j. Уровень безопасности системы зависит от сложности нахождения i при известном I = ai? mod b. Эта задача называется задачей дискретного логарифмирования и считается очень сложной (то есть с помощью современного вычислительного оборудования ее решить практически невозможно), если числа очень большие. Следовательно, a и b необходимо выбирать очень тщательно. Например, оба числа b и (b – 1) / 2 должны быть простыми и иметь длину не менее 512 бит. Рекомендуемая длина чисел составляет 1024 бита.

Алгоритм RSA был разработан в 1978 году тремя соавторами и получил свое название по первым буквам фамилий разработчиков (Rivest, Shamir, Adleman). В основе устойчивости алгоритма стоит сложность факторизации больших чисел и вычисления дискретных логарифмов. Основной параметр алгоритма RSA-модуль системы N, по которому производятся все вычисления в системе,

Секретный ключ k2 выбирается случайным образом и должен соответствовать следующим условиям: 1
Открытый ключ kl вычисляется из соотношения (k2 X kl) = 1? mod F (N). Для этого используется обобщенный алгоритм Евклида (алгоритм вычисления наибольшего общего делителя). Шифрование блока данных M по алгоритму RSA выполняется следующим образом: C = Mkl? mod N. Поскольку в реальной криптосистеме с использованием RSA число k1 очень велико (в настоящее время его размерность может доходить до 2048 бит), прямое вычисление Mk1 нереально. Для его получения применяется комбинация многократного возведения M в квадрат с перемножением результатов. Обращение данной функции при больших размерностях неосуществимо; другими словами, невозможно найти M по известным C, N и kl. Однако, имея секретный ключ k2, с помощью несложных преобразований можно вычислить M = Ck2? mod N. Очевидно, что, помимо собственно секретного ключа, необходимо обеспечивать секретность параметров R и S. Если злоумышленник добудет их значение, то сможет вычислить и секретный ключ k2.

В настоящее время криптосистема RSA применяется в самых разных продуктах, на разных платформах и во многих отраслях. Достаточно упомянуть ее использование в операционных системах Microsoft, Apple, Sun и Novell, чтобы представить всю «грандиозность» RSA. В аппаратной составляющей алгоритм RSA широко используется в защищенных телефонах, на сетевых платах Ethernet, на смарт-картах, в криптографическом оборудовании Zaxus (Racal). Ко всему прочему, алгоритм входит в состав всех основных протоколов для защищенных коммуникаций интернет, в том числе S / MIME, SSL и S / WAN, а также используется во многих правительственных учреждениях, государственных лабораториях и университетах. На осень 2000 года технологии с применением алгоритма RSA были лицензированы более чем 700 компаниями.


Преимущества и недостатки симметричного и асимметричного методов шифрования

На сегодняшний день в сфере ИБ широко представлены системы как с симметричным шифрованием, так и с асимметричным. Каждый из алгоритмов имеет свои преимущества и недостатки, о которых не можно скать.

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

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

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

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

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

2. типы алгоритмов шифрования существует два основных типа алгоритмов шифрования:

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

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

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

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