Newsgroup: it.comp.sicurezza.crittografia
Titolo: come funge ?

Salve a tutti voi del ng
non so nulla di crittografia e quindi volevo chiedervi alcune informazioni:
* innanzitutto il numero di bit che viene indicato per ogni algoritmo di
cifratura, se non sbaglio, riguarda la lunghezza della chiave???   es: DES
Single 8byte (64 bit). Infatti la chiave del DES con la parità viene lunga
64 bits.
* ho trovato informazioni dettagliate sul metodo di codifica del DES e del
RSA (tra l'altro in italiano!!!) ma non ho trovato niente riguardo al
SAFER-SK40, allo Skipjack e allo Square. Qualcuno sa dove posso trovare
know-how dettagliato del funzionamento di questi algoritmi(in lingua inglese
va
benissimo, in italiano meglio ancora)??? Se non di questi, sapete dove
trovare il know-how dettagliato di algoritmi più semplici, magari poco
conosciuti???
* il DES gestische chiavi da 64 bits o da 56 bits. Ma se l'utente mi
inserisce una chiave + o - lunga di 56 bits??? come si fa in questi casi???
E per la cifratura dei dati??? se cifra blocchi da 64 bits, e l'ultimo
blocco è lungo - di 64 bits sostituisco i caratteri mancanti per arrivare a
64 bits con uno 0???
* ci sono dei test da fare per verificare se l'algoritmo è robusto o meno???
c'è qualche documento a riguardo in internet???
ciao a tutti

 meno??? c'è qualche documento a riguardo in internet???
http://csrc.nist.gov/CryptoToolkit/aes/round1/r1-rand.pdf
Cristiano

 zero starebbe ad indicare che non ci sono byte di padding o no?
Zero non esisterebbe, perché se hai 1 byte di padding il primo e unico byte
di padding conterrebbe 1.
La lunghezza del file da cifrare o da decifrare tu la sai per cui sai anche
quanti byte di padding contiene l'ultimo blocco. La modalità di padding è
solo una convenzione (che però può servire a non rendere facilmente
decifrabile l'ultimo blocco).
Come ti dicevo, conviene che fai riferimento ai documenti ufficiali dei vari
standard crittografici.
Cristiano

 * ci sono dei test da fare per verificare se l'algoritmo è robusto o
meno???
Ci sono dei test per dire se un algoritmo NON è robusto, ma solo in casi
abbastanza banali... l'unico vero modo per sapere se un algoritmo è
robusto è vedere quanti anni passano prima che qualche crittografo
famoso riesca a "romperlo" (parzialmente o del tutto).
Certo, ammesso che qualcuno ci stia effettivamente provando, a
romperlo... anche per questo conviene usare algoritmi "conosciuti" e
consigliati come AES e non cose "inventate poco prima".
Lapo
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAkDKMTQACgkQaJiCLMjyUvvP2wCeMrpi7RNukEsz5VFZIiRDvd9i
+cYAoMxt+MJUXQV059gWPJAefmpv31OM
=XPSV
-----END PGP SIGNATURE-----

ciao
vi ringrazio per i chiarimenti.

 bit d'entropia posseduti dalla chiave utente.
...questo solo sotto l'ipotesi che l'entropia della password utente sia
distribuita equamente su tutti i caratteri e che l'entropia di ogni
carattere sia scorrelata da quella degli altri.
E' facile notare che la (già poca) entropia di una chiave della forma
"ABCDABCD" diventa un bello ZERO se passata "allo xor" come proponi
(qualunque simbolo siano A, B, C e D).
Utilizzando invece un hash crittografico (SHA1 va benissimo) si taglia
la testa al toro e si evitano tutti questi possibili casi "negativi".
A meno di dover lavorare su un micro con meno di 1Kb di RAM non vedo
alcuna controindicazione a utilizzare un hash sempre e comunque, per
ottenere la "chiave" dalla "password".
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAkDLAf0ACgkQaJiCLMjyUvvbiACgyvVcG30s1bqeFY4a0qWUrFjJ
nIcAnj+uPAZLeQqyDTiom56lKmRHTuAj
=Ns6l
-----END PGP SIGNATURE-----