Come testare la sicurezza di un algoritmo di crittografia?

2

Quali sono i metodi standard per testare la qualità di un algoritmo di crittografia. In secondo luogo, se sto cercando di implementare un algoritmo di crittografia, quali pratiche dovrei adottare?

    
posta HSN 05.01.2013 - 07:28
fonte

2 risposte

7

Sì, si chiama scrivere documenti di ricerca e sottoporli a peer review.

Non c'è motivo per cui dovresti mai scrivere il tuo algoritmo di crittografia a meno che tu non sia nel campo della ricerca accademica, e quindi non continuerai a "usare" il tuo algoritmo per almeno 4 anni (è quanto tempo ci è voluto per scegliere SHA-3 tra il momento in cui l'algoritmo è stato inviato a quando è stato selezionato come standard ufficiale) mentre altre persone guardano esso.

Farai degli errori che non saprai nemmeno siano degli errori (sai cos'è un attacco di temporizzazione? il tuo algoritmo protegge da questo?). Se qualcuno con le risorse avesse mai voluto attaccare il tuo algoritmo, pensi che qualcosa di cui sei venuto in mente potrebbe reggere il confronto con un gruppo di analisti del Crypto di dottorato che lo guardano con un pettine a denti fini per una settimana, un mese, un anno?

Utilizza una libreria esistente, per favore non crearne di tuoi.

    
risposta data 05.01.2013 - 09:52
fonte
1

Sono d'accordo sul fatto che non si debba usare un nuovo algoritmo di crittografia se si vuole usarlo per scopi pratici. Dato che non hai menzionato il tipo di cifra che stai sviluppando, il codice di flusso, codice a blocchi in quanto esistono diverse classi di attacchi. Per una prospettiva di ricerca ci sono numerosi attacchi attraverso i quali è possibile valutare la sicurezza dell'algoritmo di crittografia.

  1. Crittoanalisi lineare
  2. Cryptanalisi differenziale
  3. Attacco di testo in chiaro scelto (l'autore dell'attacco riceve il testo cifrato della sua scelta di testo in chiaro)
  4. Attacco di testo cifrato noto
  5. Attacco di correlazione
  6. Attacchi di canale laterale
  7. Attacchi con le chiavi deboli

Come vedi ci sono diverse varianti di attacchi che non testano realmente i tuoi algoritmi ma testano effettivamente la sua implementazione fisica, ad esempio l'analisi di potenza

    
risposta data 06.01.2013 - 16:13
fonte

Leggi altre domande sui tag