Az SHA1 hibás

Bruce Schneier neves amerikai titkosítási és biztonsági szakértő szerint az SHA1 algoritmus tervezési hibákat tartalmaz. Szerinte most nem csak elméleti, hanem igazi, valószínűleg kihasználható hibáról van szó. Ha ez így van, akkor az SHA1-nek vége, mint a digitális aláírásokhoz használt hash algoritmus.A szakértő blogjában azt olvashatjuk, hogy Xiaoyun Wang, Yiqun Lisa Yin, és Hongbo Yu (a kínai Shandong Egyetemről) olyan dokumentumot készítettek, amely ezt az állítást alátámasztják. Jelenleg a papír nem érhető el publikusan. Schneier több részletet ígér, ha azok a birtokába kerülnek.

Bővebben a szakember blogjában.

Hozzászólások

Micskó Gábor wrote:
> Bruce Schneier [0] neves amerikai titkosítási és biztonsági szakértő
> szerint az SHA1 algoritmus tervezési hibákat tartalmaz. Szerinte most nem
> csak elméleti, hanem igazi, valószínűleg kihasználható hibáról van szó. Ha
> ez így van, akkor az SHA1-nek vége, mint a digitális aláírásokhoz használt
> hash algoritmus.
SHA (Shit Happens Again) :)

Az APEH által kiadott, támogatott elektronikus aláírások esetleg nem ezt az algoritmust használják? ;D

Ha jól értem, akkor 2^69 próbálkozásból lehet ütközést találni az eredeti 2^80 helyett. Ez még hagy egy kis időt a lecserélésére. Már csak az a kérdés, hogy mire? Az MD5-tel is vannak gondok...

Gyurcsek Ádám wrote:
> Ha jól értem, akkor 2^69 próbálkozásból lehet ütközést találni az eredeti
> 2^80 helyett. Ez még hagy egy kis időt a lecserélésére. Már csak az a
> kérdés, hogy mire? Az MD5-tel is vannak gondok...
bra@japan[~]$ openssl
OpenSSL> speed sha1
To get the most accurate results, try to run this
program when this computer is idle.
Doing sha1 for 3s on 16 size blocks: 1834701 sha1's in 2.89s
Doing sha1 for 3s on 64 size blocks: 1344491 sha1's in 2.90s
Doing sha1 for 3s on 256 size blocks: 726985 sha1's in 2.88s
Doing sha1 for 3s on 1024 size blocks: 258113 sha1's in 2.89s
Doing sha1 for 3s on 8192 size blocks: 36611 sha1's in 2.90s
OpenSSL 0.9.7d 17 Mar 2004
built on: Thu Jan 27 19:02:44 CET 2005
options:bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long)
aes(partial) blowfish(idx)
compiler: cc
available timing options: USE_TOD HZ8 [sysconf value]
timing function used: getrusage
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192
bytes
sha1 10147.22k 29657.19k 64566.10k 91321.38k
103334.32k

CPU: Intel(R) Pentium(R) 4 CPU 2.80GHz (2793.02-MHz 686-class CPU)

Tehát ez a gép legrosszabb esetben 29484627,37 év alatt fogja megtalálni
az ütközést egy 16 bájtos blokkra nézve, ha nem számoltam el valamit.

Nagyon is reálisnak tűnik a veszély :)