Я учусь в старшей школе и пишу статью о RSA, и я делаю пример с очень маленькими простыми числами. Я понимаю, как работает система, но я не могу на всю жизнь рассчитать закрытый ключ, используя расширенный евклидов алгоритм.
Вот что я сделал до сих пор:
- Я выбрал простые числа p = 37
и q = 89 и рассчитано N = 3293
- Я рассчитал (p-1) (q-1) = 3168
- Я выбрал число e, чтобы e и 3168 были относительно простыми. Я проверяю это стандартным евклидовым алгоритмом, и это работает очень хорошо. Мой е = 25
Теперь мне просто нужно вычислить закрытый ключ d, который должен удовлетворять ed = 1 (мод 3168)
Используя расширенный евклидов алгоритм, чтобы найти d такой, что de + tN = 1, я получаю -887 • 25 + 7 • 3168 = 1. Я выбрасываю 7 и получаю d = -887. Однако попытка расшифровать сообщение не работает.
Я знаю из своей книги, что d должно быть 2281, и это работает, но я не могу понять, как они достигли этого числа.
Кто-нибудь может помочь? Я пытался решить эту проблему в течение последних 4 часов, и везде искал ответ. Я выполняю расширенный евклидов алгоритм, но, поскольку результат работает, мои вычисления должны быть правильными.
Заранее спасибо,
Мадс