Stránka 1 z 2

Záludnosti tvorby CRC

Napsal: 19.3.2006 0:37
od sevencreature
Určitě je tu pár lidí (minimálně Vlasák a drake127, předpokládám :wink:), kteří mají s crc algoritmy nějaké zkušenosti.

Mě ale přímo zajímá jedna věc. Jak vytvořit soubor, který bude mít konkrétní CRC? Zajímalo by mě, jestli víte o nějakém jednoduchém způsobu.

Příklad: Chci třeba, aby můj výstupní soubor (zhruba 100 MB) měl CRC 13371337.

Napsal: 19.3.2006 13:45
od Vlasák
Přímo s crc zkušenosti nemám, nicméně je to stále na principu hledání kolizí, což se třeba u md5 podařilo hrstce lidí, kteří svůj postup držej v tajnosti ;-)
Nicméně crc je přece jenom mnohem primitivnější než md5 a hlavně to je prostej checksum a nic kryptografickýho, takže to imho nebude tak velkej problém.

Ale bude záležet, co přesně chceš? Vygenerovat nesmyslnej soubor tak, aby dávala danou crc? Nebo ten soubor má mít nějaký formátování?

Jednoduchý způsob bude brute-force 8-) Složitější útok stále nějaká hrubá síla, ale s nějakými heuristkami, rozdělením na bloky, atp. Koneckonců, je to o matice, takže prostředky jsou ;-)

+ http://www.crc2003.250x.com/

Napsal: 19.3.2006 14:23
od sevencreature
Vlasák: Díky za link, ale tohle nepotřebuju. Narazil jsem na některé soubory, které jejich autoři vytvořili s konkrétními crc (funkční soubory) a zajímalo mě, jak se jim to podařilo (zatím jsem se ještě nedostal k tomu, abych to s nimi probral :-) ).

Tj. upřesním příklad: mám WAV soubor a chci ho zkomprimovat do MP3 s tím, aby výstupní soubor měl crc třeba 13371337.

Musím říct, že mě tahle věc docela zaujala :lol:

Edit: zajímavé: http://www.codeproject.com/cpp/crcspoof.asp

Napsal: 19.3.2006 14:44
od Vlasák
7c: nevím, jaký formát mp3 přesně má, ale určitě tam jsou nějaké "nedůležité" bloky (co já vím, třeba prosté připojení na konec), které by se daly pro tohle využít, "aby to pak vycházelo". Často se dělají kontroly jen nějakých headerů a servisních bloků, takže to ani nemusí mít s audio daty v mp3 co dočinění...

Napsal: 19.3.2006 14:59
od sevencreature
Vlasák: Jj, taky myslím, že to je připojením nějakých dat "do počtu", ale i tak... :-)

Programování

Napsal: 18.5.2006 18:42
od Ithralsiel
Jak jste na tom??
P.S. - teď mi vypadlo jak se provádí příkaz ke goto vzhledem k řádku.. :oops:

Re: Programování

Napsal: 18.5.2006 19:10
od AlieN
Ithralsiel píše:Jak jste na tom??
Bídně, nic neumím a učitelé mě za to nemají rádi :lol:

ps: goto je fuj ;-)

Napsal: 18.5.2006 19:17
od Ithralsiel
My jsme ho teď ve druháku začali brát minulej týden.Ale předtím jsem měl doučování s kámošem jehož táta je programátor(tudíž první program udělal asi v osmi letech - a ted mě to učil on)

já vím, že goto je fuj, ale potřebuju ho

Napsal: 18.5.2006 19:31
od sevencreature
Ithralsiel píše:já vím, že goto je fuj, ale potřebuju ho
Pokud nepíšeš dávkové soubory pro DOS nebo cmd.exe, tak ho nepotřebuješ :wink: :mrgreen:

Napsal: 19.5.2006 6:21
od Ithralsiel
Já jsem v informatice neměl co dělat,tak jsem dostal úkol,že mám vytvořit program na kvadratický rovnice.Není to tak těžký,ale nechcou se mi počítat kořeny když je První číslo (a) 0 .Prostě bych tam chtěl podmínku,která ho zpátky na začátek...

Re: Programování

Napsal: 19.5.2006 9:21
od Vlasák
Ithralsiel píše:Jak jste na tom??
P.S. - teď mi vypadlo jak se provádí příkaz ke goto vzhledem k řádku.. :oops:
...všelijak ;-)

Jak myslíš vzhledem k řádku? Jakože skáčeš zpátky začátek řádky?:

Kód: Vybrat vše

nula: if něco then goto nula


?

Neni to už lepší udělat třeba přes while? ;-)

Nebo to myslíš tak, že chceš hopsnout na konkértní řádek?

Napsal: 19.5.2006 15:26
od drake127
Bú, dneska jsem dostal z C++ za tři :cry: Jaký jiný předmět bych měl napsat dobře, když ne C++. :cry:

Napsal: 19.5.2006 16:07
od Ithralsiel
myslím např. kdyby bylo:
readln(a);
if a = 0 then
writeln('nulou delit nemuzes');
goto / a teď zpátky readline a


P.S.To druhý co mám v podpisu je můj prbní program :lol:

Napsal: 19.5.2006 16:14
od AlieN
tak to dej do cyklu while a=0 ;-)

Napsal: 19.5.2006 16:15
od Ithralsiel
a co dál - já nejsem na tom tak dobře a fakt toho znám málo.Co je párovej příkaz k while?(jestli teda nějeakej je).