Métodos Asíncronos
Descripción General
Sección titulada «Descripción General»AegisCipher provee los métodos encrypt_async() y decrypt_async() que corren en un ThreadPoolExecutor sin bloquear el event loop.
Estos wrappers solo delegan cifrado y descifrado. generate_keypair() es síncrono; use un worker para generar claves dentro del event loop. Cancelar la tarea que espera no garantiza que el trabajo nativo iniciado se detenga ni que sus buffers se borren inmediatamente.
import asynciofrom aegisq import AegisCipher, SecurityLevel
async def main(): cipher = AegisCipher(level=SecurityLevel.ML_KEM_768) keypair = await asyncio.to_thread(cipher.generate_keypair)
# Cifrado no bloqueante package = await cipher.encrypt_async( b"Datos secretos", keypair.public_key, )
# Descifrado no bloqueante plaintext = await cipher.decrypt_async( package, keypair.secret_key, ) print(plaintext) # b'Datos secretos'
asyncio.run(main())Referencia de la API
Sección titulada «Referencia de la API»encrypt_async(plaintext, recipient_public_key) {#encrypt_async}
Sección titulada «encrypt_async(plaintext, recipient_public_key) {#encrypt_async}»async def encrypt_async(self, plaintext: bytes, recipient_public_key: bytes) -> bytesCifra el plaintext usando el esquema híbrido. Corre en un thread pool.
decrypt_async(encrypted_package, secret_key) {#decrypt_async}
Sección titulada «decrypt_async(encrypted_package, secret_key) {#decrypt_async}»async def decrypt_async(self, encrypted_package: bytes, secret_key: bytes) -> bytesDescifra el Transit Package. Corre en un thread pool.