cipher = AES.new(key, AES.MODE_GCM, nonce=nonce) plaintext = cipher.decrypt_and_verify(ciphertext, tag)
with open(crypt_file, 'rb') as cf: cf.read(52) # skip header salt = cf.read(16) nonce = cf.read(12) ciphertext = cf.read()[:-16] # remove auth tag tag = cf.read(16) msgstore db crypt
from Crypto.Cipher import AES import hashlib, hmac def decrypt_wa_crypt14(crypt_file, key_file, output_file): with open(key_file, 'rb') as kf: key = kf.read(32) # 256-bit key cipher = AES
with open(output_file, 'wb') as of: of.write(plaintext) # now a standard SQLite DB cipher = AES.new(key