2016-07-07 13 views
0

私はGithubのCharm Cryptoを使用しています。私は、属性ベースの暗号化アルゴリズムを使用したいと思います。テストコードは正常に動作しますが、PairingGroupから生成されたランダムメッセージが使用されます。自分のデータを暗号化するにはどうすればいいですか?チャームの属性ベースの暗号化で使用するためにデータをエンコードする方法は?

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

PairingGroupにはエンコード/デコード方式がありますが、実装されていません。私はちょうど "Hello world!"でこれを試してみたいです。

答えて

1

魅力/チャーム/テスト/ツールボックス/ 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

ありがとう!また、同様のコードを持つcharm/charm/adapters /のabenc_adapt_hybrid.pyが見つかりました。 – projectshave

関連する問題