PGP utiliza el cifrado asimétrico y simétrico .
Los datos se cifran con una clave aleatoria utilizando el cifrado simétrico utilizando uno de estos algoritmos:
Según RFC 4880 :
- IDEA
- TripleDES
- CAST5 (clave de 128 bits, según [RFC2144])
- Blowfish (clave de 128 bits, 16 rondas)
- AES con clave de 128 bits
- AES con clave de 192 bits
- AES con clave de 256 bits
- Twofish con clave de 256 bits
Y en RFC 5581 :
- Camellia 128-bit key
- clave de 192 bits de camelia
- Camellia 256-bit key
Luego esta clave, llamada "clave de sesión" se cifra mediante la clave pública del destinatario.
Wikipedia: PGP
Ahora,mirando RFC 4880 Sección 13.9 para OpenPGP, dice que una variación del modo CFB es utilizado para los cifrados.
El desencriptado de CFB tiene este aspecto:
Como se muestra en la imagen, comienza con iv, la clave y el primer bloque de texto cifrado y, a medida que avanza, tiene el bloque de texto simple por bloque descifrado.
Por lo tanto, en teoría, es posible tener el mensaje descifrado parte por parte, pero no he visto una herramienta que lo haga de forma inmediata debido a la falta de uso. Pero uno puede seguir adelante y desarrollar una herramienta para hacer esto.