Способы криптоанализа асииметричного алгоритма шифрования RSA
Организация защищенного канала связи как самый простой способ защитить данные от перехвата. Метод факторизации Ферма — алгоритм разложения на множители нечётного целого числа. Методика атаки на шифр методом Шенкса для дискретного логарифмирования.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 16.02.2020 |
Размер файла | 76,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Введение
Вопрос защиты данных при передаче по каналам связи уже давно имеет очень высокое значение во многих сферах жизни - личной переписке, передаче корпоративных данных, секретных документов и многого другого. Самым простым способом защитить данные от перехвата была бы организация защищенного канала связи. Однако на практике эта задача очень сложна в исполнении, а зачастую попросту невозможно. Поэтому для защиты данных применяется шифрование.
На данный момент существует большое количество видов шифрования, однако все их можно разделить на 3 вида - симметричное, асимметричное и гибридное. Однако до сих пор не существует абсолютно надежного способа защиты информации. Симметричное и асимметричное шифрование основано на использовании ключа - для шифрования и расшифровки. В симметричном шифровании используется один и тот же ключ, а в асимметричном - разные для этих операций. Наука о методах расшифровки зашифрованной информации без предназначенного для такой расшифровки ключа называется криптоанализом. Попытку раскрытия конкретного шифра с применением методов криптоанализа называют криптографической атакой на этот шифр.
Цель работы - рассмотреть некоторые способы криптоанализа асииметричного алгоритма шифрования RSA. Это криптографический алгоритм с открытым ключом, основывающийся на вычислительной сложности задачи факторизации больших целых чисел. Криптосистема RSA стала первой системой, пригодной и для шифрования, и для цифровой подписи. В качестве методов атаки рассмотрены следующие алгоритмы: метод дискретного логарифмирования Шенкса (метод больших и малых шагов), метод факторизации ро-Полларда и метод факторизации Ферма.
1. Атака с помощью факторизации методом Ферма
Метод факторизации Ферма -- алгоритм факторизации (разложения на множители) нечётного целого числа n, предложенный Пьером Ферма [2]. Метод основан на поиске таких целых чисел x и y, которые удовлетворяют соотношению что ведёт к разложению .
Для разложения на множители нечётного числа n ищется пара чисел (x,y) таких, что , или . При этом числа (x+y) и (x-y) являются множителями n, возможно, тривиальными (то есть одно из них равно 1, а другое -- n.)
Для разложения на множители нечётного числа ищется пара чисел таких, что , или . При этом числа и являются множителями , возможно, тривиальными (то есть одно из них равно 1, а другое -- .)
В нетривиальном случае, равенство равносильно , то есть тому, что является квадратом.
Поиск квадрата такого вида начинается с -- наименьшего числа, при котором разность неотрицательна.
Для каждого значения начиная с , вычисляют и проверяют, не является ли это число точным квадратом. Если не является, то увеличивают на единицу и переходят на следующую итерацию.
Если является точным квадратом, то есть то получено разложение:
в котором
Если оно является тривиальным и единственным, то -- простое.
Проведя факторизацию n из открытого ключа, можно легко вычислить функцию , и после этого - закрытый ключ d.
2. Атака с помощью факторизации ро-алгоритмом Полларда
Ро-алгоритм (-алгоритм) - предложенный Джоном Поллардом в 1975 году алгоритм, служащий для факторизации (разложения на множители) целых чисел. Алгоритм наиболее эффективен при факторизации составных чисел с достаточно малыми множителями в разложении. с-алгоритм Полларда строит числовую последовательность, элементы которой образуют цикл, начиная с некоторого номера n, что может быть проиллюстрировано, расположением чисел в виде греческой буквы с, что послужило названием семейству алгоритмов.
Пусть составное целое положительное число, которое требуется разложить на множители. Алгоритм выглядит следующим образом[3]:
Шаг 1. Случайным образом выбирается небольшое число и строится последовательность , определяя каждое следующее как .
Шаг 2. Одновременно на каждом i-ом шаге вычисляется для каких-либо , таких, что , например, .
Шаг 3. Если , то вычисление заканчивается, и найденное на предыдущем шаге число является делителем . Если не является простым числом, то процедуру поиска делителей продолжается, взяв в качестве число .
На практике функция выбирается не слишком сложной для вычисления (но в то же время не линейным многочленом), при условии того, что она не должна порождать взаимно однозначное отображение. Обычно в качестве выбираются функции или . Однако функции и не подходят.
Если известно, что для делителя числа справедливо при некотором , то имеет смысл использовать .
Аналогично с предыдущим методом, проведя факторизацию n из открытого ключа, можно легко вычислить функцию , и после этого - закрытый ключ d.
3. Атака методом Шенкса для дискретного логарифмирования (больших и малых шагов)
дискретный шифр факторизация
Алгоритм Гельфонда - Шенкса (также называемый алгоритмом больших и малых шагов) -- в дискретного логарифмирования в мульпликативной группе кольца вычетов по модулю. Метод теоретически упрощает решение задачи дискретного логарифмирования, на вычислительной сложности которой построены многие криптосистемы с открытым ключом. Относится к методам встречи посередине.
Алгоритм 4.2.1 (алгоритм малых и больших шагов). Алгоритм вычисляет дискретный логарифм от у по основанию а и по модулю n, такой что у = ах (mod n) [3].
Шаг 1. Инициализация. Вычислить
Шаг 2. Вычисление маленького шага. Вычислить первую последовательность (список) S, состоящую из пар , r = 0,1,2,3,..., s - 1: S = и отсортировать S по уаr -- первому элементу пар в S.
Шаг 3. Вычисление большого шага. Вычислить вторую последовательность (список) Т, состоящую из пар (ats,ts), t = 0,1,2,3,..., s: T = и отсортировать Т по ats -- первому элементу пар в Т.
Поиск, сравнение и вычисление. Найти в обоих списках соответ-ствие уаr = ats, где уаr из S, a ats из Т, затем вычислить х = ts - rхи будет требуемым значением loga у (mod n).
4. Вычислительные эксперименты
Помимо реализации вышеуказанных методов было проведено сравнение их быстродействия, которое указано в табл. 1. Полученные данные показывают, что при n ~ 6*108 работа всех методов идёт меньше секунды, но видно, что метод дискретного логарифмирования работает дольше других. При этом скорость его работы зависит от e. С ростом порядка n тенденция сохраняется, однако помимо этого проявляется различие в скорости работы методов факторизации. Так как метод ро-Полларда носит вероятностный характер, то в таблицу заносится среднее арифметическое 10 результатов эксперимента.
Табл. 1. Сравнение времени работы алгоритмов
Время работы, секунд |
||||
n |
Дискретное логарифмирование |
Факторизация методом Ферма |
Факторизация методом ро-Полларда |
|
?6*108 |
0.81 |
<0.01 |
<0.01 |
|
?1.5*1010 |
1.9 |
0.03 |
0.01 |
|
?2.8*1015 |
>120 |
44 |
0.5 |
Из полученных данных можно сделать вывод, что при любых параметрах в скорости работы метод дискретного логарифмирования проигрывает. С ростом значения n актуальным становится только метод ро-Полларда, так как при значениях n ? 2.8*1015 только этот метод даёт хорошие значения времени выполнения.
Размещено на Allbest.ru
...Подобные документы
Алгоритм ГОСТ 28147-89 симметричного шифрования на основе сети Фейстеля, основные режимы его работы. Атаки на системы защиты информации. Метод грубой силы. Атаки класса "встреча посередине". Характеристики ГОСТ 28147-89 и американского шифра Rijndael.
курсовая работа [510,7 K], добавлен 17.01.2012Разработка программы кодирования текстового файла при помощи блочного алгоритма шифрования ТЕА типа "Сеть Фейштеля", который основан на битовых операциях с 64-битным блоком и имеет 128-битный ключ шифрования. Результаты кодирования и декодирования.
лабораторная работа [299,9 K], добавлен 18.07.2013Выбор шифров перестановки для проведения анализа. Анализ алгоритма двух различных шифров, построение блок-схемы алгоритма и программы, разработка общего интерфейса. Сравнение шифров перестановки по результатам шифрования и криптоанализа текстов.
курсовая работа [2,8 M], добавлен 14.01.2014Симметричные криптосистемы как способ шифрования, в котором для шифрования и расшифровывания применяется один и тот же криптографический ключ. Разбор и реализация шифрования алгоритма: простая и двойная перестановка, перестановка "магический квадрат".
курсовая работа [3,3 M], добавлен 11.03.2013Составление алгоритма и программы для факторизации целого числа N с помощью ро-метода Полларда. Краткое описание данного метода: составление последовательности, вычисление разности и наибольшего общего делителя. Алгоритм работы и листинг программы.
курсовая работа [12,1 K], добавлен 24.06.2010Симметричные и асиметричные методы шифрования. Шифрование с помощью датчика псевдослучайных чисел. Алгоритм шифрования DES. Российский стандарт цифровой подписи. Описание шифрования исходного сообщения асимметричным методом с открытым ключом RSA.
курсовая работа [101,1 K], добавлен 09.03.2009Принцип работы алгоритма бинарного поиска в массиве. Способы исследования алгоритма "прямое включение". Формулы зависимости числа сравнений от элементов в массиве. Графики среднего числа сравнений и перемещений практических и теоретических измерений.
курсовая работа [646,1 K], добавлен 07.01.2014Изучение, освоение на примере симметричных шифров элементы практической криптографии. Использование расширенного алгоритма Евклида для нахождения обратного по модулю числа. Ознакомление с демо-версией программы симметричного шифрования с секретным ключом.
лабораторная работа [97,5 K], добавлен 18.04.2015Схема работы и требования к программам шифрования и дешифрования. Алгоритмы и тексты программы шифрования и программы дешифрования, выполненные на языке программирования C/C++. Содержание файла с исходным текстом, с шифротекстом, с дешифрованным текстом.
курсовая работа [24,7 K], добавлен 20.10.2014Методы доступа к сети. Алгоритм ALOHA, используемый для доступа к радиоканалу большого числа независимых узлов. Эффективность алгоритма CSMA/CD. Метод маркерного доступа. Ethernet – самый распространенный в настоящий момент стандарт локальных сетей.
лекция [112,9 K], добавлен 25.10.2013Факторизация натурального числа. Метод квадратичного решета. Факторизация с помощью эллиптических кривых. Реализация алгоритмов натуральных чисел и оценка их эффективности. Применение алгоритмов факторизации натуральных чисел в программной среде Maple.
курсовая работа [851,6 K], добавлен 25.06.2013Понятие и история изобретения криптосистемы с открытым ключом. Свойства односторонней функции и сложность раскрытия шифра. Описание алгоритма RSA: шифрование и дешифрование. Возможные атаки, способы взлома, обоснование и практическая реализация RSA.
курсовая работа [45,9 K], добавлен 24.12.2011Реализация программы, кодирующей входную строку, используя аффинный и аффинный рекуррентный шифр. Пример шифрования с помощью аффинного шифра. Описание алгоритма работы программы. Ознакомление с криптоанализом. Частота использования английских букв.
отчет по практике [445,6 K], добавлен 22.11.2016Разработка эскизного и технического проектов программы "Шифр Цезаря": назначение и область применения, описание алгоритма, организация входных и выходных данных. Выбор состава технических и программных средств, разработка, тест и внедрение программы.
курсовая работа [563,7 K], добавлен 15.07.2012История возникновения алгоритма симметричного шифрования, условия и особенности его применения на современном этапе. Принципы и функции исследуемой технологии. Анализ главных преимуществ и недостатков использования алгоритма, оценка его уязвимости.
курсовая работа [301,9 K], добавлен 29.10.2017История алгоритмов симметричного шифрования (шифрования с закрытым ключом). Стандарты на криптографические алгоритмы. Датчики случайных чисел, создание ключей. Сфера интересов криптоанализа. Системы электронной подписи. Обратное преобразование информации.
краткое изложение [26,3 K], добавлен 12.06.2013Исследование системы распределения ключей на основе линейных преобразований. Описание компонентов сети конфиденциальной связи. Характеристика отечественного алгоритма шифрования данных. Обзор результатов расчетов криптостойкости алгоритма шифрования.
контрольная работа [56,5 K], добавлен 26.09.2012Разработка алгоритма оптимизации коэффициентов дискретного регулятора с законом ПИД по минимуму интегрального квадратичного критерия. Расчёт оптимальных параметров регулятора на основе описанных алгоритмов. Анализ переходных процессов в замкнутой системе.
практическая работа [1,4 M], добавлен 25.12.2011Криптографические методы обеспечения конфиденциальности, невозможности прочтения информации посторонним. Современные методы шифрования информации как обратимого преобразования открытого текста в шифрованный на основе секретного алгоритма или ключа.
презентация [514,3 K], добавлен 06.02.2016Симметричные криптосистемы; алгоритмы шифрования и дешифрования данных, их применение в компьютерной технике в системах защиты конфиденциальной и коммерческой информации. Основные режимы работы алгоритма DES, разработка программной реализации ключа.
курсовая работа [129,6 K], добавлен 17.02.2011