Newsgroup: it.comp.sicurezza.crittografia
Titolo: Algoritmo crittografia inviolabile

Ciao a tutti, sto conducendo degli studi di crittografia e vorrei
acluni pareri.
La mia domanda è semplice e precisa: "esiste un algoritmo di cifratura
inviolabile?"
Partiamo da una considerazione, ad oggi esistono algoritmi di
cifratura che sono resistenti in proporzione alla lunghezza della
chiave con cui viene mandato in pasto un certo tipo di algoritmo.
Ma anche se in pratica attualmente, in alcuni casi, è possibile dire
che siano sicuri (solo perchè ci vuole tanto tempo per decifrare
provando le varie password)  prima o poi saranno obsoleti.
Esite quindi, anche se solo in liena teorica, un algoritmo "sicuro",
"inviolabile"?
Aspetto vostre considerazioni...
Ciao


GnuPG 4069 RSAv4 key: \_____________________________________________
UID:0xE361F839--Fingerprint:9516BCF66B8F12E0C3C3154C61788B6DE361F839

 Ciao
L'algoritmo one-time-pad, di cui il Vernam e' una implementazione, e' in 
pratica inutilizzabile. E' impossibile stabilire se una successione 
casuale sia con certezza true-random, ipotesi necessaria. Generatori 
pseudo-casuali non vanno bene. Generatori "hardware" non "garantiscono" 
la casualita', alla fine ti devi fidare del generatore. Se non hai il 
know how per progettarlo e costruirlo da solo fai un atto di fiducia sul 
costruttore. Di solito i costruttori di questi dispositivi certificano 
un livello di confidenza al quale accettare l'ipotesi di true-random, ad 
esempio usando il test Diehard. E' una cosa ben diversa.
Essendo la chiave lunga come il messaggio, da utilizzare una sola volta, 
lo scambio della chiave pone limiti pratici.
Lo scambio delle chiavi deve avvenire su un canale "sicuro". Quindi alla 
fine la sicurezza del metodo e' quella del canale usato per scambiare la 
chiave.
In pratica hai trasposto il problema della robustazza dell'algoritmo 
(che e' banale) a quello della gestione delle chiavi.
Max

 - Mostra testo citato -
Beh, allora in pratica non esiste un algoritmo di cifratura valido (da
usare su larga scala) che possa definirsi inviolabile.
Quali sono secondo voi i principi per poter dire che un algoritmo
(intendo tutto quello che gira intorno al processo) sia inviolabile?

dimostrabile sono "alquanto" restrittive per un uso comune... ;-) 
Scusate l'intrusione, ma c'è una cosa che non mi è chiara
Il Vernam è definito perfetto non perchè è inviolabile, ma perchè non
attaccabile con crittoanalisi (frequenze o altro).
Esiste una chiave conosciuta? Si? Allora per tentativi deve essere
violabile, trattasi solo di questione di tempo.
Nella mia ignoranza in materia, la parola "inviolabile" per me
significa che non è IN ALCUN modo violabile, la forza bruta è un modo.
E sempre nella mia ignoranza, sulla definizione di cui sopra non
esistono algoritmi di cifratura inviolabili.
Ben lieto di essere smentito, visto che l'argomento mi affascina non
poco :-)
-- 
The Alley Cat
alley...@gmail.com

 
Siamo in 2 :-)))
-- 
Ciao.
Leo.
Web: 
www.leonardomiliani.com
E-mail: 
leon...@leonardomiliani.com
Scegli software opensource - Choose opensource software
Co-fondatore di Gambas-it.org
Il sito di riferimento della comunità italiana degli utenti di Gambas
www.gambas-it.org

Se perdi la chiave, puoi buttare via i dati cifrati.
E' evidente che devo aggiornare le mie basi di crittografia.
Vediamo: io ho un testo cifrato in Vernam, semplifichiamo le cose,
facciamo una parola di 5 caratteri
Avrò una chiave di 5 caratteri e un testo cifrato sempre di 5
caratteri
sapendo quale è l'algoritmo usato (somma, sottrazione o quello che è)
e avendo i 5 caratteri del testo cifrato, cosa mi impedisce di fare il
calcolo inverso con tutte le combinazioni da AAAAA a ZZZZZ ? 


 calcolo inverso con tutte le combinazioni da AAAAA a ZZZZZ ? 
E, di grazia, come determini quale tra le combinazioni corrisponde al
messaggio originale?
-- 
Fa freddo nello scriptorium, il pollice mi duole. Lascio questa
scrittura, non so per chi, non so più intorno a che cosa...
U. Eco

 violabile, trattasi solo di questione di tempo.
L'inviolabilità sta nel fatto che essendo la chiave della stessa
lunghezza del messaggio, e essendo sia la chiave che il messaggio
cifrato perfettamente random per ipotesi, qualsiasi soluzione delle
2^n possibili (dove n sono i bit di lunghezza del messaggio) è
ugualmente probabile.
Questo implica che separare la chiave dal messaggio in un OTP ha
esattamente la stessa difficoltà che costruire da zero il messaggio
stesso provando tutte le combinazioni possibili, il che non è un passo
avanti per l'attaccante.

messaggio originale?
E perchè il problema si dovrebbe presentare solo qui? Questa domanda
non potrebbe essere rigirata a tutti i sistemi che tentano di
riottenere il messaggio in chiaro tentando tutte le possibili chiavi? 




Oh,questa risposta è quella che mi piace più di tutte. 
"Ha esattamente le stesse difficoltà" e "non è un passo avanti per
l'attacante" mi stanno bene, però significa che esiste un numero di
tentativi "finito" e uno di questi mi porterà al messaggio in chiaro. 


 tentativi "finito" e uno di questi mi porterà al messaggio in chiaro.
In violabilità non significa numero di tentativi infinito.
Ipotizza di partre senza nessun testo cifrato da attaccare: dato un
messaggio di n byte, in una delle 2^n combinazioni possibili avrai
necessariamente generato il messaggio originale, ma il processo non ti
avrà dato nessun indizio su quale possa essere.
Con l'OTP si ha la stessa situazione: ci sono 2^n soluzioni tutte
equiprobabili, quindi un testo cifrato con OTP equivale a non avere
nessun testo cifrato da attaccare!

 riottenere il messaggio in chiaro tentando tutte le possibili chiavi? 
Si ma qui la chiave è lunga almeno quanto il messaggio.

 non esistono algoritmi di cifratura inviolabili.
Come hai visto, OTP resiste perfettamente alla forza bruta, visto
che non hai modo di renderti conto di aver trovato la chiave... ;-) 


 che non hai modo di renderti conto di aver trovato la chiave... ;-) 
In effetti è equivalente a decifrare un messaggio conoscendone solo la
lungezza. Sai quante frasi sensate vengono fuori con la stessa lunghezza?
ATTACCARE SUL FIANCO DESTRO
RITIRARSI FINO ALLA COLLINA
ESEGUIRE MANOVRA A TENAGLIA


 ESEGUIRE MANOVRA A TENAGLIA
Non solo. Possiamo continuare:
AGGIUNGERE ANCORA POCO SALE
GIOVEDì SONO ANDATO AL MARE
TI AUGURO UNA FELICE PASQUA
Quello che con una chiave è un piano di attacco con un'altra diventa 
una ricetta di cucina, un diario personale oppure un biglietto di 
auguri! ;-)
Quindi OTP è assolutamente inattaccabile a forza bruta, a patto che la 
chiave sia realmente casuale e che venga usata una sola volta (se no 
hai il vincolo che la stessa chiave debba decifrare in modo sensato due 
messaggi diversi, e tutto il sistema va a farsi benedire...).


vero messaggio cifrato.
Questo è quello che non mi torna. 
Se ho un messaggio di discreta lunghezza (per semplicità prendo una
frase): 
  ATTACCHIAMO DOMANI ALL'ALBA
e lo codifico con una chiave lunga quanto il messaggio
  XC DJFHCFKSG GDKGJGJJJG DFJ
ipotizzando ovviamente un random reale dei caratteri, avrò come
risultato una frase incomprensibile di uguale lunghezza, giusto?
per esempio 
  FJGHHE TRWNVIW DWOGFROKFR F
Ipotizziamo che provo tutte le chiavi da 
  AAAAAAAAAAAAAAAAAAAAAAAAAAA
a 
  ZZZZZZZZZZZZZZZZZZZZZZZZZZZ
Mi sembra un po' difficile che trovi più di una frase che sia di senso
compiuto nella lingua originale. A dire il vero mi sembra molto strano
che trovi più di una frase di senso compiuto anche in altre lingue. 
Esiste un calcolo matematico che viene fatto dai caratteri originali +
la stringa della chiave per ottenere un'altra stringa (che è il testo
cifrato). Rieffettuando il calcolo indietro con tutte le chiavi
possibili tuttalpiù potrò ottenere una frase come
  ATTKGJMO DOMANI KKDFLALBA
Se non ho capito male, il vernam usando una chiave di pari lunghezza
con caratteri random, sostituisce ad una lettera una altra lettera ma
non sempre la stessa, quindi è una sostituzione in cui non posso usare
l'analisi delle frequenze perchè ad un carattere NON corrisponde
univocamente un altro carattere. Quindi se prendo
  FJGHHE TRWNVIW DWOGFROKFR F
e ci applico tutte le chiavi da 
  AAAAAAAAAAAAAAAAAAAAAAAAAAA
fino a 
  ZZZZZZZZZZZZZZZZZZZZZZZZZZZ
otterrò tutte le sostituzioni possibili di quella lungh..... ops......
.....cazzo....
l'ho capita adesso..... mentre la scrivevo   :-)
ragazzi.... che dire...se non ringraziarvi perchè mi avete veramente
fatto capire dove sbagliavo :-D


 veramente fatto capire dove sbagliavo :-D
Di nulla, è stato un piacere! :-)



Ciao!...   Possiedo un picolissimo software: 11Kb, che esegue qualcosa
di fantastico: Durante la digitazione di qualsiasi password (anche di
soli tre caratteri alfanumerici), trasforma le suddette in qualcosa
non digitabile da qualsiasi tastiera finora inventata.
Di conseguenza, anche se si scopre la password, non si può digitare e
quindi ciò che si è protetto rimane protetto.
Prova pratica:  la parola Luigi = †¶…‰…
Per poter ritrasformare quei simboli nella parola Luigi e neccessario
attivare il picolissimo software che possiedo solo io. Come volevasi
dimostrare la password inviolabile esiste!  Ciao ....Giuseppe

 dimostrare la password inviolabile esiste!  
che cornice mi consigliate per questo post?
(ǝddǝsnıƃ ɐ ıɹnƃnɐ)
-- 
Sans

 
Io andrei sul classico, una cosa semplice, lineare ma dipende
dall'arredamento che hai :))
