En primer lugar, es poco probable que una clave secreta en GnuPG sea un número primo. Para las claves RSA, la clave pública contiene dos enteros ( n y e ), mientras que la clave privada contiene cuatro enteros ( d , p , q y u , en la terminología de OpenPGP; p y q son primos y su producto es igual a n ). Para las claves ElGamal o DSA, la clave pública contiene tres o cuatro enteros ( p , q , g , y ) y la clave privada es un entero ( x ) que no es necesariamente primo (la primalidad de la clave privada de ElGamal no tiene importancia).
El formato real se describe en detalle en el estándar . Si implementa algún código para analizar archivos como se describe en este estándar, obtendrá toda la información que desee. Para acelerar el esfuerzo (un resultado más rápido, a costa de una menor comprensión, implementar un protocolo desde cero es una excelente manera de aprenderlo), es posible que desee utilizar algunas bibliotecas existentes que harán el análisis por usted. Por ejemplo, Bouncy Castle (en Java), o GnuPG (en C).