Come si fa la modalità ECB quando si ha a che fare con RSA? Non lo capisco Il documento di autenticazione Aadhar ( link pagina 33) dice che dobbiamo usare RSA / ECB / PKCS1Padding ma io Non sto trovando alcun riferimento alla modalità quando si tratta di RSA.
- Generiamo una chiave di sessione AES-256 sul server e inviamo al client. (Dimentichiamo la chiave di sessione)
- Il client crittografa il suo blocco dati con AES / ECB / PKCS7Padding simmetrico (usando cryptojs)
- Il client crittografa la sua chiave di sessione con la chiave pubblica Aadhar a 2048 bit utilizzando l'algoritmo asimmetrico (RSA / ECB / PKCS1Padding)
- Il client calcola anche HMAC del blocco dati
- Il Cliente ci invia i tre campi, il server riempie altri dati e li invia al server Aadhar
Quindi dobbiamo fare RSA / ECB / PKCS1Padding nel client web in Javascript. CryptoJS non supporta RSA quindi puoi usare qualsiasi altra libreria
Se qualcuno può dirmi se l'esempio della libreria Forge
var encrypted = publicKey.encrypt(bytes, 'RSAES-PKCS1-V1_5');
usa la BCE o no. Ci sono riferimenti a RSA / ECB / OAEPWithSHA-256AndMGF1Padding, ma ho bisogno di PKCS # 1 padding
Puoi suggerirmi qualche altra libreria o dirmi il codice corretto in Forge?
Se posso farlo in PHP dal lato server, posso anche inviare la chiave di sessione e la chiave di sessione crittografata al client e poi dimenticare la chiave di sessione.
Non capisco molto la crittografia, ma capisco un po 'i termini.