Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример 6.2




Способы нахождения обратных чисел

Нахождение обратных величин

 

Если задано уравнение , то величина называется обратной величиной по модулю .

Обратная величина существует, если и – взаимно простые числа.

 

 

1. Перебором возможных значений.

Подставляя вместо числа: – добиваемся выполнения исходного уравнения.

Пример 6.1. , , т.к. .

2. С помощью функции Эйлера .

.

.

3. С помощью алгоритма Евклида.

 

Алгоритм Евклида применяется для нахождения НОД чисел и . Однако его расширенный вариант можно использовать и для вычисления обратной величины.

Основной вариант.

Даны и , . Алгоритм имеет итерационный характер:

, ;

, ;

, ;

, ;

, ;

,

где , ‑ частное и остаток на ‑м шаге алгоритма. На первом шаге делимое ‑ , делитель ‑ , частное ‑ , остаток ‑ . На ‑м, шаге алгоритма: делимое ‑ делитель ‑го шага, делитель ‑ остаток ‑го шага (), частное ‑ , остаток ‑ .

Пример 6.3. Пусть и . Найти .

То есть на четвертом шаге остаток от деления , следовательно, алгоритм останавливается и .

Доказано, что при неотрицательных и можно найти такие целые числа: , , , что будет выполняться

.

 

Если выбрать и ‑ взаимно простые числа, т.е. , тогда

,

,

.

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

, .

Алгоритм вычисления имеет следующий вид

1. Начальные установки:

, т.е. , , . При этом , т.е. ,

, т.е. , , . При этом .

2. Проверяем, выполняется ли , если да, то алгоритм заканчивается.

3. Делим на ( на ) и определяем:

и значения векторов: ; .

4. Вернуться к шагу 2.

На каждом шаге при расчетах используются результаты предыдущего:

, , .

При вычисления заканчиваются , где значение , полученное на последнем шаге.

Пример 6.4. Пусть и . Найти число , обратное числу по модулю , т.е. найти .

Используя расширенный алгоритм Евклида, выполним вычисления.

 

-        
        -4    
  -4       -1  
    -1   -9    
- -9          

 

При , , выполняется уравнение , и . Итак, .

5.4. Криптосистема

Последовательность действий абонентов криптосистемы

 

Действия получателя криптограммы В:

 

1. В генерирует два произвольных больших простых числа и . Эти числа должны быть примерно одинаковыми, размерностью 100‑150 десятичных разрядов. Они должны быть секретными.

2. В вычисляет значение модуля и функции Эйлера и выбирает значение открытого ключа с соблюдением условий: , =1, т.е. и должны быть взаимно простыми.

3. В вычисляет значение секретного ключа , используя расширенный алгоритм Евклида:

.

4. В посылает А пару чисел по открытому каналу.

 

Действия отправителя криптограммы А:

 

1. Разбивает исходный текст на блоки , , т.е. . Величина .

2. Шифрует каждое число по формуле =( и отправляет криптограмму .

Получатель В, получив криптограмму, расшифровывает каждый блок секретным ключом , , и восстанавливает весь текст .

 

Реализуемость и безопасность

 

Покажем, что при расшифровании восстанавливается исходный текст. Согласно обобщению Эйлером малой теоремы Ферма: если , то , или . Открытый и закрытый ключи в алгоритме связаны соотношением , или для некоторого целого . Таким образом, процесс шифрования, а затем расшифрования некоторого сообщения выглядит следующим образом:

 

В процессе применения RSA злоумышленник может иметь: , , – и организовать дешифрование двумя способами:

1. По , , получить . Для этого он решает задачу вычисления из уравнения . Эта задача вычислительно трудна.

2. По вычислить и , затем найти и вычислить и дешифровать сообщение .

Однако задача разложения большого числа на простые множители вычислительно сложна.

Пользователи А и В должны быстро осуществлять все вычисления: вычислять , шифровать и расшифровывать.

Вычисление с использованием алгоритма Евклида ‑ довольно быстрый процесс и не представляет трудности. Шифрование и расшифрование ‑ возведение большого числа в большую степень ‑ требует определенных затрат времени, но, с учетом наличия быстрых алгоритмов и быстродействия современных компьютеров, это приемлемая процедура.




Поделиться с друзьями:


Дата добавления: 2014-12-16; Просмотров: 428; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.025 сек.