2016-12-14 1 views
0

Je suis en train d'exécuter le code d'implémentation rechiffrement Proxy, grâce à Nikosft sur https://github.com/nikosft/IB-PREPython.exe a cessé de travailler sur Charm Crypto HybridEnc.Decrypt()

J'utilise le fichier pre_mg07a.py. Python exécute et imprime avec succès tous les messages de débogage pour le chiffrement et le rechiffrement, mais sur la dernière ligne du code suivant, il montre que python.exe a cessé de fonctionner. J'ai essayé de trouver la source du problème, mais tout ce que je sais c'est qu'il se bloque pendant le décryptage quand il appelle la méthode HybridEnc.decrypt() dans charm.adapters.pkenc_adapt_hybrid.

mon fichier 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 fichier méthode '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 

détails de la plate-forme: Windows 7 64bit , Python 3.4 32bits, 32bits MingW avec Msys. Installé: openssl 1.0.1u, GMP 5.0.2, PBC 0.5.14, charme Crypto 0.43.

Essayé: En utilisant différentes versions de python, 2.7 et 3.2. Je ne peux pas configurer et faire du charme correctement avec eux.

Toute aide serait vraiment appréciée. Je sais que cela pourrait être un sujet très spécifique, mais peut-être que le problème est différent. Toutes les suggestions sont les bienvenues.

Répondre

1

Éventuellement abandonné sur les fenêtres. J'ai essayé Ubuntu 14.04 et cela a fonctionné après quelques problèmes de configuration habituels.

est ici pour d'autres comment configurer Charm-Crypto pour Python 3.4:

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 python3-setuptools python3-dev 
sudo apt-get 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 

Téléchargé le fichier tar.gz de charme de https://pypi.python.org/pypi/charm-crypto/0.43, extrait et changé de répertoire, puis:

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