Ať už je váš důvod chtít vytvořit šifrovací program, jeho vytvoření může být zábavné a velmi náročné. Může však být těžké zjistit, jak to děláte, pokud je to poprvé. Tento článek se zabývá obecnou myšlenkou a základními kroky, které budete muset provést, abyste vytvořili funkční a realistický šifrovací program.
Kroky
Část 1 ze 2: Vytvoření metody šifrování
Krok 1. Navrhněte algoritmus
Obecný algoritmus je páteří všech šifrovacích metod. RSA využívá matematické vlastnosti velkých prvočísel k rychlému a bezpečnému šifrování soukromých dat. Bitcoin používá verzi RSA k bezpečnému zabezpečení plateb a zajištění toho, že odesílatel skutečně chce posílat bitcoiny jinému uživateli. Měli byste provést průzkum různých typů šifrovacích algoritmů, jako je šifrování soukromého a veřejného klíče. Je třeba poznamenat, že žádné šifrování, pokud plánujete načítání dat, je nerozbitné. Šifrování může pouze odradit příležitostné šmírování a oddálit vážné útoky. Doporučuje se, abyste se dozvěděli, co je binární, takže bude vytváření vašeho algoritmu mnohem snazší a relevantnější pro šifrování dat.
Krok 2. Otestujte svůj algoritmus
Jakmile si myslíte, že máte dobrý algoritmus, měli byste zkusit šifrovat velmi krátkou zprávu ručně. U dobrých šifrovacích algoritmů by to mělo trvat déle než několik minut. Dobrým pravidlem je, že pokud si můžete zprávu zašifrovat v hlavě, pak není bezpečné pro seriózní šifrování. Pokud konečná zpráva vypadá jakýmkoli způsobem podobně jako původní zpráva, pak to nemusí být bezpečné.
Krok 3. Zvažte dešifrování
Autorizovaným stranám musí existovat způsob přístupu k datům šifrovaným vaším algoritmem. Měli byste se ujistit, že můžete data snadno dekódovat, pokud znáte klíč, a znesnadnit útočníkům, aby omylem narazili na klíč metodou pokusu a omylu.
Pokud si nepřejete, aby byla data vůbec získatelná, zvažte místo toho vytvoření hashovacího algoritmu. Algoritmus hash přebírá vstup a na základě tohoto vstupu vytváří jednosměrnou hodnotu. Je možné přejít ze zdrojového vstupu na hašovanou hodnotu, ale v ideálním případě je nemožné vrátit se ke zdrojovému vstupu z hašované hodnoty. To je zvláště vhodné pro ochranu heslem. Když si na webu vytvoříte účet s heslem, etický webové stránky budou vaše heslo před uložením hashovat. To má mnoho výhod, například zpoždění útočníků v prolomení vašeho hesla. Pokud však heslo zapomenete, budete nuceni vytvořit nové.
Krok 4. Nakreslete pseudokód
To by mělo být relativně snadné, jakmile vytvoříte a otestujete svůj algoritmus, abyste dokázali, že funguje. Pseudokód by měl číst jako jednoduchou a poučnou angličtinu, měl by být dostatečně čitelný pro běžného člověka, aby porozuměl, a dostatečně poučný, aby programátor snadno implementoval algoritmus do jazyka jako C, Java atd.
Část 2 ze 2: Publikovat algoritmus
Krok 1. Sdílejte svůj algoritmus s dalšími nadšenci do šifrování dat
To vám umožní objevit možné trapdoery při šifrování a získat zpětnou vazbu o zabezpečení a životaschopnosti algoritmu. Pokud je váš algoritmus tak složitý, že mu nikdo nerozumí, nikdo ho nebude používat. Totéž však platí, pokud je algoritmus tak snadný, že kdokoli může dekódovat zprávu s minimálním úsilím.
Krok 2. Pošlete výzvu na fórum
Existují fóra věnovaná řešení a dekódování dat, zkuste publikovat krátkou zprávu, kterou jste zašifrovali, spolu s radami o použitém algoritmu. Pokud se cítíte sebevědomě, můžete jim dokonce poskytnout svůj algoritmus a zjistit, jak dlouho trvá, než ho ostatní prolomí hrubou silou.
Tipy
- Začněte tím, že se naučíte, jak fungují další populární šifrovací algoritmy. RSA je jedinečný a široce používaný v reálném světě pro šifrování dat.
- Vytvoření dobrého šifrovacího algoritmu není nikdy snadné, zvláště pokud je to poprvé. Začněte s myšlenkou a stavte na ní. Pokud si všimnete nějaké chyby, může být snazší začít úplně od začátku, než se ji pokoušet opravit.
Varování
- Šifrovací algoritmus by měl fungovat na bitové úrovni informací. Vyhněte se jednoduše vytváření šifry, která funguje pouze se změnou písmen ve zprávě na něco trochu jiného. Ty jsou vždy nejisté.
- Pokud nemáte diplom z teorie informací nebo zabezpečení, pravděpodobně byste neměli používat své šifrování k zabezpečení hesel nebo jiných soukromých informací.
- Žádné šifrování není dokonalé. Pokud plánujete načíst data, která šifrujete, vytvoří to samo díru ve vašem šifrování. I když nechcete data získávat, stále je lze, alespoň teoreticky, rozluštit a objevit.