Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Porovnat zašifrované soubory podle bitů  (Přečteno 1602 krát)

Katsushiro

  • Návštěvník
  • Příspěvků: 56
Porovnat zašifrované soubory podle bitů
« kdy: 22 Března 2015, 21:18:26 »
Ahoj všichni!
Ve škole jsme měli jako jeden z 6ti bodů zadání napsat skript, který z hashů dvou zašifrovaných binárních souborů spočítá, kolik bitů se liší - jeden ze souborů je poškozený a takhle se to má dokázat. Vůbec ale netuším, jak se dá na Linuxu něco takového udělat (nedělám to kvůli tomu jednomu bodu, zbylých 5 mám, opravdu mě to zajímá)?

Zkoušel jsem příkaz cmp, ale ten mi vyhodil, že se liší 1 byte, což je prý blbě, má to být mnohem víc.

Hash generuji pomocí příkazu:  openssl dgst -sha256 SOUBOR

Moc děkuji za veškeré rady,
Katsu
« Poslední změna: 22 Března 2015, 21:49:08 od Katsushiro »

Martin Šácha

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • ******
  • Příspěvků: 5153
Re:Porovnat zašifrované soubory podle bitů
« Odpověď #1 kdy: 22 Března 2015, 21:40:19 »
Taky by me zajimalo jak se sifruje pomoci SHA... a jak z vysledku odvodit puvodni obsah.

Nejdriv si ujasni termity...
Mint MATE 64bit / DuckDuckGo.com
Programátoři považují WYSIWYG za špatné u kódu i u žen. Programátor chce "dostat to, co žádá“ – kód tajemný, neodpouštějící, nebezpečný.

Katsushiro

  • Návštěvník
  • Příspěvků: 56
Re:Porovnat zašifrované soubory podle bitů
« Odpověď #2 kdy: 22 Března 2015, 21:55:02 »
Ok, to s šifrováním byla fakt blbost, to je tak, když to člověk píše s přestávkama :-) O odvozování obsahu zpětně nikde nic nevidím  :-[

Jinak mě napadlo, že bych získal hashe pomocí sha256sum a ty pak prostě porovnal, počet jiných bytů by snad mohl stačit...

donny

  • Závislák
  • ***
  • Příspěvků: 1861
Re:Porovnat zašifrované soubory podle bitů
« Odpověď #3 kdy: 23 Března 2015, 08:16:24 »
je jedno, o kolik se lisi. I nepatrna zmena na vstupu (napr. zmena jednoho bitu) vede k velke zmene na vystupu. Realne staci porovnat, jestli jsou ty retezce stejne, v tom jsou soubory binarne stejne. O kolik se pripadne lisi, na to nemas sanci prijit, pokud jde o ten hash. Jedine pak porovnat ten soubor bit po bitu.

Kód: [Vybrat]
$ echo abc > soubor1
$ echo abb > soubor2 # lisi se o jeden bit
$ echo abc > soubor3 # stejny jako prvni
$ sha256sum soubor1 soubor2 soubor3
edeaaff3f1774ad2888673770c6d64097e391bc362d7d6fb34982ddf0efd18cb  soubor1
3fe1a3938782c0fb2bf47746f2ba9e5a56ecab2afc57589b4cc97713e00b3bb4  soubor2
edeaaff3f1774ad2888673770c6d64097e391bc362d7d6fb34982ddf0efd18cb  soubor3
« Poslední změna: 23 Března 2015, 08:19:35 od donny »
archlinux @ i7-6700/GTX1080 8G/32G DDR4/.5TB NVMe/WD RED 3TB | Raspbian 8 @ Raspberry Pi
Ever tried. Ever failed. No matter. Try again. Fail again. Fail better!

 

Provoz zaštiťuje spolek OpenAlt.