Newsgroup: it.comp.lang.visual-basic
Titolo: Algoritmi per crittografare

Ciao a tutti,
	c'è qualcuno fra voi che potrebbe postarmi qualche algoritmo
per effettuare la criptografia di un file e magari anche quello per
decifrarlo :))))))))???
	Ad esempio quella che usa Pretty Good Privacy????
C|:-))-|--<

Ho paura che come fa il pgp non sia proprio possibile, visto che la società
che lo ha progettato ha dei problemi con la CIA la quale non riesce a
decodificare i propri files in nessun modo. Per crittografare un file prova
a leggere byte per byte il tuo file e scrivere gli stessi byte applicando
l'algoritmo:
a = unByte$
b=Asc(a)  xor (5+3)
c$=chr(b)
e scrivi c$.
(la formula (5 + 3) può essere una qualsiasi equazione. Più e complessa e
più è difficile decrittografare.
Per fare il decript basta applicare lo stesso algoritmo sul file criptato.
Si riottiene l'originale.

 
Semplice ma bruttino. se nel file ci sono molti caratteri ugali, sono uguali anche
dopo essere stati criptati. E poi anche nella settimana enigmistica ci sono
le frasi con simboli strani al posto delle lettere. Scommetto che se
scrivo $%^^& capisci cosa ho scritto!
Io propongo qualcosa del tipo:
sub CriptaDecripta()
	const CHIAVE$ = "Questa e' la tua chiave"
	dim Contatore	as long
	dim PosChiave%
	dim CIn$,Cout$
	dim K%
 
	Modulo% = len(CHIAVE$)
	Contatore=0
	K% = &HA3
	do
		Cin$=GetNextChar()
		if Cin$="" then exit do
		Cout$ = Chr$( (Asc(Cin$) xor K%) xor Asc(mid$(CHIAVE$, (Contatore mod len(CHIAVE$))+1,1)) )
		call PutChar(Cout$)
	loop
end sub
L'ho scritta al volo, Ti basta implementare le funzioni GetNextChar() e PutChar(Cout$).
Cambiando K% ma soppratutto CHIAVE$ cambi il modo di criptatura.
Ovviamente sia K% che CHIAVE$ possono essere parametrizzate.
-- 
Hi, Ciao
Ettore                 By -MES-
http://www.aspide.it/freeweb/ilmes

 per effettuare la criptografia ...
Prova su
 
ftp://ftp.funet.fi/pub/crypt/
trovi un sacco di roba sulla crittografia.
					Igor


Se vuoi migliorare la sicurezza, che comunque rimane bassa, puoi usare
una stringa come chiave (per intenderci, al posto di 5 + 3), invece di
un valore fisso, usanto a turno tutti gli elementi della chiave e
ricominciando, se necessario, da capo.
La soluzione chi č stata proposta č forzabile facendo 512 tentativi a
computer, tanti quanti sono i valori possibile per l'espressione (5 +
3). Se usi una chiave lunga  il numero di tentativi necessari cresce a
dismisura: se non altro non riusciranno a forzarla con un commodore
64...
Ciao
--------------------------------------------------------------------
Fulvio Senore
Eliminate "zz" dall'indirizzo e-mail per scrivermi (spammers...)
Remove "zz" from e-mail address to write me (spammers...)
--------------------------------------------------------------------

64...
Se la cifratura è critica per il programma di cui discutiamo, è meglio
affidarsi ad algoritmi testati piuttosto che inventarsene uno senza una
solida base matematica.
Le spiegazioni su come implementare DES, RC4 ed altri si trovano abbastanza
agevolmente su Internet, ma l'implementazione non è facile.
Direi che conviene affidarsi a prodotti già pronti come le CryptoAPI di
Microsoft o altri OCX/DLL di terze parti.
Ciao,
   <--< Nik >-->


Più che vero, ma molto spesso la crittografia serve per solo per
nascondere un copyright oppure un numero di serie. In questi casi è
inutile utilizzare i grossi calibri, tanto un esperto con un debugger
ti frega comunque. Tutto sta nel rendere difficile l'opera per un
utente comune.
