Контрольная работа: Криптография Шифры их виды и свойства

Используя эту таблицу, зашифруем слово победа. Получим следующее: btpzrs

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

Самая простая перестановка - написать исходный текст наоборот и одновременно разбить шифрограмму на пятерки букв[4] . Например, из фразы

ПУСТЬ БУДЕТ ТАК, КАК МЫ ХОТЕЛИ

получится такой шифротекст:

ИЛЕТО ХЫМКА ККАТТ ЕДУБЪ ТСУП

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

ОИЛЕТ ОХЫМК АККАТ ТЕДУБ ЬТСУП

III. Блочные шифры - семейство обратимых преобразований блоков (частей фиксированной длины) исходного текста. Фактически блочный шифр - это система подстановки на алфавите блоков. Она может быть моно - или многоалфавитной в зависимости от режимаблочного шифра. Иначе говоря, при блочном шифровании информация разбивается на блоки фиксированной длины и шифруется поблочно. Блочные шифры бывают двух основных видов: шифры перестановки (transposition, permutation, P-блоки) и шифры замены (подстановки, substitution, S-блоки) [5] . В настоящее время блочные шифры наиболее распространены на практике.

Американский стандарт криптографического закрытия данных DES ( Data Encryption Standard), принятый в 1978 г., является типичным представителем семейства блочных шифров и одним из наиболее распространенных криптографических стандартов на шифрование данных, применяемых в США. Этот шифр допускает эффективную аппаратную и программную реализацию, причем возможно достижение скоростей шифрования до нескольких мегабайт в секунду. Первоначально метод, лежащий в основе данного стандарта, был разработан фирмой IBMдля своих целей. Он был проверен Агентством Национальной Безопасности США, которое не обнаружило в нем статистических или математических изъянов.

DES имеет блоки по 64 бит и основан на 16-кратной перестановке данных, также для шифрования использует ключ в 56 бит. Существует несколько режимов DES : Electronic Code Book ( ECB ) и Cipher Block Chaining ( CBC ).56 бит - это 8 семибитовыхсимволов, т.е. пароль не может быть больше чем восемь букв. Если вдобавок использовать только буквы и цифры, то количество возможных вариантов будет существенно меньше максимально возможных 256 . Однако, данный алгоритм, являясь первым опытом стандарта шифрования, имеет ряд недостатков. За время, прошедшее после создания DES , компьютерная техника развилась настолько быстро, что оказалось возможным осуществлять исчерпывающий перебор ключей и тем самым раскрывать шифр. В 1998 г. была построена машина, способная восстановить ключ за среднее время в трое суток. Таким образом, DES , при его использовании стандартным образом, уже стал далеко не оптимальным выбором для удовлетворения требованиям скрытности данных. Позднее стали появляться модификации DESa , одной из которой является Triple Des ("тройной DES" - так как трижды шифрует информацию обычным DESом ). Он свободен от основного недостатка прежнего варианта - короткого ключа: он здесь в два раза длиннее. Но зато, как оказалось, Triple DES унаследовал другие слабые стороны своего предшественника: отсутствие возможности для параллельных вычислений при шифровании и низкую скорость.

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

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

2.2 Асимметричные криптографические системы

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

Центральным понятием в асимметричных криптографических системах является понятие односторонней функции.

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

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

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

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

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

Для примера выберем два очень больших простых числа (большие исходные числа нужны для построения больших криптостойких ключей). Определим параметр n как результат перемножения р и q. Выберем большое случайное число и назовем его d, причем оно должно быть взаимно простым с результатом умножения (р - 1) * (q - 1). Найдем такое число e, для которого верно соотношение:

(e*d) mod ( (р - 1) * (q - 1)) = 1

(mod - остаток от деления, т.е. если e, умноженное на d, поделить на ( (р - 1) * (q - 1)), то в остатке получим 1).

Открытым ключом является пара чисел e и n, а закрытым - d и n. При шифровании исходный текст рассматривается как числовой ряд, и над каждым его числом мы совершаем операцию:

C (i) = (M (i) e ) modn

В результате получается последовательность C (i), которая и составит криптотекст.д.екодирование информации происходит по формуле

M (i) = (C (i) d ) modn

Как видите, расшифровка предполагает знание секретного ключа.

Попробуем на маленьких числах. Установим р=3, q=7. Тогда n=р*q=21. Выбираем d как 5. Из формулы (e*5) mod 12=1 вычисляем e=17. Открытый ключ 17, 21, секретный - 5, 21.

К-во Просмотров: 492
Бесплатно скачать Контрольная работа: Криптография Шифры их виды и свойства