2016-07-07 3 views
0

Ich benutze Charm Crypto von Github. Ich würde gerne die attributbasierten Verschlüsselungsalgorithmen verwenden. Der Testcode funktioniert einwandfrei, verwendet jedoch eine zufällige Nachricht, die von PairingGroup generiert wird. Wie verwende ich meine eigenen Daten zur Verschlüsselung?Wie können Daten für die attributbasierte Verschlüsselung von Charm verschlüsselt werden?

>>> group = PairingGroup('SS512', secparam=512) 
>>> msg = group.random(GT) 

Die PairingGroup hat Codierungs-/Decodierungsmethoden, die jedoch nicht implementiert sind. Ich möchte das nur mit "Hallo Welt!" Versuchen.

Antwort

1

Schauen Sie sich diese Klasse unter Charme/Charme/test/toolbox/symcrypto_test.py

class SymmetricCryptoAbstractionTest(unittest.TestCase): 

def testAESCBC(self): 
    self.MsgtestAESCBC(b"hello world") 

def testAESCBCLong(self): 
    self.MsgtestAESCBC(b"Lots of people working in cryptography have no deep \ 
    concern with real application issues. They are trying to discover things \ 
    clever enough to write papers about -- Whitfield Diffie.") 

def testAESCBC_Seperate(self): 
    self.MsgTestAESCBCSeperate(b"Lots of people working in cryptography have no deep \ 
    concern with real application issues. They are trying to discover things \ 
    clever enough to write papers about -- Whitfield Diffie.") 

def MsgtestAESCBC(self,msg): 
    groupObj = PairingGroup('SS512') 
    a = SymmetricCryptoAbstraction(sha1(groupObj.random(GT))) 
    ct = a.encrypt(msg) 
    dmsg = a.decrypt(ct); 
    assert msg == dmsg , 'o: =>%s\nm: =>%s' % (msg, dmsg) 

def MsgTestAESCBCSeperate(self,msg): 
    groupObj = PairingGroup('SS512') 
    ran = groupObj.random(GT) 
    a = SymmetricCryptoAbstraction(sha1(ran)) 
    ct = a.encrypt(msg)   
    b = SymmetricCryptoAbstraction(sha1(ran)) 
    dmsg = b.decrypt(ct); 
    assert msg == dmsg , 'o: =>%s\nm: =>%s' % (msg, dmsg) 
+0

Dank! Außerdem habe ich abenc_adapt_hybrid.py in charm/charm/adapter/gefunden, die ähnlichen Code hat. – projectshave

Verwandte Themen