![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Большая степень числа [D7]
Близнец © (2006-01-31 06:22:00)Какого типа необходимо использовать переменную для возведения числа в большую степень (например, 320 в 2156 степени) , и как ею оперировать в математических выражениях?
Близнец (2006-02-02 06:15:00) [1]Всем спасибо за желание помочь, пока времени не было разбираться (сегодня 3 экзамена), думаю скоро будут вопросы ;)
palva (2006-02-01 18:06:00) [2]> Какого типа необходимо использовать переменную
> P=251, Q=331, D=165131
Достаточно использовать переменную типа Integer
Только это не будет возведение в степень. Потому что при возведении в степень нужно после каждого умножения делить результат на модуль и брать остаток. Приблизительно об этом говорил yaroslav
Почитайте здесь http://www.racal.ru/rsp/rsa.htmНаколько я понимаю это компиляция из книги Брюса Шнайера "Прикладная криптография"
kaZaNoVa (2006-02-01 13:48:00) [3]а в чем алгоритм состоит?)
если я правильно понял - P=251, Q=331, D=165131
надо P^Q mod D - по калькулятору Windows получим 59800
Kerk (2006-02-01 13:02:00) [4]http://kladovka.net.ru/index.cgi?pid=list&rid=322
Kerk (2006-02-01 13:02:00) [5]http://kladovka.net.ru/index.cgi?pid=list&rid=53
yaroslav (2006-02-01 09:47:00) [6]2 Близнец
будут вопросы - пиши на мыло, отвечу с радостью...
Близнец (2006-02-01 06:40:00) [7]2 MBo
спасибо, это тоже посмотрю
MBo (2006-02-01 06:33:00) [8]FGInt поищи
Близнец (2006-02-01 06:33:00) [9]2 yaroslav
спасибо большое за разъяснение, буду пробовать реализовать
> я понимаю, что заочник - но странно: что вам там дают преподы
а ничего практически не дают, вот рассмотрели по-быстрому, как число 5 зашифровать, где p, q и n однозначные числа, а в нагрузку выдали задание в электронном виде, а препода уже до экзамена не увидем (и в институте не найдешь)
yaroslav (2006-01-31 12:12:00) [10]Здесь другая арифметика - МОДУЛЬНАЯ!!
А в ней другие правила...
yaroslav (2006-01-31 12:10:00) [11]ерунду тебе пишут!!!
алгоритм RSA (как практически ЛЮБОЙ криптографический алгоритм) берет не степень, а СТЕПЕНЬ ПО МОДУЛЮ!!!
не нужно считать 2^24 mod 25 (числа из головы ради примера) как сначала x:=2^24, а потом y:=x mod 25.
Делается так: (я понимаю, что заочник - но странно: что вам там дают преподы?)
2^24 mod 25 = 2^(6+6+6+6) mod 25 = (2^6)*(2^6)*(2^6)*(2^6) mod 25;
2^6 = 64 (это найти просто, и подсилу компьютеру),
а дальше (!) берется 64 mod 25 = 14 (вот уж точно - устный счет)
и наконец (2^6)*(2^6)*(2^6)*(2^6) mod 25 = 14*14*14*14 mod 25. согласись, что это проще, чем 64*64*64*64 mod 25 ?!
Дальше в том же духе, пока не "спустишься" до совсем уж элементарных чисел... Таким вот образом, кстати, "ручками" и считают (ну или считали).
Счет, действительно - УСТНЫЙ!
А задача для программирования - как раз разбиение "большого" числа на "маленькие" и применение уже к ним операции mod. Тут хоть longint в longint возводи!
Gero (2006-01-31 09:42:00) [12]> но это нереально ручками сделать
Почему же, вполне реально. Я делал когда-то.
> И как его использовать можно в данном случае?
См. http://algolist.manual.ru-> Длинная арифметика.
Близнец (2006-01-31 09:39:00) [13]2 Gero
> Ну так не зря дали. Ты должен этот тип написать самостоятельно.
Вообще-то преподу без разницы, хоть в тетради зашифруй, но это нереально ручками сделать...
>
> Составного. Лучше всего подойдет record.
И как его использовать можно в данном случае?
Gem (2006-01-31 09:39:00) [14]2 Gero
> Ну так не зря дали. Ты должен этот тип написать самостоятельно.
Вообще-то преподу без разницы, хоть в тетради зашифруй, но это нереально ручками сделать...
>
> Составного. Лучше всего подойдет record.
И как его использовать можно в данном случае?
Gero (2006-01-31 09:34:00) [15]> Задание дали на учебе (заочная форма):
Ну так не зря дали. Ты должен этот тип написать самостоятельно.
Близнец (2006-01-31 09:33:00) [16]2 MBo
Задание дали на учебе (заочная форма): реализация алгоритма RSA, даны P=251, Q=331, D=165131
2 palva
Спасибо, буду знать, что таких типов нет, а то уже пол инета перерыто ;)
Gero (2006-01-31 09:21:00) [17]> Какого типа необходимо использовать переменную для возведения
> числа в большую степень
Составного. Лучше всего подойдет record.
palva (2006-01-31 08:46:00) [18]В делфи таких типов нет. Вы должны привлечь разработки сторонних фирм или написать свою.
MBo (2006-01-31 08:20:00) [19]Цель какая?