Quindi Java ha una modalità chiamata RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING
. Cosa significa?
RFC3447 , Standard di crittografia a chiave pubblica (PKCS) n. 1: RSA Specifiche di crittografia Versione 2.1 , sezione 7.1.2 Operazione di decrittografia afferma che Hash e MGF sono entrambe opzioni per RSAES-OAEP-DECRYPT. MGF è la sua funzione, definita in Sezione B.2.1 MGF1 e che ha anche l'opzione "Hash".
Forse l'opzione "Hash" in RSAES-OAEP-DECRYPT e MGF1 dovrebbero essere uguali o forse non lo sono, non è chiaro per me. Se lo sono, suppongo che quando hai RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING
ciò significa che sha256 dovrebbe essere usato per entrambi. Ma se non dovessero essere uguali allora si potrebbe usare sha256 per RSAES-OAEP-DECRYPT e, per esempio, sha1 usato per MGF1. E se questo è il caso, a quale funzione si suppone che debba essere usato sha256? E quale algoritmo hash dovrebbe essere usato per l'altra funzione?
E cosa significa ECB in questo contesto? ECB è una modalità di cifratura a blocchi simmetrica. Codice elettronico. Forse dovrebbe significare come Java si occupa di testo in chiaro che sono più grandi del modulo? Come forse divide il testo in pezzi grandi come il modulo e poi li cripta con RSA e li concatena insieme? Sto solo indovinando ..