Tecniche |
Una funzione Senso-Unico e' una funzione matematica che e' piu' facile da eseguire in un senso piuttosto che nel senso opposto. In altre parole ci sono dei problemi matematici che sono realmente difficili da risolvere - quasi impossibili - e la loro soluzione richiede moltissimo tempo. Alcuni esempi sono il 'problema della fattorizzazione' ed il 'problema dei logaritmi discreti'. Nota che non ci sono dimostrazioni riguardo la difficolta' nel trovare una soluzione a questi problemi. In fatti metodi sempre piu' efficenti sono stati sviluppati sino ad oggi, ma comunque rimangono sempre dei difficili problemi da risolvere. Il problema della fattorizzazione Se dividi un intero, diciamo 21, in una serie di interi piu' piccoli (fattori), diciamo 3 e 7, in modo che moltiplicati fra loro formino l' intero originale (21) nuovamente, stai fattorizzando. Il problema della fattorizzazione e' trovare 3 e 7 a partire da 21. Se vuoi dividere un intero in fattori che siano numeri primi, beh, c' e' sempre solo una fattorizzazione possibile (un numero e' primo se e' divisibile solo per 1 e per se stesso). Moltiplicando 3 e 7 insieme e' molto facile. Ma trovare 3 e 7 partendo da 21 e' un po' piu' difficile. Certo, e' ancora facile trovare 3 e 7 partendo da 21, ma questo problema diventa piu' difficile con numeri piu' grandi. In altre parole, la fattorizzazione di grossi numeri richiede molto piu' tempo della fattorizzazione di numeri piu' piccoli. Perche' parlo del problema della fattorizzazione qui? Perche' vari sistemi crittografici a chiave pubblica sono basati sul problema della fattorizzazione. Infatti fattorizzare numeri molto grandi richiede davvero molto tempo. Se un avversario riesce a fattorizzare un numero realmente grande, puo' scoprire la chiave segreta. Il problema e' che, per quello che ne sappiamo, e' quasi impossibile fattorizzare numeri molto grandi, in un lasso di tempo accettabile (vedi RSA-129). Comunque nessuna dimostrazione teorica e' mai stata data su cio', percio' e' possibile che domani qualcuno scopra un nuovo algoritmo che renda questo problema piu' facile... Problema dei logaritmi discreti Come il problema della fattorizzazione, il problema dei logaritmi discreti sembra un problema difficile da risolvere, e quindi, alcuni sistemi a chiave pubblica sono basati su questo problema. Il problema dei logaritmi discreti si applica ai gruppi. Un cifratore a blocchi trasforma un blocco di testo in chiaro di lunghezza fissa in un blocco di testo cifrato della stessa lunghezza. Questa lunghezza fissa e' chiamata 'dimensione del blocco' (di solito la dimensione del blocco e' di 64 bit). Per trasformare il testo in chiaro in testo cifrato viene usata una chiave segreta. La stessa chiave segreta e' usata per decifrare il blocco. Quando un cifratore a blocco cifra lo stesso blocco di testo in chiaro piu' volte, e' chiamato cifratore a blocco iterativo. I cifratori a blocco usano alcune tecniche per cifrare un blocco di testo in chiaro. Ci sono 4 modi standard: ECB - Electronic Code Book, CBC - Cipher Block Chaining, CFB - Cipher Feedback Block and OFB - Output Feedback Block. ECB: ogni singolo blocco di testo in chiaro da' un identico blocco di testo cifrato. CBC: ogni blocco di testo in chiaro e' 'XORato' (pessima traduzione di 'XORed' che significa OR esclusivo bit a bit) con il precedente blocco di testo cifrato, poi cifrato. CFB: il precedente testo cifrato e' cifrato e l' output e' 'XORato' con il testo in chiaro per produrre il blocco di testo cifrato corrente. OFB: e' simile a CFB. Mentre i cifratori a blocco agiscono su blocchi di dati, i cifratori a flusso agiscono su unita' di testo in chiaro piu' piccole, di solito bit. L' output di un cifratore a flusso e' chiamato flussochiave che e' di solito cifrato XORandolo con il testo in chiaro. Una funzione hash e' la trasformazione di un input di dimensione variabile (il testo in chiaro) in un output di dimensione fissa (questo output e' una stringa, chiamata valore hash). Qual e' l' importanza delle funzioni hash? Bene, il valore hash rappresenta concisamente il messaggio dal quale e' stato calcolato. In altre parole, il valore hash e' una sorta di 'impronta digitale' del messaggio piu' grande dal quale e' stato calcolato. Le funzioni hash sono utili per fornire firme digitali. Inoltre un riassunto puo' essere reso pubblico perche' non rivela il contenuto del documento originale. Questa questione e' importante nel timestamping digitale. MAC sta per Message Authentication Code (codice di autenticazione del messaggio). Questo codice (chiamato anche checksum) e' l' output fornito da uno schema di autenticazione (insieme con una chiave segreta) applicato ad un messaggio. I MAC sono calcolati e verificati con la stessa chiave, cosi' solo il destinatario predestinato puo' verificare un MAC (a differenza delle firme digitali). |
Home Pag. prec. Chi siamo? Scrivici!
Copyright (c) 1998-2006 Wowarea