Dove potrei trovare qualke guida sugli algoritmi i criptazione in C???
Dove potrei trovare qualke guida sugli algoritmi i criptazione in C???
Non conosco il c, ma l' algoritmo per criptare secondo m è meglio se te lo inventi tu, di modo che solo tu conosci come decriptarlo.
Un banale algoritmo potrebbe essere quello di ottenere il numero ascii del carattere da criptare ed incrementarlo secondo un algoritmo logico.
ad esempio:
a = 97 incrementi il 97 di 1
poi riporti il numero ascii in carattere ascii:
la "a" diventerà "b"
jabjoint
:quote: Genialata. Veramente.Originariamente inviato da jabjoint
Non conosco il c, ma l' algoritmo per criptare secondo m è meglio se te lo inventi tu, di modo che solo tu conosci come decriptarlo.
Un banale algoritmo potrebbe essere quello di ottenere il numero ascii del carattere da criptare ed incrementarlo secondo un algoritmo logico.
ad esempio:
a = 97 incrementi il 97 di 1
poi riporti il numero ascii in carattere ascii:
la "a" diventerà "b"
x DRAKO: guarda
quì.
- "Boy, the food at this place is really terrible."
- "Yeah, I know, and such ... small portions."
Gli algoritmi fai-da-te sono quanto di peggio in fatto di sicurezza, una volta che si conosce l'algoritmo lo devi buttare via, e non ci vuole tantissimo a scoprire l'algoritmo.
ps. il cifrario di Cesare andava bene contro i Galli nel 50 dc, non ai nostri giorni .
Perchè per gli altri algoritmi come funziona la cosa? Non è più semplice che un cracker abbia un algoritmo usato da molti che solo da te? Poi tutto dipende dall' intelligenza che uno applica nel farlo...
jabjoint
te lo spiego perche'...
Gli algoritmi famosi si basano sul fatto che l'algoritmo sia pubblico e sia privata solo la chiave, non conoscendo la chiave non si puo' decifrare, mentre fare un brute force su chiavi robuste (es 128 bit) potrebbe richiedere parecchi anni e molta potenza di calcolo (che costa milioni).
Il fatto che la chiave sia robusta però non basta!
Ogni chiave diversa deve produrre un output diverso, poi i blocchi su cui lavora l'algoritmo devono essere elaborati in un certo modo per ridurre il rischio che una crittanalisi abbia successo.
Ad esempio la cifratura che tu proponi (nota come cifrario di Cesare, nel tuo caso con chiave fissa +1 e blocchi di 8bit), solo per farti un esempio banale, e' debole alla crittanalisi, perche' a lettera (o blocco) criptata uguale corrisponde lettera in chiaro uguale.
Tutti gli algoritmi con questa proprieta' possono essere craccati senza conoscere nè chiave nè algoritmo, semplicemente basandosi su considerazioni di questo tipo:
se si suppone che il messaggio sia in italiano e si nota che un carattere criptato è molto frequente è probabile che questo sia una vocale, se so che il messaggio e' di affari probabilmente finirà con qualcosa tipo "Distinti Saluti" e conterrà frasi come "prego vogliate". Facendo un piccolo numero di tentativi riuscirò a capire dove sono gli spazi, le vocali, le consonanti.
Ci sono tante altre cose che non possono venire in mente a chi fa un algoritmo fai-da-te, ed e' difficile fare algoritmi resistenti a crittanalisi.
Conviene quindi usare algoritmi noti, che siano pubblici da diversi anni senza mai essere stati craccati, e se sono in giro da tanti anni senza essere stati craccati sono comunque più affidabili di un algoritmo fai-da-te, magari per scherzo del destino anche migliore, ma che mai nessuno abbia testato.
visita questo link:
http://www.provincia.venezia.it/mfos...tto/storia.htm
...Terrible warlords, good warlords, and an english song
Si, ma se usi un criptaggio comune, che magari un domani verrà scoperto, un domani quel cracker potrà decriptarsi tutti i documenti che sono stati criptati in quel modo.
Bhè comunque quello che ho posto io, noto come dici tu come criptaggio di cesare è solo un modo per capire come criptare, neanche io lo userei mai, ma può essere a piacimento evoluto.
So di essere testardo ... cmq, adesso mi leggo il link!
jabjoint
Beh, allora cambierai algoritmo, ma comunque da quando un algoritmo viene craccato da un grosso centro di ricerca, al giorno in cui craccare un algoritmo sia alla portata di un cracker qualsiasi passano molti anni, durante i quali puoi cambiare algoritmo.