Decrittografia RSA crudo / firma
-
14-11-2019 - |
Domanda
Sto implementazione RSACRYPTOTOTOKIN, cioè un'interfaccia per i token crittografici RSA, secondo la documentazione. Ci sono metodi TWP, chiamati DecrypTRSA e SignRSA - dovrebbero essere implementati. Nella documentazione ci sono informazioni, che dovrebbero eseguire una decrittografia RSA RAW e le operazioni di firma RSA grezze.
- .
- Cosa significa operazione RSA crudo?
- significa, senza imbottitura?
- Il castello Blackberry o Bouncy offre tale API?
Soluzione 2
Ho risolto il problema, le operazioni Signrsa e DecrypTRSA dovrebbero eseguire la stessa operazione di moduli puri
Grazie per l'aiuto
Altri suggerimenti
Fondamentalmente PKCS # 1 V1.5 è composto da tre parti:
- .
- Le operazioni RSA stessi,
- I padding PKCS # 1 e
- Un encodign ASN.1 dell'Hash.
L'hash è codificato per includere un identificatore oggetto ASN.1 che specifica in modo univoco l'hash che viene utilizzato e il valore, in questo modo:
.DigestInfo ::= SEQUENCE { digestAlgorithm AlgorithmIdentifier, digest OCTET STRING }
Questo è direttamente copiato dalle specifiche PKCS # 1 (che sono abbastanza leggibili e disponibili pubblicamente). Si noti che la codifica è direttamente specificata come byte anche negli standard.
Le operazioni di BlackBerry forniscono solo 1) e 2), il che significa che devi fornire una struttura codifica ASN.1, Der codificata con l'hash te stesso. Nessuna tale struttura è definita per la crittografia / decrittografia, solo l'imbottitura viene rimossa.
La crittografia utilizza imbottitura casuale (internamente) contro imbottitura non casuale per firme. Ciò consente di crittografare "sì" due volte, mentre un intercettatore non può rilevare se è sì o no. L'imbottitura è necessaria anche per proteggere la firma contro gli attacchi.