Condividi:        

Crittografia concetto per programmino

Come rimuovere virus e spyware? Le carte di credito sono davvero sicure in rete? È possibile navigare anonimi? Con quali programmi tutelare la propria privacy? Come proteggere i file importanti? Se volete una risposta a queste e altre domande questo è il luogo giusto!

Moderatori: m.paolo, kadosh, Luke57

Postdi Dylan666 » 03/08/04 13:26

bertolauser ha scritto:Scusa 1 cosa ma nel link ke mi hai dato

Esempio: parola chiave: "CIAO", messaggio in chiaro:

SI ATTACCA DOMANI.

Messaggio crittato:

UQ AHVICQC LOACVI.


Invece nel programma ke ho fatto io KIAVE = TESTO

quindi mi sa ke non è sto Blaise de Vigenère , oppure è un caso particolare 8)


Non capisco: anche nel tuo programma la chiave deve esere una parola qualunque, no? Tornando al tuo esempio inzialie (primo post):

Testo in chiaro:


c --------> 2
i --------> 8
a --------> 0
o --------> 14

chiave

i --------> 8
u --------> 20
b --------> 1
u --------> 20

Criptazione con metodo Vigenère:

2 + 8 => 10 -> K
8 + 20 => 28 -> C
0 + 1 => 1 -> B
14 + 20 => 34 -> I

Come vedi tutto torna (con la sola differenza che tu SOTTRAEVI la distanza tra le 2 lettere, ma è lo stesso che sommarle ;) )
Avatar utente
Dylan666
Moderatore
 
Post: 39993
Iscritto il: 18/11/03 16:46

Sponsor
 

Postdi pjfry » 03/08/04 14:29

Dylan666 ha scritto:Non capisco: anche nel tuo programma la chiave deve esere una parola qualunque, no?

da quel poco che ho capito (e se sbaglio fate pure a meno di leggere tutto quello che dico dopo :P ), bertolauser usa una chiave lunga quanto il testo, è questo che voleva dire...
berto, al di là della robustezza dell'algoritmo, ti sei posto il problema dell'invio dei messaggi? finchè si tratta di poche parole ok, ma con testi lunghi dover inviare il doppio dei caratteri crea non pochi problemi... anche perchè ovviamente messaggio e chiave devono muoversi su canali diversi, no? :D
Avatar utente
pjfry
Moderatore
 
Post: 8240
Iscritto il: 19/11/02 17:52
Località: terni

Postdi Dylan666 » 03/08/04 14:51

pjfry ha scritto:
Dylan666 ha scritto:Non capisco: anche nel tuo programma la chiave deve esere una parola qualunque, no?

da quel poco che ho capito (e se sbaglio fate pure a meno di leggere tutto quello che dico dopo :P ), bertolauser usa una chiave lunga quanto il testo, è questo che voleva dire...


Ma non cambia assolutamente nulla! Come si vede nella pagina col Javascript la chiave può essere lunga quanto ti pare, anche quanto il testo stesso; naturlamente se invece usi come chiave CIAO e vuoi criptare una parola di 7 lettere alla quinta verrà sommata di nuovo alla lettera C, alla sesta la I ecc... È normale comunque che la chiave sia comunemente più corta del testo da nascondere, altrimenti come faresti a criptare un testo di 1000 caratteri? :eeh: Trasmettere una chiave di 1000 caratteri è folle... Diventa un metodo troppo pesante per un sistema crtittografico nemmeno troppo scuro: il gioco non vale la candela!
Avatar utente
Dylan666
Moderatore
 
Post: 39993
Iscritto il: 18/11/03 16:46

Postdi bertolauser » 03/08/04 17:35

Già il brutto di questo sistema è ke

testo = chiave -.-
bertolauser
Utente Junior
 
Post: 13
Iscritto il: 26/03/04 19:26

Postdi bertolauser » 03/08/04 17:38

lo ho fatto solo perchè c'era un teorema di mate che dimostrava l'inviolabilità di questo algoritmo per una lunghezza del testo ragionevole
a patto che

--> la chiave venga utilizzata solo una volta


L'unico problema è questo sistema ha una grande limitazioni perchè rende necessario scambiare ogni volta una key tramite un canale sicuro.

Ecco perchè non è utilizzato -.-

byez
bertolauser
Utente Junior
 
Post: 13
Iscritto il: 26/03/04 19:26

Postdi pjfry » 03/08/04 17:49

non mi ricordo se l'ho sentito da un professore o se me lo sono inventato, ma mi pare che questo algoritmo fosse usato nei sommergibili...
praticamente c'era una cassaforte con dentro le chiavi dei messaggi, e le varie chiavi venivano utilizzate in sequenza, credo, o secondo l'orario del messaggio :roll:
Avatar utente
pjfry
Moderatore
 
Post: 8240
Iscritto il: 19/11/02 17:52
Località: terni

Postdi hydra » 03/08/04 18:19

Che se non è quello è un sistema simile all'ENIGMA utilizzato dai tedeschi durante la 2°GM.

Ragazzi, come ha ricordato Dylan qualche post fa, berto aveva chiesto delucidazioni sul metodo (e io sono stato smontato perchè già passavo ai caratteri non testo... :-? ). Il problema di dove mettere la chiave non centra con il metodo di cifratura.

Dunque, il metodo in oggetto è sicuramente quello di Vigenere (che tu usi un algoritmo per il calcolo invece della tabella fa lo stesso). Su come si implementa sia io che Dylan ne abbiamo parlato a lungo (anche se con pareri discordanti su qualche punto, ma il confronto serve a progredire, no? ;) ) e sia che si usi un linguaggio o l'altro fa lo stesso, sia che tu usi 256 caratteri o 26, il problema era quello di non "sforare" (e con il mio consiglio non sfori neanche se vuoi, basta che nella funzione sostituisci 25 a 255 e lo confronti con l'array). La dimostrazione della funzionalità del metodo c'è stata sia da parte mia che da Dylan. Ora, se vogliamo discutere su dove mettere la chiave è un altro problema, ci sono mille soluzioni e ognuno può dire la sua. Vi ricordo inoltre che questo metodo di cifratura è rimasto inviolato per oltre 2 secoli.

Il fatto che la chiave venga utilizzata una sola volta rientra nei "parametri" delle chiavi, tra cui c'è anche la regola che dice che la chiave non dovrebbe contenere lettere doppie.

Sicuramente oggi con l'ausilio del pc sono stati inventati metodi di cifratura molto più complessi e difficili da violare, ma penso che per prendere mano questo esercizio vada più che bene, se poi devi sfidare qualsiasi persona a decifrare un testo passato con questo metodo prova pure. Penso che ci metterà davvero un bel po' (e nessuno ti dice che ci riesca, a meno che non conosca la chiave) :)
Avatar utente
hydra
Moderatore
 
Post: 7007
Iscritto il: 19/07/04 08:06
Località: Vallis Duplavis

Precedente

Torna a Sicurezza e Privacy


Topic correlati a "Crittografia concetto per programmino":


Chi c’è in linea

Visitano il forum: Nessuno e 28 ospiti