Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Ассимметричный метод шифрования




Рис. 2. Использование асимметричного метода шифрования

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

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

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

 

 

Рис.3 иллюстрирует эффективное шифрование, реализованное путем сочетания симметричного и асимметричного методов.

Рис.3 Эффективное шифрование сообщения

На рис.4 показано расшифрование эффективно зашифрованного сообщения.

Рис.4 Расшифрование эффективно зашифрованного сообщения

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

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

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

 

 

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

В 1978 году трое ученых (Ривест, Шамир и Адлеман) разработали систему шифрования с открытыми ключами RSA (Rivest, Shamir, Adleman), полностью отвечающую всем принципам Диффи—Хеллмана. Этот метод состоит в следующем.

1. Случайно выбираются два очень больших простых числа pnq.

2. Вычисляются два произведения n = р х q и m = (р - 1) х (q - 1).

3. Выбирается случайное целое число Е, не имеющееобщих сомножителей c m.

4. Находится D такое, что DE = 1 по модулю m.

5. Исходный текст X разбивается на блоки таким образом, чтобы 0 < Х< п.
6. Для шифрования сообщения необходимо вычислить С = Xе по модулю п.
7. Для дешифрирования вычисляется X = СD по модулю п.
Таким образом, чтобы зашифровать сообщение, необходимо знать пару чисел (E, n), а чтобы расшифровать — пару чисел (D, п). Первая пара — это открытый ключ, а вторая — закрытый.
Зная открытый ключ (E, n), можно вычислить значение закрытого ключа D. Необходимым промежуточным действием в этом преобразовании является нахождение чисел р и q, для чего нужно разложить на простые множители очень большое число я, а на это требуется очень много времени. Именно с огромной вычислительной сложностью разложения большого числа на простые множители связана высокая криптостойкость алгоритма RSA. В некоторых публикациях приводятся следующие оценки: для того чтобы найти разложение 200-значного числа, понадобится 4 миллиарда лет работы компьютера с быстродействием миллион операций в секунду. Однако следует учесть, что в настоящее время активно ведутся работы по совершенствованию методов разложения больших чисел, поэтому в алгоритме RSA стараются применять числа длиной более 200 десятичных разрядов.

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

В табл. 1 приведены некоторые сравнительные характеристики классического криптоалгоритма DES и криптоалгоритма RSA

Таблица 1. Сравнительные характеристики алгоритмов шифрования

Характеристика DES RSA
Скорость шифрования Высокая Низкая
Используемая функция шифрования Перестановка и подстановка Возведение в степень
Длина ключа 56 бит Более 500 бит
Наименее затратный криптоанализ (его сложность определяет стойкость алгоритма) Перебор по всему ключевому пространству Разложение числа на простые множители
Время генерации ключа Миллисекунды Минуты
Тип ключа Симметричный Асимметричный

 

 


Поделиться:

Дата добавления: 2015-04-18; просмотров: 99; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты