Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 7, 2008 13:23:52

Аня
От:
Зарегистрирован: 2008-12-07
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача для питона по крипографии.

Ferroman
напишите, пожалуйста, как выглядит на питоне sign(M, k)
как определить функцию? что она будет возвращать?



Офлайн

#2 Дек. 7, 2008 14:01:57

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Задача для питона по крипографии.

я могу воспользоваться чем угодно)))мне просто надо получить правильный ответ)
Просто воспользуйтесь тем что есть по 9-й ссылке.

Офлайн

#3 Дек. 7, 2008 14:29:34

Аня
От:
Зарегистрирован: 2008-12-07
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача для питона по крипографии.

Спасибо всем!вроде все получилось)



Офлайн

#4 Дек. 7, 2008 14:31:00

Аня
От:
Зарегистрирован: 2008-12-07
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача для питона по крипографии.

если кому интересно - вот код:

M=924743079237129051644739152484
p=999322873936262740684006202459
g=140405385067992828921334150816
x=597374340137088807238685974246
k=224303606516544629816282457677
a=pow(g, k, p)

def xgcd(a, b):
if a == 0 and b == 0: return (0, 0, 1)
if a == 0: return (abs(b), 0, b/abs(b))
if b == 0: return (abs(a), a/abs(a), 0)
x_sign = 1; y_sign = 1
if a < 0: a = -a; x_sign = -1
if b < 0: b = -b; y_sign = -1
x = 1; y = 0; r = 0; s = 1
while b != 0:
(c, q) = (a%b, a/b)
(a, b, r, s, x, y) = (b, c, x-q*r, y-q*s, r, s)
return (a, x*x_sign, y*y_sign)

kinv=xgcd(k,p-1)[1]%(p-1)
b=((M-x*a)*kinv)%(p-1)
y=pow(g, x, p)
isk=pow(g, M, p)
isk1=(pow(y, a, p)*pow(a, b, p))%p

print (isk-isk1)
print a
print b

M1=423582294813879697636834497552
p1=999322873936262740684006202459
g1=140405385067992828921334150816
y=937020276605545547319398743394
a1=985798159078111620103163777903
b1=992544085004248013500440387192
iskom=pow(g, M1, p)
iskom1=(pow(y, a1, p)*pow(a1, b1, p))%(p)
print (iskom-iskom1)



Офлайн

#5 Дек. 7, 2008 15:08:22

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача для питона по крипографии.

офигеть можно %)
круто!
а что означает третий аргумент в функции pow ?



Отредактировано (Дек. 7, 2008 15:09:31)

Офлайн

#6 Дек. 7, 2008 17:13:12

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Задача для питона по крипографии.

если указан - возвращается остаток от деления по модулю. Параметр - этот самый модуль



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version