Vizualizace kryptografického otisku (Hashe)

Re:Vizualizace kryptografického otisku (Hashe)
« Odpověď #30 kdy: 17. 10. 2015, 16:20:55 »
Jakožto dlouhodobý uživatel vizuálních hashů v SSH prostě nemůžu souhlasit se zde uvedenými argumenty.

Jednak to prostě není na wow efekt. Člověk zpracovává vizuální informace podstatně lépe, než symbolické. To že je běžný hash také „vizuální“ je pěkná blbost, protože ho musím prvně přečíst, pak pochopit a tak je z něj sáhodlouhá matlanice symbolických znaků, kde nepoznám nic, pokud si ho vůbec kdy budu schopný zapamatovat. Oproti tomu zapamatovat si obrázek je podstatně jednodušší, což mám potvrzeno praxí, protože to používám.

Dále nevím, co se tu pořád řeší s 255 obrázky a kolizemi. Obrázek má podstatně větší prostor všech možných kombinací, než kdy bude mít string o 32 znacích. OP se může omezit na mixování různých tvarů, kde prostě může třeba i formálně dokázat, že tam nic takového jako kolize nikdy nebude (myšlena kolize, že dva různé hashe vytvoří stejný/podobný obrázek, nikoliv pro vstupní data do toho hashe).

Pokud se to správně implementuje, tak je to jen jiný formát serializace hashe, v čemž nevidím nic špatného.


Re:Vizualizace kryptografického otisku (Hashe)
« Odpověď #31 kdy: 17. 10. 2015, 17:28:28 »
Největší problém je vytvořit vlastnosti, které budou schopny obsáhnout alespoň bajt informace, navíc tak, aby bylo vizuálně jednoduché dané hodnoty rozeznat. Ve výsledku to není nic jiného než čárový kód, ale optimalizovaný pro lidské oko.

Kolize nemá cenu řešit, to je problém algoritmu otisku, ne jeho zobrazení.

Re:Vizualizace kryptografického otisku (Hashe)
« Odpověď #32 kdy: 17. 10. 2015, 21:52:00 »
Oproti tomu zapamatovat si obrázek je podstatně jednodušší, což mám potvrzeno praxí, protože to používám.
To je ovšem jenom chyba v pozorování. Zkusil podstrčil vám někdy někdo podobný obrázek, jestli byste si všiml rozdílu? Nezkusil. Kdybyste si to vyzkoušel, nestačil byste se divit, u jak rozdílného obrázku jste si stále ještě myslel, že je to ten, který si pamatujete. Zvlášť když očekáváte, že by to měl být ten samý obrázek.

Obrázek má podstatně větší prostor všech možných kombinací, než kdy bude mít string o 32 znacích.
V tom problém není. Problém je v tom, že lidský mozek drtivou většinu těch informací zahodí. Můžete si to velice snadno vyzkoušet. Vezměte si nějaký nekomprimovaný obrázek, a ten uložte jako JPEG, klidně s 90% kvalitou. Pokud jako obrázek nezvolíte něco velikosti poštovní známky, ale třeba nějakou fotku, budete mít dva různé obrázky, s různými informacemi – a do toho rozdílu by se vám hashů vešlo spousta. Když se ale na ty obrázky podíváte, na první pohled nepoznáte žádný rozdíl.

Jenda

Re:Vizualizace kryptografického otisku (Hashe)
« Odpověď #33 kdy: 17. 10. 2015, 22:28:27 »
Jakožto dlouhodobý uživatel vizuálních hashů v SSH prostě nemůžu souhlasit se zde uvedenými argumenty.

Já na svém nic moc notebooku umím vyrobit 44 miliard klíčů za den. Porovnání randomartu asi taky chvíli zabere, na druhou stranu bych to mohl pustit na GPU, kde to bude o několik řádů rychlejší. Dokážeš rozlišit bilion obrázků?

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Vizualizace kryptografického otisku (Hashe)
« Odpověď #34 kdy: 17. 10. 2015, 22:48:45 »
To že je běžný hash také „vizuální“ je pěkná blbost, protože ho musím prvně přečíst, pak pochopit...

Ehm, co presne chcete na tom hashi chapat?


Re:Vizualizace kryptografického otisku (Hashe)
« Odpověď #35 kdy: 18. 10. 2015, 00:16:11 »
To je ovšem jenom chyba v pozorování. Zkusil podstrčil vám někdy někdo podobný obrázek, jestli byste si všiml rozdílu? Nezkusil. Kdybyste si to vyzkoušel, nestačil byste se divit, u jak rozdílného obrázku jste si stále ještě myslel, že je to ten, který si pamatujete. Zvlášť když očekáváte, že by to měl být ten samý obrázek.

Zde se ovšem bavíme o zcela specifickém algoritmu na generování obrázků, který je zkonstruován tak, aby k tomuhle nedocházelo, ne o nějaké krajinomalbě. Například ten SSH fingerprint a jeho Drunken bishop.

Já na svém nic moc notebooku umím vyrobit 44 miliard klíčů za den. Porovnání randomartu asi taky chvíli zabere, na druhou stranu bych to mohl pustit na GPU, kde to bude o několik řádů rychlejší. Dokážeš rozlišit bilion obrázků?

Rozhodně lépe, než bilion stejně-dlouhých alfanumerických stringů.

Ehm, co presne chcete na tom hashi chapat?

Abych ho mohl porovnávat, musím ho prvně přečíst. Pak ho musím udržet v paměti a pak ho musím porovnat znak za znakem s tím, který jsem tam viděl dříve. Pak musím rozhodnout, jestli je stejný.

V případě obrazu nemusím dělat tolik kroků. Možná jsem výjimka, ale dokážu prostě porovnávat dva obrazy a jejich podobnost v hlavě přímo, doslova je vidím. Stejně tak si jednodušeji zapamatuji barvy a tvar, než náhodnou alfanumerickou sekvenci znaků.

atarist

Re:Vizualizace kryptografického otisku (Hashe)
« Odpověď #36 kdy: 18. 10. 2015, 10:09:24 »
V případě obrazu nemusím dělat tolik kroků. Možná jsem výjimka, ale dokážu prostě porovnávat dva obrazy a jejich podobnost v hlavě přímo, doslova je vidím. Stejně tak si jednodušeji zapamatuji barvy a tvar, než náhodnou alfanumerickou sekvenci znaků.

Muzu te potesit, ze nejsi sam, ostatne prave proto mame vsude, kde je to uzitecne, obrazky: http://e-autoskola.cz/dopravni-znacky/zakazove-dopravni-znacky.php a nikoli jen tabulky s napisy :)

Re:Vizualizace kryptografického otisku (Hashe)
« Odpověď #37 kdy: 18. 10. 2015, 10:24:16 »
Zde se ovšem bavíme o zcela specifickém algoritmu na generování obrázků, který je zkonstruován tak, aby k tomuhle nedocházelo, ne o nějaké krajinomalbě.
„Tohle“ je vnímání obrazu lidským mozkem. Ten specifický algoritmus asi není implementován v lidském mozku, že?

Dokážeš rozlišit bilion obrázků?

Rozhodně lépe, než bilion stejně-dlouhých alfanumerických stringů.
No to určitě. Když ty stringy budou nějak rozumně zformátované, můžete je porovnávat znak po znaku. To na obrázku dokážete udělat jedině tehdy, pokud budou také zobrazovat po sobě jdoucí symboly. Lépe se to bude porovnávat, pokud použijete nějaké symboly, které už člověk zná, z jedné množiny, takové, které umí snadno pojmenovat. Jaká je největší množina takových znaků? Ano, alfanumerické znaky.

Abych ho mohl porovnávat, musím ho prvně přečíst. Pak ho musím udržet v paměti a pak ho musím porovnat znak za znakem s tím, který jsem tam viděl dříve. Pak musím rozhodnout, jestli je stejný.
Nemusíte. Když si přečtete zadání, ty dva obrázky mají být zobrazené vedle sebe. Takže si přečtete nějakou skupinu znaků, kterou si snadno zapamatujete, porovnáte s druhou stranou. A pokročíte na další skupinu znaků. Obrázek takhle dokážete porovnat jedině tehdy, pokud bude zobrazovat posloupnost symbolů. V opačném případě si totiž už po prvnímporovnání nebudete pamatovat, kde jste vlastně skončil.

Možná jsem výjimka, ale dokážu prostě porovnávat dva obrazy a jejich podobnost v hlavě přímo, doslova je vidím.
Jedině že byste měl fotografickou paměť. Jinak na těch obrázcích dokážete porovnat pár znaků – jednotky, nanejvýš nízké desítky. K čemu bude nějaký šestibitový hash?

pistelak

Re:Vizualizace kryptografického otisku (Hashe)
« Odpověď #38 kdy: 18. 10. 2015, 10:39:40 »
Co si místo píčovin najít ženskou ?

Re:Vizualizace kryptografického otisku (Hashe)
« Odpověď #39 kdy: 18. 10. 2015, 21:41:27 »
Co si místo píčovin najít ženskou ?

No a ty ženskou máš? Pokud jo, tak to nefunguje, protože píšeš píčoviny do diskuze. Pokud ne, tak tvůj názor nemá žádnou hodnotu, protože kážeš vodu a piješ víno.

Re:Vizualizace kryptografického otisku (Hashe)
« Odpověď #40 kdy: 18. 10. 2015, 22:32:48 »
Abych ho mohl porovnávat, musím ho prvně přečíst. Pak ho musím udržet v paměti a pak ho musím porovnat znak za znakem s tím, který jsem tam viděl dříve. Pak musím rozhodnout, jestli je stejný.

V případě obrazu nemusím dělat tolik kroků. Možná jsem výjimka, ale dokážu prostě porovnávat dva obrazy a jejich podobnost v hlavě přímo, doslova je vidím. Stejně tak si jednodušeji zapamatuji barvy a tvar, než náhodnou alfanumerickou sekvenci znaků.


No jenže string právě znak po znaku porovnávat nemusíte. Snadno poznáte, zda jsou dva verše stejné:

Ach Romeo, Romeo! Proč jsi Romeo?
Své jméno zapři, odřekni se otce.

versus

Co je to, Montek? Ruka ne, ni noha,
ni paže, ani tvář, ni jiná část.

Takže by šlo využít právě výňatky z literatury. Není to geniální?

Jinak skutečně existují anomálie, které některým lidem umožňují vizuální operace provádět přímo v představě - bez nutnosti si cokoli vizualizovat na papíře. Ale jsou velmi vzácné, není to nic, na čem byste mohl založit aplikaci pro neznámé uživatele.

O.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Vizualizace kryptografického otisku (Hashe)
« Odpověď #41 kdy: 18. 10. 2015, 23:08:48 »
No jenže string právě znak po znaku porovnávat nemusíte. Snadno poznáte, zda jsou dva verše stejné:

Ach Romeo, Romeo! Proč jsi Romeo?
Své jméno zapři, odřekni se otce.

versus

Co je to, Montek? Ruka ne, ni noha,
ni paže, ani tvář, ni jiná část.

Takže by šlo využít právě výňatky z literatury. Není to geniální?

To jako, ze do toho programu prepisete celeho Shakespeara a nekolik knihoven krasne literatury navic, rozsekate to na dvouradkove useky a kazdemu moznemu hashi priradite jeden z tech useku? Uzivatel pak snadno pozna kus Shakespeara od Cernych baronu. Tak sha-256 je to, co tazatel pouziva, jestli se nemylim. 2^256=1.15792089237e+77 (za predpokladu, ze vsechny kombinace jsou mozne jako vystup z sha-256, coz nevim). Tak tolik dvojradkovych rikanek by se do telefonu neveslo. Navic si nejsem jist, jestli mame k dispozici dostatek literatury, i kdybychom zahrnuli i tu, kde ani nedokazeme pojmenovat pismo, Rude pravo a Leninovy spisy.

A kdyz ten hash rozsekate napriklad po dvou bytech a priradite ke slovniku 2^16 slov, tak vam z toho zase nepoleze Shakespeare, ale nahodna poezie stylu:

Ach hrnec motor kun bezi vesmir hovno,
Soustruh laska hoblovat tuberkuloza zeleny zehlicka.

Re:Vizualizace kryptografického otisku (Hashe)
« Odpověď #42 kdy: 19. 10. 2015, 01:25:08 »
No jenže string právě znak po znaku porovnávat nemusíte.

Asi ti vezmu iluze, ale SSH fingerprint vypadá takhle:

43:51:43:a1:3a:fc:8b:b7:04:65:a9:b1:0f:66:73:a8

Schválně si ho zkus zobrazit na mobilu a pak porovnat třeba s tímhle:  http://pastebin.com/ks4mQGY3

Zábavné, že?

Takže by šlo využít právě výňatky z literatury. Není to geniální?

Geniální nápad s Shakespearem uznám tehdy, až ho uvidím v praxi. Bitcoin takhle umožňuje zálohovat třeba peněženku, ale je to krapet dlouhé a problém s porovnáním dvou stringů moc neodpadává.

Re:Vizualizace kryptografického otisku (Hashe)
« Odpověď #43 kdy: 19. 10. 2015, 12:40:04 »
Ano, samozřejmě, ten můj nápad stojí nebo padá na tom, jak velké množiny se na sebe mapují. To samé ale platí i pro tu vizualizaci.

Určit velikost těch množin asi nebude triviální, protože velikost použitelných množin závisí na rozpoznatelnosti prvků množiny člověkem. To je ta komplikace v porovnání s použitím běžného člověkem obtížně čitelného textového hashe (a motivace původního tazatele je právě „zlepšit čitelnost hashe“).

Pokud potřebný objem literatury byl moc objemný, šlo by ji skutečně generovat - akorát by se zhoršila srozumitelnost („čitelnost“).

Hezké téma na menší výzkum :-)

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Vizualizace kryptografického otisku (Hashe)
« Odpověď #44 kdy: 19. 10. 2015, 13:25:47 »
Pokud potřebný objem literatury byl moc objemný, šlo by ji skutečně generovat - akorát by se zhoršila srozumitelnost („čitelnost“).

Tim si moc nepomuzu. Rekneme, ze pouziji vzdy dva bajty jako index ve slovniku. To mi dela 65536 slov, pricemz bych, kvuli uspore mista, volil slova kratsi. To je porad ale dost k nicemu, protoze misto 64 znaku hexa vypisu budu porovnavat 16 nesmyslnych slov. Pri volbe 3 bajtu mi zase ten slovnik dost naroste. V realu by to sice bylo par MB textu, ktery by navic sel asi komprimovat, ale kdo se s tim slovnikem ma setavovat? Zejmena, kdyz by mel zarucit, ze nebude obsahovat podbna slova, ktera by se mohla plest. 4 bajty by znamenaly porovnavat uz jen 8 slov, ale ten slovnik by byl uz jak belgicka krava.