sachin
add-uits
39b1c1e
raw
history blame
567 Bytes
from Crypto.Cipher import AES
from fastapi import HTTPException
from config.logging_config import logger
def decrypt_data(encrypted_data: bytes, key: bytes) -> bytes:
try:
nonce, ciphertext = encrypted_data[:12], encrypted_data[12:]
cipher = AES.new(key, AES.MODE_GCM, nonce=nonce)
plaintext = cipher.decrypt_and_verify(ciphertext[:-16], ciphertext[-16:])
return plaintext
except Exception as e:
logger.error(f"Decryption failed: {str(e)}")
raise HTTPException(status_code=400, detail="Invalid encrypted data")