parent
92171532f2
commit
a8ca8b1faf
@ -0,0 +1,22 @@ |
||||
from Crypto.Cipher import AES |
||||
import base64 |
||||
|
||||
|
||||
|
||||
def decrypt_aes_gcm(encrypted_base64, key_base64): |
||||
# Decode the base64 encoded data and key |
||||
encrypted_data = base64.b64decode(encrypted_base64) |
||||
key = base64.b64decode(key_base64) |
||||
|
||||
# Extract the nonce, tag, and ciphertext from the combined encrypted data |
||||
nonce = encrypted_data[:12] # AES GCM nonce is 12 bytes |
||||
tag = encrypted_data[-16:] # AES GCM tag is 16 bytes |
||||
ciphertext = encrypted_data[12:-16] # Ciphertext is everything in between |
||||
|
||||
# Create the cipher object and decrypt the data |
||||
cipher = AES.new(key, AES.MODE_GCM, nonce=nonce) |
||||
decrypted_data = cipher.decrypt_and_verify(ciphertext, tag) |
||||
|
||||
# Convert decrypted bytes to string (assuming UTF-8 encoding) |
||||
decrypted_text = decrypted_data.decode('utf-8') |
||||
return decrypted_text |
||||
Loading…
Reference in new issue