Newsgroup: it.comp.lang.visual-basic
Titolo: (spippolando) CryptoApi e hashing e cifratura file

per mia segozza mentale
girovagavo  per API e internet
Se dovessi calcolarmi l'hash di un file e relativa criptatura
mi utilizzo
  Private Declare Function CryptCreateHash Lib "advapi32.dll" (_
    ByVal hProv As Long, ByVal algid As Long, ByVal hkey As Long, _
    ByVal dwFlags As Long, phHash As Long) As Long
ok
mi propone come algoritmi:
CALG_HMAC
CALG_MAC
CALG_MD2
CALG_MD5
CALG_SHA
CALG_SHA1
CALG_SSL3_SHAMD5
ora la domanda:
MD5 è considerato relativamente sicuro...?
Inoltre girando per qualche sito "oscuro" si decantano altri algoritmi di
cifratura
Blowfish
CAST256
TripleDES
come arditamente inattaccabili
usa quei programmi direte
No perchè le implementazioni che ho trovato:
a) ne ho bisogno da dentro VB ed erano exe
b) Son dll o che, di dubbia provenienza ...non so che fanno! e se dentro
hanno una backdoor?
c) in genere ste implementazioni vanno bene con il C o al limite Delphi
D'altronde ne avrei bisogno per criptare una serie di doc in maniera ultra
paranoica...sti file è roba lecita eh!
Son rapporti giornalieri/mensili che vengono messi a disposizione di una
rete di agenti...distribuiti via internet o su cd...quindi per forza di cose
criptati (poi son cazzi dell'agente con la sede centrale se da la password
alla segretaria...alla stupidità umana non c'è rimedio!Ma io dovrei emettere
il file con la massima sicurezza possibile!)
Mi piaceva la soluzione microsoft perchè era gratis...ma siccome è un campo
relativamente nuovo per me (MD5 per me bastava ed avanzava!) avrei bisogno
di un po di aiuto
....chi ci è passato che mi consiglia per criptare uno ( o più) testi di
10<->200k da dentro VB (free per favore...non installo ocx "strani")?
Al limite visto che ho anche il Vc++ se si tratta di compilare qualche
libreria...ma ripeto vorrei roba "controllabile"
mannaggia sto diventando paranoico anche io!
thanks boyz!!!

 usa quei programmi direte
Non io. Inventati la tua cifratura. Sarà la più sicura, specialmente se
dinamica, non costante. ;-)
Ipotesi (banalissima) di lavoro:
-Ogni byte può andare da 0 a 255
-L'ora cambia sempre e ovunque
-Esistono i pesi pari e quelli dispari, così come le posizioni
-Il risultato può avere una lunghezza "leggermente" diversa dall'originale e
l'aggiunta (ma, addirittura, la riduzione) non è necessariamente in testa,
nè in coda.
-E' divertente!

 dinamica, non costante. ;-)
la mia cifratura (a meno che io non sia un matematico..ma allora non
chiederei) non reggerebbe molto ad un appassionato di enigmistica!
E probabilmente con queste basi nemmeno la tua!
Ci vogliono algoritmi che siano indipendenti dall'alfabeto (per dirne una)
altrimenti è troppo facile per chi sa tornare indietro!
....Magari fosse così semplice Lupo!
:os
Stavolta non mi basta una cosa così!
:-(

 -E' divertente!
ATTENZIONE: la cifratura fatta in casa è molto pericolosa!!!
Una cosa del genere potrebbe essere forzata solo basandosi sulla frequenza
delle lettere o delle coppie di lettere in una determinata lingua.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 come arditamente inattaccabili
Di arditamente inattaccabile non c'è niente. La qualità della cifratura si
misura in tempo macchina necessario a superarla, ma questo significa che se
i tuoi dati sono sensibili per molto tempo, lo standard di cifratura va
aggiornato ogni tanto.
Poniamo ad esempio che per superare una certa cifratura oggi ci vogliano 100
anni di elaborazione. Con la curva attuale di evoluzione dei processori, il
famoso raddoppio ogni 18 mesi, tra 25 anni la si supererà in 1 giorno e
mezzo di elaborazione. Facendo 2 calcoli, il momento migliore per iniziare a
craccare il sistema è tra 9 anni, quandi basteranno 11,6 anni di
elaborazione per avere il dato.
Se invece ragioni con un array di 10 computer, tra 3 anni ci vorranno poco
meno di 6 anni per avere il tuo dato visibile. La tua durata teorica di 100
anni diventa in realtà di 9.
Magari a te questo discorso non interessa, ma negli enti governativi a
questo problema ci stanno pensando già da un po'.
Ciao
*Roby*

 come arditamente inattaccabili
hai provato a guardare qua?
http://www.cryptosys.net/
http://www.cryptosys.net/blowfish.html
suggerimento:
visto che è stato rilasciato PGP8, perchè non provare a sfruttarlo?
è disponibile anche il codice sorgente
--
bye BlackMagic
ICQ#:85485468


Infatti!
c'era su Linus di qualche anno fa nella rubrica del Wutki tutta una serie di
(per me) astruse elucubrazioni e giochi sulla crittografia!
Ho trovato iuna implemantazione in VB del Blowfish
GURU DEL GRUPPO
che dite è un po più sicura (sicuramente un po più comoda) delle cryptoApi
di zio Bill?????


Hai provato qui?
http://www.gnupg.org/(en)/download/supported_systems.html
ciao
	maxx
-- 
NOSPAM: Rimuovere i trattini dallo username!
Cut hyphens from my username!

 > come arditamente inattaccabili
CUT
non avevo visto il tuo post
mi basta che con le attuali macchine(non con un Cray con un pentium 4 ...o
5) regga almeno per un anno se è questo che interessa.Dopo un anno i dati
son sicuramente inutilizzabili(.....anche prima ma per sicurezza)
Ho trovato una implementazione in C e delphi del Blowfish e ho scoperto che
questo algoritmo è freeware
riporto un breve brano
"
Blowfish
The algorithm was designed by Bruce Schneier. Blowfish is a very fast
algorithm, performing excellent on modern 32bit processors. Another
advantage is its variable key size up to 448 bits (56 bytes). It was first
published in Doctor Dobb's Journal, issue 4/94. After a year of intensive
cryptanalysis it was still unbroken (as reported in DDJ 10/95).
"
più giu dice che quello veramente buono sarebbe il DES(sviluppato da IBM )ma
che soffre di una eccessiva brevità delle chiavi...hanno ovviato facendo una
tripla criptatura con 3 chiavi diverse (TripleDES)...ma è diventato troppo
lento rispetto agli altri
Spippolando in rete
ho trovato anche da un irlandese una implementazione dell'agoritmo blowfish
in VB (4 e 5 pensa un po)
il vantaggio sembre essere quello di non appoggiarsi sulle crypto e quindi
andar bene anche per chi ha win98 (e son molti ancora!)
l'ho provato col vb6 e sembra veloce!
Che ne pensi....
Idea idiota ma se aumento la chiave da 56 a 128 che succede? Non sono un
matematico..... ma se aumento la chiave l'algoritmo rimane valido o è un
limite invalicabile il 56 bytes?


ho provato con 128bytes
le chiavi son diventate più lunghe ma funziona......
funzionerà anche matematicamente...ossia ho aumentato anche il tempo di
decrittatura come dicevi tu?

 decrittatura come dicevi tu?
è venuto fuori:
Chiave usata in Hex (son 128Bytes)
1234567890123456789012345678901234567890123456789012345678901234567890123456
7890123456789012345678901234567890123456789012345678
Testo da criptare
Tanto va la gatta al lardo
Testo criptato in Hex
A16517871AB5378FADD64EDD0EB9B32368E3AD2E9597A33300BD51444572E66E
che ne dici impegna un po a tornare all'originale (al di la della chiave
sega...poi vien fatta random ad ogni criptatura)?

 anche il tempo di decrittatura come dicevi tu?
Si, ma ci sono anche metodi di hacking che non hanno nulla a che fare con la
decrittatura.
Ad esempio, se tu hai un eseguibile che ha una routine che accetta in input
il testo crittato e lo restituisce decrittato, si può provare a decompilare
il programma, isolare la routine in questione e utilizzarla direttamente
come chiave.
Insomma, risolvere i problemi di security non è affatto facile. :-)
Ciao
*Roby*

 Che ne pensi di sto ragionamento pre natalizio?
Che non vedo l'ora inizino le ferie. :-)
Ciao
*Roby*

 Che ne pensi di sto ragionamento pre natalizio?
Leggevo (parecchio tempo fa) che i cracker consideravano i programmi VB i
più semplici da sproteggere (imho non credo per la qualità dei
programmatori)! ;)
Ciao

 a 128 Byte si stia ragionevolmente sicuri
Credo anche io. Il punto debole della faccenda diventa l'eventuale custode
della smartcard, ma per quello tu non puoi mettere nessuna pezza..
Ciao
*Roby*