Puoi identificare se una stringa è una chiave pubblica RSA?

2

Sto generando chiavi RSA con la libreria openssl. Ho sentito che è possibile riconoscere il metodo utilizzato per crittografare una stringa con AES o DES ma è possibile identificare se una stringa è una chiave pubblica RSA?

    
posta maxisme 25.09.2017 - 11:45
fonte

1 risposta

2

Sì. Le chiavi pubbliche RSA sono generalmente generate come strutture ASN.1 come da definizione in RFC3447 , codificate in formato DER .

Il formato può essere validato come DER / ASN.1 corretto e quindi decodificato per verificare che la struttura e i valori contenuti corrispondano a quanto previsto da una chiave pubblica RSA. I valori all'interno della struttura sono semplicemente la semiprima pubblica (n) e l'esponente (e).

Convalidando che il valore di e è primo, e che la dimensione di n corrisponda a una dimensione di chiave RSA prevista (ad esempio 1024 bit), allora si può presumere che i dati forniti fossero in realtà una chiave pubblica RSA.

Nel caso di OpenSSH, le chiavi pubbliche iniziano con un identificatore di stringa (ad esempio "ssh-rsa") che rende facile il rilevamento. Puoi anche estrarre e convalidare i valori n ed e nello stesso modo come sopra, anche se usando il formato della chiave OpenSSH specificato in RFC4253 al posto del formato DER / ASN.1.

    
risposta data 25.09.2017 - 11:59
fonte

Leggi altre domande sui tag