Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

izgradnja crc32 stringa

[es] :: Security :: Kriptografija i enkripcija :: izgradnja crc32 stringa

[ Pregleda: 3159 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

glupi

Član broj: 836
Poruke: 199
*.cmu.carnet.hr.



Profil

icon izgradnja crc32 stringa29.03.2005. u 19:46 - pre 232 meseci
Dali postoji neka metoda izgradnje stringa neke dužine sa nekoliko željenih bajtova na određenim mjestima(ako može text ili tutorial), ili se treba oslonit na bruteforce? Problem je ovaj, imam
Code:
if((hi = crc32(0, argv[1], strlen(argv[1]))) == 0xe1ca95ee)

i sada bih ja trebao napraviti string koji bi imao 0xe1ca95ee checksum ali bi trebao 4 bajta na 78 mjestu u tom bufferu bi trebala biti moja proizvoljna.
 
Odgovor na temu

Riste Pejov
Team Leader/Senior Software Developer @
Ein-Sof ltd Skopje
Skopje, Macedonia

Član broj: 128
Poruke: 571
217.16.77.*

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: izgradnja crc32 stringa15.04.2005. u 12:28 - pre 231 meseci
Pa i tih 4 bajta ne mogu biti bas proizvoljni.

Ako uzmemo da tvoj string izgleda ovako nekako:
Code:

0x1A 0x2B 0x3C 0x4E 0x5D 0x6E 0x7F 0x81

i recimo zelis promeniti vrednost 4-tog bajta (t.j. 0x4E)

Onda dobijes:
Code:

newCrc = (( oldCrc) >> 8 )^ crcTablVal

gde oldCrc je crc32(0x1A 0x2B 0x3C)

Sto znaci moras prema CRCTabeli da presmetas koja vrednost crcTabVal
Code:

crcTabVal = CRCTabela[( 0x4E )^(( oldCrc) & 0x000000FF )]

crcTabela je deklarirana ovako: DWORD crcTAbela[256] i se inicijalizira uz pomoc init vektora, koji moze da bude apsolutno svasta, ali je neko nekada rekao da je najbolje koristiti init vektor kao 0x04c11db7 koji uzput koriste sve zip, rar aplikacije.

Sto znaci, da novi bajt koji treba da zauzme mesto bajta 4E mora producirati isti index u crc tabeli kao i 4E. Onda mozes samo brute force sa sledecim uslovom:
Code:

( 0x4E )^(( oldCrc) & 0x000000FF ) ==  ( newByteVal )^(( oldCrc) & 0x000000FF ) 

Potrazi malo po netu ... valjda ces uspeti pronaci nekoliko bajta sa kojim mozes zameniti tvoje 4 bajte, a li verovatnost da ces uspeti da promenis vrednost tih 4 bajt bas po tvojoj volji je 0.
People who think they know everything tend to irritate those of us who do.
 
Odgovor na temu

glupi

Član broj: 836
Poruke: 199
*.cmu.carnet.hr.



Profil

icon Re: izgradnja crc32 stringa15.04.2005. u 21:43 - pre 231 meseci
Hvala na odgovoru, u medjuvremenu sam rijesio problem, napravio sam brutforce algoritam koji je za 2 sata nasao string duljine 80 znakova sa moja 4 bajta ;)
 
Odgovor na temu

[es] :: Security :: Kriptografija i enkripcija :: izgradnja crc32 stringa

[ Pregleda: 3159 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.