簡體   English   中英

Python.exe停止在Charm Crypto HybridEnc.Decrypt()上工作

[英]Python.exe stopped working on Charm Crypto HybridEnc.Decrypt()

由於https://github.com/nikosft/IB-PRE上的Nikosft,我正在嘗試運行代理重新加密實現的代碼。

我正在使用pre_mg07a.py文件。 Python執行並成功打印了所有調試消息以進行加密和重新加密,但是在以下代碼的最后一行,它顯示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

平台詳細信息:Windows 7 64位,Python 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。 我無法正確配置它們並使其具有魅力。

任何幫助將非常感激。 我知道這可能是一個非常具體的主題,但是問題可能有所不同。 任何建議也歡迎。

最終放棄了在窗戶上。 嘗試了Ubuntu 14.04,它在遇到一些常見的配置問題后可以正常工作。

以下是其他如何為Python 3.4配置Charm-Crypto的方法:

sudo apt-get install subversion
sudo apt-get install m4
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install libssl-dev
sudo apt-get install python3-setuptools python3-dev
sudo apt-get install libgmp-dev
wget http://crypto.stanford.edu/pbc/files/pbc-0.5.14.tar.gz
tar xf pbc-0.5.14.tar.gz
cd pbc-0.5.14
./configure && make && sudo make install

https://pypi.python.org/pypi/charm-crypto/0.43下載charm的tar.gz文件,提取並更改目錄,然后:

./configure.sh
sudo make
sudo make install
sudo ldconfig

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM