Se hai bisogno della firma dipende dal tipo di firma.
Lo standard principale per le firme RSA è PKCS # 1 . Con questo standard, una firma RSA è "solo una firma": può essere verificata con la chiave pubblica e i dati firmati, ma non incorpora dati da sola. La firma è un elemento aggiuntivo . Se vuoi solo confrontare i dati firmati con alcuni input dell'utente, puoi ignorare completamente sia la firma che la chiave pubblica, sono irrilevanti (a meno che tu non voglia essere sicuro che i dati che ricevi dalla RFID siano "genuini", in in questo caso anche vuoi verificare la firma).
Tuttavia, una firma RSA è grande quanto il modulo RSA, quindi, per una chiave RSA a 1024 bit (una dimensione della chiave piuttosto comune), la firma è di 128 byte aggiuntivi. Nella smartcard & Il mondo RFID, dove lo spazio di archiviazione e la larghezza di banda della rete sono risorse estremamente scarse, sono piuttosto affezionati a un altro standard di firma RSA chiamato ISO 9796-2 (lo standard non è gratuito, ma puoi avere una descrizione ragionevole nella sezione 2 di questo articolo ). Questo tipo di firma utilizza un trucco che consente l'incorporamento di alcuni dei dati del messaggio all'interno della firma. Ottieni i dati quando verifica la firma. Con una chiave RSA a 1024 bit e SHA-1 come funzione hash, la firma può incorporare 106 byte di dati, quindi l'overhead di dimensioni implicito dalla firma è di soli 22 byte.
Quindi, se la firma è di tipo ISO 9796-2, è necessario sia la chiave pubblica che la firma per recuperare i dati completi; altrimenti, otterresti solo una parte di esso (i byte di dati oltre il 106 che possono essere incorporati nella firma).
(Nota: ISO 9796-2 presenta alcuni punti deboli: con SHA-1 e la sua uscita a 160-bit, non si ottiene la sicurezza 2 80 , ma qualcosa più in basso, più vicino a 2 61 Operazioni bit L'articolo che ho linkato sopra mostra che questo è utilizzabile con hardware di massa ma non costoso. Se si desidera utilizzare ISO 9796-2 nei propri progetti, suggerisco di selezionare SHA -256, non SHA-1.)
Non ho idea di come si possa ottenere la firma, ma può certamente essere ottenuta con la stessa facilità dei dati firmati, perché altrimenti avrebbe molto poco senso.