Básicamente sí. Así es como funciona RSA, como se describe en el estándar .
En cifrado , los datos de entrada se "rellenan" primero, es decir, se expanden con cierta aleatoriedad y estructura, y luego se convierten en un valor entero grande m en el 0..n-1 rango ( n es el módulo). Ese valor se eleva entonces a la potencia e (el exponente público) módulo n , lo que produce otro entero en el rango 0..n-1 . El resultado se codifica en bytes con lo que el RFC llama I2OSP (convención sin firmar de big-endian). Para un módulo RSA de 1024 bits, siempre obtendrá un resultado de 128 bytes.
Del mismo modo, una firma RSA, para una clave de 1024 bits, siempre tiene una longitud exactamente de 128 bytes.
Recordatorio obligatorio: no, no estás "encriptando con la clave privada". La noción completa de "cifrar con la clave privada" es una analogía defectuosa, que funciona solo para RSA, y en realidad no funciona para RSA, precisamente porque falla completamente al tomar en cuenta el relleno. Estás firmando . Y, de hecho, utiliza el indicador de línea de comando -sign
. RSA es dos algoritmos, que comparten una estructura matemática común, pero no toda; Las cosas serán más claras si sigues pensando en RSA encriptación y RSA firmas como un proceso distinto.