3.7Пример 2 rsa.
Пояснение:n - это количество возможных чисел. В рассмотренном ранее примере введен алфавит из 33 символов. Каждой букве этого алфавита сопоставляется номер, с которым и производится вычисление. Не очень интересная ситуация, так как каждая буква отдельно шифруется так же, как и в алгоритмах замены! Рассмотрим более интересный случай. Пусть дан алфавит, состоящий из трех символов «ABC» (берем небольшой, чтобы легче было посчитать результат). Тогда код каждой буквы - это число из интервала [0, 2]. Пусть код A=0, B=1, C=2, хотя можно было выбрать совершенно произвольно, так как мы задаем алфавит!
Тогда все возможные сочетания символов в одной позиции дают числа от 0 до 2, то есть всего три варианта. Мы получили троичную систему счисления! Если в этой системе счисления записано «число» из двух позиций, то всех возможных вариантов будет 3*3=9 штук, то есть AA, AB, AC, BA, BB, BC, CA, CB, CC. Надеюсь, что для вас очевидно то, что количество трехзначных чисел в нашей системе счисления равно 3*3*3=9*3=27.
Вернемся к RSA. Если мы хотим работать с указанными ранее ключами, следует разбить исходное сообщение на куски длиной не более n. Если текст разбивается на куски с остатком (наиболее частая ситуация), то поступают следующим образом: дополняют исходный текст заранее оговоренными символами (из заданного алфавита), кроме того, передают длину дополнения.
Итак, при шифровании текста следует учитывать, что мы имеем право возводить в степень число, меньшее n. То есть следует определить максимальную длину фрагмента текста такую, что, считая этот фрагмент числом в системе счисления, заданной алфавитом, мы будем уверены, что это число меньше n.
Пусть в алфавите m символов. Тогда мы имеем дело с m – ричной системой счисления, знаки которой – символы алфавита. Так как алфавит – это упорядоченная последовательность символов, то каждому символу однозначно сопоставляется его порядковый номер – количественная характеристика. Причем для левого символа номер будем считать равным 0, далее 1, 2 и т.д. до m-1.
Однозначные (одно символьные) числа в заданной системе счисления – это числа от 0 до m-1. Двузначные – число от 0 до m2-1. Трехзначные - от 0 до m3-1. И т.д. Нам надо определить максимальную степень для основания системы счисления такую, чтобы полученное число оставалось еще меньше n. Можно это рассчитать через log. На картинке ниже эта максимальная степень обозначена через k. Интересен оставшийся фрагмент числовой оси от mk до n. Это числа, с которыми нам тоже придется работать.
mk | mk+1 | N | mk+1 |
|
|
|
|
Итак, на рисунке показаны следующие важные области чисел, с которыми нам придется работать в алгоритме RSA. Зеленая область (левая) – это числа от 0 до mk, где m – основание системы счисления (длина алфавита для передаваемых сообщений), k – количество позиций числа в заданной системе счисления.
Вернемся к задаче выделения фрагмента текста нужной длины. Мы уже знаем, что всегда можно взять k символов. Но иногда можно взять и фрагмент длиной k+1 символ. Как это определить? Это можно сделать двумя способами: а) посчитав количество; б) сравнив две строки.
Вариант а). Рассмотрим сначала первый способ, хотя он и не используется на практике.
У нас сейчас n – это некоторое число. Попробуем представить фрагмент текста тоже в виде числа. Так как мы имеем дело с обычной позиционной системой счисления, то k+1 – значное число = количество = x0*m0+ x1*m1+ x2*m2+… xk+1*mk+1. Если это число оказалось больше n (попало в красную зону), то следует взять фрагмент длиной k, то есть число x0*m0+ x1*m1+ x2*m2+… xk*mk.
К полученному числу применяем базовый алгоритм возведения в степень. Затем выделяем следующий фрагмент и т.д.
Каждое полученное число следует теперь снова представить в виде строки символов, то есть в виде числа в нашей системе счисления.
Вариант б).
Предыдущий вариант не применим на практике, так как мы имеем дело с очень большими числами, а работать с числами от 0 до n*n, применяя стандартные типы данных, мы не можем (нет соответствующих типов данных)! Следовательно, мы должны работать со строковой арифметикой, и потому определение фрагмента нужного размера сводится к задаче сравнения строк.
То есть мы работаем с N как со строкой из n символов. Поэтому нужный нам фрагмент может содержать или n символов или на 1 меньше. Подходит ли строка из n символов можно определить, выполнив обычную операцию строкового сравнения.
В соответствии с рассмотренными особенностями дискретного возведения в степень выполним расчет (шифрование – дешифрование) для сообщения ААБВВАААААА. Алфавит «АБВ». N=33, E=3, D=7.
Максимальная степень, в которую можно возвести длину алфавита, оставаясь в интервале чисел от 0 до N, это 3 (33 = 27 < 33). Это – базовая длина фрагмента (зеленая зона), хотя следует проверять и фрагменты длиной 4 символа с целью выяснения, не попало ли число в желтую зону. Это же можно получить, если представить N в виде строки символов нашего алфавита: N= 33 = 10203=БАВА. Таким образом, максимальная длина строки равна 4, хотя и не все 4-х символьные строки окажутся меньше N. Например, строка ББАА больше БАВА. Поэтому гарантированно меньшие числа представлены строками из трех символов.
Первый фрагмент.
ААБВ = В*30+Б*31+А*32+А*33 = 2*30+1*31+0*32+0*33=5
5 < 33, поэтому считаем 5E mod N = 53 mod 33 = 26
26 | 3 |
|
2 | 8 | 3 |
| 2 | 2 |
Представляем число 26 в символах нашего алфавита, то есть переводим в троичную систему счисления с заданным набором символов. То есть последовательно делим на 3, записывая остатки и частное от деления. А затем записываем цифры числа снизу вверх, выбирая сначала последнее частное, а затем остатки от деления. Получаем 222. В нашей системе счисления это выглядит как ВВВ.
Второй фрагмент.
ВААА = А*30+А*31+А*32+В*33 = 0*30+0*31+0*32+2*33= 54 Теперь 54 > 33, поэтому берем меньший фрагмент: ВАА = А*30+А*31+В*32 = 0*30+0*31+2*32= 18. Для него считаем 18E mod N = 183 mod 33 = 24. А теперь 24 переводим в нашу систему счисления, получаем 220, то есть получаем ВВА.
Третий фрагмент.
АААА = 0, после возведения в степень тоже 0. А вот теперь перед нами возникла проблема. Как представить 0? Ведь А, АА, ААА, АААА – это все 0. Проблема может быть разрешена только путем введения дополнительного соглашения: к передаваемому тексту всегда должна приписываться еще и длина этого текста. Это не очень хорошо, так как дает злоумышленнику некую информацию. Либо символ с кодом 0 объявляется как специальный и не используется в сообщениях, либо используется только как признак конца.
- 1Угрозы информационным системам. Факторы, приводящие к информационным потерям
- 1.1Введение
- 1.2Осуществление угроз информационным ресурсам
- 1.3Факторы, приводящие к информационным потерям
- 1.4Виды угроз информации
- 1.5Источники возникновения угроз
- 2Криптография. Симметричные алгоритмы шифрования.
- 2.1Введение
- 2.2Терминология
- 2.3Симметричные криптосистемы
- 2.4Алгоритм Цезаря
- 2.5Алгоритм замены полиалфавитный
- 2.6Алгоритм замены с большим ключом
- 2.7Перестановки.
- 2.8Гаммирование.
- 3Криптография. Несимметричные алгоритмы шифрования.
- 3.1Системы с открытым ключом
- 3.2Алгоритм Диффи-Хеллмана – протокол генерации секретного ключа.
- 3.3Описание системы с открытым ключом
- 3.4Алгоритм rsa
- 3.5Практическая реализация rsa
- 3.6Пример 1 rsa.
- 3.7Пример 2 rsa.
- 3.8Пример 3 rsa.
- 3.9Немного об арифметических операциях по модулю n.
- 3.10Сложение.
- 3.11Вычитание.
- 3.12Умножение.
- 3.13Деление.
- 3.14Обратное по модулю.
- 3.15Стандарт шифрования данных гост 28147-89
- 3.16Простые числа
- 4Электронная подпись
- 4.1Эцп - зашифрованный текст
- 4.2Эцп - открытый текст
- 4.3Использование хэш-функций
- 4.4Сертификация
- 4.5Имитовставка или mac-код
- 4.6 Шифрование больших сообщений и потоков данных
- 4.7Шифрование, кодирование и сжатие информации
- 4.8Аппаратные шифраторы.
- 5Управление ключами
- 5.1Генерация ключей
- 5.2Накопление ключей
- 5.3Распределение ключей
- 5.4Использование “блуждающих ключей”
- 6Стеганография
- 6.1Введение
- 6.2Электронные «водяные знаки».
- 6.3Скрытие текста в 24-разрядном bmp файле.
- 8.2Технология шифрования
- 8.3Взаимодействие с пользователем
- 8.4Восстановление данных
- 8.5Немного теории
- Процесс шифрования
- Процесс восстановления
- 8.6Реализация в Windows 2000
- 8.7Выводы
- 9Протокол ipSec в Window 2000.
- 9.1Реализация промышленных стандартов
- 9.2Реализация Windows ip Security
- 9.3Пример
- 9.4О совместимости
- 10Защищенные каналы. Аутентификация.
- 10.1Введение
- 10.2Аутентификация на основе хэш-функций.
- 10.3Аутентификация на основе общего секретного ключа
- 10.4Аутентификация на основе открытого ключа
- 10.5Аутентификация с использованием центра распределения ключей
- 11Протокол Kerberos в Windows 2000.
- 11.1Аутентификация в Windows 2000
- 11.2Преимущества аутентификации по протоколу Kerberos
- 11.3Начальная аутентификация.
- 11.4Метка времени в качестве средства для взаимной аутентификации.
- 11.5Аутентификация за пределами домена
- 11.6Срок годности билетов. Обновляемые билеты.
- 11.7Подпротоколы
- 11.8Подпротокол tgs Exchange
- 11.9Подпротокол cs Exchange
- 11.10Билеты
- 11.11Какие данные из билета известны клиенту
- 11.12Как служба kdc ограничивает срок действия билета
- 11.13Что происходит после истечения срока действия билета
- 11.14Обновляемые билеты tgt
- 11.15Делегирование аутентификации
- 11.16Представительские билеты
- 11.17Передаваемые билеты
- 12Криптографические протоколы
- 12.1Стегоканал
- 12.1.1Скрытие сообщения с одноразовым блокнотом
- 12.1.2Скрытие сообщения с одноразовым блокнотом и ключевой фразой
- 12.2Защищенный канал
- 12.2.1Протокол взаимоблокировки
- 12.2.2В92 – протокол.
- 12.3Аутентификация
- 12.3.1Аутентификация skey
- 12.3.2Взаимная аутентификация - однонаправленные сумматоры
- 12.6Протокол разбиения секрета
- 13.2Криптоанализ и атаки на криптосистемы
- 13.3Атака 1. Расшифровка ранее полученного сообщения при помощи специально подобранного текста.
- 13.4Атака 2. Подпись нотариуса на неверном документе.
- 13.5Атака 3. Подпись на документе вторым способом.
- 13.6Атака 4. Атака при использовании общего модуля.
- 13.7Выводы
- 14Вредоносные программы. Вирусы. Защита.
- 14.1Классификация компьютерных вирусов
- 14.2Загрузочные вирусы
- 14.3Файловые вирусы
- 14.3.1Способы заражения - запись поверх.
- 14.3.2Способы заражения - паразитические
- 14.3.3Способы заражения - Вирусы без точки входа
- 14.3.4Способы заражения - Компаньон-вирусы
- 14.3.5Способы заражения - Файловые черви
- 14.3.6Способы заражения - Link-вирусы
- 14.3.7Алгоритм работы файлового вируса
- 14.4Макро-вирусы
- 14.4.1Алгоритм работы Word макро-вирусов
- 14.5Полиморфик-вирусы
- 14.5.1Полиморфные расшифровщики
- 14.5.2Уровни полиморфизва
- 14.5.3Изменение выполняемого кода
- 14.6Стелс-вирусы. Загрузочные вирусы
- 14.6.1Стелс-вирусы. Файловые вирусы
- 14.6.2Стелс-вирусы. Макро-вирусы
- 14.7Резидентные вирусы в Windows
- 14.8Прочие "вредные программы"
- 14.9Троянские кони (логические бомбы)
- 14.10Утилиты скрытого администрирования (backdoor) компьютеров в сети.
- 14.11Intended-вирусы
- 14.12Конструкторы вирусов
- 14.13Полиморфные генераторы
- 14.14Irc-черви
- 14.15Сетевые вирусы
- 14.16Методы обнаружения и удаления компьютерных вирусов.
- 14.17Типы антивирусов. Сканеры.
- 14.17.1Crc-сканеры
- 14.17.2Блокировщики
- 14.17.3Иммунизаторы
- 14.17.4Правила защиты
- 15Анализ защищенности tcp/ip
- 15.1Пассивные атаки на уровне tcp. Подслушивание
- 15.2Активные атаки на уровне tcp
- 15.2.1Предсказание tcp sequence number
- 15.2.2Описание
- 15.2.3Детектирование и защита
- 15.3.1Ранняя десинхронизация
- 15.3.2Десинхронизация нулевыми данными
- 15.3.3Ack-буря
- 15.4Пассивное сканирование
- 15.5Затопление icmp-пакетами
- 15.6Локальная буря
- 15.7Затопление syn-пакетами
- 16Атака через Internet
- 16.1Понятие удалённой атаки через Internet
- 16.2Пример удалённой атаки через интернет
- 16.3Классификация удаленных атак через систему Internet
- 16.4Понятие типовой удаленной атаки
- 16.5Причины успеха удаленных атак на сеть Internet
- 17Защита локальной сети и одиночного компьютера от атак через Internet.
- 17.1Программно-аппаратные методы защиты от удаленных атак в сети Internet
- 17.2Аппаратные шифраторы сетевого трафика
- 17.3Можно организовать прокси - сервер.
- 17.4Firewall или брандмауэр.
- 17.5Skip-технология и криптопротоколы ssl, s-http как основное средство защиты соединения и передаваемых данных в сети Internet
- 17.6Основные виды межсетевых экранов (брандмауэров)
- 17.7Фильтрующие маршрутизаторы
- 17.8Пример работы фильтрующего маршрутизатора
- 17.9Недостатки и преимущества фильтрующих маршрутизаторов
- 17.10Шлюзы сетевого уровня
- 17.11Шлюзы прикладного уровня
- 17.12Преимущества и недостатки шлюзов прикладного уровня
- 17.13Усиленная аутентификация
- 17.14Применение межсетевых экранов для организации виртуальных корпоративных сетей
- 18Правовое обеспечение безопасности ис.
- 18.1Предмет законодательства
- 18.2Уголовная ответственность
- 18.3Требования к безопасности ис в сша
- 18.4Стандартизация аппаратных средств
- 18.5Требования к безопасности информационных систем в России
- 18.6Показатели защищенности средств вычислительной техники
- 18.7Заключение
- 18.8Рекомендации
- 19Пароли ис.
- 19.1Пароли. Хранение и передача по сети.
- 19.2Безопасность паролей и шифрование
- 19.3Идентификация и аутентифокация. Использование токенов.
- 19.4Равнозначность паролей
- 19.5Восстановление паролей текстовом виде
- 19.6Поиск по словарю
- 19.7Прямой подбор
- 19.8“Комбинированный” метод
- 19.9Работа программ вскрытия паролей Windows nt
- 19.10Основные меры защиты.
- 19.11Программы подбора паролей
- 19.16Троянская конница
- 19.17Программно-технические мероприятия защиты.
- 19.18Защита паролем
- 19.19Создание надежных паролей