Аня
Дек. 7, 2008 11:02:17
целью является нахождение двух чисел:
a=(g**k)%p
b=((M-x*a)*k**(-1))%(p-1)
даже не представляю как это сделать
The gray Cardinal
Дек. 7, 2008 11:05:03
Возможно, нужно работать со строками, а не с числами. Но по криптографическим алгоритмам я не подскажу.
Аня
Дек. 7, 2008 11:10:14
А не подскажешь как вот это переписать в питон?
int power(int t, int k) {
// exponentiate integer t to power k
int res = 1;
while (k) {
if (k & 1) res *= t;
t *= t;
k >>= 1;
}
return res;
}
это на С - ее не совсем поняла как прописывать тип переменых - что long
The gray Cardinal
Дек. 7, 2008 11:44:54
Ты себе представляешь, что это за число, 140405385067992828921334150816**999322873936262740684006202459? Сколько знаков оно будет содержать? Я думаю, элементарных частиц в нашей метагалактике будет значительно, на много порядков меньше (это не шутка). Пытаться переписать питоновскую операцию ** смешно как-то, к тому же “самопальная” функция ** будет значительно медленнее, чем родная операция Питона. Нужно работать со строками.
Аня
Дек. 7, 2008 11:48:32
я совсем не умеюпрогать на питоне…не говоря уже про работу со строками))
The gray Cardinal
Дек. 7, 2008 11:53:41
Попробуй сформулировать свою задачу полностью, тщательно, со всей предысторией и подробностями. В отдельной теме. Вполне возможно, что здесь есть люди, знакомые с криптографией.
Аня
Дек. 7, 2008 12:00:53
хорошо)сейчас попробую)