<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: MD5 Considered Harmful Today</title>
	<atom:link href="http://ubergeek.ro/2008/12/30/md5-considered-harmful-today/feed/" rel="self" type="application/rss+xml" />
	<link>http://ubergeek.ro/2008/12/30/md5-considered-harmful-today/</link>
	<description>If at first you don't succeed, call it version 1.0</description>
	<lastBuildDate>Fri, 27 Jan 2012 07:52:47 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: tb</title>
		<link>http://ubergeek.ro/2008/12/30/md5-considered-harmful-today/comment-page-1/#comment-3017</link>
		<dc:creator>tb</dc:creator>
		<pubDate>Sun, 18 Jan 2009 12:40:22 +0000</pubDate>
		<guid isPermaLink="false">http://ubergeek.ro/?p=268#comment-3017</guid>
		<description>Să le luăm pe rând, deci.
1) cu SHA-X mă refeream la SHA-1 şi SHA-2, dar ai dreptate, formularea ar trebui evitată pentru că induce ambiguitate.
2) Momentan nu există (din câte ştiu eu) atacuri point-and-click asupra RSA.
    În schimb din ce ştiu, există algoriti din ce în ce mai eficienţi (de la complexitate subexponenţială , îndreptându-se cu paşi mici, dar siguri spre polinomială) de factorizare. Cel mai eficient acum ştiu eu că sunt GNFS (un ciur generalizat). Apoi existenţa algoritmului lui Shor care are complexitate polinomială (dar pe calculatoare cuantice), existenţa testului de primalitate AKS care are complexitate polinomială (pe calculatoarele actuale) nu fac să întărească încrederea în sistemul RSA.
     
Alte indicii în privinţa faptului că RSA nu mai e ce a fost ar fi faptul că RSA factoring challenge nu mai e activă, faptul că cei de la NSA au exclus RSA din toate suitele de algoritmi pentru documente de tip top secret la nivel guvernamental.

Cam asta e ce se ştie. În plus nu uita că serviciile de securitate din întreaga lume dezvoltă algoritmi şi tehnici care nu sunt publicate. Că or fii mai bune sau mai rele nu ştiu, dar există probabilitatea ca ei să fi dezvoltat algoritmi cel puţin la fel de buni ca cei publici.

Nu m-aş mira ca folosind tehnici gen programare asistată de  GPU (vezi CUDA) cu o investiţie minimă de vreo 10k-20k dacă eşti destul de competent şi motivat să se poată executa un atac cu succes asupra RSA. Şi să ne fie cu iertare, dar 10-20k comparativ cu profitul obţinut nu e mare lucru.

3) Povestea cu ECC e lungă şi complicată (din punct de vedere matematic).
   O să încerc mai jos să enumăr diferenţele şi avantajele ECC vs RSA şi DSA.
    Pe scurt, RSA sau ElGamal (pe care e bazat DSA-ul) lucrează pe singur corp (Galois ).
    În cazul ECC, pentru fiecare comunicare securizată (semnătură, criptare) se poate folosi o altă curbă. Avantajul constă că în momentul de faţă s-au găsit vulnerabilităţi doar pentru curbe foarte specifice şi în concluzie, dacă se găseşte o vulnerabilitate pentru o curbă folosită într-un loc, e puţin probabil să se găsească în acelaşi timp şi pentru altă curbă folosită în altă parte.
    Revenind la vulnerabilităţile ştiute, se ştie că există nişte curbe care trebuiesc evitate şi există în momentul de faţă algoritmi eficienţi pentru detectarea acestora rapid şi eficient în momentul generării curbei. 
     Ca eficienţă , se presupune că o semnătură ECDSA pe 160 biţi e la fel de sigură ca una DSA pe 1024 biţi. Asta numai ca dimensiune. Dar şi ca eficienţă a calculelor, generarea cheii de semnătură , precum şi operaţiunile de semnare şi verificare a semnăturii, merg mai repede folosind ECDSA.
     Dacă vrei un &quot;de ce &quot; mult mai detaliat, trebuie intrat mai mult în partea matematică şi necesită ceva mai mult timp.</description>
		<content:encoded><![CDATA[<p>Să le luăm pe rând, deci.<br />
1) cu SHA-X mă refeream la SHA-1 şi SHA-2, dar ai dreptate, formularea ar trebui evitată pentru că induce ambiguitate.<br />
2) Momentan nu există (din câte ştiu eu) atacuri point-and-click asupra RSA.<br />
    În schimb din ce ştiu, există algoriti din ce în ce mai eficienţi (de la complexitate subexponenţială , îndreptându-se cu paşi mici, dar siguri spre polinomială) de factorizare. Cel mai eficient acum ştiu eu că sunt GNFS (un ciur generalizat). Apoi existenţa algoritmului lui Shor care are complexitate polinomială (dar pe calculatoare cuantice), existenţa testului de primalitate AKS care are complexitate polinomială (pe calculatoarele actuale) nu fac să întărească încrederea în sistemul RSA.</p>
<p>Alte indicii în privinţa faptului că RSA nu mai e ce a fost ar fi faptul că RSA factoring challenge nu mai e activă, faptul că cei de la NSA au exclus RSA din toate suitele de algoritmi pentru documente de tip top secret la nivel guvernamental.</p>
<p>Cam asta e ce se ştie. În plus nu uita că serviciile de securitate din întreaga lume dezvoltă algoritmi şi tehnici care nu sunt publicate. Că or fii mai bune sau mai rele nu ştiu, dar există probabilitatea ca ei să fi dezvoltat algoritmi cel puţin la fel de buni ca cei publici.</p>
<p>Nu m-aş mira ca folosind tehnici gen programare asistată de  GPU (vezi CUDA) cu o investiţie minimă de vreo 10k-20k dacă eşti destul de competent şi motivat să se poată executa un atac cu succes asupra RSA. Şi să ne fie cu iertare, dar 10-20k comparativ cu profitul obţinut nu e mare lucru.</p>
<p>3) Povestea cu ECC e lungă şi complicată (din punct de vedere matematic).<br />
   O să încerc mai jos să enumăr diferenţele şi avantajele ECC vs RSA şi DSA.<br />
    Pe scurt, RSA sau ElGamal (pe care e bazat DSA-ul) lucrează pe singur corp (Galois ).<br />
    În cazul ECC, pentru fiecare comunicare securizată (semnătură, criptare) se poate folosi o altă curbă. Avantajul constă că în momentul de faţă s-au găsit vulnerabilităţi doar pentru curbe foarte specifice şi în concluzie, dacă se găseşte o vulnerabilitate pentru o curbă folosită într-un loc, e puţin probabil să se găsească în acelaşi timp şi pentru altă curbă folosită în altă parte.<br />
    Revenind la vulnerabilităţile ştiute, se ştie că există nişte curbe care trebuiesc evitate şi există în momentul de faţă algoritmi eficienţi pentru detectarea acestora rapid şi eficient în momentul generării curbei.<br />
     Ca eficienţă , se presupune că o semnătură ECDSA pe 160 biţi e la fel de sigură ca una DSA pe 1024 biţi. Asta numai ca dimensiune. Dar şi ca eficienţă a calculelor, generarea cheii de semnătură , precum şi operaţiunile de semnare şi verificare a semnăturii, merg mai repede folosind ECDSA.<br />
     Dacă vrei un &#8220;de ce &#8221; mult mai detaliat, trebuie intrat mai mult în partea matematică şi necesită ceva mai mult timp.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bogd</title>
		<link>http://ubergeek.ro/2008/12/30/md5-considered-harmful-today/comment-page-1/#comment-2706</link>
		<dc:creator>bogd</dc:creator>
		<pubDate>Sat, 03 Jan 2009 17:38:29 +0000</pubDate>
		<guid isPermaLink="false">http://ubergeek.ro/?p=268#comment-2706</guid>
		<description>1) Am mai spus-o si eu - SHA-1 are și el vulnerabilitățile lui (deși este „încă secure”). Iar SHA-2 este înrudit cu SHA-1, ca urmare o vulnerabiliate majoră din SHA-1 poate afecta și SHA-2.

Aș evita totuși formularea „SHA-X”, pentru că ea include și SHA-3, despre care încă nu știm ce va fi exact :)

2) De RSA nu am zis nimic - în afară de „nu cunosc până acum vulnerabilități majore și/sau atacuri reușite la adresa RSA”. Ai vreun contraexemplu?

3) Din păcate, link-ul respectiv nu specifică _de ce_ s-a preferat ECC față de algoritmii „clasici” cu cheie publică. Spune doar „peste 1024 bits, decât să creștem dimensiunea cheii, preferăm să trecem la ECC”. Any ideas why?</description>
		<content:encoded><![CDATA[<p>1) Am mai spus-o si eu &#8211; SHA-1 are și el vulnerabilitățile lui (deși este „încă secure”). Iar SHA-2 este înrudit cu SHA-1, ca urmare o vulnerabiliate majoră din SHA-1 poate afecta și SHA-2.</p>
<p>Aș evita totuși formularea „SHA-X”, pentru că ea include și SHA-3, despre care încă nu știm ce va fi exact <img src='http://ubergeek.ro/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>2) De RSA nu am zis nimic &#8211; în afară de „nu cunosc până acum vulnerabilități majore și/sau atacuri reușite la adresa RSA”. Ai vreun contraexemplu?</p>
<p>3) Din păcate, link-ul respectiv nu specifică _de ce_ s-a preferat ECC față de algoritmii „clasici” cu cheie publică. Spune doar „peste 1024 bits, decât să creștem dimensiunea cheii, preferăm să trecem la ECC”. Any ideas why?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tb</title>
		<link>http://ubergeek.ro/2008/12/30/md5-considered-harmful-today/comment-page-1/#comment-2705</link>
		<dc:creator>tb</dc:creator>
		<pubDate>Sat, 03 Jan 2009 17:16:57 +0000</pubDate>
		<guid isPermaLink="false">http://ubergeek.ro/?p=268#comment-2705</guid>
		<description>salve şi La mulţi ani.
cine ştie destul de în detaliu ce face şi ştie SHA-1 şi la fel şi SHA-2 ar trebui să cunoască faptul că SHA-x precum şi MD-5 fac parte din acceaşi familie din punct de vedere constructiv.

Oricum, apropos de contraziceri, (că tot ai tu tendinţa să zici că RSA şi MD5 sigure (cel puţin aveai până de curând)) , uită-te la nsa suite B (http://www.nsa.gov/ia/Industry/crypto_suite_b.cfm) să vezi ce e recomandat pentru criptare, semnătură, hash. 
Criptare - AES
Schimb de chei - ECDH
Semnătură - ECDSA
hash- SHA - 256 şi SHA-384.
Have fun în lumea asta mirifică</description>
		<content:encoded><![CDATA[<p>salve şi La mulţi ani.<br />
cine ştie destul de în detaliu ce face şi ştie SHA-1 şi la fel şi SHA-2 ar trebui să cunoască faptul că SHA-x precum şi MD-5 fac parte din acceaşi familie din punct de vedere constructiv.</p>
<p>Oricum, apropos de contraziceri, (că tot ai tu tendinţa să zici că RSA şi MD5 sigure (cel puţin aveai până de curând)) , uită-te la nsa suite B (<a href="http://www.nsa.gov/ia/Industry/crypto_suite_b.cfm" onclick="javascript:pageTracker._trackPageview('comm/www.nsa.gov');" rel="nofollow">http://www.nsa.gov/ia/Industry/crypto_suite_b.cfm</a>) să vezi ce e recomandat pentru criptare, semnătură, hash.<br />
Criptare &#8211; AES<br />
Schimb de chei &#8211; ECDH<br />
Semnătură &#8211; ECDSA<br />
hash- SHA &#8211; 256 şi SHA-384.<br />
Have fun în lumea asta mirifică</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: UberGeek &#38;raquo; Blog Archive &#38;raquo; Hash Competition</title>
		<link>http://ubergeek.ro/2008/12/30/md5-considered-harmful-today/comment-page-1/#comment-2678</link>
		<dc:creator>UberGeek &#38;raquo; Blog Archive &#38;raquo; Hash Competition</dc:creator>
		<pubDate>Wed, 31 Dec 2008 09:07:20 +0000</pubDate>
		<guid isPermaLink="false">http://ubergeek.ro/?p=268#comment-2678</guid>
		<description>[...] Ei bine, iată că se întâmplă! Concursul este deja deschis, și s-au primit 64 de propuneri. Cel mai probabil vom avea un standard undeva prin 2012. Not a moment too soon, aș putea spune [...]</description>
		<content:encoded><![CDATA[<p>[...] Ei bine, iată că se întâmplă! Concursul este deja deschis, și s-au primit 64 de propuneri. Cel mai probabil vom avea un standard undeva prin 2012. Not a moment too soon, aș putea spune [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bogd</title>
		<link>http://ubergeek.ro/2008/12/30/md5-considered-harmful-today/comment-page-1/#comment-2676</link>
		<dc:creator>bogd</dc:creator>
		<pubDate>Wed, 31 Dec 2008 07:56:21 +0000</pubDate>
		<guid isPermaLink="false">http://ubergeek.ro/?p=268#comment-2676</guid>
		<description>@Vlad: nu, nu este o soluție. A funcționat pentru DES, pentru că la 3DES se foloseau 3 chei diferite. Nu funcționează la algoritmi de hash, pentru că practic întotdeauna când folosești MD5 ȘTII textul original  (ideea este tocmai ca ambele părți să calculeze hash-ul pe textul original, și să verifice dacă este același). Ca urmare, poți oricând să calculezi md5(text), și să aplici atacul de mai sus.

Luăm același exemplu, al certificatului digital. Știu textul certificatului, și pot să generez un alt certificat astfel incat md5(real_cert)==md5(fake_cert). Atunci in mod sigur md5(md5(real_cert))==md5(md5(fake_cert)) - am funcția de hash care primește 2 intrări identice. Game over :)</description>
		<content:encoded><![CDATA[<p>@Vlad: nu, nu este o soluție. A funcționat pentru DES, pentru că la 3DES se foloseau 3 chei diferite. Nu funcționează la algoritmi de hash, pentru că practic întotdeauna când folosești MD5 ȘTII textul original  (ideea este tocmai ca ambele părți să calculeze hash-ul pe textul original, și să verifice dacă este același). Ca urmare, poți oricând să calculezi md5(text), și să aplici atacul de mai sus.</p>
<p>Luăm același exemplu, al certificatului digital. Știu textul certificatului, și pot să generez un alt certificat astfel incat md5(real_cert)==md5(fake_cert). Atunci in mod sigur md5(md5(real_cert))==md5(md5(fake_cert)) &#8211; am funcția de hash care primește 2 intrări identice. Game over <img src='http://ubergeek.ro/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vlad</title>
		<link>http://ubergeek.ro/2008/12/30/md5-considered-harmful-today/comment-page-1/#comment-2667</link>
		<dc:creator>Vlad</dc:creator>
		<pubDate>Tue, 30 Dec 2008 23:06:04 +0000</pubDate>
		<guid isPermaLink="false">http://ubergeek.ro/?p=268#comment-2667</guid>
		<description>Totusi, cred ca solutia md5(md5(something)) este inca valabila, intrucat chiar daca ai facut coliziune pe primul md5, pentru al doilea nu sti nici textul, nici hash-ul</description>
		<content:encoded><![CDATA[<p>Totusi, cred ca solutia md5(md5(something)) este inca valabila, intrucat chiar daca ai facut coliziune pe primul md5, pentru al doilea nu sti nici textul, nici hash-ul</p>
]]></content:encoded>
	</item>
</channel>
</rss>

