Pane Peterko, jak tady můžete tvrdit takové nehorázné nesmysly, jako že "Každý trezor se časem otevře"? To jste nikdy neslyšel o vernamově šfře, pro kterou existuje matematický důkaz neprolomitelnosti?
Asi rozumíte elektronickému podpisu, ale kryptografii nerozumíte. To, že se oslabují kryptografické algoritmy vůbec neplatí obecně, kvantové počítače oslabují zejména asymetrické klíče, až se vám celý ten koncept asymetrické kryptografie rozpadne. Máte to celý blbě vymyšlený, to je vše.
vernamova šifra je sice teoreticky neprolomitelná, ale prakticky nikoliv. Pořád tady je problém jak generovat ryze náhodný klíč ve velikosti původní zprávy a jak ten klíč bezpečně přenést nebo uchovat (má stejnou velikost jako šifrovaný text), stejný klíč musí mít obě strany, to opět zvyšuje riziko prozrazení.
Dokážeš si (či znáš) implementovat vernamovu šifru v internetovém prostředí? Její hlavní výhoda je přenést data bezpečně mezi zabezpečenými místy, klientská stanice k internetu zrovna nepatří k zabezpečeným místům...
Vernamova šifra fakt asi není na internetové spojení, ale kdyby blbí Američani dešifrovali zprávy tajné pro každého uživatele vlášť jeho šifrou, byl by prakticky každý únik dohledatelný. Ale problém je jinde, že je mi opravdu líto, jak nepoctivě či úplně amatérsky Jiří Peterka, jako akademik, mluví o šifrování. Věta o tom, že každý trezor je prolomitelný, silný výrok, který má vážné morální následky a je mi důvěrně známá z úst toho zlého policajta a znamená, "Když nám to heslo nedáš, my to stejně nahackujeme, ale bude to pro tebe horší". Bonhoeffer, velký protestantský theolog, když byl zavřený v koncentráku od Hitlera, napsal krásnou úvahu o tom, že hloupost je hřích.
když už bych chtěl k tomu něco namítat, spíše mi vadí připodobnění k trezoru, evokuje to představu, že někde jsou původní data schovaná a stačí se podívat dovnitř, tak to je ale není, ta data jsou změněná a znovu je poskládat vyžaduje klíč (návod), bez něho jsou nejspíš ztracená, v případě vernamovy šifry dokonce nadobro.
V kontextu, ve kterém to p. Peterka píše a vzhledem k publiku na tom výroku nevidím nic špatného, historie nám ukazuje, že ty šifrovací algoritmy nemají nekonečný život a časem je překonáme a proto je potřeba se o to starat.
Znáš lepší připodobnění nebo vysvětlení na jeden odstavec? Já používám příklad se skartovačkou, ale to také není ono.
sorry, ale Vernamova šifra je z principu, matematickým důkazem ověřeno, neprolomitelná. Absolutně. Nestárne. Neexistuje na světě síla, která by spojila náhodnou šifru s textem. Zašifrovaný text je stejně náhodný jako ta šifra. To je to kouzlo. Takže mi z toho stále vyplývá, že je Peterka buď policajt nebo blbec. Takovouhle simplifikaci s morálními důsledky (pro ty, kdo potřebují něco bezpčně utajit) by si neměl dovolit ani učitel na střední škole, natož vysokoškolský pedagog.
10. 5. 2023, 05:41 editováno autorem komentáře
Klíčem může být nějaký soubor veřejně dostupný, jehož vlastnosti se nemění. Uvažoval bych třeba o instalačce nějakého programu (třeba už staré a nepoužitelné verze). Uvažoval bych i o konkrétní verzi nějakého filmu, které můžeme mít s tím druhým společné. Ale docela dlouhý klíč vznikne i konverzí obrázku v plné velikosti (z digitálního fotoaparátu, např.) na nekomprimovanou bitmapu, třeba .ppm
Na druhou možnost jsem tu upozornil dříve: Soubor (základ klíče) může být veřejně vystaven a někdo bude zodpovídat za jeho neměnnost. Já v takovém případě příjemci potřebuji akorát sdělit, jaké tajtrlíkoviny jsem s ním provedl, než jsem podle něj začal šifrovat (např. určité sekvence bytů pozpátku, v určité části každý n-tý byte invertován a každý m-tý byte čten pozpátku a nemusel jsem začít od prvního byte veřejně dostupného souboru atd.). Tedy informaci o podstatně menší délce, než má ten klíč. A přenositelnou i na papíru. Případně přenositelnou kvantově (metodou, kdy se prozradí, že někdo komunikaci odposlouchává).
10. 5. 2023, 10:15 editováno autorem komentáře
Jasně, šifrovat budete veřejně dostupným klíčem, aby to mohl rozšifrovat úplně každý. Vy jste hlava. A bankovní trezor pro uložení peněz by mohl vypadat třeba tak, že peníze volně položíte doprostřed náměstí, že?
Druhý odstavec nepopisuje Vernamovu šifru ale váš amatérský (a to je ještě eufemismus) pokus vymyslet šifru.
Veřejně dostupných souborů existují mraky. Stejně tak se mohu s někým dohodnout třeba na fotce z mého či jeho mobilu, kterou si můžeme různými cestami nasdílet.
Po převedení fotky z i mého nikoli "superfoto" mobilu do formátu .ppm mi délka vzniklého souboru vystačí i na zašifrování 70 stránkové monografie s četnými celostránkovými fotografiemi a množstvím tabulek, výsledku 3letého výzkumu. Menší výukový text o pouhých 20 stránkách (s obrázky a tabulkami) se do toho souboru vejde mnohonásobně. Patrně není mnoho delších úředních dokumentů, které bych potřeboval šifrovat.
MMCH, použiji-li jeden z ilustračních obrázků z článku o dělání "fotografií" pomocí AI, tak se dá už jako originál (jpg) použít jako klíč k tomu výukovému textu, po převodu na .ppm nabude velikost i na zašifrování té monografie. A domluva s "panem X", že bude použit zrovna ten a ten obrázek, tak a tak upravený, může jít zcela mimo net.
Ten druhý odstavec jste nepochopil: Já mohu použít veřejně dostupný soubor (= o němž je veřejně známo, že ho lze použít jako klíč), provést nějaké jeho transformace a násldně jejich výsledek použít jako klíč pro šifrování. Příjemci musím pouze sdělit, jaký soubor jsem použil, a co jsem s ním prováděl před tím, než jsem podle něho šifroval. To mohu udělat mnoha různými způsoby (a je to také informace podstatně menšího rozsahu než ten klíč).
Mohu použít i smluvenou slovní šifru, která je pro nezasvěceného prakticky nerozluštitelná. (Příklad: po nástupu komunistů v Číně byli vybiti prakticky všichni učitelé bojových umění, příručky čínských škol bojových umění sice existují, ale jejich terminologii nikdo nerozumí, takže nerozumí ani významu textu, byť o to byly činěny velmi vážně míněné pokusy; stejně tak nejsou zcela srozumitelné ani texty některých evropských škol šermu, pokud nemají přímé dědice v současné době s kontinuitou až do doby jejich napsání - informace od vedoucího jedné z českých škol bojových umění, který se zabývá i jejich historií a mívá na toto téma velmi zajímavé přednášky).
Veřejně dostupných souborů existují mraky.
Pak jste ovšem opustil Vernamovou šifru a místo toho jste jí nahradil problematikou výměny informace o tom, který soubor se má použít.
Patrně není mnoho delších úředních dokumentů, které bych potřeboval šifrovat.
Přesněji řečeno nejsou vůbec žádné. Alespoň z té kategorie, o které se bavíme – tedy dokumenty vůči soukromým osobám nebo firmám.
Nevím, jestli do kategorie úředních dokumentů spadají i nějaké tajné vojenské dokumenty nebo tajné dokumenty tajných služeb. Každopádně o nich se tu nebavíme.
Ten druhý odstavec jste nepochopil
Právě že já jsem to pochopil. Vy to nechápete.
Vaše dětinské pokusy vymýšlet šifry postupy starými stovky let jsou zábavné. Moderní šifry vznikly jako reakce na to, když se zjistilo, že tyhle postupy nejsou pro šifrování dat dostatečné (a to ani ty skutečně dobře navržené, ne ty vaše absurdní pokusy).
Existuje takový postulát, že každý dokáže vymyslet tak složité šifrovací schéma, které sám neodkáže rozbít. Takže vám věřím, že to, co tu vymýšlíte, byste vy rozšifrovat nedokázal. Jenže ve vašem případě je ta laťka proklatě nízko.
Ono by úplně stačilo, kdybyste pochopil, že úřední dokumenty se nešifrují, ale podepisují.
Pořád je to o Vernamově šifře. Protože její slabou stránkou je předání klíče druhé straně (protože je to obrovský soubor).
To se dá zvládnout právě využitím nějakého stabilního a veřejně dostupného souboru coby klíče k ní. Buď identifikaci toho souboru utajím přede všemi, kromě adresáta, nebo ten soubor nějakým způsobem pozměním, a pak ten pozměněný soubor použiji jako klíč. Protože možných permutací třeba 100 MB souboru je o fantastické množství řádů víc než kolik existuje možných variant hashe, musí to být odolné proti útoku hrubou silou, resp. podstatně, opět o mnoho řádů, odolnější než ten hash. Pokud nebudu Vernamovou šifrou šifrovat samotný dokument, ale dokument již zašifrovaný (byť šifrou slabou), výsledkem bude, že útočník hrubou silou, i v případě, že se trefí, nedostane srozumitelný text, takže se o svém úspěchu ani nedozví. A pokud bude výsledek každého pokusu o dešifrování hrubou silou ještě zkoušet dešifrovat existujícími algoritmy na prolamování slabých šifer, tak mu to o mnoho řádů zdvihne náročnost.
Jistěže zbývá otázka autenticity dokumentu, kterou ale, obávám se, nejsou s to vyřešit digitální podpisy apod. Asi bude třeba zřídit nějaké "digitální notáře", k nimž se uloží kopie dokumentu nebo něco podobného, kteří budou v případě potřeby prokázat, že je to opravdu spis 139/VII z odd. C, i třeba na základě totožnosti jeho zašifrované verze se zašifrovanou předloženou kopií.
Nebo digitální podpis ano, ale výsledek ještě protáhnout Vernamovou šifrou a uložit u toho notáře s tím, že notář eviduje i datum uložení u něj, takže stačí porovnat dobu platnosti podpisu s dobou uložení dokumentu (a ještě by měl případný padělatel práci ztíženou tím, že by musel i tu podepsanou verzi nějak vydolovat z té Vernamovy šifry).
A výhoda je jasná: Vytvořím nebo získám dokument, zašifruji, dám ho k notáři a dál už nemusím šílet s časovými razítky apod. Jen musím platit něco za uložení u notáře (a zájem notáře asi bude, aby to nebylo víc, než kolik se platí např. za uložení závěti v papírové podobě). Pochopitelně, notářů může být víc (v reálu jich je víc) a nemusí to být uloženo jen u jediného.
Pořád je to o Vernamově šifře.
Ne, není. Vernamova šifra znamená, že data, která chcete utajit, XORujete s tajným klíčem, který je stejně dlouhý, jako vstupní data.
Protože možných permutací třeba 100 MB souboru je o fantastické množství řádů víc než kolik existuje možných variant hashe, musí to být odolné proti útoku hrubou silou, resp. podstatně, opět o mnoho řádů, odolnější než ten hash.
To byste nejprve musel vědět, jaký je rozdíl mezi hashem a šifrou. Mimochodem, dnes používaná hashovací funkce jsou dostatečně odolné proti útoku hrubou silou, není potřeba jr prodlužovat. A ještě jedna věc – když připouštíte všechny možné permutace 100 MB souboru, identifikace té permutace bude mít zase 100 MB. To jste to opravdu vymyslel – abyste mohl tajně předat soubor, který má pár kilobajtů, budete si muset nejprve tajně vyměnit 100 MB soubor. Nebylo by lepší si tím kanálem přenést přímo ten malý soubor? Kdyby teda někdo stál o šifrování úředních dokumentů, což nikdo nechce, jenom vy…
výsledkem bude, že útočník hrubou silou, i v případě, že se trefí, nedostane srozumitelný text, takže se o svém úspěchu ani nedozví.
Představujete si to jako Hurvínek válku. Kryptologie je trošku dál, než si myslíte.
Jistěže zbývá otázka autenticity dokumentu, kterou ale, obávám se, nejsou s to vyřešit digitální podpisy apod.
Úřední dokumenty se nešifrují. Takže ty vaše pokusy jsou k ničemu. No a elektronické podpisy řeší pravost daleko lépe, než vlastnoruční podpis. To, že vy si o tom myslíte něco jiného, je úplně jedno – protože vaše znalosti kryptografie jsou málem záporné.
Asi bude třeba zřídit nějaké "digitální notáře",
Není potřeba zřizovat něco, co už existuje.
Vytvořím nebo získám dokument, zašifruji, dám ho k notáři a dál už nemusím šílet s časovými razítky apod. Jen musím platit něco za uložení u notáře (a zájem notáře asi bude, aby to nebylo víc, než kolik se platí např. za uložení závěti v papírové podobě).
Nebo ten dokument dáte službě, která ho bude opatřovat časovými razítky, a budete platit podstatně méně, než notáři. Nebo dokument opatříte archivním časovým razítkem, zaplatíte ještě méně a o přerazítkování se bude starat certifikační autorita. Vy to budete muset řešit teprve v okamžiku, když by se blížilo znedůvěryhodnění hashovacího algoritmu použitého pro hash dokumentu.
To šifrování by se samozřejmě vynechalo, je k ničemu. To, že máte pocit, že jste pochopil, co je Vernamova šifra, neznamená, že musíte šifrování nacpat úplně všude. Zkuste pochopit ještě to, že pro pravost dokumentu je šifrování nerelevantní. Šifrování se používá tehdy, když chcete data utajit. Když máte nějaký úřední dokument, který chcete předkládat u soudu nebo někomu jinému, nechcete, aby byl tajný – právě naopak, chcete, aby ten dokument znal i někdo jiný.
1. Popis permutací nějakého souboru bude podstatně menší. Dokonce i perlovský skript, dělající rozsáhlé permutace, bude mnohem menší (navíc u něho bude dost jedno, jestli ten soubor má 1 KB nebo 100 KB).
2. Útočník musí zjistit, že se trefil. Pokud nedostane srozumitelný text, musí vzniklý soubor přinejmenším statisticky testovat na to, zda je to jednoduchou šifrou zašifrovaný text nebo nesmysl. Takové testy jistě existují, ale provádět je u každé permutace klíče znovu ...
3. Pokud je mi známo, tak použití digitálního podpisu (veřejný klíč + privátní klíč) je spojeno s šifrováním pomocí prvočísel a je právě spojeno s "bojem o prvočísla".
4. Pokud ten notář existuje, pak nemá tu náplň práce, kterou by měl a mohl mít.
5. Poměr cen je jistě sporný, záleží na tom, jak si která služba stanoví ceník.
6. Pochopitelně, pokud je prokázáno, že dokument mohl zašifrovat jen někdo konkrétní, tak ho lze s touto osobou (institucí) spojit.
Popis permutací nějakého souboru bude podstatně menší.
Doporučuju zjistit si, co jsou to permutace. Menší bude počet různých permutací, což je ale v tomto případě jedno – vy nebudete zjišťovat, jestli náhodou jiná permutace není shodná s nějakou jinou.
Pokud nedostane srozumitelný text, musí vzniklý soubor přinejmenším statisticky testovat na to, zda je to jednoduchou šifrou zašifrovaný text nebo nesmysl.
Vaše amatérské pokusy vymyslet znovu kryptografii jsou směšné. Vaše ostentativní ignorování všeho, co už bylo v tomto oboru zjištěno, to předem odsuzuje k neúspěchu.
Pokud je mi známo, tak použití digitálního podpisu (veřejný klíč + privátní klíč) je spojeno s šifrováním pomocí prvočísel a je právě spojeno s "bojem o prvočísla".
To vám je známo špatně. Používá se tam stejná transformace, jako u šifrování, ale opačně. Což je možné jen díky tomu, že se jedná o asymetrickou kryptografii, tedy kryptografii založenou na dvojici klíčů – privátním a veřejném. Vernamova šifra spadá do kategorie symetrických šifer, protože šifrovací i dešifrovací klíč jsou stejné. Pro podpisy ji tedy nijak použít nemůžete.
Pokud ten notář existuje, pak nemá tu náplň práce, kterou by měl a mohl mít.
Jasně, nevíte o tom vůbec nic, ale víte, že je to špatně.
Pochopitelně, pokud je prokázáno, že dokument mohl zašifrovat jen někdo konkrétní, tak ho lze s touto osobou (institucí) spojit.
Jenže to prokázáno být nemůže. Protože v asymetrické kryptografii se šifruje veřejným klíčem, tudíž jím může zašifrovat kdokoli. A v symetrické kryptografii je klíč pro šifrování i dešifrování stejný, tudíž je tajný – tedy ho nemůže znát ten, kdo by podpis chtěl ověřit. A naopak, kdybyste symetrický klíč prozradil tomu, kdo chce podpis ověřit, dal byste mu i možnost podpis zfalšovat.
Nedokážete se ani zamyslet nad tím, který klíč může být veřejný a který tajný. Dokonce si to ani neumíte najít. Ale pořád máte pocit, že přesto můžete vymýšlet nová a lepší kryptografická schémata. Neměl jste někdy v životě pochybnosti o tom, jestli opravdu rozumíte úplně všemu? Nepotkal jste někdy člověka, který něčemu nerozuměl, a neřekl jste si „není možné, že i já něčemu nerozumím“? A pokud jste si vědom toho, že existují věci, kterým nerozumíte – proč si pořád myslíte, že rozumíte kryptografii, když o ní nevíte ale lautr nic?
Není problém napsat program, který změní každý byte ve vstupním souboru a zapíše je do výstupního jinak. Přitom počet možností takových změn je astronomicky vysoký. Od prostého prohazování, přes inverze jedniček na nuly a opačně, posuny o určitý počet bitů nahoru či dolů a přilepení "přepadávající" části byte na opačnou stranu, až např po zápis prvního bitu na osmou pozici, druhého na sedmou (atd.). A mohu klidně nadefinovat a do programu napsat vnořené cykly, v nichž se bude stejná sada změn opakovat až po nějakém (lépe neokrouhlém) tisícovém či desetitisícovém počtu bytů. A, pochopitelně, nemusím ani u takto vzniklého souboru začít šifrovat od prvního bytu (pokud ho mám výrazně delší je šifrovaný soubor). A nikde není psáno, že musím k šifrování využít byty klíče v jejich pořadí v klíčovém souboru - mohu jít pozpátku, přeskakovat každý n-tý byt atd.
A pokud tuto informaci dostanu k příjemci (a zcela jistě bude mít menší objem než ten klíč) je to zcela bezpečné.
Pokud je mi známo, tak veškeré šifry, ale i starověká písma a mrtvé jazyky byly rozšifrovány na základě toho, že z luštění lezl smysluplný text. V některých případech byla správnost verifikována testováním na nápisech, které tvůrci vyluštění nemohli znát (třeba proto, že byly objeveny až po zveřejnění postupu) a že i z nich lezl smysluplný text.
Jistěže mohu výsledek Vernamovy šifra digitálně podepsat. Nebo tomu něco brání?
Pokud budou někde uloženy současně třeba tři různým způsobem (podle různých klíčů) zašifrované verze jednoho dokumentu, a potom jen jeden každý z šifrujících bude s to tu svou (a žádnou jinou) verzi rozšifrovat a ten, u něhož byly uloženy, ručí za autenticitu znění od data uložení, pak je to svědectví (předkladatel a dva svědci) o existenci dokumentu v daném znění k určitému datu (do jisté míry to odpovídá tradiční papírové závěti s vlastnoručním podpisem a podpisem dvou svědků, a jejího uložení u notáře či u soudu, tedy něčemu, co tu stovky let funguje).
A. S. Pergill: Ještě milion let vývoje, a vyvine se z vás něco, co bude schopné pochopit základy kryptografie.
Jistěže mohu výsledek Vernamovy šifra digitálně podepsat. Nebo tomu něco brání?
Nebrání. Akorát že vy nic šifrovat nechcete. Když máte to potvrzení o zaplacení popelnic, které potřebujete uchovávat padesát let, máte ho proto, abyste ho mohl někomu ukázat. Ne proto, aby ho nikdo neviděl.
Pokud budou někde uloženy současně třeba tři různým způsobem (podle různých klíčů) zašifrované verze jednoho dokumentu, a potom jen jeden každý z šifrujících bude s to tu svou (a žádnou jinou) verzi rozšifrovat a ten, u něhož byly uloženy, ručí za autenticitu znění od data uložení, pak je to svědectví (předkladatel a dva svědci) o existenci dokumentu v daném znění k určitému datu (do jisté míry to odpovídá tradiční papírové závěti s vlastnoručním podpisem a podpisem dvou svědků, a jejího uložení u notáře či u soudu, tedy něčemu, co tu stovky let funguje).
Zkuste si udělat takový myšlenkový (hm, to bude problém – no, prostě to zkuste) experiment. Škrtněte si v tomhle vašem příkladu to šifrování. Výsledek (tedy záruka autenticity od data uložení) bude úplně stejný. Takže to vaše šifrování je tam co? To vaše šifrování je tam úplně zbytečné.