나는 pre_mg07a.py 파일을 사용하고 https://github.com/nikosft/IB-PREpython.exe를 내가 프록시 재 암호화 구현의 코드를 실행하려고
에 Nikosft에, 매력 암호화 HybridEnc.Decrypt()에 감사의 작동이 중지. 파이썬은 암호화와 재 암호화를 위해 모든 디버그 메시지를 실행하고 성공적으로 인쇄하지만, 다음 코드의 마지막 줄에는 python.exe가 작동을 멈췄다는 것을 보여줍니다. 나는 문제의 근원을 찾으려고 노력했지만, charm.adapters.pkenc_adapt_hybrid의 HybridEnc.decrypt() 메소드를 호출 할 때 암호 해독 중에 충돌이 발생한다는 것을 알고있다.
내 test.py 파일 :
from pre_mg07a import PreGA
def main():
from charm.toolbox.pairinggroup import PairingGroup,GT
from charm.core.engine.util import objectToBytes,bytesToObject
from charm.schemes.pkenc.pkenc_cs98 import CS98
from charm.toolbox.ecgroup import ECGroup
from charm.toolbox.eccurve import prime192v2
group = PairingGroup('SS512', secparam=1024)
groupcs98 = ECGroup(prime192v2)
pkenc = CS98(groupcs98)
pre = PreGA(group,pkenc)
ID1 = "nikos"
msg = group.random(GT)
print("MESSAGE:::::::\n %s", msg)
(master_secret_key, params) = pre.setup()
(public_key, secret_key) = pkenc.keygen()
id1_secret_key = pre.keyGen(master_secret_key, ID1)
ciphertext = pre.encrypt(params, ID1, msg)
re_encryption_key = pre.rkGenPKenc(params,id1_secret_key, public_key)
ciphertext2 = pre.reEncryptPKenc(params, re_encryption_key, ciphertext)
pre.decryptPKenc(params, public_key, secret_key, ciphertext2) #problem here
if __name__ == "__main__": main()
https://github.com/nikosft/IB-PRE/blob/master/pre_mg07a.py 파일 'decrptPKenc'방법
def decryptPKenc(self, params, public_key, secret_key, cid):
print('here')
Xbytes = pkenc.decrypt(public_key, secret_key, cid['C3'])#stopped working
X = bytesToObject(Xbytes, group)
m = cid['C2']/pair(cid['C1'],group.hash(X,G1))
if(debug):
print('\nDecrypting...')
print('m=>')
print(m)
return m
플랫폼 세부 정보 : 윈도우 7 64 비트, 파이썬 3.4 32 비트, MSYS와는 MinGW 32 비트. 설치 : openssl 1.0.1u, GMP 5.0.2, PBC 0.5.14, Charm Crypto 0.43.
시도 : 다른 python 버전 2.7 및 3.2 사용. 나는 구성 할 수없고 그걸로 매력을 올바르게 만든다.
도움이 될 것입니다. 이것은 매우 구체적인 주제가 될 수 있지만, 문제는 다를 수 있습니다. 어떤 제안도 환영합니다.