¿Cómo hacer el modo ECB cuando se trata de RSA? No lo entiendo El documento de autenticación Aadhar ( enlace página 33) dice que tenemos que usar RSA / ECB / PKCS1Padding pero I No encuentro ninguna referencia al modo cuando se trata de RSA.
- Generamos una clave de sesión AES-256 en el servidor y la enviamos al cliente. (Olvidamos la clave de sesión)
- El cliente encripta su bloque de datos con simulación AES / ECB / PKCS7Padding (usando cryptojs)
- El cliente cifra su clave de sesión con una clave pública Aadhar de 2048 bits usando un algoritmo asimétrico (RSA / ECB / PKCS1Padding)
- El cliente también calcula el HMAC del bloque de datos
- El cliente nos envía los tres campos, el servidor completa otros datos y los envía al servidor Aadhar
Por lo tanto, necesitamos hacer RSA / ECB / PKCS1Padding en el cliente web en Javascript. CryptoJS no admite RSA, por lo que puede utilizar cualquier otra biblioteca
Si alguien puede decirme si el ejemplo de la biblioteca de Forge
var encrypted = publicKey.encrypt(bytes, 'RSAES-PKCS1-V1_5');
usa el BCE o no. Hay referencias a RSA / ECB / OAEPWithSHA-256AndMGF1Padding pero necesito PKCS # 1 padding
¿Puedes sugerirme alguna otra biblioteca o decirme el código correcto en Forge?
Si puedo hacer esto en PHP en el lado del servidor, también puedo enviar la clave de sesión y la clave de sesión cifrada al cliente y luego olvidar la clave de sesión.
No entiendo mucha criptografía, pero entiendo los términos de alguna manera.