本文整理汇总了Python中crypto.cipher.icedoll.Icedoll.decrypt方法的典型用法代码示例。如果您正苦于以下问题:Python Icedoll.decrypt方法的具体用法?Python Icedoll.decrypt怎么用?Python Icedoll.decrypt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类crypto.cipher.icedoll.Icedoll
的用法示例。
在下文中一共展示了Icedoll.decrypt方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: IcedollTestVec
# 需要导入模块: from crypto.cipher.icedoll import Icedoll [as 别名]
# 或者: from crypto.cipher.icedoll.Icedoll import decrypt [as 别名]
def IcedollTestVec(i, key, pt, ct):
""" Run single AES test vector with any legal blockSize
and any legal key size. """
bkey, plainText, cipherText = a2b_hex(key), a2b_hex(pt), a2b_hex(ct)
kSize = len(bkey)
bSize = len(cipherText) # set block size to length of block
alg = Icedoll(bkey, keySize=kSize, blockSize=bSize, padding=noPadding())
cct = alg.encrypt(plainText)
print 'pt =',b2a_p(plainText)
print 'ct =',b2a_p(cct)
dcct = alg.decrypt(cct)
#print '_dcct',b2a_p(dcct)
self.assertEqual( dcct, plainText )
self.assertEqual( alg.encrypt(plainText), cipherText )
self.assertEqual( alg.decrypt(cipherText), plainText )
示例2: testDctEqPt
# 需要导入模块: from crypto.cipher.icedoll import Icedoll [as 别名]
# 或者: from crypto.cipher.icedoll.Icedoll import decrypt [as 别名]
def testDctEqPt(self):
""" test of plaintext = decrypt(encrypt(plaintext)) """
alg = Icedoll( 16*chr(0), padding=noPadding())
pt = 16*4*'a' # block aligned
ct = alg.encrypt(pt)
print 'ct = ',b2a_p(ct)
dct = alg.decrypt(ct)
print 'dct = ',b2a_p(dct)
assert(pt == dct), 'pt != dct'
alg = Icedoll( 16*chr(0)) # autoPad
pt = 17*4*'a' # non-block aligned
ct = alg.encrypt(pt)
print 'ct = ',b2a_p(ct)
dct = alg.decrypt(ct)
print 'dct = ',b2a_p(dct)
assert(pt == dct), 'pt != dct'
示例3: testEncrcptDecryptMultiSizesPt
# 需要导入模块: from crypto.cipher.icedoll import Icedoll [as 别名]
# 或者: from crypto.cipher.icedoll.Icedoll import decrypt [as 别名]
def testEncrcptDecryptMultiSizesPt(self):
""" Encrypt decrypt multiple sizes """
alg = Icedoll( 16*chr(0))
for size in range(100):
pt = size*'a'
ct = alg.encrypt(pt)
#print 'ct = ',b2a_p(ct)
dct = alg.decrypt(ct)
#print 'dct = ',b2a_p(dct)
assert(pt == dct), 'pt != dct'
示例4: decrypt
# 需要导入模块: from crypto.cipher.icedoll import Icedoll [as 别名]
# 或者: from crypto.cipher.icedoll.Icedoll import decrypt [as 别名]
def decrypt(self, cipherText, more=None):
""" Decrypt cipher text, Icedoll automatically removes
prepended random bits used as IV.
Note - typically IV is directly used as the first
cipher text. Here the IV is prepended to the plaintext
prior to encryption and removed on decryption.
"""
plainText = Icedoll.decrypt(self, cipherText, more=more)
if not(self.hasIV): # on first call to decrypt remove IV
plainText = plainText[self.ivSize:] # remove the IV
self.hasIV = 1
if more == None: # on last call to encrypt append integrity check
if not(self._verifyIC(plainText[-self.micSize:])) :
raise IntegrityCheckError, 'Trolldoll MIC Failure, bad key or modified data'
plainText = plainText[:-self.micSize] # trim off the integrity check
return plainText