Oppure

Loading
17/06/09 8:11
Maury91
:D grande, ma come hai fatto a sapere quanto il bruteforce doveva fermarsi ?
aaa
17/06/09 8:21
Maury91
Rimanendo in tema di criptazioni non tanto facili da decriptare (non ho capito come hai fatto a fare il bruteforce, al massimo potevi ottenere un range sappendo la password alfanumerica, a dire il vero probabilmente potevi ottenere un range davvero basso e guardare quali di quelli era sensato :) bravo :k:...).

Avendo una password lunga quanto il file criptato con i carrateri che vanno da 0 a 255, la password totalmente casuale generata dal computer.
è possibile decriptare il file senza avere il file della password ?

secondo me non dovrebbe essere possibile per questi motivi :
1) Non ci sono ripetizioni della password
2) I caratteri vanno da 0 a 255 quindi non c'è nemmeno un range
3) Decriptandolo con una password sbagliata si può ottenere lo stesso un file sensato ma probabilmente diverso dall'originale
Ultima modifica effettuata da Maury91 17/06/09 8:31
aaa
17/06/09 8:25
Maury91
Per farvi un'esempio ho creato una pagina php apposita :D

cms.maury91.org/…
aaa
17/06/09 16:28
HeDo
Postato originariamente da Maury91:

Rimanendo in tema di criptazioni non tanto facili da decriptare (non ho capito come hai fatto a fare il bruteforce, al massimo potevi ottenere un range sappendo la password alfanumerica, a dire il vero probabilmente potevi ottenere un range davvero basso e guardare quali di quelli era sensato :) bravo :k:...).



un bruteforce su una password alfanumerica di 10 caratteri, ovvero appartenente al charset:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890

ovvero 62 caratteri possibili:

combinazioni = 62 ^ 10 = TROPPO

stamattina mi sono domandato se con un bruteforce ci sarei arrivato, ne ho realizzato uno in C che fa circa 3 * 10^6 tentativi al secondo.

facendo due conti: (8.392993658 * 10^17) / (3.0 * 10^6) = (circa) 3 * 10^11 secondi

in ore: (circa) 83333333, che sono tipo 9512 ANNI

quindi, sapendo che la password era alfanumerica, sapendo che era lunga 10, sapendo che il testo criptato è un testo e non un file, la strada del bruteforce è COMUNQUE impraticabile.

l'unico modo è la crittanalisi basata sulle debolezze del testo criptato, ovvero l'analisi delle frequenze con un metodo mutuato dal codice di cesare.

tante belle parole, ma in realtà l'ho fatto praticamente a occhio, chiedi a netarrow era in skype con me :asd::asd:

Postato originariamente da Maury91:

Avendo una password lunga quanto il file criptato con i carrateri che vanno da 0 a 255, la password totalmente casuale generata dal computer.
è possibile decriptare il file senza avere il file della password ?

secondo me non dovrebbe essere possibile per questi motivi :
1) Non ci sono ripetizioni della password
2) I caratteri vanno da 0 a 255 quindi non c'è nemmeno un range
3) Decriptandolo con una password sbagliata si può ottenere lo stesso un file sensato ma probabilmente diverso dall'originale


infatti i metodo SIMMETRICI di criptazione sono intrinsecamente non sicuri con password corte e prevedibili. Se quello che si cripta non è un testo e la password è lunga 1000 caratteri, basta anche uno XOR per creare una criptazione impenetrabile.

Nella realtà dei fatti la criptazione simmetrica è molto più veloce della asimmetrica, ed è per questo che si usa la criptazione asimmetrica per scambiare la chiave (della simmetrica), poi quella simmetrica (con chiave lunga) per criptare i dati.

sto finendo un programmino per tirar fuori testo e key dal tuo cripter, qualche ora e lo metto su.
Ultima modifica effettuata da HeDo 17/06/09 16:29
aaa
17/06/09 16:46
Maury91
jiuro di non averlo letto prima :
it.wikipedia.org/wiki/…

stavo proprio parlando di questo , di questo altro metodo di criptazione :D
allora è davvero inattacabile...
aaa
18/06/09 8:43
HeDo
Postato originariamente da Maury91:

jiuro di non averlo letto prima :
it.wikipedia.org/wiki/…

stavo proprio parlando di questo , di questo altro metodo di criptazione :D
allora è davvero inattacabile...


si ma il requisito di quel tipo di criptazione è che la chiave deve essere usata una sola volta. Inoltre i generatori di numeri pseudo-casuali integrati nei vari linguaggi di programmazione sono troppo "prevedibili" per creare una chiave inattaccabile. Bisogna usare dei generatori hardware.

aaa
18/06/09 9:07
Maury91
Postato originariamente da HeDo:

si ma il requisito di quel tipo di criptazione è che la chiave deve essere usata una sola volta. Inoltre i generatori di numeri pseudo-casuali integrati nei vari linguaggi di programmazione sono troppo "prevedibili" per creare una chiave inattaccabile. Bisogna usare dei generatori hardware.



La chiave viene generata sul momento e come seed di sicuro non uso il tempo attuale (potrebberò riuscire a decriptarlo provando ad azzecare il seed), il generatore di numeri casuali che uso ha un periodo di 2^19937 (non uso di sicuro quello del linguaggio)
quindi possiamo dire che entrambe le cose che hai detto le ho colmate :D
it.wikipedia.org/wiki/…
aaa
18/06/09 11:32
HeDo

Sappiamo tutti che esistono algoritmi inattaccabili, hai scoperto l'acqua calda.

Limitatamente ad un sistema di criptazione come quello di Bergere, implementato nel tuo programma, è possibile, se quello che viene criptato e la password sono del semplice testo, risalire dall'output alla coppia chiave-input.

L'uso di una chiave lunga quanto il testo ti espone ai problemi che ho già elencato,
ovviamente esistono dei sistemi tampone come quello che hai citato te.

Però immagina di dover mandare 1Gb di file su internet, decidi di criptarlo col tuo programma e con una chiave lunga quanto il file. Facendo due conti vuol dire che il tuo algoritmo necessiterebbe di inviare 1Gb di dati con crittografia asimmetrica, ovvero la tua chiave, dopodichè puoi inviare il Gb di dati. Facendo due conti per mandare X ed essere sicuri, mandi sempre 2X. Per piccoli testi ok, non ci sono problemi, ma in grande la vedo proprio dura.

Postato originariamente da Maury91:

La chiave viene generata sul momento e come seed di sicuro non uso il tempo attuale (potrebberò riuscire a decriptarlo provando ad azzecare il seed), il generatore di numeri casuali che uso ha un periodo di 2^19937 (non uso di sicuro quello del linguaggio)
it.wikipedia.org/wiki/…


si ok, bravo.

Postato originariamente da Maury91:
quindi possiamo dire che entrambe le cose che hai detto le ho colmate :D


complimenti.




aaa