Tarkastussummista tiedostojen generoiminen...

Seuraa 
Viestejä45973
Liittynyt3.9.2015

Erilaisille tiedostoillehan voi laskea tarkastussummia...
Tämä summahan ei kuitenkaan voi kuvata kyseistä tiedostoa täysin?
Niin olisiko mitenkään mahdollista laskea tai jollain tavalla generoida tarkastussummasta sitä kuvaavaa tiedostoa tai datapakettia jos tämän tiedoston tai paketin ei kuitenkaan tarvitse toimia tai olla identtinen sen alkuperäisen kanssa.

Kommentit (8)

Vierailija

Kyseessä on fraktaalipakkaus. Koko tiedosto yhtenä kaavana. Sitä kai tuumittiin joskus 80-luvulla kun fraktaalit olivat muodissa.. Ei siitä mitään tullut kai.

salai
Seuraa 
Viestejä7095
Liittynyt17.3.2005

Kyrsa taitaa haluta tehdä viruspaketteja, jotka näyttävät tarkistussummiensa puolesta oikeilta?

Mitä tahansa edellä esitetyistä väitteistä saa epäillä ja ne voidaan muuttaa toisiksi ilman erillistä ilmoitusta. Kirjoittaja pyrkii kuitenkin toimimaan rehellisesti ja noudattamaan voimassa olevia lakeja.

Vierailija
salai
Kyrsa taitaa haluta tehdä viruspaketteja, jotka näyttävät tarkistussummiensa puolesta oikeilta?
En suinkaan ja itseasiassa olisi varmaan mahdotonta tehdä edes viruksena toimiva paketti joka saisi saman summan kuin alkuperäinen.

Ideana ei siis ole nyt saada aikaan toimivaa pakettia vaan mikä tahansa paketti joka saisi aikaan saman summan kuin alkuperäinen.

Vierailija

Kokeile googlata "md5 collision" tai "sha1 collision" tai mitä hash-algoritmiä käytätkin, tuolla löytyy jonkin verran juttua.

Neutroni
Seuraa 
Viestejä23113
Liittynyt16.3.2005

Tarksitussummien laskemiseen on monenlaisia menetelmiä. Joissain menetelmissä halutun tarkistussumman tuottaminen on hyvinkin yksinkertaista, jos muutamaa tavua tiedostossa voidaan vapaasti muuntaa. Kohteissa, joissa tarkastussummalla haetaan turvaa ilkivallalta eikä vain tiedonsiirtovirheiltä, käytetään tietysti monimutkaisempia tapoja. Joka tapauksessa tarkastussumman laskumenetelmä pitää tuntea ennen kuin voi sanoa mitään sen hallitun muuttamisen mahdollisuudesta.

Vierailija
Kyrsa

Ideana ei siis ole nyt saada aikaan toimivaa pakettia vaan mikä tahansa paketti joka saisi aikaan saman summan kuin alkuperäinen.



No siinä tapauksessa tuo Sivullisen kommentoimakin collision tulee tässä asiassa olelliseksi. Siis jos tosiaan käytetään jotain vähänkin parempaa tarkistus systeemiä niin kahden eri lähteen tuottama sama tarkistussumma on jo "kovan luokan" uutinen (esim. SHA-1 algoritmin "collision"), joten Sinulla on erittäin pieni mahdollisuus saada sitä aikaiseksi millään.

Todettakoon samaan hengenvetoon yksi itsestäänselvyys, eli että ainakin niin kauan kuin lähde tietoa on enemmän kuin mitä tarkistussumma sisältää niin noita törmäyksiä kyllä syntyy. Eri asia vain on että kuinka usein niitä löytyy - ja se ei ole kovin usein se.

Kyrsa

...Niin olisiko mitenkään mahdollista laskea tai jollain tavalla generoida tarkastussummasta sitä kuvaavaa tiedostoa...

Nuo kryptaus (tai siis oikeammin hash) algoritmit ovat hukkaavia eli ne toimivat vain toiseen suuntaan. Toisin sanoen alkuperäinen tieto menetetään aina peruuttamattomasti (toisin kuin kryptauksessa, jossa alkup. tieto on vielä olemassa). Lisäksi jos alkuperäisestä tiedosta muutetaan yksikin bitti, niin tarkistussumma näyttää totaalisesti erilaiselta. Eli ei laskemalla. Jos puhutaan generoimisesta, niin kyllä. Mutta se on sitten sellaista brute-force meininkiä eli käydään erilaisia vaihtoehtoja läpi kunnes törmätään sopivaan lähdetietoon joka tuottaa "collisionin". Ja se tulee ottamaan piiiiiiiiiiiiiiiiiiiiiiiiiiiiiitkään.

Esim. tuolta löytyy noista duplikaattien (full collision) todennäköisyyksistä:
http://en.wikipedia.org/wiki/SHA-1

Tuolla todetaan, että Brute-force haku veisi SHA-1:n tapauksessa 2^80 yritystä, joka olisi säälittävät
1 208 925 819 614 629 174 706 176 yritystä. Tosin jotkut väittävät keksineensä oikotien, joka vaatisi vain 2^69 operaatiota. Sehän ei sitten enää ole juuri mitään, vain
590 295 810 358 705 651 712 rundia.

Jos tuollaista määrää jättää koneensa pyörittelemään niin kannattaa hankkia iso termospullo kahvia varten..

Vierailija

Kiitos paljon jo tähänkin asti sain todella paljon itseäni askarruttanutta tietoa...

Mites jos datapaketin täytyisi olla vieläpä saman kokoinen kuin se alkuperäinen

ja onkos SHA ja SHA-1:llä paljonkin eroa?

Vierailija
Kyrsa

Mites jos datapaketin täytyisi olla vieläpä saman kokoinen kuin se alkuperäinen



Mitä siitä? Jos kysyt, että onko törmäystilanne silloin mahdollinen niin jaa-a, ehkä - ehkä ei. Enpä osaa sanoa pystyykö kukaan vastaamaan tuohon kysymykseen.. Jos ihan perstuntumaa kysytään, niin itse veikkaan että collisioita tulee.

Kyrsa

ja onkos SHA ja SHA-1:llä paljonkin eroa?

Millä tavalla? Yleisellä tasolla sen verran, että SHA:ta (SHA-0) ei enää pidetä turvallisena. SHA-1:nkin turvallisuutta on kyseenalaistettu, kun taas SHA-2 versioita vastaan ei ole vielä kyetty hyökkäämään. Tuokin on omasta mielestäni nyt vähän niin ja näin (vaatii niiden murtaminen edelleenkin aika paljon raakaa laskentavoimaa). Lukaise tosiaan se Wikipedian linkki jonka laitoin aikaisemmin, siellä on ihan mukavasti ja varsin kattavasti selitelty juttuja.

Ja siis noita algoritmejahan löytyy maailmasta vaikka "hurumykke".. Esim. useissa vertaisverkoissa (P2P) tiedostoista lasketaan tarkistussummat TTH:lla (Tiger Tree Hash).

Uusimmat

Suosituimmat