![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 30.03.2011
Сообщений: 3
|
![]()
Есть формула:
![]() к примеру a=6; x=8; b=9, p=11, M должно получиться 5, как реализовать на паскале? |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 25.04.2011
Сообщений: 107
|
![]()
m:=(b/exp(x*ln(a)) ) mod p;
|
![]() |
![]() |
![]() |
#3 |
фонатик DELPHI
Форумчанин
Регистрация: 14.01.2008
Сообщений: 714
|
![]() Код:
95% сбоев и ошибок приложений, находится в полу метрах от монитора
![]() |
![]() |
![]() |
![]() |
#4 | ||
Регистрация: 30.03.2011
Сообщений: 3
|
![]() Цитата:
Цитата:
http://ru.wikipedia.org/wiki/Elgamal Последний раз редактировалось Prony5; 18.10.2011 в 13:49. Причина: дополнение |
||
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 25.04.2011
Сообщений: 107
|
![]()
Я попробовал повозиться, в итоге выходит, что выражение b*(a^x)^-1 при данных тобою числах имеет значение: 7.9383E-007, то есть очень довольно таки маленькое число, и от него нельзя найти mod p; потому что оно и так дробное. Я посмотрел алгоритм в википедии, может конечно там так и получается, но вот что я придумал:
Код:
Сейчас позовём сюда Отцов) |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
у... посмотрел по ссылочкам..
Схема Эль-Гамаля - это серьёзно! моего мат.аппарата не хватило сообразить, как получается M = 5... ![]() Единственное, что я могу предположить, что вместо b = 9 берётся b с числом разрядов равных числу 6^8... вот так, например: Код:
надо ещё будет подумать... |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 14.03.2011
Сообщений: 104
|
![]()
Ссылочка.
Исходя из ссылочки имеем 1679616 * M = 9 (mod 11) (читаем как (1679616 * M) сравнимо с 9 по модулю 11, тут не двойное равно, а тройное должно стоять). Это означает, что левая и правая части сравнения дают одинаковый остаток при делении на 9. Правая уже известна - 9 mod 11 = 9 ![]() Значит (1679616 * M) mod 11 = 9. Перебирая M получаем значение 5. |
![]() |
![]() |
![]() |
#8 | |
Регистрация: 30.03.2011
Сообщений: 3
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Реализовать работу с файлом | death65 | Помощь студентам | 2 | 14.02.2011 17:18 |
Как реализовать подсчет этой формулы? | E-Novikov | Microsoft Office Excel | 14 | 10.11.2010 23:11 |
Формулы | SunKnight | Общие вопросы Delphi | 2 | 07.04.2008 09:38 |