- •1.Основы защиты информации
- •1.1.Общие вопросы информационной безопасности
- •1.2.Правовые методы обеспечения информационной безопасности
- •1.3.Административные методы защиты информации
- •1.4.Преступления в сфере компьютерной информации
- •Глава 28. Преступления в сфере компьютерной информации
- •1.5.Программно-аппаратные методы защиты информации
- •2.Краткая история развития криптографии
- •2.1.Криптография в Древнем мире
- •2.2.Основные этапы развития криптографии
- •3.Идеи и методы криптографии
- •3.1.Модели шифрования/дешифрования дискретных сообщений
- •3.2.Идеально стойкие криптосистемы
- •3.3.Необходимое условие теоретической недешифруемости
- •3.4.Расстояние единственности
- •3.5.Вычислительно стойкие криптосистемы
- •4.Способы формирования криптограмм
- •4.1.Блоковые и потоковые шифры
- •4.2.Маскираторы аналоговых сообщений
- •5.Блоковое шифрование
- •5.1.Симметричные блоковые шифры
- •5.2.Структура Файстеля
- •5.3.Многократное шифрование блоков
- •5.4.Модифицированные алгоритмы блоковых шифров
- •5.5.Параметры современных блоковых шифров Зарубежные блоковые шифры
- •Государственный стандарт шифрования Российской Федерации
- •6.Потоковые шифры
- •6.1.Аддитивные потоковые шифры
- •6.2.Применение линейных рекуррентных регистров для потокового шифрования
- •6.3. Рис. 15. К обсуждению применимости лрр для потокового шифрования Потоковые режимы применения блочных шифров
- •7.Асимметричные криптосистемы
- •7.1.Особенности асимметричных криптосистем
- •8.Краткие сведения из теории чисел
- •7.2.1. Модульная арифметика
- •7.2.2. Возведение в степень
- •8.1.Вычисление дискретного логарифма
- •8.2.Разложение на множители
- •8.3.Вычисление наибольшего общего делителя
- •8.4.Обращение элементов по модулю n
- •8.5.Тесты на простоту
- •9.Основы построения асимметричных систем
- •7.4. Критосистема rsa
- •10.Гибридная система шифрования
- •11.Цифровая подпись
- •11.1.Цифровая подпись в системах шифрования с открытым ключом
- •11.2.Хеширование
- •12.Обеспечение безопасности электронных платежей
- •12.1.Основные методы электронных платежей
- •12.2.Пластиковые карты
- •12.3.Магнитные карты
- •12.4.Интеллектуальные карты
- •12.5.Основные преимущества смарт-карт
- •12.6.Надежность и безопасность пластиковых карт
- •13.Электронные платежи в Интернет
- •13.1.Электронные платежи с использованием пластиковых карт
- •13.2.Протокол set
- •13.3.Цифровая наличность
- •13.4.Цифровая подпись вслепую
- •13.5.Протокол анонимных платежей
7.4. Критосистема rsa
Для шифрования выбирают целое число N = p q, где p и q – два больших простых числа. Сообщение M представляется одним из чисел
M Î {1, 2, ¼, N –1}.
Формулы, описывающие шифрование/дешифрование, имеют следующий вид:
,
,
где K – открытый ключ шифрования, k – секретый ключ дешифрования.
Покажем, что возведение в степень
Ek=(MK)k=MKk mod N,
выполняемое при дешифровании, действительно восстанавливает сообщение M.
В RSA пара ключей формируется по правилу
kK = 1 mod (N ), (*)
что эквивалентно
kK = 1 + l (N ),
где l – целое число, а (N ) – функция Эйлера, которая определяет число целых чисел меньших N и взаимно простых с ним.
По теореме Эйлера, если M и N – взаимно простые числа,
M (N ) = 1 mod N.
Отсюда
M kK = M 1+ l (N ) = M(M (N )) l = M1l = M mod N, (**)
т.е. происходит дешифрование сообщения.
В то же время можно доказать, что специальный выбор модуля N в виде произведения N = pq двух простых чисел p и q обеспечивает выполнение равенства (**), т.е. дешифрование, вообще при любых M, не обязательно взаимно простых с N. Отметим также, что степень M K не должна быть меньше N. При невыполнении данного условия криптограмма принимает вид
,
и легко вскрывается без вычислений по модулю, т.к. открытый ключ K известен.
Рассмотренные соотношения указывают путь формирования ключей. Вначале выбирают очень большие случайные простые числа p и q, отличающиеся друг от друга на несколько десятичных разрядов, так чтобы произведение N = pq имело длину не менее 768 бит (по данным 2001 года). Вычисляют функцию Эйлера
j(N ) = (p – 1)(q – 1).
Из равенства (*)
K k = 1 mod j(N ),
откуда следует, что оба ключа взаимно обратные числа по модулю j(N ).
Открытый ключ K выбирают среди чисел меньших и взаимно простых с j(N ). Закрытый ключ k вычисляют
k = K –1 mod j(N )
с помощью алгоритма Евклида, что не является сложной задачей. Завершив подготовительные операции, открытый ключ K и модуль N помещают в открытый справочник, приняв меры, гарантирующие невозможность подмены. Числа k, p и q хранят в секрете.
Таким образом, оба ключа RSA задаются парами целых чисел: (K, N) и (k, N), причем числа K и k равноправны, т.е. ключи можно поменять местами, и использовать k как открытый ключ шифрования, а K как закрытый ключ дешифрования
Когда авторы R. Rivest, A. Shamir, L. Adleman (Ривест, Шамир, Адлеман) в 1977 году предложили криптосистему RSA, они зашифровали фразу “Its all Greek to me”, представленную в цифровой форме M. Были опубликованы значения E, K, N с указанием, что 129 десятичных разрядов N получены при умножении 64- и 65-разрядных чисел p и q. Факторизация N и вскрытие криптограммы были выполнены примерно за 220 дней лишь в 1994 году после предварительной теоретической подготовки. В работе принимало участие 600 добровольцев и 1600 компьютеров, объединенных в сеть с помощью Интернет.
10.Гибридная система шифрования
Стойкость системы с открытым ключом, и в частности RSA, зависит от выбора ее параметров. Если выбрать log 2 N = 200 бит, то для факторизации потребуется примерно 2,7×1011 операций, что на персональном компьютере займет несколько дней. Но если выбрать log 2 N = 664 бит, то для факторизации потребуется уж 12×1023 операций. При скорости выполнения 106 операций в секунду на факторизацию уйдет несколько миллиардов лет.
Таким образом, если параметры шифра RSA выбраны правильно и модуль N взят достаточно большим, например log 2 N 1024, то данную систему можно считать достаточно стойкой. На сегодняшний день отсутствуют какие-либо методы ее успешного криптоанализа.
Реализация шифра RSA отработана как в программном, так и в аппаратном варианте. Используется RSA и для шифрования в смарт-картах. В программном варианте скорость шифрования имеет порядок 1 кбит/с, в аппаратном – скорость 10–50 кбит/с.
Сравнительно низкая скорость шифрования и дешифрования по сравнению с симметричными, блоковыми или потоковыми системами, является недостатком всех асимметричных систем шифрования, в том числе RSA.
Для преодоления этого недостатка используют так называемые гибридные системы шифрования, в которых непосредственное шифрование сообщений производится при помощи быстрого блокового или потокового шифра, а закрытый ключ, нужный для быстрого симметричного шифрования, шифруется при помощи криптосистемы с открытым ключом и передается в виде криптограммы.
Асимметричные шифры, например RSA, используются только для шифрования ключа при его смене. Поскольку в обычной симметричной системе ключ является достаточно коротким (£ 512 бит) и меняют его достаточно редко, то шифрование и дешифрование ключа в гибридной системе в среднем не занимает много времени.
Относительный вклад медленного шифрования с открытым ключом в данной системе мал. Основная скорость шифрования определяется симметричным шифрованием.
Рассмотрим пример применения гибридной системы шифрования при условии, что центр распределения ключей снабдил участников информационного обмена их личными секретными ключами, а соответствующие открытые ключи поместил в общедоступный справочник. Теперь, если пользователь А должен послать пользователю Б достаточно длинное секретное сообщение, он вырабатывает сеансовый ключ симметричного шифрования и с его помощью шифрует передаваемое сообщение. К полученной криптограмме он присоединяет еще одну криптограмму – криптограмму использованного ключа, применив для ее создания открытый ключ получателя Б, опубликованный в справочнике. В свою очередь получатель, приняв обе криптограммы, сначала использует свой закрытый ключ и расшифровывает сеансовый ключ симметричного шифрования, после чего расшифровывает криптограмму, содержащую сообщение.
