Algoritmi de criptare
Last Updated: Feb 01 2017 20:21, Started by
alex_4ever
, Jul 26 2005 23:35
·
0
#37
Posted 28 November 2006 - 22:39
Quote `nici one time pad`-ul nu garanteaza siguranta 100% in absolut nici o conditie. NU EXISTA siguranta 100%. Teoretic, orice mesaj criptat poate fi decriptat... chiar daca ar dura cateva miliarde de ani. Ba chiar poti genera aleatoriu o cheie 4 GB si sa nimeresti exact cheia folosita pt criptare biggrin.gif (desi cred ca nimeni n-ar incerca asa ceva biggrin.gif) :), eu as incepe cu o cheie de o lungime mai 'mica' cum ar fi 1028 de biti ( 2^1028 numar mai mare decat toti atomii din univers) |
#38
Posted 28 November 2006 - 23:55
trident, on Nov 28 2006, 22:39, said: :), eu as incepe cu o cheie de o lungime mai 'mica' cum ar fi 1028 de biti ( 2^1028 numar mai mare decat toti atomii din univers) Cine a "estimat" asta? In primul rand nu se cunoaste cat de mare este universul. Apoi nu se stie cat de dens este. Dar, iata!, cineva, a numarat atomii... :puke: |
#39
Posted 29 November 2006 - 21:05
http://www.cs.umass....d/universe.html
iau si eu de bun ce zic alti mai invatati... oricum nu prea are legatura cu discutia despre criptografie |
#40
Posted 12 December 2006 - 00:17
E drept ca nu ma pricep la criptare, adica nu la cea informatica, dar deoarece mi se pare un subiect interesant, am citit topicul. Am o singura intrebare/nelamurire (si, va rog, iertati-mi lipsa de cunostinte). Din moment ce se da un mesaj si se cripteaza printr-un algoritm x (cu n etape), tinand cont ca algoritmul ramane constant, mi se pare (poate doar mie) ca mesajul criptat va face ca un caracter z sa apara intotdeauna drept z_criptat. Deci, in cazul asta, nu se reduce totul permanent la frecventa unui caracter ?
Imi cer scuze din nou, poate ca nu am priceput eu exact ideea. Am impresia ca exemplul meu de mai sus nu corespunde cazului cu "vine politia", dar in fine ... |
#41
Posted 12 December 2006 - 11:29
darklordmesiah, on Dec 12 2006, 00:17, said: tinand cont ca algoritmul ramane constant, mi se pare (poate doar mie) ca mesajul criptat va face ca un caracter z sa apara intotdeauna drept z_criptat. Deci, in cazul asta, nu se reduce totul permanent la frecventa unui caracter ? |
#42
Posted 12 December 2006 - 20:44
darklordmesiah, on Dec 12 2006, 00:17, said: Din moment ce se da un mesaj si se cripteaza printr-un algoritm x (cu n etape), tinand cont ca algoritmul ramane constant, mi se pare (poate doar mie) ca mesajul criptat va face ca un caracter z sa apara intotdeauna drept z_criptat. Gandeste-te ca criptarea asta se face si in functie de "ceva". Un exemplu (stupid, recunsc) de criptare este asa: la codul ascii al fiecarui caracter pe care il intalnesc adaug 1 si imi rezulta caracterul criptat. "1" este acel "ceva" de care depinde criptarea mea. Daca de ex in loc de 1, adaug 2, imi rezulta alt caracter criptat, cu toate ca algoritmul de criptare ramane acelasi. Deci voi obtine rezultate diferite cand criptez textul "abc" adaugand 1 sau adaugand 2. In alte cuvinte.. algoritmul este unic, parametrii lui difera. |
#43
Posted 12 December 2006 - 21:57
In alte cuvinte, iti multumesc si tie pentru raspuns, desi mi-a fost mai clara explicatia lui Garfield. E clar ca si daca iei un mesaj_x si ii adaugi fiecarui caracter 2(sau 3 sau 4 ... sau n) la codul ascii, chiar daca rezultatul va fi diferit, frecventa va ramane aceeasi, si tocmai asta subliniam eu mai sus. Am inteles insa ca nu se ia fiecare caracter in parte ci intregul mesaj.
|
#44
Posted 12 December 2006 - 23:03
v-ati gandit vreodata la criptare loosy? :naughty:
glumeam ,glumeam don't jump on me In GOD we trust.All others must have valid md5 summs Edited by mo0n_sniper, 12 December 2006 - 23:04. |
#45
Posted 13 December 2006 - 11:54
#46
Posted 13 December 2006 - 21:18
-_-
GOD damn it kenny 1:am scris din graba si am gresit cateva litere acolo 2:am anticipat k cineva care trebuie sa spuna mereu ceva comercial va sari p mine si am scris mai jos ,and I quote:"glumeam ,glumeam don't jump on me" |
|
#47
Posted 16 December 2006 - 01:48
Doar asa ca o idee, un algoritm destul de sigur(cel putin impotriva tentativelor de spargere tip bruteforce) si relativ usor de implementat este MD5; de fapt nu e chiar un algoritm de criptare pur, ci o functie de tip hash(face rezumatul oricarui fisier pe 128 de biti). A fost folosit pentru criptarea parolelor, insa anul acesta s-au descoperit algoritmi destul de eficienti care genereaza coliziuni(fisiere diferite cu acelasi hash), asa ca probabil ca mai fi folosit ca un fel de checksum. Oricum, daca implementezi un astfel de algoritm si adaugi si un mecanism impotriva atacurilor de tip dictionar(de exemplu adaugi cativa biti random la sfarsitul parolei-se schimba radical hash acesteia) poti sta cat de cat linistit. Parolele in Linux sunt stocate intr-un mod asemanator.
|
#48
Posted 16 December 2006 - 04:33
laurentiu_i, on Dec 16 2006, 01:48, said: Doar asa ca o idee, un algoritm destul de sigur(cel putin impotriva tentativelor de spargere tip bruteforce) si relativ usor de implementat este MD5; de fapt nu e chiar un algoritm de criptare pur, ci o functie de tip hash(face rezumatul oricarui fisier pe 128 de biti). A fost folosit pentru criptarea parolelor, insa anul acesta s-au descoperit algoritmi destul de eficienti care genereaza coliziuni(fisiere diferite cu acelasi hash), asa ca probabil ca mai fi folosit ca un fel de checksum. Oricum, daca implementezi un astfel de algoritm si adaugi si un mecanism impotriva atacurilor de tip dictionar(de exemplu adaugi cativa biti random la sfarsitul parolei-se schimba radical hash acesteia) poti sta cat de cat linistit. Parolele in Linux sunt stocate intr-un mod asemanator. 1. Nu ca nu este algoritm "pur" de criptare, nu este deloc algoritm de criptare. Un algoritm de criptare trebuie sa fie si reversibil (avand rezultatul criptat, sa pot obtine rezultatul initial), ceea ce la algoritmii de hash (MD5, SHA-1) nu este posibil, deoarece mesajul este distrus in timpul procesului de hashing. 2. Nu exista algoritmi care sa "genereze coliziuni" :) . S-a demonstrat matematic ca exista cel putin 2 mesaje diferite care, in urma algoritmului de hashing, sa genereze acelasi rezultat. Acest lucru nu este chiar atat de uimitor, deoarece daca ne gandim ca dimensiunea MD5 de ex este fixa (128 biti), ne dam seama ca in aia 128 biti pot sa scriu maxim 2^128 biti. Iar cum lungimea textului initial este variabila.. apar coliziuni. Problema la MD5 este ca s-a demonstrat si practic ca exista coliziuni (s-au gasit 2 string-uri diferite care in urma MD5 generau acelasi rezultat). La SHA-1, se vorbea despre acest lucru, dar n-am vazut nici un exemplu clar. Dar asta nu inseamna ca algoritmii nu sunt siguri.. 3. Nu e chiar asa de simplu cu random-ul ala. Ca o parola sa fie parola, ea trebuie sa-mi si permita accesul cand e corecta (nu numai sa nu mi-l permita cand e gresita). Daca eu la parola mea adaug ceva random si o salvez MD5, data viitoare cand vreau sa o folosesc.. nu cred ca mai nimeresc eu acelasi random ca sa-mi genereze acelasi MD5. Deci.. nu se adauga chiar ceva "random". |
#49
Posted 16 December 2006 - 10:09
Probabil se referea ca adaugi cativa caractere random la sfarsit insa le tii minte :)
Si ce au demonstrat matematic? ca o functie cu domeniu si codomeniu cu numar diferite de elemente nu este bijectiva? :)) Si daca se gasesc coliziuni nu este o problema,o problema este daca se gaseste o modalitate sa scoti stringul din hash, insa daca va uitati pe algoritm o sa vedeti ca este cam imposibil |
#50
Posted 16 December 2006 - 11:28
trident, on Dec 16 2006, 10:09, said: Probabil se referea ca adaugi cativa caractere random la sfarsit insa le tii minte :) ammon, chiar anul acesta au fost "scosi" pe piata doi algoritmi destul de tari care genereaza coliziuni pentru ORICE HASH(de fapt pentru orice hash cu un inceput dat) in limite rezonabile de timp(pe un notebook de generatie actuala, 2 ore). Asta inseamna ca algoritmul e cam pe duca; apropo, daca nu e algoritm folosit pentru criptare, de ce se pastreaza parolele in Linux in format MD5 :) ? |
#51
Posted 16 December 2006 - 17:29
laurentiu_i, on Dec 16 2006, 11:28, said: ammon, chiar anul acesta au fost "scosi" pe piata doi algoritmi destul de tari care genereaza coliziuni pentru ORICE HASH(de fapt pentru orice hash cu un inceput dat) in limite rezonabile de timp(pe un notebook de generatie actuala, 2 ore). Asta inseamna ca algoritmul e cam pe duca; apropo, daca nu e algoritm folosit pentru criptare, de ce se pastreaza parolele in Linux in format MD5 :) ? - optam sa obtinem un alt mesaj cu acelasi hash: mesajul coliziune rezultat va fi fi aproape identic cu cel initial doar ca va avea ceva biti shimbati in asa fel incat sa rezulte acelasi MD5 (acesti algoritmi au complexitatea mica la care te refereai). - optam sa creem 2 mesaje M1 si M2 avand acelasi MD5 pornind de la doua mesaje distince m1 si m2, M1=m1+d1,M2=m2+d2, unde d1 si d2 sunt vectori de caractere generati de algoritm pentru ca mesajele rezultate sa aibe acelasi MD5. Acest fel de atac e mult mai periculos decat primul dar si mai costisitor: o echipa de cercetatori a reusit in "doar" 6 luni sa obtina prin aceasta metoda coliziunea a 2 certificate (semnate cu MD5) folosind pana la 1200 de calculatoare: http://www.win.tue.n...ncementv1.0.pdf P.S. : MD5 si alti algoritmi de hash sunt algoritmi de criptare intr-o singura directie (sau one-way encryption ca suna mai bine parca :) ) |
|
#52
Posted 20 March 2008 - 03:06
Intamplator si de altfel nevoit de situatie, cautand niste metode de face o mobila :P am intrat din nou pe forum. Asa ca imi cer scuze celor care mi-au cerut codul sursa si nu le-am raspuns.
De atunci am mai schimbat vreo doua calculatoare, si am facut o adevarat munca de dedectiv sa gasesc programul, ca sa nu mai vorbesc si de instalarea foxului :D Iata codul: IF EMPTY(ALLTRIM(thisform.text1.Value)) MESSAGEBOX('Introdu parola',0,'EasyStyle') RETURN ENDIF LOCAL nr_crt, necifr, cifr, nr_tot, cr_medie,y, cifr1, pas necifr=thisform.edit1.Value cifr='' CR_MEDIE=ASC(SUBSTR(ALLTRIM(thisform.text1.Value),1,1)) pas=ALLTRIM(thisform.text1.value) re=LEN(necifr) sl='' ptr=1 FOR i=1 TO re FOR j=1 TO LEN(pas) y=ASC(SUBSTR(necifr,ptr,1)) tr=ASC(SUBSTR(pas,j,1)) IF y+tr>255 ml=y+tr-256 ELSE ml=y+tr ENDIF cifr=cifr+CHR(ml) *sl=sl+ALLTRIM(STR(y,3,0))+'+'+ALLTRIM(STR(tr,3,0))+'='+ALLTRIM(STR(ml,3,0))+CHR(13) ptr=ptr+1 IF ptr>re i=ptr EXIT ENDIF ENDFOR ENDFOR pr='' FOR i=1 TO LEN(ALLTRIM(thisform.text1.Value)) pr=pr+ALLTRIM(STR(ASC(SUBSTR(ALLTRIM(thisform.text1.Value),i,1)),3,0)) ENDFOR necifr=cifr y=0 cifr='' p=1 r=LEN(necifr) FOR z=1 TO LEN(pr) p1=SUBSTR(pr,z,1) IF p1='0' OR p1='1' LOOP ENDIF p2=ROUND(VAL(p1),0) cifr='' DO WHILE y=0 FOR i=1 TO p2 IF p*p2-i<=r cifr=cifr+SUBSTR(necifr,p*p2-(i-1),1) &&1 ELSE y=1 ENDIF ENDFOR p=p+1 ENDDO necifr=cifr y=0 p=1 ENDFOR thisform.edit2.Value='' thisform.edit2.Value=cifrPS. thisform.text1.Value = parola thisform.edit1.Value= textul ce trebuia criptat thisform.edit2.Value sau cifr = textul criptat Codul de aici era intr-un form. De cativa ani nu m-am mai uitat peste el, asa ca prea multe despre el nu stiu ce sa va spun, decat daca ma intrebati si incep sa scotocesc sa vad ce am facut. Vis-a-vis de ce au spus ceilalti forumisti, raman in continuare la parerea mea, ca e aextrem de greu de descifrat daca parola e lunga si textul ce urmeaza a fi criptat e deasemenea lung. Id-ul de YM e xdoradox. Mult succes.
Edited by ciuly, 07 April 2008 - 14:02.
|
#53
Posted 07 April 2008 - 13:37
Reverse engineering si dureaza 2 minute pana e spart... :)
|
#54
Posted 08 April 2009 - 20:04
Are cineva vre-un pdf/doc despre CSA (Common Scrambling Algorithm) in afara de ce este pe Wikipedia? Mi-ar fi de mare ajutor, pls
Edited by ciuly, 08 April 2009 - 20:07. |
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users