PDA

View Full Version : Visual basic crittografia semplice


Hannibal.l
30-12-2011, 02:06
Ho creato tempo fa un programma che dato un testo qualsiasi riusciva tramite due tipi di chiavi a criptare il messaggio!
L'utente non deve fare altro che inserire il testo e scegliere fra due chiavi.
O casuale: Semplicemente chiedo all'utente una parola segreta o una frase che poi tramite un semplice algoritmo ho trasformato in chiave numerica...
O chiave utente: ovvero un qualsiasi valore numerico deciso dall'utente
Il programma è molto semplice:
prende ogni carattere e lo codifica in ascii... dopo di che lo moltiplica per la chiave utente e al risultato si aggiunge 3 (numero scelto da me...)
in questo modo un qualunque testo può essere criptato e decriptato solo con l'ausilio di quella determinata parola o numero scelto dall'utente!
Il programma è gia stato creato ed è funzionante ma vorrei migliorarlo e per questo ho alcune domande da porvi:
- come posso migliorare il processo di criptazione? ad un occhio inesperto la sfilza di numeri che rappresentano il testo sono incomprensibili ma se uno scopre la chiave non ci vuole molto a tornare al testo di partenza
- Secondo voi il mio sistema è efficacie? effettivamente è sicuro solo fino a quando uno non scopre la chiave... però ricordate che la chiave può essere un qualsiasi valore numerico che sia da -infinito a + infinito quindi scoprire la chiave non è semplicissimo.

Mi sono studiato tutti i sistemi di critpazione più famosi (des, 3des, blowfish...) e mi piacerebbe riuscire a creare un programma che utilizzi tali metodi... ma gli algoritmi usati sono troppo complicati per me! e non conosco le funzioni necessarie (Uso il vb da meno di 6 mesi.... ho 17 anni)

Dânêl
30-12-2011, 07:58
come posso migliorare il processo di criptazione? ad un occhio inesperto la sfilza di numeri che rappresentano il testo sono incomprensibili ma se uno scopre la chiave non ci vuole molto a tornare al testo di partenza


Secondo voi il mio sistema è efficacie?


Se si scopre la chiave di cifratura (e si conosce l'algoritmo) non c'è sistema di cifratura che regge. Il "problema" principale del tuo algoritmo è che è facilmente attaccabile tramite l'analisi statistica del messaggio (perchè ad una lettera del testo in chiaro corrisponde sempre la stessa lettera del testo cifrato).
Per rispondere alla domanda dell'efficacia...direi di no. Non verrebbe approvato dall'NSA o utilizzato per la protezione di dati sensibili. Dipende l'importanza dei dati da proteggere e chi è il potenziale attaccante, perchè basta un minimo di conoscenze sulle tecniche di analisi crittografica e un pò di pazienza per decifrare ogni testo o ricavarsi la chiave.

Quali difficoltà hai trovato con il DES? Perchè è un algoritmo basato su tabelle di sostituzione/permutazione. Non richiede grosse conoscenze matematiche e su internet si trovano già pronte le varie S-box e tabelle di sostituzione/permutazione/espansione ( ti eviti, cosi, di doverle scrivere tutte).

Per l'AES altrettanto. Esistono varie implementazioni (più o meno ottimizzate). L'algoritmo "originale" richiederebbe l'implementazione dell'algebra in GF( 2^8), ma anche per queste operazioni esistono delle tabelle apposite che evitano ogni "grana matematica".

Quali sono le funzioni che non conosci?

shinya
30-12-2011, 08:13
Prima regola della crittografia: non tentare di inventare il tuo personale algoritmo.
Il mio personale consiglio è di usare una libreria già fatta e testata. Ma se proprio vuoi sporcarti le mani, comincia da qualcosa di semplice da implementare almeno, tipo RC4 (guarda su wikipedia per l'algoritmo).
Non è più un algoritmo sicuro, ma per cominciare... non so poi che ambizioni tu abbia...

ndakota
30-12-2011, 12:23
Il più semplice in assoluto credo sia Tea(Tiny Encryption Algorithm). Sono una decina di righe di codice C per l'encryption e altrettante per la decryption.

Hannibal.l
30-12-2011, 12:45
Intanto grazie a tutti per le risposte complete e in tempi brevi! :D
Le difficoltà che ho trovato sono semplicemente la mancanza di buoni manuali! il mio libro di testo che usiamo a scuola ti spiega le base, arrey creazione di file ma non entra nello specifico... visto che alcune funzioni non si usano nemmeno a scuola... e su internet non ho trovato molto... Io voglio fare questo programma non per grossi scopi ma semplicemente per imparare il più possibile su questo linguaggio non pretendo di creare un nuovo sistema di crittografia come des e blowfish che ci hanno messo anni a creare! il mio era un idea iniziale :D
A scuola abbiamo abbandonato il vb e stiamo facendo java... solo che ho voluto creare questo programma anche per non dimenticarmi nulla del vb... poi magari lo riscrivo in java;)

Hannibal.l
30-12-2011, 12:54
vorrei aggiungere a Daniel
"Il "problema" principale del tuo algoritmo è che è facilmente attaccabile tramite l'analisi statistica del messaggio (perchè ad una lettera del testo in chiaro corrisponde sempre la stessa lettera del testo cifrato)." non mi sembra... nel senso supponiamo che il testo sia

aria

con chiave utente pari a 1 verrebbe

97 114 105 97

con chiave utente 2

388 456 420 388

anche variando la chiave di un unità il testo cifrato varia notevolmente!
almeno mi sembra eh!
vi posto il codice scritto per allegato

Funzionano entrambi e sono lunghi perchè ho messo molti controlli... fatemi notare tutto quello che c'è di negativo....

ndakota
30-12-2011, 15:29
Come puoi vedere la 'a' sia con chiave 1 che con chiave 2 è sempre cifrata con uno stesso carattere. Morale della favola: mi passo il ciphertext scrivendomi le occorrenze di ogni carattere e troverò che alcune sono molto più presenti di altre. Se il testo è in inglese posso presumere che la lettera che compare più spesso è una 'e', se il testo è in italiano posso presumere sia una 'a'. Ci sono tabelle di frequenza delle lettere per ogni alfabeto. Certo, magari ci sarà da lavorarci un po' ma vai tranquillo che si scopre il plaintext qualsiasi sia la chiave :D E poi, come se la cava con attacchi di forza bruta? Il tutto sta qui alla fine.

Hannibal.l
30-12-2011, 16:51
Come puoi vedere la 'a' sia con chiave 1 che con chiave 2 è sempre cifrata con uno stesso carattere. Morale della favola: mi passo il ciphertext scrivendomi le occorrenze di ogni carattere e troverò che alcune sono molto più presenti di altre. Se il testo è in inglese posso presumere che la lettera che compare più spesso è una 'e', se il testo è in italiano posso presumere sia una 'a'. Ci sono tabelle di frequenza delle lettere per ogni alfabeto. Certo, magari ci sarà da lavorarci un po' ma vai tranquillo che si scopre il plaintext qualsiasi sia la chiave :D E poi, come se la cava con attacchi di forza bruta? Il tutto sta qui alla fine.
Si ma come dici te sono tutte presunzioni... non puoi sapere con certezza che il carattere più ripetuto è una a... poi sono d'accordo che è un programma banale ma secondo me se uno non ha la chiave ma sa il metodo di criptazione ci può provare quando vuole ma risalire al messaggio in chiaro la vedo dura... per esempio e io ti scrivo
" 329508 341172 294516 335340 338256 323676 93312 326592 332424 323676 300348 332424 282852 317844 317844 282852 93312 297432 282852 93312 335340 288684 303264 306180 297432 323676 93312 169128 198288 93312 "
sono d'accordo che ci sono alcuni caratteri ripetuti e uno sa che possono essere o uno spazio o una letterà ma senza la chiave come può sapere che c'è scritto? o sbaglio? :D anche un sistema di criptazione sofisticatissimo avrà dei caratteri ripetuti! no?
anche con il brute force visto che la chiave può andare da - infinito a + infinito... per fare un esempio può essere -234 come 45 l'attacco bruteforce non lo ritengo l'ideale no? poi queste sono le idee di me che sono completamente inesperto se dite che va migliorato sono d'accordissimo :) anzi vi ringrazio per l'aiuto queste sono solo curiosità :)

Dânêl
30-12-2011, 17:10
Ha già detto tutto ndakota.
Le parole chiave per determinare la sicurezza di un algoritmo di crittografia sono confusione e diffusione. A causa della sua semplicità il tuo algoritmo non gode di nessuna delle due.

Il fatto che una lettera del testo in chiaro sia riportata nel testo cifrato sempre con lo stesso simbolo lo espone agli attacchi ad analisi statistica. Spiego brevemente: ogni lettera dell'alfabeto ha una certa ricorrenza statistica nel vocabolario, cosi come certe sequenze di lettere ( "ch", "chi"). Questi valori statistici vengono utilizzati per determinare (in via probabilistica inizialmente, per poi arrivare a certezza dopo qualche tentativo) se al numero 388 del testo cifrato corrisponde una A piuttosto che una Z.

Hai presente il gioco da settimana enigmistica dove ti danno un testo formato da soli numeri e ti viene chiesto di trovare il testo originale? Il procedimento per risolvere il giochino e decifrare un testo cifrato con il tuo algoritmo sarebbe esattamente lo stesso.
Sarebbe lievemente più sicuro se il valore moltiplicativo, oltre ad essere in funzione della chiave, fosse derivata dall'intorno dell'i-esimo carattere. In questo modo alla lettera A corrisponderebbe di volta in volta un simbolo del testo cifrato diverso.


Per concludere ti faccio un esempio di come potrei decrittografare ( in parte) aria:

97 114 105 97

97 è una lettera finale. In italiano non ci sono parole che finiscono per una consonante, perciò 97 corrisponderà ad una delle vocali. 114 sarà sicuramente una consonante (non mi pare ci siano parole che inizino con due vocali) e di consequenza 105 sarà un'altra vocale ( o l'h).
Magari potrei verificare tra tutte le parole in italiano di 4 lettere quali hanno la lettera iniziale uguale a quella finale (e restringerei il campo non di poco, magari esiste una sola parola con queste caretteristiche...chi lo sa)

Essendo il testo troppo corto non è possibile determinare con certezza i valori di 114 e 105 ( e di 97 sappiamo solo con certezza che si tratta di una vocale), ma con un testo più lungo.... penso di aver reso l'idea.



PS: hai risposto mentre scrivevo. Dai un'occhiata qui ( non so se le frequenze sono adatte, ma è giusto per dare una idea)
http://it.wikipedia.org/wiki/Analisi_delle_frequenze

Come vedi la a ha una frequenza dell'11,74% . In un testo sufficientemente lungo, la frequenza sarà all'incirca la stessa. Per cui se crei la tabella delle frequenze di un testo cifrato e trovi un carattere con quella frequenza, sarà molto probabilmente una a ( di sicuro non sarà una z). Procedendo per ogni carattere e sistemando quelli che non quadrano ecco decifrato il testo.

Hannibal.l
30-12-2011, 17:20
"Ha già detto tutto ndakota.
Le parole chiave per determinare la sicurezza di un algoritmo di crittografia sono confusione e diffusione. A causa della sua semplicità il tuo algoritmo non gode di nessuna delle due."
che vuol dire? ahah confusione e diffusione in che senso?
però non credo di sbagliare nel dire che in fondo seppur semplice l'algoritmo è in parte efficace no? con la crittoanalisi si può decifrare solo in parte un testo e non facilmente no? è un inizio giusto? :) sono un tipo ottimista :D
Comunque mi avete convinto che non è cosi difficile tornare al testo di partenza... allora quel'è secondo voi un metodo di criptazione "confuso" "diffuso" semplice ed efficacie? ;)

Dânêl
30-12-2011, 17:32
che vuol dire? ahah confusione e diffusione in che senso?
però non credo di sbagliare nel dire che in fondo seppur semplice l'algoritmo è in parte efficace no? con la crittoanalisi si può decifrare solo in parte un testo e non facilmente no? è un inizio giusto? :) sono un tipo ottimista :D
Comunque mi avete convinto che non è cosi difficile tornare al testo di partenza... allora quel'è secondo voi un metodo di criptazione "confuso" "diffuso" semplice ed efficacie? ;)


http://it.wikipedia.org/wiki/Confusione_e_diffusione

Con la crittoanalisi, se l'algoritmo non è sicuro, è possibile decifrare un testo in toto. La difficoltà dipende solo dall'efficacia dell'algoritmo e dalla quantità di testo a disposizione (più testo si ha, più efficace è questo genere di attacco).

Come suggerito da shinya RC4. Richiede molto meno codice di altri algoritmi (operazioni su matrici, cosi come gli altri d'altronde).

@shinya per quale motivo non è più considerato sicuro? Stallings ( ho studiato crittografia dal suo libro) dice che un attacco a rc4 con chiave sufficientemente lunga (128bit) non è realistico (e menomale, altrimenti anche l'AES scricchiolerebbe). E i problemi di sicurezza che si sono avuti con il WEP non erano dovuti a RC4 in se, ma al sistema di generazione delle chiavi. Cosa c'è che non so? :stordita:

Hannibal.l
30-12-2011, 17:38
Dove le hai imparate tutte queste cose? che lavoro fai se posso chiedere? le hai imparate online?

Dânêl
30-12-2011, 17:55
Sui cari vecchi libri di carta. Un qualsiasi testo di crittografia ( come lo Stallings che ho nominato poco fa) contiene questo e tanto altro comprese le spiegazioni dei vari algoritmi di crittografia. Online nemmeno proverei. Se non si conosce bene la materia non si sa cosa cercare (perchè il mondo della crittografia è molto vasto) e nemmeno valutare la qualità delle informazioni (che è la cosa più importante). Meglio affidarsi alla sicurezza (quasi totale) dei libri.

Nessun lavoro per il momento, studente prossimo alla laurea :sofico:

ndakota
30-12-2011, 18:58
http://it.wikipedia.org/wiki/Confusione_e_diffusione

Con la crittoanalisi, se l'algoritmo non è sicuro, è possibile decifrare un testo in toto. La difficoltà dipende solo dall'efficacia dell'algoritmo e dalla quantità di testo a disposizione (più testo si ha, più efficace è questo genere di attacco).

Come suggerito da shinya RC4. Richiede molto meno codice di altri algoritmi (operazioni su matrici, cosi come gli altri d'altronde).

@shinya per quale motivo non è più considerato sicuro? Stallings ( ho studiato crittografia dal suo libro) dice che un attacco a rc4 con chiave sufficientemente lunga (128bit) non è realistico (e menomale, altrimenti anche l'AES scricchiolerebbe). E i problemi di sicurezza che si sono avuti con il WEP non erano dovuti a RC4 in se, ma al sistema di generazione delle chiavi. Cosa c'è che non so? :stordita:

Cito da wikipedia perchè non l'ho trattato

L'RC4 paga la sua semplicità in termini di sicurezza: questa è molto debole e l'algoritmo è violabile con relativa facilità e velocità tanto che il suo uso non è più consigliabile. L'RC4 mostra infatti un comportamento non da vero PRNG: l'analisi del flusso di dati casuali denota una certa periodicità nei primi 256 byte. Ecco perché molte implementazioni dell'algoritmo scartano questi byte facendo eseguire un ciclo di 256 iterazioni a vuoto prima di iniziare ad utilizzare il keystream. Un'altra debolezza è relativa alla forte correlazione che c'è fra la chiave ed il keystream tanto che nel 2005 è stato trovato un modo per violare una connessione wireless protetta con WEP in meno di un minuto.

Insomma, di sicuro è debole. Tant'è che anche gli autori hanno proposto migliorie. Se non sbaglio tra i cinque candidati a diventare l'AES, poi vinto da Rijndael, c'era l'RC6 infatti.
Comunque, se per trovare la chiave di un crittosistema devi provare 2^128 combinazioni di chiavi, ad oggi, il crittosistema non è assolutamente debole. Ce ne vuole. Il problema è se si riesce, scoprendo qualche debolezza, ad abbassare questo spazio delle chiavi. Poi ricordo che AES è scalabile: può essere usato con chiavi da 128, 192 e 256 bit.

Mettiu_
30-12-2011, 21:48
La cosa più importante di un sistema di sicurezza (sicuramente una delle più importanti) è che non sia basato sulla "segretezza", ovvero non violi il cosiddetto principio di "security through obscurity". In soldoni, non bisogna fare affidamento sul fatto che l'algoritmo sia noto solo allo sviluppatore dell'applicazione, ma anzi deve essere diffuso il più possibile in modo che se ne trovino le vulnerabilità. La forza degli algoritmi più robusti (tipo RSA o diffie-helmann) risiede nell'impossibilità dei calcolatori attuali di risolvere alcuni problemi matematici. Gli algoritmi sono ovviamente pubblici e DEVONO esserlo per potere essere utilizzati in aree sensibili dell'informazione. Per il resto, il nucleo della questione è solo la potenza di calcolo dei nostri pc. E poco altro..

eraser
30-12-2011, 22:20
Cito da wikipedia perchè non l'ho trattato

L'RC4 paga la sua semplicità in termini di sicurezza: questa è molto debole e l'algoritmo è violabile con relativa facilità e velocità tanto che il suo uso non è più consigliabile. L'RC4 mostra infatti un comportamento non da vero PRNG: l'analisi del flusso di dati casuali denota una certa periodicità nei primi 256 byte. Ecco perché molte implementazioni dell'algoritmo scartano questi byte facendo eseguire un ciclo di 256 iterazioni a vuoto prima di iniziare ad utilizzare il keystream. Un'altra debolezza è relativa alla forte correlazione che c'è fra la chiave ed il keystream tanto che nel 2005 è stato trovato un modo per violare una connessione wireless protetta con WEP in meno di un minuto.

Insomma, di sicuro è debole. Tant'è che anche gli autori hanno proposto migliorie. Se non sbaglio tra i cinque candidati a diventare l'AES, poi vinto da Rijndael, c'era l'RC6 infatti.
Comunque, se per trovare la chiave di un crittosistema devi provare 2^128 combinazioni di chiavi, ad oggi, il crittosistema non è assolutamente debole. Ce ne vuole. Il problema è se si riesce, scoprendo qualche debolezza, ad abbassare questo spazio delle chiavi. Poi ricordo che AES è scalabile: può essere usato con chiavi da 128, 192 e 256 bit.

Giusto per dovere di cronaca: è vero che un algoritmo è considerato insicuro nel momento in cui viene violato in linea teorica. La pratica, tuttavia, è diversa.

L'algoritmo RC4, sebbene sia considerato insicuro, è ancora robusto se utilizzato oculatamente e con chiavi a 128 bit. Il problema della violazione dell'algoritmo WEP delle Wi-Fi non era relativo all'algoritmo RC4 in sé, quanto piuttosto al modo con cui l'RC4 deriva la chiave nel Key Scheduling Algorithm. Per questo è consigliabile utilizzare l'RC4 passandogli eventuali chiavi base già preprocessate tramite algoritmi di hashing quali MD5 o SHA1 (anche questi considerati violati in teoria).

Se guardi, molti certificati SSL utilizzano ancora l'algoritmo RC4 con key a 128 bit, tuttavia con derivazione della chiave base pre-processandola tramite MD5/SHA1.

ndakota
30-12-2011, 22:28
Giusto per dovere di cronaca: è vero che un algoritmo è considerato insicuro nel momento in cui viene violato in linea teorica. La pratica, tuttavia, è diversa.

L'algoritmo RC4, sebbene sia considerato insicuro, è ancora robusto se utilizzato oculatamente e con chiavi a 128 bit. Il problema della violazione dell'algoritmo WEP delle Wi-Fi non era relativo all'algoritmo RC4 in sé, quanto piuttosto al modo con cui l'RC4 deriva la chiave nel Key Scheduling Algorithm. Per questo è consigliabile utilizzare l'RC4 passandogli eventuali chiavi base già preprocessate tramite algoritmi di hashing quali MD5 o SHA1 (anche questi considerati violati in teoria).

Se guardi, molti certificati SSL utilizzano ancora l'algoritmo RC4 con key a 128 bit, tuttavia con derivazione della chiave base pre-processandola tramite MD5/SHA1.

Siamo d'accordo. Se non sbaglio c'è un attacco "accademico" per trovare una chiave di AES con 2^40 combinazioni. Ma è praticamente irrealizzabile :D

eraser
30-12-2011, 22:42
La cosa più importante di un sistema di sicurezza (sicuramente una delle più importanti) è che non sia basato sulla "segretezza", ovvero non violi il cosiddetto principio di "security through obscurity".

L'utilizzo delle password non è un'applicazione pratica di security through obscurity?

Mettiu_
30-12-2011, 22:52
No, perchè il focus è sugli algoritmi non sulle chiavi che, per definizione, devono essere segrete (non tutte ovviamente, vedi chiavi pubbliche di RSA).

eraser
30-12-2011, 22:53
No, perchè il focus è sugli algoritmi non sulle chiavi che, per definizione, devono essere segrete (non tutte ovviamente, vedi chiavi pubbliche di RSA).

Ah, quindi il "security through obscurity" è applicato solo quando ci pare :D

Mettiu_
30-12-2011, 22:59
Ma che vuol dire??? Allora come si fa sicurezza se non ci sono segreti di nessun tipo? Mica sono quelli che creano debolezza! Ciò che crea debolezza è un algoritmo insicuro, non rivelato tale solo perchè è noto solo al programmatore. Ma è giusto pensare che prima o dopo l'algoritmo verrà svelato e, con esso, anche le sue debolezze... Nel caso dell'utente che ha aperto questo thread, la debolezza è ad attacchi di tipo known plain-text... RSA a cosa è debole? :)

Mettiu_
30-12-2011, 23:03
Un riferimento...
http://it.wikipedia.org/wiki/Sicurezza_tramite_segretezza

ndakota
30-12-2011, 23:07
Ma che vuol dire??? Allora come si fa sicurezza se non ci sono segreti di nessun tipo? Mica sono quelli che creano debolezza! Ciò che crea debolezza è un algoritmo insicuro, non rivelato tale solo perchè è noto solo al programmatore. Ma è giusto pensare che prima o dopo l'algoritmo verrà svelato e, con esso, anche le sue debolezze... Nel caso dell'utente che ha aperto questo thread, la debolezza è ad attacchi di tipo known plain-text... RSA a cosa è debole? :)

A pessime implementazioni o ad utilizzi errati :D

Mettiu_
30-12-2011, 23:10
A pessime implementazioni o ad utilizzi errati :D

Pienamente d'accordo! Chiedere ai programmatori Microsoft per ulteriori approfondimenti in merito :D

eraser
30-12-2011, 23:15
Ma che vuol dire??? Allora come si fa sicurezza se non ci sono segreti di nessun tipo? Mica sono quelli che creano debolezza! Ciò che crea debolezza è un algoritmo insicuro, non rivelato tale solo perchè è noto solo al programmatore. Ma è giusto pensare che prima o dopo l'algoritmo verrà svelato e, con esso, anche le sue debolezze... Nel caso dell'utente che ha aperto questo thread, la debolezza è ad attacchi di tipo known plain-text... RSA a cosa è debole? :)

Appunto :D

A parte la fattorizzazione, che come hai detto tu dipende dalla potenza di calcolo, ad esempio è vulnerabile ad attacchi fault-based e ad altri relativi alle varie implementazioni dell'RSA.

È indubbio che l'algoritmo debba essere implementato nella maniera corretta, ma è innegabile che, a parità di implementazione fallata, il fatto che l'algoritmo non sia in chiaro possa apportare dei vantaggi.

Tu dici: "no, perché se fosse in chiaro le persone andrebbero a guardare il codice e a scoprire vulnerabilità". Io rispondo: "ma quante sono in realtà le persone che vanno veramente a guardare il codice sorgente di un programma?"

Un esempio è Skype: per anni gli hacker hanno tentato di violare il protocollo di comunicazione, senza riuscirci grazie all'ottimo lavoro di offuscamento del codice. Ora ci sono riusciti, e non hanno trovato niente di particolare visto che l'algoritmo comunque è ben implementato.

Ma nel frattempo hanno speso diversi anni nel cercare di comprenderlo, dando alla società tempo sufficiente per implementarlo, correggerlo, sistemare falle, migliorarlo

Mettiu_
30-12-2011, 23:28
Tu dici: "no, perché se fosse in chiaro le persone andrebbero a guardare il codice e a scoprire vulnerabilità". Io rispondo: "ma quante sono in realtà le persone che vanno veramente a guardare il codice sorgente di un programma?"


I sorgenti di programmi in generale magari si, li guardano in pochi. Ma quando si parla di sicurezza e di algoritmi di crittografia di gente che li guarda ce n'è.. Se non altro, in ambito accademico ci sono molti ricercatori sparsi che fanno proprio questo di mestiere. Per il resto, obiettivamente c'è stata anche gente che ha fatto successo con algoritmi dimostratisi sicuri e non pubblici (Ron Rivest è uno di questi e non è uno di poco conto).. Diciamo che, per quanto mi riguarda, strizzo molto di più l'occhio a tecnologie open e "collaudate" :)

eraser
30-12-2011, 23:30
I sorgenti di programmi in generale magari si, li guardano in pochi. Ma quando si parla di sicurezza e di algoritmi di crittografia di gente che li guarda ce n'è.. Se non altro, in ambito accademico ci sono molti ricercatori sparsi che fanno proprio questo di mestiere. Per il resto, obiettivamente c'è stata anche gente che ha fatto successo con algoritmi dimostratisi sicuri e non pubblici (Ron Rivest è uno di questi e non è uno di poco conto).. Diciamo che, per quanto mi riguarda, strizzo molto di più l'occhio a tecnologie open e "collaudate" :)

Questo post mi piace :D Siamo totalmente d'accordo :)

Giustamente, come dici tu, sono punti di vista. L'importante è, ovviamente, non fare affidamento esclusivamente sul fatto che qualcosa sia sicuro solo perché è nascosto. Poi, se si vuole o meno aggiungere il livello di offuscamento, quello è a scelta del programmatore :)

ndakota
30-12-2011, 23:31
Io sono pro principio di Kerckhoffs :O

eraser
30-12-2011, 23:33
Io sono pro principio di Kerckhoffs :O

Se non si fosse capito, io sono all'esatto opposto :D Sempre muovendosi ovviamente con criterio e giudizio :)

ndakota
30-12-2011, 23:35
Se non si fosse capito, io sono all'esatto opposto :D Sempre muovendosi ovviamente con criterio e giudizio :)

Sì, ho notato! :Prrr:

Hannibal.l
31-12-2011, 13:24
più leggo i vosti post più mi accorgo di essere ignorante in materia... ahah la prima cosa che farò finite le vacanze sarà comprarmi un bel libro di crittografia... magari in biblioteca c'è qualcosa! mi sembra interessante come argomento! anche se non so cosa sia ne il principio di kerckhoffs ne ron rivest :D

eraser
31-12-2011, 14:16
più leggo i vosti post più mi accorgo di essere ignorante in materia... ahah la prima cosa che farò finite le vacanze sarà comprarmi un bel libro di crittografia... magari in biblioteca c'è qualcosa! mi sembra interessante come argomento! anche se non so cosa sia ne il principio di kerckhoffs ne ron rivest :D

In bocca al lupo :D Ricordati che se vuoi affrontare in maniera completa l'argomento crittografia devi avere delle basi solidissime (anzi, di più) di matematica :)

Hannibal.l
31-12-2011, 14:59
In bocca al lupo :D Ricordati che se vuoi affrontare in maniera completa l'argomento crittografia devi avere delle basi solidissime (anzi, di più) di matematica :)
La mia intenzione sarebbe (non so se si era intuito) di andare a fare informatica gestionale o ingenieria informatica...anche se è presto per parlarne... quindi le basi solide in qualche modo me le devo fare no? ;)

eraser
31-12-2011, 15:01
La mia intenzione sarebbe (non so se si era intuito) di andare a fare informatica gestionale o ingenieria informatica...anche se è presto per parlarne... quindi le basi solide in qualche modo me le devo fare no? ;)

Visto come vanno le cose nelle università, non lo darei per scontato :D

Hannibal.l
31-12-2011, 15:15
Visto come vanno le cose nelle università, non lo darei per scontato :D
Meglio arrivare avvantaggiati! poi se non ce ne sarà bisogno meglio tutto di guadagnato! comunque per curiosità vi scoccierebbe dare un occhiata all'algoritmo che ho fatto? giusto per vedere che errori commetto nel senso di complicare i passaggi o altre... è postato in formato .txt prima

ndakota
31-12-2011, 16:22
Noi in università per il corso di crittografia stiamo usando questo. E' la traduzione del famoso "Introduction to cryptography with coding theory". Mi piace perchè è anche pieno zeppo di esercizi da risolvere su carta e di problemi da svolgere al computer.

http://www.libreriauniversitaria.it/crittografia-elementi-teoria-codici-trappe/libro/9788871925608