È vero che la "forza" del bit di crittografia, sebbene numericamente identica, potrebbe effettivamente essere diversa a seconda dell'algoritmo?

2

Recentemente stavo leggendo che per AES, la forza della crittografia è in realtà la dimensione / lunghezza della chiave, quindi 128, 192 o 256 bit. Mentre, per SHA-2, la forza della crittografia viene misurata rispetto all'hash del digest del messaggio. C'è una sorta di ripartizione facile che elenca per ogni algoritmo e tipo, come viene misurata o determinata la forza? Diventa ancora più confuso quando leggo qualcosa come questo su Wikipedia :

For example, Triple DES has a key size of 168 bits but provides at most 112 bits of security...

    
posta 15.05.2012 - 19:43
fonte

2 risposte

4

Il punto generale della crittografia e della cifratura delle informazioni è di aumentare la difficoltà per chiunque, oltre al destinatario previsto, di recuperare qualsiasi parte delle informazioni (o dei dati) in transito o in archivio. Aumento della difficoltà rende meno probabile che un avversario sia in grado di dare un senso a qualsiasi parte dei dati cifrati.

Ciò che molte persone danno per scontato è il modo in cui il tempo influenza il valore dei dati. I dati (informazioni, ricette segrete, ecc.) Generalmente perdono valore nel tempo. Ad esempio, la comunicazione aziendale sulle fusioni è generalmente considerata più preziosa oggi che dopo il fatto. Detto questo, ci sono dati che non perdono un valore significativo nel tempo. In questi casi, la forza relativa del codice diventa un'altra variabile da considerare.

La forza di una cifra simmetrica può essere legata a diverse cose. La dimensione della chiave è quella che la maggior parte delle persone capisce. Ad esempio, DES utilizza chiavi a 56 bit, AES ha diversi sapori (128, 192, 256). Tuttavia, la dimensione della chiave è un componente della forza di un codice. Anche l'implementazione del codice è una considerazione importante. Inoltre, vengono presi in considerazione anche i dettagli dell'implementazione. I codici di blocco e i codici di flusso sono entrambi modalità di funzionamento per un codice simmetrico e vi sono punti deboli che influiscono su diverse modalità operative. Inoltre, gli avversari possono attaccare l'implementazione di un codice e ridurne l'efficacia. TDES che fornisce 112 bit di sicurezza è un esempio. AES 192 è un altro esempio dovuto all'implementazione della funzione di espansione chiave.

Una buona illustrazione di un cifrario in cui la dimensione della chiave non è correlata alla forza può essere vista con cifrature asimmetriche. Molti algoritmi asimmetrici sono basati sull'algoritmo RSA con dimensioni di chiave comuni di 1024 e 2048 bit. ECC è un cifrario più recente con dimensioni di chiavi molto più piccole di quelle utilizzate con RSA.

Quindi non esiste una misura della forza di un cifrario e il passare del tempo di solito rende i cifrari meno utili. Con il passare del tempo, ci saranno probabilmente ulteriori attacchi contro i codici correnti che li rendono meno utili. Tuttavia, anche se tali attacchi non hanno successo, con il miglioramento della tecnologia, la forzatura brutale del codice diventa più economica e verrà sviluppato un nuovo ciclo di algoritmi per proteggere i dati.

L'hashing è una funzione completamente diversa dalla crittografia. Con la crittografia, vuoi essere in grado di codificare i dati, ma hai ancora la possibilità di decodificarli in un secondo momento. Hash produce un'impronta digitale dei dati e viene utilizzato per dimostrare l'integrità del messaggio (ad esempio, i contenuti non sono stati modificati). Un hash di un dato (SHAy, MDx) di solito accompagna i dati stessi. Un messaggio di posta elettronica potrebbe venire con un hash tale che il destinatario possa convalidare che il messaggio non è stato alterato. Il messaggio può essere visibile a chiunque sia in transito o in deposito. Esistono altri usi solo per i valori has (DLP, AV, FIM), ma gli avversari sono più interessati a come modificare i dati di origine per produrre lo stesso valore di hash - per bypassare l'integrità del messaggio.

Anche se dimensioni di bit di output più grandi possono aumentare la difficoltà di una collisione, potrebbe diventare possibile. Ad esempio, se l'e-mail autorizza un contratto a $ 100K ma sei in grado di cambiare la "K" in una "M" e mantenere lo stesso output hash, hai sconfitto il valore dell'hash (qualcuno è stato in grado di manomettere il messaggio e non si è in grado di determinare che qualcuno lo abbia manomesso). Come con la crittografia, un avversario può attaccare l'algoritmo di hash, o il passare del tempo e l'aumento della sofisticazione tecnologica possono rendere le collisioni più comuni. A quel punto, ci sarà un nuovo ciclo di algoritmi.

    
risposta data 15.05.2012 - 21:45
fonte
3

Per iniziare: il punto della frase che hai menzionato è esattamente ciò che hai decollato:

since an attack of complexity 2^112 is known.

Wikipedia significa che un attacco a forza bruta può essere fatto semplicemente facendo tutte le combinazioni di 2 ^ 112 bit, quindi non dovresti testare l'intera chiave (2 ^ 168 bit) per interrompere esso.

E per continuare:

La crittografia è una cosa, hash è un altro.

Quando si ha a che fare con la crittografia, il problema è che qualcuno può trovare la chiave e ottenere il proprio segreto. Questo è quanto citato nella pagina Triple DES, ecc .: si può trovare la chiave senza provare tutte le combinazioni 2 ^ 168.

Quando hai a che fare con l'hash, la tua preoccupazione è diversa: non vuoi che qualcuno abbia lo stesso hash usando un input diverso. Leggi informazioni su attacco preimage e collisione attacco per avere un'idea migliore.

E, per finire: la differenza principale su "bit x forza" è quando si confronta la chiave pubblica con la crittografia simmetrica. Symetrric ha bisogno di molto meno bit per ottenere la stessa protezione, ma ovviamente il loro utilizzo è diverso.

    
risposta data 15.05.2012 - 20:01
fonte

Leggi altre domande sui tag