precedente - indice - successiva

ahccc FAQ

--[ CRIPTING ]--


Q) Dove posso trovare un buon testo (italiano) che parli di crittografia?
A) Una piccola bibbia in materia e' considerato il libro kriptonite, che puoi trovare interamente su

    http://www.ecn.org/kriptonite


Q) Qualcuno mi puo' spiegare l'algoritmo per crittare le password unix?
A) I sistemi *nix usano una funzione chiamata crypt() per cifrare le password che mettono in /etc/passwd.
Il login NON decrifra la password, ma cifra la password che l'utente ha inserito e la confronta con quella in /etc/passwd. La funzione crypt() e' basata sul DES a 56 bit. La funzione prende la password inserita e la usa per cifrare un blocco di zeri, il risultato viene di nuovo cifrato con la password utente ed il tutto ripetuto per 25 volte, attivita'  abbastanza pesante in termini di cpu-time.
Crypt() ideato da Morris e Thompson ha delle tabelle di DES modificate per evitare l'uso "dizionari" cifrati e per evitare che chip DES-cracker "standard" possano facilmente decifrare le password.
A questo punto i sacri libri recitano la litania della sicurezza relativa di una password cosi' concepita che lascia spazio in pratica solo al brute-force attack.
Viene comunque considerata "sicura" dai crittografi.
La modifica fatta dal dinamico duo M/T e' un numero di 12 bit compreso fra 0 e 4095 che viene scelta diverso ogni volta che viene cifrata una password.
In questa maniera ogni password viene cifrata in 4096 maniere diverse.
Alcuni sistemi tipo HP/UX usano un crypt() modificato chiamato bigcrypt() o crypt16() che usa 16 o piu' caratteri in ogni password contro lo standard a 8.
Per completezza alcuni UniX hanno la possibilita' di utilizzare sistemi diversi per la cifratura, per ottenere le One-time password  (ma io non li ho mai visti).

P.S.
Esiste anche un programma crypt per la cifratura di password (credo sia un one-time crypt) che NON è quello che usa UniX.


Q) Cosa si intende per "steganografia"?
A) In poche parole e' l'arte di nascondere dati in maniera quasi trasparente in un altro file.
Quindi potrebbe essere un metodo steganografico il nascondere un testo in una immagine, a scapito di un leggero disturbo che passi abbastanza inosservato, o in un file audio, magari a discapito di un leggero fruscio di fondo. il vantaggio di questo metodo e' che un eventuale terzo personaggio un po' indiscreto che riesce ad appropriarsi di tali file non e' portato a pensare che nascondano un tipo di informazione estraneo alla sua natura; per esempio se viene in possesso di un file grafico, non sara' portato a pensare che nasconda qualcosa, ma credera' probabilmente che sara' solo un'immagine


Q) Come funziona l'algoritmo OTP?
A) Molto semplice: e' un algoritmo di cifratura *teoricamente* inviolabile, e di una semplicita' estrema.
Prendi una sequenza casuale di 0 e 1, e prendi il tuo messaggio. Fai un bel xor e la cifratura e' servita:

    sequenza:  01110010100110
    messaggio: 10011011101010
    cifrato:   11101001001100

Per decifrare basta usare la stessa chiave di partenza, cioe' la sequenza casuale, e rifare lo XOR:

    cifrato:   11101001001100
    sequenza:  01110010100110
    messaggio: 10011011101010

Pro di questo metodo: il cifrato risultera' essere una sequenza casuale di 0 e di 1, quindi qualcosa senza alcun senso, qualcosa di inviolabile.

Contro: bisogna avere una chiave grande almeno quanto il messaggio (a meno di non reciclare la chiave riapplicandola). Ma la controindicazione maggiore e' il fatto che la chiave di cifratura bisogna scambiarsela: chi invia e chi riceve devono utilizzare la stessa chiave, quindi entra in gioco il fatto di avere un canale sicuro per scambiarsi la chiave.


Q) E' possibile crittare un messaggio e renderlo inviolabile al 100% ?
A) L'inviolabilita' totale e' solo teorica.
Molti degli algoritmi usati per crittare si basano su teoremi matematici per ora inconfutati. Qualora dovessero risultare falsi, allora si correrebbe il rischio che tale sistema di codifica non possa piu' ritenersi sicuro.
Altra considerazione va fatta sulla potenza dei computer in continua crescita: algoritmi come quello usato da PGP funzionano in base alla ricerca di numeri primi, operazione matematica computazionalmente troppo pesante per poter pensare di effettuarla per numeri molto  grandi. Di recente e' stata craccata la chiave a 512 bits, che fino ad un po' di tempo fa, avendo a disposizione computer di potenza piu' limitata, si pensava fosse piu' che sicura. Lo stesso si pensa oggi per la chiave a 1024 bits, ma magari tra qualche anno sara' violabile [attenzione che si parla sempre di reti di computer, di calcolo distribuito anche via internet, non di un'unica potentissima workstation, che da sola forse non riuscirebbe a craccare una chiave a 128 bits]
Ultima considerazione: il fatto che abbiano craccato la chiave a 512 bits non vuol dire che questa sia ora insucura per l'utente medio.
Il tempo necessario e' stato dell'ordine di grandezza del mese, e il numero di computer coinvolti era notevole


Q) Come posso scrivere tranquillo Echelon a parte?
A) Ci sono almeno 2 modi tramite le quali puoi aggirare sistemi del genere:

-steganografia
-crittografia

Oppure anche un terzo metodo, incasinare il sistema con false mail:

<Master>
ma lo sai che durante un wire transfer ho un e-cash!
Se Bubba "the Love" mi facesse lo  Sponge  col Digicash e uno  zip io avrei piu' SWAT  da Ortega su  PPP. Certo il crypto-anarchy dell' AT&T  con un SGI su un  SUN  MCI fa molto  Blacknet Middleman. Ma del resto  KLM  Blackbird non avevo piu' plutonium  del Texas  e jihad  col suo SDI  Uzi di  Fort Meade lavorava su un supercomputer  bullion  3 della Blackmednet. Facendo un po' di Propaganda  per ABC  Satellite con i phones  di Planet-1 si dice che cryptanalysis  del nuclear e' un prodotto  FBI di Panama  forse fissionable ma di certo Sears Tower. Anche  NORAD lo sa! Volendo i Delta Force e i  SEAL hanno virtual  Dolch e secure shell  sulle screws  di Black-Ops. Viva l' Area51.

:))

Cia (o)  a tutti.
</Master>