def test08(self): print 'test08-------------------------' # en-- key = 'Call me Ishmael.'[:16] key = map(ord, key) data = 'This is not a block length.' mode = aes.AESModeOfOperation.modeOfOperation["CBC"] if mode == aes.AESModeOfOperation.modeOfOperation["CBC"]: data = aes.append_PKCS7_padding(data) keysize = len(key) assert keysize in aes.AES.keySize.values( ), 'invalid key size: %s' % keysize # create a new iv using random data iv = [12, 34, 96, 15, 12, 34, 96, 15, 12, 34, 96, 15, 12, 34, 96, 15] moo = aes.AESModeOfOperation() (mode, length, ciph) = moo.encrypt(data, mode, key, keysize, iv) # With padding, the original length does not need to be known. It's a bad # idea to store the original message length. # prepend the iv. encrypt_data = ciph print aes.decryptDataIv(key, ciph, iv) keysize = len(key) assert keysize in aes.AES.keySize.values( ), 'invalid key size: %s' % keysize # iv is first 16 bytes #iv = map(ord, encrypt_data[:16]) moo = aes.AESModeOfOperation() decr = moo.decrypt(encrypt_data, None, mode, key, keysize, iv) if mode == aes.AESModeOfOperation.modeOfOperation["CBC"]: decr = aes.strip_PKCS7_padding(decr) print decr
def test08(self): print 'test08-------------------------' # en-- key = 'Call me Ishmael.'[:16] key = map(ord, key) data = 'This is not a block length.' mode = aes.AESModeOfOperation.modeOfOperation["CBC"] if mode == aes.AESModeOfOperation.modeOfOperation["CBC"]: data = aes.append_PKCS7_padding(data) keysize = len(key) assert keysize in aes.AES.keySize.values(), 'invalid key size: %s' % keysize # create a new iv using random data iv = [12, 34, 96, 15, 12, 34, 96, 15, 12, 34, 96, 15, 12, 34, 96, 15] moo = aes.AESModeOfOperation() (mode, length, ciph) = moo.encrypt(data, mode, key, keysize, iv) # With padding, the original length does not need to be known. It's a bad # idea to store the original message length. # prepend the iv. encrypt_data = ciph print aes.decryptDataIv(key, ciph, iv) keysize = len(key) assert keysize in aes.AES.keySize.values(), 'invalid key size: %s' % keysize # iv is first 16 bytes #iv = map(ord, encrypt_data[:16]) moo = aes.AESModeOfOperation() decr = moo.decrypt(encrypt_data, None, mode, key, keysize, iv) if mode == aes.AESModeOfOperation.modeOfOperation["CBC"]: decr = aes.strip_PKCS7_padding(decr) print decr
def decrypt(self, key, param, data): key = map(ord, key) keysize = len(key) iv = map(ord, param[:16]) data = map(ord, data) moo = aes.AESModeOfOperation() mode = aes.AESModeOfOperation.modeOfOperation["CBC"] decr = moo.decrypt(data, None, mode, key, keysize, iv) return aes.strip_PKCS7_padding(decr)
def decryptRequest(self, request): encrypted = bytearray(str(request['message'])) iv = bytearray(request['message']['salt']) moo = aes.AESModeOfOperation() moo.aes.v6 = self.v6 decrypted = moo.decrypt(encrypted, 256, moo.modeOfOperation["CBC"], self.key, moo.aes.keySize["SIZE_128"], iv) decrypted = aes.strip_PKCS7_padding(decrypted) return self.DecryptedRequest(decrypted)
def decryptRequest(self, request): encrypted = bytearray(str(request['message']).encode('latin-1')) #*2to3* iv = bytearray(request['message']['salt'].encode('latin-1')) #*2to3* moo = aes.AESModeOfOperation() moo.aes.v6 = self.v6 decrypted = moo.decrypt(encrypted, 256, moo.ModeOfOperation["CBC"], self.key, moo.aes.KeySize["SIZE_128"], iv) #*2to3* decrypted = aes.strip_PKCS7_padding(decrypted) decrypted = bytes(decrypted) #*2to3* return self.DecryptedRequest(decrypted)
def decryptResponse(self, response): paddingLength = response['bodyLength1'] % 8 iv = bytearray(response['salt']) encrypted = bytearray(response['encrypted'][:-paddingLength]) moo = aes.AESModeOfOperation() moo.aes.v6 = self.v6 decrypted = moo.decrypt(encrypted, 256, moo.modeOfOperation["CBC"], self.key, moo.aes.keySize["SIZE_128"], iv) decrypted = aes.strip_PKCS7_padding(decrypted) return self.DecryptedResponse(decrypted)
def decryptResponse(self, response): paddingLength = response['bodyLength1'] % 8 iv = bytearray(response['salt'].encode('latin-1')) #*2to3* encrypted = bytearray(response['encrypted'][:-paddingLength].encode('latin-1')) #*2to3* moo = aes.AESModeOfOperation() moo.aes.v6 = self.v6 decrypted = moo.decrypt(encrypted, 256, moo.ModeOfOperation["CBC"], self.key, moo.aes.KeySize["SIZE_128"], iv) #*2to3* decrypted = aes.strip_PKCS7_padding(decrypted) decrypted = bytes(decrypted) #*2to3* return self.DecryptedResponse(decrypted)
def decryptRequest(self, request): encrypted = bytearray(str( request['message']).encode('latin-1')) #*2to3* iv = bytearray(request['message']['salt'].encode('latin-1')) #*2to3* moo = aes.AESModeOfOperation() moo.aes.v6 = self.v6 decrypted = moo.decrypt(encrypted, 256, moo.ModeOfOperation["CBC"], self.key, moo.aes.KeySize["SIZE_128"], iv) #*2to3* decrypted = aes.strip_PKCS7_padding(decrypted) decrypted = bytes(decrypted) #*2to3* return self.DecryptedRequest(decrypted)
def decryptResponse(self, response): paddingLength = response['bodyLength1'] % 8 iv = bytearray(response['salt'].encode('latin-1')) #*2to3* encrypted = bytearray( response['encrypted'][:-paddingLength].encode('latin-1')) #*2to3* moo = aes.AESModeOfOperation() moo.aes.v6 = self.v6 decrypted = moo.decrypt(encrypted, 256, moo.ModeOfOperation["CBC"], self.key, moo.aes.KeySize["SIZE_128"], iv) #*2to3* decrypted = aes.strip_PKCS7_padding(decrypted) decrypted = bytes(decrypted) #*2to3* return self.DecryptedResponse(decrypted)
def decrypt(ciphertext, key): iv = ciphertext[:AES.block_size] cipher = AES.new(key, AES.MODE_CBC, iv) plaintext = cipher.decrypt(ciphertext[AES.block_size:]) plaintext = aes.strip_PKCS7_padding(plaintext) return plaintext.rstrip(b"\x07")