|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.11.2015, 22:38 | #1 | |
Пользователь
Регистрация: 26.10.2014
Сообщений: 27
|
Алгоритм RSA
Преподаватель дал задание реализовать алгоритм RSA. Попытался сделать по этому мануалу: http://www.e-nigma.ru/stat/rsa/
Интересно то, что для чисел, которые даны в мануале, все работает, но если искать самому в коде другие, то получается вообще непонятно что. Походу в примере они взяли числа и им повезло. Либо я что-то не так делаю. Пожалуйста, проверьте меня, что может быть не так. Заккоменчены те числа, для которых работает. Код:
Цитата:
Помогите пожалуйста разобраться |
|
20.11.2015, 22:42 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Весь код в bukvatocifra и cifratobukva можно одной строчкой заменить используя ord и chr. А разбираться нужно в отладчике
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
20.11.2015, 23:23 | #3 |
Пользователь
Регистрация: 26.10.2014
Сообщений: 27
|
Я пытался, разбирался, пробовал, я вручную пересчитывал. Также получается. Мне кажется. ошибка в алгоритме самом RSA. На счет одной строчки кода-точно, Ord и Char, забыл. Спасибо.
Последний раз редактировалось danek130995; 21.11.2015 в 00:08. |
21.11.2015, 00:52 | #4 | |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Скорее в его конкретной реализации и/или конкретных исходных данных.
Или они эти числа просто выбрали правильно, то есть в соответствии с описанием алгоритма. К слову, в приведённом Вами мануале чёрным по белому написано: Цитата:
Числа не только "маленькие". Одно из них ещё и составное. В общем, внимательно перечитывайте мануал и сверяйте с ним Ваши данные и код. Если что, лучший друг программиста (уже упомянутый отладчик) в помощь. |
|
21.11.2015, 11:32 | #5 | |
Пользователь
Регистрация: 26.10.2014
Сообщений: 27
|
Ой, забыл про простые числа, спасибо! Сейчас попробую. А маленькие взял чтобы проверить вручную легче было. На самом деле маленькие можно брать, главное чтобы простые были. Просто если они маленькие шифр легче взломать
Для больших p и q рандомить может бесконечно.. Теперь я проверяю числа на простые, но работает все равно неверно: Код:
Цитата:
Код:
Последний раз редактировалось Аватар; 23.11.2015 в 09:44. |
|
23.11.2015, 09:37 | #6 |
Пользователь
Регистрация: 26.10.2014
Сообщений: 27
|
нашел ошибку-невнимательно смотрел мануал, буква должна быть представлена в виде числа до n-1.
|
23.11.2015, 13:36 | #7 |
Пользователь
Регистрация: 26.10.2014
Сообщений: 27
|
Аватар, я заменил код cifratobukva и bukvatocifra, но он возвращает непонятные значки, а то вообще не возвращает.
Код:
|
23.11.2015, 13:41 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Ну во-первых нужно со смещением. Ord('A') совсем не 1
Во-вторых, если делфи юникодный, то так не пойдет
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
23.11.2015, 14:26 | #9 |
Пользователь
Регистрация: 26.10.2014
Сообщений: 27
|
Аватар, так у меня кодируется А не как единица, а кодируется уже ее номер char. Зачем тут смещение? У меня Lazarus
|
23.11.2015, 14:35 | #10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
для прописных (Больших) латинских букв (и исключительно только для них!) попробуйте такой вариант:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм RSA | Анна Сафронова | Помощь студентам | 2 | 02.06.2013 11:54 |
Алгоритм RSA | Daniel58 | Помощь студентам | 1 | 29.03.2012 13:40 |
алгоритм цифровой подписи RSA | Nin | Помощь студентам | 2 | 25.04.2011 18:58 |
RSA алгоритм в Maple. | pokerBORODA | Фриланс | 2 | 17.02.2010 19:06 |