È possibile distinguere tra un hash SHA256 e una chiave ecc256?

2

Se a un utente malintenzionato venivano dati solo 256 bit e si trattava di un hash SHA256 o di una chiave ellittica a 256 bit, sarebbero in grado di dire quale è?

Solo per curiosità, sarebbero in grado di distinguere tra quanto sopra e un blocco crittografato AES256 o una firma ECDSA a 256 bit?

    
posta tomKPZ 30.07.2014 - 10:24
fonte

1 risposta

2

La tua ipotesi principale che la dimensione della chiave sia direttamente correlata al formato delle chiavi, i parametri o la dimensione di output non viene mantenuta.

Normalmente l'utente malintenzionato avrebbe solo accesso a una chiave EC pubblica, che è (di solito) non a 256 bit, ma un punto sulla curva. Questo punto è costituito da due valori di coordinate preceduti da un indicatore (punti compressi o non compressi).

Normalmente una chiave, pubblica o privata, sarebbe codificata usando una sorta di struttura DER ASN.1 (PKCS # 8 / X9.62). Quindi il formato di entrambi i tasti è di solito molto più grande della dimensione della chiave. Questo è diverso da ad es. cifrari simmetrici in cui le chiavi consistono solo di bit casuali.

Le firme ECDSA - proprio come le chiavi pubbliche ECDSA - sono costituite da due componenti con le dimensioni (approssimative) delle dimensioni della chiave ECC. Di solito la firma è codificata con ASN.1 DER. Quindi sarebbe abbastanza facile distinguerlo da un blocco crittografato AES256.

Tutto ciò che ho detto, le chiavi private EC (parametro S) sono normalmente completamente randomizzate. E poiché l'output di SHA256 dovrebbe anche apparire perfettamente casuale a un utente malintenzionato, non ci sarebbe nulla da distinguere tra i due.

Tuttavia, se l'attaccante ha accesso alla chiave o all'hash, ci si aspetterebbe che abbiano anche accesso ad una combinazione di testo in chiaro / cifrato per verificare quale algoritmo è stato utilizzato.

    
risposta data 30.07.2014 - 10:52
fonte

Leggi altre domande sui tag