0

Github の Charm Crypto を使用しています。属性ベースの暗号化アルゴリズムを使用したいと考えています。テスト コードは問題なく動作しますが、PairingGroup から生成されたランダム メッセージを使用します。自分のデータを暗号化に使用するにはどうすればよいですか?

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

PairingGroup にはエンコード/デコード メソッドがありますが、実装されていません。「Hello world!」でこれを試してみたいだけです。

4

1 に答える 1

1

cham/charm/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)
于 2016-07-11T13:55:00.800 に答える