Классификация алгоритмов шифрования


Содержание

Классификация алгоритмов шифрования

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

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

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

Симметричные алгоритмы делятся на две категории . Одни алгоритмы обрабатывают открытый текст побитно (иногда побайтно), они называются потоковыми алгоритмами или потоковыми шифрами. Другие работаю с группами битов открытого текста. Группы битов называются блоками, а алгоритмы — блочными алгоритмами или блочными шифрами. Для алгоритмов, используемых в компьютерных модемах, типичный размер блока составляет 64 бита — достаточно большое значение, чтобы помешать анализу, и достаточно небольшое и удобное для работы.

Примерами симметричных алгоритмов могут служить такие алгоритмы как AES — в настоящее время он является стандартом шифрования в США, ГОСТ 28147-89 — Российский стандарт, SEED — являющийся Корейским стандартом шифрования, и многие другие.

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

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

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

Наиболее известные и широко используемые в современном мире примеры асимметричных схем шифрования: RSA(Rivest-Shamir-Adleman), DSA(Digital Signature Algorithm) , Diffie-Hellman(Обмен ключами Диффи — Хелмана).

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

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

Цель лекции

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

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

В настоящее время общепризнанным является подразделение криптографических алгоритмов на следующие основные категории:

  • алгоритмы шифрования с секретным ключом (симметричные)
    • блочные шифры
    • поточные шифры

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

    Идея, лежащая в основе большинства итерационных блочных шифров , состоит в построении криптографически стойкой системы путем последовательного применения относительно простых криптографических преобразований. Принцип многоразового шифрования с помощью простых криптографических преобразований был впервые предложен Шенноном в работе [5.1]: он использовал с этой целью преобразования перестановки и подстановки . Первое из этих преобразований переставляет отдельные символы преобразуемого информационного блока, а второе — заменяет каждый символ (или группу символов) из преобразуемого информационного блока другим символом из того же алфавита (соответственно группой символов того же размера и из того же алфавита). Узлы, реализующие эти преобразования, называются, соответственно, P-блоками ( P-box, permutation box ) и S-блоками ( S-box, substitution box ).

    В 1973-74 гг. Национальное Бюро Стандартов США ( NBS ) опубликовало документы, содержащие требования к криптографическому алгоритму, который мог бы быть принят в качестве стандарта шифрования данных в государственных и частных учреждениях. В 1976 г. в качестве такового стандарта был утвержден алгоритм , разработанный фирмой IBM . В 1977 г. этот стандарт был официально опубликован и вступил в силу как федеральный стандарт США для шифрования данных — Data Encryption Standard или сокращенно DES [5.2].

    В самом схематичном виде DES представляет собой 16-цикловой итерационный блочный шифр . DES работает с блоками данных разрядностью 64 бита с ипользованием 56- разрядного ключа. Применяемые преобразования — поразрядное сложение по модулю два, подстановки и перестановки . Алгоритм выработки 48-битовых цикловых ключей из 56-битового ключа системы и ряд преобразований служат для обеспечения необходимого перемешивания и рассеивания перерабатываемой информации, однако при анализе DES чаще всего играют не самую существенную роль.

    В 1999 г. на конференции, организованной RSA , компания Electronic Frontier Foundation взломала ключ DES менее чем за 24 часа. Одной из замен DES , получившей широкое распространение, стал алгоритм Triple DES . В этом случае алгоритм DES выполняется трижды, при этом используются 3 ключа, каждый из которых состоит из 56 битов (что, по сути, соответствует использованию 168-битного ключа). Тем не менее, криптоаналитики обнаружили способ, позволяющий сделать атаку прямого перебора эквивалентной атаке на 108-битовый ключ . Второй проблемой является значительное снижение скорости зашифрования и расшифрования данных.

    В ответ на проблемы с длиной ключа и производительностью, проявившиеся в Triple DES , многие криптографы и компании разработали новые блочные шифры . Наиболее популярными предложениями стали алгоритмы RC2 и RC5 [5.3] корпорации RSA Data Security , IDEA [5.5] компании Ascom , Cast [5.4] компании Entrust , Safer [5.6] компании Cylink и Blowfish [5.7] компании Counterpane Systems . Коммерческие альтернативы DES получили определенное распространение, но ни одна из них не стала стандартом.

    В 1997 г. Национальный институт стандартов и технологий США ( NIST ) объявил о начале программы по принятию нового стандарта криптографической защиты. В октябре 2000 г. конкурс завершился. Победителем был признан шифр Rijndael [5.8], разработанный бельгийцами Д. Дейменом и В. Райменом. Алгоритм Rijndael стал основой для нового американского стандарта AES ( Advanced Encryption Standard ), который в 2001 г. пришел на смену DES и Triple DES и действует и по сей день. Rijndael — это итерационный блочный шифр , имеющий архитектуру » Квадрат «. Он быстрый, простой, защищенный, универсальный и хорошо подходит для реализации на смарт-картах . Шифр имеет переменную длин у блоков и различные длины ключей . Длина ключа и длина блока могут быть равны независимо друг от друга 128, 192 или 256 битам. В стандарте AES определена длина блока , равная 128 битам. Шифр AES характеризуется хорошей устойчивостью по отношению к атакам по мощности и по времени. Именно этот шифр рекомендует использовать Microsoft для симметричного шифрования .

    Отечественный стандарт шифрования носит официальное название » Алгоритм криптографического преобразования ГОСТ 28147-89″ [5.10]. Как явствует из его номера, стандарт был принят в СССР в 1989 г. Если охарактеризовать алгоритм ГОСТ в самом общем виде, то он является блочным шифром , построенным по схеме Фейстеля с 32 циклами шифрования . Длина информационного блока — 64 бита, длина ключа — 256 бит .

    Основные отличия алгоритма ГОСТ от алгоритма DES — в строении функции, которая осуществляет отображение , и алгоритме выработки цикловых ключей. И в том и в другом случае преобразования, используемые в алгоритме ГОСТ, проще для программной реализации . Исследования [5.9] показывают, что российский стандарт не уступает по стойкости американскому AES .

    Основная идея поточного шифрования состоит в том, что каждый из последовательных знаков открытого текста подвергается своему преобразованию. В идеале разные знаки открытого текста подвергаются разным преобразованиям, т.е. преобразование, которому подвергаются знаки открытого текста , должно изменяться с каждым следующим моментом времени. Реализуется эта идея следующим образом. Некоторым способом получается последовательность знаков называемая ключевым потоком ( keystream ) или бегущим ключом ( running key , RK ). Затем каждый знак открытого текста подвергается обратимому преобразованию, зависящему от — соответствующего знака ключевого потока.

    Поточные шифры почти всегда работают быстрее и обычно требуют для своей реализации гораздо меньше программного кода, чем блочные шифры . Наиболее известный поточный шифр был разработан Р. Ривестом; это шифр RC4 , который характеризуется переменным размером ключа и байт -ориентированными операциями. На один байт требуется от 8 до 16 действий, программная реализация шифра выполняется очень быстро. Независимые аналитики исследовали шифр , и он считается защищенным. RC4 используется для шифрования файлов в таких изделиях, как RSA SecurPC . Он также применяется для защиты коммуникаций , например, для шифрования потока данных в Интернет-соединениях, использующих протокол SSL .

    В число шифров, которые Microsoft по тем или иным причинам не рекомендует использовать для симметричного шифрования , входят следующие:

    • DES (Причины: малая длина ключей — 56 бит; если в 1993 г. атака на алгоритм заняла 3,5 часа на машине стоимостью $1 млн., то сегодня взлом можно осуществить в реальном времени; 3DES является более защищенным, но наличие лучших вариантов делает его использование неоправданным);
    • IDEA ( International Data Encryption Standard )- хотя длина ключа (128 бит) является приемлемой, Microsoft проводит аналогии с алгоритмом DES : как известно, NSA подозревалось в сознательном ослаблении алгоритма DES , чтобы легко просматривать зашифрованные сообщения;
    • RC2 и RC5 — причины недоверия Microsoft к этим шифрам те же, что к DES и IDEA . Поскольку для шифрования используются «одноразовые блокноты», слабым местом может стать генератор псевдослучайных последовательностей . Современной тенденцией является использование блочных шифров в режиме поточного шифрования (например, поточное шифрование обеспечивают режимы CBF и OFB для алгоритма DES или режим гаммирования для алгоритма ГОСТ 28147 -89);
    • Blowfish и Twofish — криптоалгоритмы, разработанные Брюсом Шнайером (B. Schneier), удовлетворяют требованиям стойкости, но не являются стандартами: Twofish , являющийся более поздней версией Blowfish , вышел в финал конкурса на замену DES , но уступил шифру Rijndael ;
    • CAST : несмотря на то, что алгоритм показал себя устойчивым к линейному и дифференциальному криптоанализу , он имеет слишком малую длину ключа — 64 бита;
    • ГОСТ 28147-89: Microsoft подозревает стойкий шифр в наличии «лазеек» — «backdoors».

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

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

    Наиболее известные криптосистемы с открытым ключом :

    • Рюкзачная криптосистема ( Knapsack Cryptosystem ) [5.13];
    • Криптосистема RSA ;
    • Криптосистема Эль-Гамаля — EGCS ( El Gamal Cryptosystem );
    • Криптосистема , основанная на свойствах эллиптических кривых — ECCS ( Elliptic Curve Cryptosystems ).

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

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

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

    Схема ЭЦП должна определять три следующих алгоритма:

    • алгоритм подписи;
    • алгоритм проверки подписи.
    • алгоритм генерации ключевой пары для подписи и ее проверки;

    RSA [5.14] — криптографическая система с открытым ключом , обеспечивающая оба механизма защиты: шифрование и цифровую подпись. Криптосистема RSA была разработана в 1977 году и названа в честь авторов: Рональда Ривеста, Ади Шамира и Леонарда Адлемана.

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

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

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

    Если абонент А хочет подтвердить свое авторство сообщения, он сначала шифрует его на своем секретном ключе , а потом на открытом ключе абонента Б. Соответственно, абонент Б применяет к полученному сообщению свой секретный ключ и открытый ключ абонента А; успешное расшифрование является гарантией того, что отправить сообщение мог только абонент А.

    Схема Эль-Гамаля [5.15] основана на трудности вычисления дискретных логарифмов в конечном поле в сравнении с лёгкостью возведения в степень в том же самом поле .

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

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

    На схеме Эль-Гамаля базировались стандарты ЭЦП в России и США, принятые в 1994 году [5.17, 5.16] и действовавшие вплоть до 2001 г.

    Последние математические достижения показали, что проблема логарифмирования в конечных полях не является достаточно прочным фундаментом. Наиболее эффективные на сегодняшний день алгоритмы дискретного логарифмирования имеют уже не экспоненциальную, а субэкспоненциальную временную сложность. Это алгоритмы «index-calculus», использующие факторную базу, к числу которых относятся алгоритм Адлемана [5.18], несколько версий » COS » (алгоритма Копперсмита-Одлыжко-Шреппеля) [5.19] и решето числового поля [5.20]. Ведутся работы по повышению эффективности этих алгоритмов. Так, метод, описанный в [5.21], направлен на повышение эффективности решения линейных уравнений в кольцах вычетов, поскольку все субэкспоненциальные методы дискретного логарифмирования сводятся к этой задаче.

    Ряд успешных атак, описанных, например, в [5.23], на системы, основанные на сложности дискретного логарифмирования в конечных полях, привел к тому, в 2001 г. России и США были приняты новые стандарты на ЭЦП [5.22, 5.24]. Процессы формирования и проверки электронной ЭЦП существенно не изменились, однако вместо элементов конечного поля или они оперируют эллиптическими числами, т.е. решениями уравнения эллиптических кривых над указанными конечными полями, а роль операции возведения в степень в конечном поле выполняет операция взятия кратной точки эллиптической кривой . Если старый российский стандарт ЭЦП оперирует 1024-битовыми блоками, то новый — 256-битовыми, но при этом обладает большей стойкостью. Важно отметить, что специальный выбор типа эллиптической кривой позволяет не только во много раз усложнить задачу взлома схемы ЭЦП , но и уменьшить рабочий размер блоков данных. Криптосистемы на основе эллиптической кривой получают все большее распространение скорее как альтернатива , а не замена системам на основе RSA . Они имеют некоторые преимущества, особенно при использовании в устройствах с маломощными процессорами и/или маленькой памятью. Так, согласно стандарту США [5.24] на выработку и верификацию цифровой подписи DSS ( Digital Signature Standard ), ЭЦП может вырабатываться по одному из трех алгоритмов: DSA ( Digital Signature Algorithm ), основанному на проблеме дискретного логарифма в конечном поле , ANSI X9.31 ( RSA DSA ) [5.26] или ANSI X9.63 [5.25] ( EC DSA — алгоритм выработки подписи, основанный на проблеме дискретного логарифма в группе точек эллиптической кривой над конечным полем).

    Шифрование на платформе Windows

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

    На платформах Windows XP и Windows Server 2003 компания Microsoft рекомендует использовать следующие криптографические алгоритмы [5.11]:

    • AES -128 (или AES -192 , или AES -256 );
    • RSA 2048 (или с еще более длинным ключом);
    • SHA-2 (т.е. SHA-256 или SHA-512 );
    • DSA (или SHA-2 / RSA ).

    Криптография Windows Vista (и Longhorn Server ) соответствует рекомендациям Агентства Национальной Безопасности США и Национального института стандартов и технологии ( NIST ) по реализации протоколов » Suite B» [5.12] и предусматривает использование асимметричных криптоалгоритмов на основе эллиптических кривых . Алгоритмы » Suite B» включают:

    • AES (шифрование);
    • EC-DSA (электронно-цифровая подпись);
    • EC-DH или EC-MQV (обмен секретными ключами );
    • SHA-2 (хеширование).

    Далее мы более подробно рассмотрим алгоритмы шифрования (с секретным и открытым ключом ) и алгоритмы хеширования, а также приведем рекомендации Microsoft относительно их применения.

    Краткие итоги

    В данной лекции рассмотрены основные понятия и определения из области криптографии . Описаны схемы работы симметричных и асимметричных шифров. Указаны стандарты, регламентирующие использование криптографии в России и США. Представлены рекомендации Microsoft по применению криптографических алгоритмов.

    Классификация алгоритмов шифрования

    • Симметричные (с секретным, единым ключом, одноключевые, single-key).
      • Потоковые (шифрование потока данных):
        • с одноразовым или бесконечным ключом (infinite-key cipher);
        • с конечным ключом (система Вернама — Vernam);
        • на основе генератора псевдослучайных чисел (ПСЧ).
      • Блочные (шифрование данных поблочно):
        • Шифры перестановки (permutation, P-блоки);
        • Шифры замены (подстановки, substitution, S-блоки):
        • моноалфавитные (код Цезаря);
        • полиалфавитные (шифр Видженера, цилиндр Джефферсона, диск Уэтстоуна, Enigma);
      • Cоставные:
        • Lucipher (фирма IBM, США);
        • DES (Data Encryption Standard, США);
        • FEAL-1 (Fast Enciphering Algoritm, Япония);
        • IDEA/IPES (International Data Encryption Algorithm/
        • Improved Proposed Encryption Standard, фирма Ascom-Tech AG, Швейцария);
        • B-Crypt (фирма British Telecom, Великобритания);
        • ГОСТ 28147-89 (СССР); * Skipjack (США).
    • Асимметричные (с открытым ключом, public-key):
      • Диффи-Хеллман DH (Diffie, Hellman);
      • Райвест-Шамир-Адлeман RSA (Rivest, Shamir, Adleman);
      • Эль-Гамаль ElGamal.

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

    Хэширование — это метод криптозащиты, представляющий собой контрольное преобразование информации: из данных неограниченного размера путем выполнения криптографических преобразований вычисляется хэш-значение фиксированной длины, однозначно соответствующее исходным данным. Хэширование может выполняться как с использованием некоторого секретного ключа, так и без него. Данный метод применяется в схемах электронной подписи («подписывается» обычно хэш-значение данных, а не все данные целиком), а также в схемах аутентификации пользователей (при проверке, действительно ли пользователь является тем, за кого себя выдает).

    Потоковые шифры

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

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

    Бесконечный ключ – это означает, что гамма не повторяется.

    Понятно, что обмен ключами размером с шифруемую информацию не всегда уместен. Поэтому чаще используют гамму, получаемую с помощью генератора псевдослучайных чисел (ПСЧ). В этом случае ключ — порождающее число (начальное значение, вектор инициализации, initializing value, IV) для запуска генератора ПСЧ. Каждый генератор ПСЧ имеет период, после которого генерируемая последовательность повторяется. Очевидно, что период псевдослучайной гаммы должен превышать длину шифруемой информации.

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

    При использовании генератора ПСЧ возможны несколько вариантов:

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

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

    3. Побитовое шифрование потока данных с ОС по исходному тексту. Базой генератора ПСЧ является исходная информация. Характерно свойство неограниченного распространения ошибки.

    4. Побитовое шифрование потока данных с ОС по шифртексту и по исходному тексту.

    Блочные шифры

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

    • шифры перестановки (transposition, permutation, P-блоки);
    • шифры замены (подстановки, substitution, S-блоки).

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

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

    • моноалфавитные (код Цезаря) ;
    • полиалфавитные (шифр Видженера, цилиндр Джефферсона, диск Уэтстоуна, Enigma).

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

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

    В современных криптографических системах, как правило, используют оба способа шифрования (замены и перестановки). Такой шифратор называют составным (product cipher). Oн более стойкий, чем шифратор, использующий только замены или перестановки.

    Блочное шифрование можно осуществлять двояко:

    1. Без обратной связи (ОС). Несколько битов (блок) исходного текста шифруются одновременно, и каждый бит исходного текста влияет на каждый бит шифртекста. Однако взаимного влияния блоков нет, то есть два одинаковых блока исходного текста будут представлены одинаковым шифртекстом. Поэтому подобные алгоритмы можно использовать только для шифрования случайной последовательности битов (например, ключей). Примерами являются DES в режиме ECB и ГОСТ 28147-89 в режиме простой замены.

    2. С обратной связью. Обычно ОС организуется так: предыдущий шифрованный блок складывается по модулю 2 с текущим блоком. В качестве первого блока в цепи ОС используется инициализирующее значение. Ошибка в одном бите влияет на два блока — ошибочный и следующий за ним. Пример — DES в режиме CBC.

    Генератор ПСЧ может применяться и при блочном шифровании:

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

    2. Поблочное шифрование потока данных с ОС. Генератор ПСЧ управляется шифрованным или исходным текстом или обоими вместе.

    Последнее изменение этой страницы: 2020-02-06; Нарушение авторского права страницы

    Типы алгоритмов шифрования

    Читайте также:

    1. I. Стандартные процедуры реализации условных алгоритмов в среде VBA.
    2. Алгоритмов работы с величинами
    3. Алгоритмы блочного шифрования: DES и ГОСТ 28147-89
    4. Асимметричные алгоритмы шифрования
    5. Достоинства и недостатки генетических алгоритмов
    6. Использование алгоритмов порождения комбинаторных объектов при решения задач выбора
    7. Количество алгоритмов AES
    8. Лабораторная работа №2.Реализация и исследование временных характеристик алгоритмов порождения комбинаторных объектов.
    9. МАС на основе алгоритма симметричного шифрования
    10. Модификация алгоритмов
    11. Общие правила создания схем алгоритмов
    12. Основные свойства алгоритмов

    Время жизни информации

    Тип информации Время жизни
    Военная тактическая информация мин/ч
    Информация о выпуске продукции дни/недели
    Долгосрочные бизнес-проекты годы
    Производственные секреты десятилетия
    Секрет создания водородной бомбы Более 40 лет
    Информация о разведчиках Более 50 лет
    Личная информация Более 50 лет
    Дипломатическая тайна Более 65 лет
    Информация о переписи населения 100 лет

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

    § Наличие вероятных слов. Это слова или выражения, появление которых можно ожидать в перехваченном сообщении (например, для английского текста – «and», «the», «аrе» и др.).

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

    § Рассеивание. Влияние одного символа открытого сообщения распространяется на множество символов зашифрованного сообщения. Этот метод хотя и приводит к увеличению количества ошибок при расшифровке, однако с его помощью удаётся скрыть статистическую структуру открытого сообщения.

    § Запутывание. Развитие принципа рассеивания. В нём влияние одного символа ключа распространяется на множество символов зашифрованного

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

    Примерами изложенных методов служат стандарты шифрования DES и ГОСТ 28147-89.

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

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

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

    Симметричное шифрование.

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

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

    Неизбежно возникаем проблема: как передать ключ и при этом не позволить злоумышленникам перехватить его.

    Преимущества криптографии с симметричными ключами:

    · Высокая стойкость. При прочих равных условиях стойкость криптографического алгоритма определяется длиной ключа. При длине ключа 256 бит необходимо произвести 10 77 переборов для его определения.

    Недостатки криптографии с симметричными ключами.

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

    § Масштабируемость. Так как и отправитель, и получатель используют единый ключ, количество необходимых ключей возрастает в геометрической прогрессии в зависимости от числа участников коммуникации. Для обмена сообщениями между 10 пользователями необходимо иметь 45 ключей, а для 1000 пользователей – уже 499 500.

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

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

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

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

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

    Асимметричная схема идеально сочетается с использованием общедоступных сетей передачи сообщений (например, Интернет). Любой абонент сети может совершенно свободно переслать открытый ключ своему партнеру по переговорам, а последний, в роли отправителя сообщения, будет использовать этот ключ при шифровании отсылаемого сообщения (рис. 2). Это сообщение сможет расшифровать своим личным ключом только получатель сообщения, который отсылал раньше соответствующий открытый ключ. Злоумышленник, перехвативший такой ключ, сможет воспользоваться им только с единственной целью – передавать законному владельцу ключа какие-нибудь зашифрованные сообщения.

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

    Рис. 2. Асимметричная схема шифрования

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

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

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

    Дата добавления: 2014-12-27 ; Просмотров: 4117 ; Нарушение авторских прав? ;

    Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

    Шифрование данных. Основные термины и определения. Классификация алгоритмов шифрования.

    Шифрование – процесс преобразования открытого текста в искаженную форму – шифротекст;

    Расшифрование – процесс преобразования шифротекста в открытый текст (легально, с помощью ключа);

    Дешифрование – процесс «взлома» шифротекста с целью получения ключа;

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

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

    Классификация шифров по типу преобразования:

    · Шифры замены – фрагменты открытого текста (отдельные буквы или группы букв) заменяются некоторыми их эквивалентами в шифротексте.

    · Шифры перестановки – буквы открытого текста при шифровании лишь меняются местами друг с другом.

    · Композиционные шифры – зашифрованный текст ещё раз шифруется другим алгоритмом.

    Все современные шифры являются композиционными.

    Поточные шифры простой замены. Классификация. Примеры. Методы криптоанализа.

    Шифры замены – фрагменты открытого текста (отдельные буквы или группы букв) заменяются некоторыми их эквивалентами в шифротексте.

    Классификация по мощности алфавита шифрования:

    · Блочные – текст разбивается на блоки, длиной более одного знака и шифруется поблочно.

    · Поточные – каждый знак текста шифруется отдельно.

    Криптоанализ поточного шифра простой замены

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

    6. Выявление шифробозначений, заменяющих гласные и согласные буквы.

    7. Выдвижение гипотез о значениях шифробозначений и их проверка.

    8. Восстановления истинного значения шифробозначений.

    Блочные шифры простой замены. Методы криптоанализа блочных шифров простой замены. Шифры Плейфера и Хилла.

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


    Буквы биграммы (i,j), i<>j (являющейся шифровеличиной) находятся в данной таблице. При шифровании биграмма (i,j) заменяется биграммой (k,l), где k и l определяются в соответствии с правилами 1-3.

    4. Если i и j не лежат в одной строке или одном столбце, то их позиции образуют противоположные вершины прямоугольника. Тогда k и l – другая пара вершин, причем k – вершина, лежащая в той же строке, что и i.

    5. Если i и j лежат в одной строке, то k и l – буквы той же строки, расположенные непосредственно справа от i и j соответственно. При этом если одна из буквы – последняя в строке, то считается, что ее «правым соседом» является первая буква той же строи.

    6. Аналогично, если i и j лежат в одном столбце, то они заменяются их «соседями снизу».

    При расшифровании в случае 1 не меняется, в случае 2 сдвигаемся влево, в случае 3 сдвигаемся вверх.

    Блочный шифр с размерностью блока от 3 и выше. Процедура шифрования заключается в умножении матрицы ключа на матрицу открытого текста. Для расшифрования используется обратная ключевая матрица.

    Буквы кодируем цифрами согласно таблице.

    Дата добавления: 2020-08-06 ; просмотров: 134 ; ЗАКАЗАТЬ РАБОТУ

    Классификация алгоритмов шифрования

    3. ОСНОВНЫЕ ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ. КЛАССИФИКАЦИЯ ШИФРОВ

    3.1. Основные термины и определения

    Одно из основных понятий криптографии — шифр (араб. صِفْر (sifr) — «ноль», «ничто», «пустота», откуда фр. chiffre — «цифра»; арабы первыми стали заменять буквы на цифры с целью защиты исходного текста).

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

    Составными элементами шифра являются:

    — алфавиты для записи исходных сообщений (защищаемой информации, открытого текста) и шифрованных сообщений (шифртекстов, шифрограмм, криптограмм);

    — алгоритмы криптографического преобразования (зашифрования и дешифрования);

    Азбука или алфавит (греч. ἀλφάβητος) — форма письменности, основанная на стандартном наборе знаков, один или набор которых соответствуют фонемам 1 языка. В общем случае алфавит для записи исходных сообщений и алфавит для записи шифрованных сообщений могут отличаться. Например, исходные сообщения записываются с помощью букв, а шифрограммы с помощью цифр или графических обозначений.

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

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

    Дешифрование (расшифрование) — процесс, обратный шифрованию, т. е. преобразование шифрованного сообщения в исходное.

    Алгоритмы шифрования и зашифрования, как правило, отличаются друг от друга, но могут и совпадать. В частности, в некоторых комбинированных блочных шифрах (DES, ГОСТ 28147-89) алгоритмы совпадают, но отличаются порядком использования ключа (ключевых элементов). Алгоритм шифрования может включать в себя предварительное кодирование, а алгоритм расшифрования — обратное перекодирование. Например, в аддитивных шифрах перед шифрованием буквы (символы) исходного сообщения заменяются на числа, а результат расшифрования в виде чисел преобразуется в буквы (символы). Аналогичная ситуация имеет место и в некоторых шифрах замены (шифр Хилла), комбинированных блочных шифрах, асимметричных шифрах.

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

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

    где P (англ. public — открытый) — открытое сообщение;
    C (англ. cipher — шифрованный) — шифрованное сообщение;
    f — алгоритм шифрования;
    g — алгоритм расшифрования;
    k1 – ключ зашифрования, известный отправителю;
    k2 – ключ расшифрования, известный адресату.

    В настоящее время разработкой методов шифрования и дешифрования информации (в т.ч. и без знания ключа) занимается криптология (греч. κρυπτός — тайный, λόγος — слово, знание). Криптология разделяется на два направления — криптографию и криптоанализ. Цели этих двух правлений криптологии прямо противоположны.

    Криптография (греч. κρυπτός — скрытый и γράφω — пишу, рисую) – наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.

    Криптоанализ (греч. κρυπτός — скрытый и ανάλυση — разложение, расчленение) – наука, занимающаяся вопросами оценки сильных и слабых сторон методов шифрования, а также разработкой методов, позволяющих взламывать криптосистемы.

    Следует различать криптографические методы сокрытия информации (шифрование) и кодирование. Кодирование – представление информации в альтернативном виде. Шифрование является частным случаем кодирования и предназначено для обеспечения конфиденциальности информации. С точки зрения решения этой задачи, кодирование – это безключевое шифрование, в котором преобразование построено на алгоритме кодирования или кодовой таблице. Различают:

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

    секретные кодовые системы, предназначенные, как и криптографические системы, для обеспечения конфиденциальности (номенклаторы, «Код Госдепартамента», «Американский код для окопов», «Речные коды : Потомак»).

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

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

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

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

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

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

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

    Что касается применения конкретных криптографических методов, то следует отметить, что не существует единого шифра, подходящего для всех случаев. Выбор способа шифрования зависит:

    — от вида защищаемой информации (документальная, телефонная, телевизионная, компьютерная и т.д.);

    — от объема и требуемой скорости передачи шифрованной информации;

    — от ценности защищаемой информации (некоторые тайны [например, государственные, военные и др.] должны сохраняться десятилетиями, а некоторые [например, биржевые] — уже через несколько часов можно разгласить);

    — от возможностей владельцев секретной информации, а также от возможностей противника (одно дело — противостоять одиночке, а другое дело — мощной государственной структуре).

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

    1 Фонема (др.-греч. φώνημα — «звук») — минимальная смыслоразличимая единица языка.

    3.2. Основные требования, предъявляемые к криптосистемам

    Для современных криптографических систем можно сформулировать следующие требования:

    — сложность и трудоёмкость процедур шифрования и дешифрования должны определяться в зависимости от требуемого уровня защиты информации (необходимо обеспечить надежную защиту информации);

    — временные и стоимостные затраты на защиту информации должны быть приемлемыми при заданном уровне ее секретности (затраты на защиту не должны быть чрезмерными);

    — процедуры шифрования и дешифрования не должны зависеть от длины сообщения;

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

    — любой ключ из множества возможных должен обеспечивать надежную защиту информации;

    — незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения;

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

    — зашифрованное сообщение должно поддаваться чтению только при наличии ключа.

    3.3. Классификация шифров

    Существует несколько классификаций шифров. Рассмотрим некоторые из них.

    Рис.3.1. Классификация шифров

    I. По области применения различают шифры ограниченного и общего использования.

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

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

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

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

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

    В аддитивных шифрах буквы алфавита заменяются числами, к которым затем добавляются числа секретной случайной (псевдослучайной) числовой последовательности (гаммы), после чего берется остаток от деления по модулю (операция mod). Если исходное сообщение и гамма представляются в битовом виде, то при шифровании и расшифровании применяется логическая операция «Исключающее ИЛИ» (XOR, сложение по модулю 2).

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

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

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

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

    потоковые шифры – процедура преобразование применяется к отдельному символу сообщения;

    блочные шифры – процедура преобразование применяется к набору (блоку) символов сообщения.

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

    IV. По стойкости шифры делятся на три группы:

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

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

    — вычислительная сложность полного перебора;

    — известные на данный момент слабости (уязвимости) и их влияние на вычислительную сложность;

    Алгоритм шифрования

    Существует два вида алгоритма шифрования с использованием ключей:

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

    Симметричный алгоритм бывает двух видов: поточный и блочный.

    — Алгоритм шифрования с открытым ключом (ассиметричный). Ключ для шифрования отличается от ключа дешифрования.

    Классификация алгоритмов шифрования

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

    Потоковые шифры. В них при шифровании потока данных каждый бит исходной информации шифруется независимо от других при помощи гаммирования. Гаммирование — это процесс наложения на открытые данные гаммы шифра (случайные или псевдослучайные последовательности 0 и 1) по определённому правилу. Обычно используется операция сложения по модулю 2.

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

    • — шифр перестановки P-блоки
    • — блоки замены S-блоки

    Шифр перестановок переставляет элементы открытых данных (биты, буквы, символы) в некотором новом порядке. Различают шифры: горизонтальные, вертикальные, двойной перестановки, решётки, лабиринты и т.д.

    Шифры замены заменяют элементы открытых данных на другие элементы по определённому правилу.

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

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

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

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

    Алгоритмы шифрования данных. Симметричные алгоритмы шифрования. Алгоритм шифрования RSA. Алгоритм шифрования DES. Выбор алгоритма шифрования

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

    Что собой представляет система шифрования данных?

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

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

    Зачем это нужно?

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

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

    На ум приходит только одна фраза, ставшая классикой принципов деятельности Натана Ротшильда: «Кто владеет информацией, тот владеет миром». И именно поэтому информацию приходится защищать от посторонних глаз, дабы ей не воспользовался кто-то еще в своих корыстных целях.

    Криптография: точка отсчета

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

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

    Современный мир: виды алгоритмов шифрования

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

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

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

    Симметричные и асимметричные алгоритмы шифрования: в чем разница

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

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

    А что представляют собой асимметричные алгоритмы шифрования? Здесь применяются два ключа, то есть для кодирования исходной информации использует один, для расшифровки содержимого – другой, причем совершенно необязательно, чтобы они совпадали или одновременно находились у кодирующей и декодирующей стороны. Для каждой из них достаточно одного. Таким образом, в очень высокой степени исключается попадание обоих ключей в третьи руки. Однако, исходя из современной ситуации, для многих злоумышленников кражи такого типа особо проблемой и не являются. Другое дело – поиск именно того ключа (грубо говоря, пароля), который подойдет для расшифровки данных. А тут вариантов может быть столько, что даже самый современный компьютер будет обрабатывать их в течение нескольких десятков лет. Как было заявлено, ни одна из имеющихся в мире компьютерных систем взломать доступ к нему и получить то, что называется «прослушкой», не может и не сможет в течение ближайших десятилетий.

    Наиболее известные и часто применяемые алгоритмы шифрования

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

    В большинстве стран стандартом де-факто является криптографическая система AES на основе 128-битного ключа. Однако параллельно с ней иногда используется и алгоритм шифрования RSA, который хоть и относится к шифрованию с использованием открытого (публичного) ключа, тем не менее является одним из самых надежных. Это, кстати, доказано всеми ведущими специалистами, поскольку сама система определяется не только степенью шифрования данных, но и сохранением целостности информации. Что касается ранних разработок, к коим относится алгоритм шифрования DES, то он безнадежно устарел, а попытки его замены начали проводиться еще в 1997 году. Вот тогда-то на его основе и возник новый расширенный (Advanced) стандарт шифрования AES (сначала с ключом 128 бит, потом – с ключом 256 бит).

    Шифрование RSA

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

    Для шифрования берутся два достаточно больших числа X и Y, после чего вычисляется их произведение Z, называемое модулем. Далее выбирается некое постороннее число A, удовлетворяющее условию: 1 10 мая, 2020

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

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

    Лекция 11. Криптографические методы защиты информации

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

    11.2. Стандарты шифрования

    11.3. Перспективы использования криптозащиты информации в КС

    1. Завгородний В.И. комплексная защита информации в компьютерных системах: Учебное пособие. – Логос, 201. – С.159-179.

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

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

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

    Рис.11.1. Классификация методов криптографического преобразования информации

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

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

    Существует несколько методов скрытой передачи информации. Одним из них является простой метод скрытия файлов при работе в операционной системе MS DOS. За текстовым открытым файлом записывается скрытый двоичный файл, объем которого много меньше текстового файла. В конце текстового файла помещается метка EOF (комбинация клавиш Control и Z). При обращении к этому текстовому файлу стандартными средствами ОС считывание прекращается по достижению метки EOF и скрытый файл остается недоступен. Для двоичных файлов никаких меток в конце файла не предусмотрено. Конец такого файла определяется при обработке атрибутов, в которых хранится длина файла в байтах. Доступ к скрытому файлу может быть получен, если файл открыть как двоичный. Скрытый файл может быть зашифрован. Если кто-то случайно обнаружит скрытый файл, то зашифрованная информация будет воспринята как сбой в работе системы.

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

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

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

    11.1.1. Шифрование. Основные понятия

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

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

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

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

    — криптостойкость обеспечивается не секретностью алгоритма шифрования, а секретностью ключа;

    — шифртекст не должен существенно превосходить по объему исходную информацию;

    — ошибки, возникающие при шифровании, не должны приводить к искажениям и потерям информации;

    — время шифрования не должно быть большим;

    — стоимость шифрования должна быть согласована со стоимостью закрываемой информации.

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

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

    В качестве примера удачного метода шифрования можно привести шифр DES (Data Encryption Standard), применяемый в США с 1978 года в качестве государственного стандарта. Алгоритм шифрования не является секретным и был опубликован в открытой печати. За все время использования этого шифра не было обнародовано ни одного случая обнаружения слабых мест в алгоритме шифрования.

    В конце 70-х годов использование ключа длиной в 56 бит гарантировало, что для раскрытия шифра потребуется несколько лет непрерывной работы самых мощных по тем временам компьютеров. Прогресс в области вычислительной техники позволил значительно сократить время определения ключа путем полного перебора. Согласно заявлению специалистов Агентства национальной безопасности США 56-битный ключ для DES может быть найден менее чем за 453 дня с использованием суперЭВМ Cray T3D, которая имеет 1024 узла и стоит 30 млн. долл. Используя чип FPGA (Field Progammably Gate Array — программируемая вентильная матрица) стоимостью 400 долл., можно восстановить 40-битный ключ DES за 5 часов. Потратив 10000 долл. за 25 чипов FPGA, 40-битный ключ можно найти в среднем за 12 мин. Для вскрытия 56-битного ключа DES при опоре на серийную технологию и затратах в 300000 долл. требуется в среднем 19 дней, а если разработать специальный чип, то — 3 часа. При затратах в 300 млн. долл. 56-битные ключи могут быть найдены за 12 сек. Расчеты показывают, что в настоящее время для надежного закрытия информации длина ключа должна быть не менее 90 бит.

    Все методы шифрования могут быть классифицированы по различным признакам. Один из вариантов классификации приведен на рис.11.2 [8].

    Рис.11.2. Классификация методов шифрования

    11.1.3. Методы шифрования с симметричным ключом

    1. Методы замены

    Сущность методов замены (подстановки) заключается в замене символов исходной информации, записанных в одном алфавите, символами из другого алфавита по определенному правилу |56]. Самым простым является метод прямой замены. Символам si, исходного алфавита A, с помощью которых записывается исходная информация, однозначно ставятся в соответствие символы s1i, шифрующего алфавита A1. В простейшем случае оба алфавита могут состоять из одного и того же набора символов. Например, оба алфавита могут содержать буквы русского алфавита.

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

    Алгоритм моно алфавитной замены может быть представлен в виде последовательности шагов.

    Шаг 1. Формирование числового кортежа Lh путем замены каждого символа si Î T (i = l,K), представленного в исходном алфавите А размера [1´R], на число hi(si), соответствующее порядковому номеру символа si в алфавите А.

    Шаг 2. Формирование числового кортежа L1h путем замены каждого числа кортежа L0h на соответствующее число h1i кортежа L1h, вычисляемое по формуле:

    где k1 — десятичный коэффициент;

    k2 — коэффициент сдвига.

    Выбранные коэффициенты k1, k2 должны обеспечивать однозначное соответствие чисел hi и h1i;, а при получении h1i = 0 выполнить замену h1i=R.

    Шаг 3. Получение шифртекста T1 путем замены каждого числа h1i(s1i,) кортежа L1h соответствующим символом s1i Î T1 (i = l,K) алфавита шифрования а1 размера [1´R].

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

    Пример. Исходными данными для шифрования являются:

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

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

    При известных целых величинах k1, k2, h1i и R величина h0ш вычисляется методом перебора n.

    Последовательное применение этой процедуры ко всем символам шифртекста приводит к его расшифрованию.

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

    Использование таблицы замены значительно упрощает процесс шифрования. При шифровании символ исходного текста сравнивается с символами строки si таблицы. Если произошло совпадение в i-м столбце, то символ исходного текста заменяется символом из строки s1i;, находящегося в том же столбце i таблицы.

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

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

    Существенно более стойкими являются методы полиалфавитной замены. Такие методы основаны на использовании нескольких алфавитов для замены символов исходного текста. Формально полиалфавитную замену можно представить следующим образом. При N — алфавитной замене символ si из исходного алфавита A1 заменяется символом s11 из алфавита A1, s02 заменяется символом s22 из алфавита А2 и так далее. После замены sN символом sNN из i AN символ s0(N+1) замещается символом s1(N+1) из алфавита A1 и так далее (рис.11.3).

    Рис.11.3. Матрица Вижинера

    Шифрование осуществляется с помощью ключа, состоящего из М неповторяющихся символов. Из полной матрицы Вижинера выделяется матрица шифрования ТШ, размерностью [(M+1),R]. Она включает первую строку и строки, первые элементы которых совпадают с символами ключа. Если в качестве ключа выбрано , то матрица шифрования содержит пять строк (рис.11.4).

    Рис.11.4. Матрица шифрования для ключа

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

    Шаг 1. Выбор ключа К длиной М символов.

    Шаг 2. Построение матрицы шифрования ТШ=(bij) размерностью [(M+1),R] для выбранного ключа К.

    Шаг 3. Под каждым символом sr исходного текста длиной I символов размещается символ ключа km (рис.20). Ключ повторяется необходимое число раз.

    Шаг 4. Символы исходного текста последовательно замещаются символами, выбираемыми из ТШ по следующему правилу:

    1) определяется символ km ключа К, соответствующий заменяемому символу sr;

    2) находится строка i в ТШ,для которой выполняется условие km=bi1;

    3) определяется столбец j, для которого выполняется условие: sr = b1j;

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

    Расшифрование осуществляется в следующей последовательности:

    Шаг 1. Под шифртекстом записывается последовательность символов ключа по аналогии с шагом 3 алгоритма зашифрования.

    Шаг 2. Последовательно выбираются символы s1r из шифртекста и соответствующие символы ключа km. В матрице ТШ определяется строка i, для которой выполняется условие km= bi1. В строке i определяется элемент bij= s1r. В расшифрованный текст на позицию r помещается символ b1j.

    Шаг 3. Расшифрованный текст записывается без разделения на блоки. Убираются служебные символы.

    Требуется с помощью ключа К = зашифровать исходный текст Т = . Механизмы зашифрования и расшифрования представлены на рис.11.5.

    Рис.11.5. Пример шифрования с помощью матрицы Вижинера

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

    Для повышения криптостойкости может использоваться модифицированная матрица шифрования. Она представляет собой матрицу размерности [11,R], где R — число символов алфавита. В первой строке располагаются символы в алфавитном порядке. Остальные 10 строк нумеруются от 0 до 9. В этих строках символы располагаются случайным образом.

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

    Не нашли то, что искали? Воспользуйтесь поиском:

    Лучшие изречения: Только сон приблежает студента к концу лекции. А чужой храп его отдаляет. 8808 — | 7523 — или читать все.

    188.64.174.135 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

    Отключите adBlock!
    и обновите страницу (F5)

    очень нужно

    Характеристики информации с точки зрения ее защиты. Способы обеспечения защиты информации. Классификация алгоритмов шифрования. Современные алгоритмы шифрования. Режим сцепления блоков , страница 3

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

    Общая схема шифрования по алгоритму IDEA приведена на рис.2.3 64-битовый блок данных, разделенный на 4 16-битовых блока, и 6 различных подключей длиной 16 бит, которые генерируются из исходного ключа. Еще 4 подключа используются в выходном преобразовании (итого 52 подключа).

    Структура одного раунда

    1. На первом этапе 4 входных блока связываются с 4 подключами с помощью операций сложения (2 операции) и умножения (2 операции).

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

    3. Третий этап работает с двумя входными блоками и двумя новыми подключами. На этом этапе производят операции сложения и умножения в различных сочетаниях. Результат – 2 блока по 16 бит.

    4. 4 блока, полученные на выходе первого этапа, связываются операцией XOR с двумя блоками, полученными на выходе третьего этапа. На выходе имеем 4 выходных блока.

    5. Два средних блока меняются местами для увеличения степени перемешивания.

    4 Современные алгоритмы шифрования

    Алгоритм RIJNDAEL (быстродействие и простота аппаратной реализации)

    Алгоритм представляет каждый блок кодируемых данных в виде двумерного массива байтов – решетки размером 4х4, 4х6 или 4х8 байтов, в зависимости от длины блока. Далее производятся преобразования над отдельными столбцами, либо над отдельными строками, либо над отдельными байтами. Алгоритм состоит из однотипных раундов числом от 10 до 14 (в зависимости от размера блока и длины ключа). Каждый раунд содержит следующие операции: BS: подстановка для каждого байта решетки с использованием таблицы подстановки. Каждый байт преобразуется с помощью таблицы и заменяется другим. SR: сдвиг строк в решетке на различные смещения (циклический сдвиг) MC: умножение каждого столбца на фиксированную матрицу, перемешивающее данные внутри столбца. AK: Операция XOR с исходной матрицей и матрицей, содержащей ключ шифрования.

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

    Длина ключа алгоритма – 256 битов, размер блока – 64 бита. Алгоритм чрезвычайно прост в реализации. Алгоритм следующий: Данные разбиваются на блоки фиксированной длины. Каждый блок разбивается на два 32-битовых слова N1, N2; Выполняется первичное преобразование ключа; Первое слово блока N1 преобразуется с помощью ключа шифрования, после чего в нем производятся табличные подстановки и циклический сдвигов битов. Результат выполняет операцию XOR со вторым словом блока N2. Затем слова меняются местами; Такая операция производится 32 раза (32 раунда обработки); Производится финальная перестановка, и выходной результат является шифртекстом.

    Аппаратное и программное шифрование

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

    Программное шифрование имеет свои достоинства: Простота копирования программных средств; Простота в использовании; Легкость модификации и обновления версий

    Сжатие и шифрование

    Алгоритмы сжатия очень полезно использовать совместно с криптографическими алгоритмами. На это есть две причины:

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

    2. Шифрование – очень трудоемкая операция. При сжатии уменьшается длина открытого текста, и тем самым сокращается время шифрования. Только не надо путать: текст подлежит сжатию до, а не после шифрования.

    5 Принципы шифрования с открытым ключом

    Шифрование с открытым ключом основано на следующих принципах:

    1. Криптографическая система генерирует пару взаимосвязанных ключей: открытый ключ для шифрования и секретный – для дешифрации.

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

    3. По открытому ключу невозможно восстановить секретный ключ.

    Процесс обмена сообщениями в системах с открытым ключом выглядит так:

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

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

    3. Если пользователь А хочет послать сообщение пользователю В, он шифрует сообщение, используя открытый ключ пользователя В.

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

    Алгоритм RSA – это блочный шифр, текст шифруется блоками. Каждый блок содержит количество бит, меньшее некоторого заданного числа N. Алгоритм основан на формулах со степенями. Если М – открытый текст, а С – зашифрованный, то процесс шифрации и дешифрации выражается формулами: С = М е mod N, М = C d mod N

    • АлтГТУ 419
    • АлтГУ 113
    • АмПГУ 296
    • АГТУ 266
    • БИТТУ 794
    • БГТУ «Военмех» 1191
    • БГМУ 172
    • БГТУ 602
    • БГУ 153
    • БГУИР 391
    • БелГУТ 4908
    • БГЭУ 962
    • БНТУ 1070
    • БТЭУ ПК 689
    • БрГУ 179
    • ВНТУ 119
    • ВГУЭС 426
    • ВлГУ 645
    • ВМедА 611
    • ВолгГТУ 235
    • ВНУ им. Даля 166
    • ВЗФЭИ 245
    • ВятГСХА 101
    • ВятГГУ 139
    • ВятГУ 559
    • ГГДСК 171
    • ГомГМК 501
    • ГГМУ 1967
    • ГГТУ им. Сухого 4467
    • ГГУ им. Скорины 1590
    • ГМА им. Макарова 300
    • ДГПУ 159
    • ДальГАУ 279
    • ДВГГУ 134
    • ДВГМУ 409
    • ДВГТУ 936
    • ДВГУПС 305
    • ДВФУ 949
    • ДонГТУ 497
    • ДИТМ МНТУ 109
    • ИвГМА 488
    • ИГХТУ 130
    • ИжГТУ 143
    • КемГППК 171
    • КемГУ 507
    • КГМТУ 269
    • КировАТ 147
    • КГКСЭП 407
    • КГТА им. Дегтярева 174
    • КнАГТУ 2909
    • КрасГАУ 370
    • КрасГМУ 630
    • КГПУ им. Астафьева 133
    • КГТУ (СФУ) 567
    • КГТЭИ (СФУ) 112
    • КПК №2 177
    • КубГТУ 139
    • КубГУ 107
    • КузГПА 182
    • КузГТУ 789
    • МГТУ им. Носова 367
    • МГЭУ им. Сахарова 232
    • МГЭК 249
    • МГПУ 165
    • МАИ 144
    • МАДИ 151
    • МГИУ 1179
    • МГОУ 121
    • МГСУ 330
    • МГУ 273
    • МГУКИ 101
    • МГУПИ 225
    • МГУПС (МИИТ) 636
    • МГУТУ 122
    • МТУСИ 179
    • ХАИ 656
    • ТПУ 454
    • НИУ МЭИ 641
    • НМСУ «Горный» 1701
    • ХПИ 1534
    • НТУУ «КПИ» 212
    • НУК им. Макарова 542
    • НВ 777
    • НГАВТ 362
    • НГАУ 411
    • НГАСУ 817
    • НГМУ 665
    • НГПУ 214
    • НГТУ 4610
    • НГУ 1992
    • НГУЭУ 499
    • НИИ 201
    • ОмГТУ 301
    • ОмГУПС 230
    • СПбПК №4 115
    • ПГУПС 2489
    • ПГПУ им. Короленко 296
    • ПНТУ им. Кондратюка 119
    • РАНХиГС 186
    • РОАТ МИИТ 608
    • РТА 243
    • РГГМУ 118
    • РГПУ им. Герцена 124
    • РГППУ 142
    • РГСУ 162
    • «МАТИ» — РГТУ 121
    • РГУНиГ 260
    • РЭУ им. Плеханова 122
    • РГАТУ им. Соловьёва 219
    • РязГМУ 125
    • РГРТУ 666
    • СамГТУ 130
    • СПбГАСУ 318
    • ИНЖЭКОН 328
    • СПбГИПСР 136
    • СПбГЛТУ им. Кирова 227
    • СПбГМТУ 143
    • СПбГПМУ 147
    • СПбГПУ 1598
    • СПбГТИ (ТУ) 292
    • СПбГТУРП 235
    • СПбГУ 582
    • ГУАП 524
    • СПбГУНиПТ 291
    • СПбГУПТД 438
    • СПбГУСЭ 226
    • СПбГУТ 193
    • СПГУТД 151
    • СПбГУЭФ 145
    • СПбГЭТУ «ЛЭТИ» 380
    • ПИМаш 247
    • НИУ ИТМО 531
    • СГТУ им. Гагарина 114
    • СахГУ 278
    • СЗТУ 484
    • СибАГС 249
    • СибГАУ 462
    • СибГИУ 1655
    • СибГТУ 946
    • СГУПС 1513
    • СибГУТИ 2083
    • СибУПК 377
    • СФУ 2423
    • СНАУ 567
    • СумГУ 768
    • ТРТУ 149
    • ТОГУ 551
    • ТГЭУ 325
    • ТГУ (Томск) 276
    • ТГПУ 181
    • ТулГУ 553
    • УкрГАЖТ 234
    • УлГТУ 536
    • УИПКПРО 123
    • УрГПУ 195
    • УГТУ-УПИ 758
    • УГНТУ 570
    • УГТУ 134
    • ХГАЭП 138
    • ХГАФК 110
    • ХНАГХ 407
    • ХНУВД 512
    • ХНУ им. Каразина 305
    • ХНУРЭ 324
    • ХНЭУ 495
    • ЦПУ 157
    • ЧитГУ 220
    • ЮУрГУ 306

    Полный список ВУЗов

    Чтобы распечатать файл, скачайте его (в формате Word).

Илон Маск рекомендует:  Что такое код asp getpreviousurl
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL