我想對散列執行盲法和解除盲操。Python PyCrypto RSA Blind and Unblind
我:
messageHashed = md5.new('MyMessage').digest()
print 'Message MD5:%s' % messageHashed
blindSigned = loadedPublic.blind(messageHashed,123)
print 'Blinded: %s' % blindSigned
blindSigned = loadedPrivate.sign(blindSigned,loadedPrivate.n)
print 'Blinded Signed: %s' % str(blindSigned)
unblind = loadedPrivate.unblind(blindSigned,123)
print '-------------'
print 'Unblinded: %s' % unblind
verify = loadedPrivate.verify(unblind,(loadedPrivate.n,loadedPrivate.d))
print 'Verify: %s' % verify
(我先前已經加載了公鑰和私鑰和多數民衆工作的罰款)
現在,我的問題是,當它運行時,我得到這個輸出:
M<ssage MD5:?.Z?3??f2??
Blinded: ?YL⽥p??j+Z<I?vxV??{5??
??>[??? ??r?"l
??d?ڸYC????k?U?Q?????C?0?D??*T8?}?P?9~$??'?p??ZR:2? sh͓l??kXvU??d]???$?c聻[email protected]?
Blinded Signed: (122872721681409041185513323026772702402844983846953530757782619983060590754290923453963299094289086410649560247540686534912830758097386690290305557644701999751846538319065094741731992734124277081554060855405114566548615303949954231396930615801829673187895538075706631646002356108979884582511973944741160960028L,)
Traceback (most recent call last):
File "NewClient.py", line 103, in <module>
unblind = loadedPrivate.unblind(blindSigned,123)
File "build/bdist.macosx-10.8-intel/egg/Crypto/PublicKey/pubkey.py", line 165, in unblind
File "build/bdist.macosx-10.8-intel/egg/Crypto/PublicKey/RSA.py", line 247, in _unblind
object = RSAobj
File "build/bdist.macosx-10.8-intel/egg/Crypto/PublicKey/_slowmath.py", line 47, in _unblind
OverflowError: cannot fit 'long' into an index-sized integer
儘管unblind功能記錄如下:
unblind(self, M, B)
unblind(M : string|long, B : string|long) : string|long
Unblind message M using blinding factor B.
它似乎不接受它。
任何人都可以指向正確的方向嗎?我已經呆了好幾個小時了。
非常感謝你。這讓我更多時間把頭髮拉出來。它完美無瑕! 另外,你使用比特幣嗎?如果是這樣,請提供一個地址,我會提示您的幫助:)再次感謝! – user2225961 2013-04-08 14:16:35
@ user2225961 16So8uNJ9vqaC4zM2BUP6pi5b8L1bq6TTv :) – atomicinf 2013-04-08 17:17:01