![]() |
|
![]() ![]() ![]() |
|
CMD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 1.8.2006 Репутация: нет Всего: 1 |
Не понимаю как делать сабж. В описаниях алгоритма RSA обычно пишут : "Закрытый ключ d вычисляется из условия ed mod (p-1) (q-1)=1" или ссылаются на расширеный алгоритм Эвклида.
Вот пример из книги Брюса Шнайера: p=47; q=71; n=3337; e=79; Как у него с помощью расширенного алгоритма Эвклида получилось d=1019 - неврубаюсь. Алгоритм Эвклида пытался понять, но не получается, помогите пожалуйста разобраться. |
|||
|
||||
Kuvaldis |
|
||||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 1 Всего: 61 |
CMD,
Вот вариант лекции по алгебре славного БГУИР (проще я, често говоря, не видел)
Если что, справшивай (ну, и гуглом пользуйся ![]() -------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
||||
|
|||||
CMD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 1.8.2006 Репутация: нет Всего: 1 |
А можно пару простых наглядных примеров с числами?
![]() |
|||
|
||||
Kuvaldis |
|
|||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 1 Всего: 61 |
Здесь посмотри
-------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
|||
|
||||
CMD |
|
||||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 1.8.2006 Репутация: нет Всего: 1 |
Алгоритм Эвклида я понял, даже функцию сделал:
но меня интересует именно расширеный алгоритм :
P.S. Не надо на меня смотреть как на идиота, я ещё только 1 курс техникума закончил... ![]() ![]() Это сообщение отредактировал(а) CMD - 23.8.2006, 00:09 |
||||
|
|||||
Kuvaldis |
|
||||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 1 Всего: 61 |
CMD,
Извини, начал с простого, думал, ты этого не понимаешь. Тогда усаживайся поудобней и слушай сагу ![]() Из алгоритма Евклида можно вывести следующее свойство НОД (наибольший общий делитель) : Если D = НОД(А, В) но D можно представить в виде D = А * К + В * Т где К, Т - целые числа Отсюда критерий взаимной простоты 2-х чисел: 1 = А * К + В * Т // D = 1 В общем случае коэффициенты К, Т находятся из алгоритма следующим образом (что и является конструктивным доказательством данного утверждения): Пусть А = 1001. В = 390 Найдем их НОД 1001 = 390 * 2 + 221 (1) 390 = 221 * 1 + 169 (2) 221 = 169 * 1 + 52 (3) 169 = 3 * 52 + 13 (4) 52 = 13 * 4 Так как последний отличный от нуля остаток равен 13, то НОД = 13 А теперь, как рекурсивный подъем, делаем вуаля: из (4): НОД = 169 + 52 * (-3) из (3): 52 = 221 + 169 * (-1) Отсюда: НОД = 169 + (221 + 169 * (-1)) * (-3) = 221 * (-3) + 169 * 4 из (2): 169 = В + 221 * (-1) Отсюда НОД = 221 * (-3) + (В + 221 * (-1)) * 4 = В * 4 + 221 * (-7) из (1): 221 = А + В * (-2) Отсюда НОД = В * 4 + (А + В * (-2)) * (-7) = А * (-7) + В * 18 Т.е. К = -7, Т = 18
В твоем случае НОД = 1, А = е, В = (p-1)(q-1) d = К, y = Т. Дальше вроде понятно (см. выше) ![]() -------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
||||
|
|||||
Kuvaldis |
|
|||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 1 Всего: 61 |
CMD,
Вот рекурсивный алгоритм решения
-------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
|||
|
||||
CMD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 1.8.2006 Репутация: нет Всего: 1 |
Спасибо Kuvaldis! Вопрос исчерпан.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |