jak funguje šifrování? – Gary vysvětluje

jak funguje šifrování? – Gary vysvětluje

pravděpodobně používáte šifrování, v té či oné formě, každý den. Možná nevíte, že jste, ale jste. A můj odhad je, že na to nedáte ani vteřinu. Máte předplatné založené kabelové nebo satelitní TV služby? Hádejte co, část tohoto obsahu bude šifrována. Připojujete se k webovým stránkám pomocí https://? To je víc šifrování. Někdy vytvořil .zip soubor s heslem? Máš to, To používá šifrování.,

mohl bych pokračovat dál a seznam desítky dalších příkladů, každý den šifrování, ale neudělám to. Jak pro Android, podporuje také šifrování, a to nejen pro web s https://, ale i pro vaše soubory a data. Android 6.0 Marshmallow používal šifrování celého disku, zatímco Android 7.0 Nougat přidal možnost šifrování souborů. Myšlenka je taková, že pokud by váš telefon měl spadnout do rukou nepřátel, pak jsou vaše soukromá data bezpečná.

takže co je šifrování? Je to proces přijímání prostých dat, včetně textu, a jejich převedení do nečitelné formy (lidmi nebo počítači)., Proces šifrování je založen na klíči, analogie zde je zámek, který potřebuje klíč, a pouze lidé s klíčem mohou odemknout (dešifrovat) data a vrátit je zpět do původní podoby. To znamená, že každý, kdo se zmocní vašich šifrovaných dat, jej nemůže přečíst, pokud nemá klíč.

jak to uvedla postava Toma Jericha ve výborném filmu Enigma, “ proměňuje prosté textové zprávy v gobbledygook. Na druhém konci je další stroj, který převádí zprávu zpět na původní text.“Šifrování a dešifrování!,

všechno To začalo s Caesarem

umění tajné psaní, co bychom nazvali šifrování, byl asi po dobu nejméně 2500 let, nicméně nejslavnější příklad z antiky je, že substituční šifra použita Juliem Caesarem posílat zprávy Cicero., Substituční šifra, jak to funguje, můžete začít s abecedou na jeden řádek, a pak přidat druhý řádek s abecedou přesunula spolu dost:

A B C D E F G H I J K L M N O P Q R S T U V W X Y ZX Y Z A B C D E F G H I J K L M N O P Q R S T U V W

Pokud chcete zašifrovat slovo „AHOJ“, pak budete mít první písmeno,, H,, a podívejte se na dopis, pod ním, to vám dává E. Pak E dává B a tak dále. Šifrovaná forma HELLO je EBIIL. Dešifrovat to vám vyhledávání E na spodním řádku, a podívejte H výše, pak B na dno, aby si E, nad ji a tak dále. Dokončete proces a získejte Ahoj.,

v tomto případě je „klíč“ 3, protože abeceda byla posunuta tři doprava (místo toho můžete také posunout doleva). Pokud změníte klíčové říct, 5, pak jste si to:

A B C D E F G H I J K L M N O P Q R S T U V W X Y ZV W X Y Z A B C D E F G H I J K L M N O P Q R S T U

šifrované verze HELLO by CZGGJ. Velmi odlišné od EBIIL. V tomto případě je klíč 5. Magie!

existují však některé hlavní problémy s touto formou šifrování. Nejprve je k dispozici pouze 26 klíčů. Možná jste slyšeli, že lidé mluví o 128-bitové klíče nebo 256-bit klíče, no to je 5 bitový klíč (tj. 26 v binární je 11010)., Takže by netrvalo příliš dlouho vyzkoušet všech 26 variant a zjistit, který z nich začne produkovat srozumitelný text.

za druhé, angličtina (a další jazyky) má určité vlastnosti. Například, E je nejvíce populární dopis v angličtině, takže pokud jsi měl dobrý kus textu, můžete vidět, které písmeno se objeví nejčastěji a pak myslím, že to je E. Posun spodní abecedu, aby odpovídala E s nejvíce společný znak, a budete mít pravděpodobně rozluštil kód. Také existuje jen několik písmen, které se mohou zdvojnásobit v angličtině, jako OO, LL, SS, EE a tak dále., Kdykoli uvidíte dvojitý jako II nebo GG (z výše uvedených příkladů), měli byste nejprve vyzkoušet odpovídající ty na abecedách.

kombinace malý klíč a skutečnost, že stejné písmeno vždy kóduje na stejnou odpovídající písmeno na šifrovací abecedy znamená, že to je velmi slabé šifrování. A dnes, když počítače dělají tvrdou práci,je to mimo slabé!,

více abeced a nerozbitné šifrování

slabiny substituční šifry Caesar lze mírně zmírnit použitím více než jedné posunuté abecedy. Níže uvedený příklad lze rozšířit na 26 posunutých abeced, z nichž několik se používá najednou, ale ne všechny.

A B C D E F G H I J K L M N O P Q R S T U V W X Y ZZ A B C D E F G H I J K L M N O P Q R S T U V W X YY Z A B C D E F G H I J K L M N O P Q R S T U V W XX Y Z A B C D E F G H I J K L M N O P Q R S T U V WW X Y Z A B C D E F G H I J K L M N O P Q R S T U VV W X Y Z A B C D E F G H I J K L M N O P Q R S T U

Takže, pokud jsme si stanovili klíč k WVY to znamená, že budeme používat abecedy počínaje W první, pak jeden začínající V a konečně jeden začínající Y. To se pak opakuje pro zakódování celé zprávy. Takže Ahoj by se stal DZJHJ., Všimněte si, že nyní dvakrát Jsem v dobrý den, není kódován jako stejný charakter, nyní je J a H. Také, první J v zašifrovaném textu je kód pro L, zatímco druhý je kód pro O. Tak J a ne vždy představují stejné prostý text dopisu.

verze této myšlenky s 26 abecedami je základem šifry Vigenère, která byla publikována v 16. století Blaise de Vigenère. Podobný nápad popsal i Giovan Battista Bellaso v roce 1553., Šifra Vigenère zůstala nerozbitná 300 let, dokud nebyla prasklá Charlesem Babbagem a poté Friedrichem Kasiskim. Tajemství prolomení šifry Vigenère je pochopení, že nakonec lze stejná slova zakódovat pomocí stejných písmen, protože stejné abecedy se používají znovu a znovu. Takže slovo “ a “ může být zakódováno jinak, když se objeví první několikrát, ale nakonec bude znovu zakódováno pomocí stejných písmen. Opakování je obecně pád šifry.,

Opakování je slabost caesarovy šifry, Vigenère a všechny varianty, ale je tam jeden způsob, jak používat abecední šifru vytvořit nerozbitné tajný kód, bez opakování, je to tzv. one-time pad. Myšlenka spočívá v tom, že místo použití posunuté abecedy se používá náhodná posloupnost písmen. Tato sekvence musí být skutečně náhodná a musí mít stejnou délku jako zpráva.

I S T H I S U N B R E A K A B L EP S O V Y V U B M W S P A H Q T D

spíše než dělat rovnou substituci tentokrát používáme sčítání, s twist., Každé písmeno abecedy je přiřazeno číslo, a je 0, B je 1, C je 2 a tak dále. I je 9. písmeno abecedy, což znamená, že má hodnotu 8. P (písmeno pod ním na naší jednorázové šifrové podložce) 15. 8 + 15 = 25 což znamená X.druhé písmeno naší zprávy je S, které má hodnotu 18. Stává se tak, že s je také dopis na naší jednorázové podložce (což vůbec není problém). 18 + 18 = 36. Nyní je tu zvrat, neexistuje žádné 36. písmeno abecedy. Takže provádíme to, co se nazývá operace modulu., To v podstatě znamená, že jsme výsledek rozdělili o 26 (počet písmen v abecedě) a zbytek použijeme. 36 / 26 = 1 zbytek 10. Dopis s hodnotou 10 je K. Pokud v tom budeš pokračovat, konečné šifrované zprávy je:

X K H C G N O O N N W P K H R E H

důvod, proč Je tento kód je nerozbitný je to, že jste jen někdy použít klíč (náhodný řetězec) jednou. To znamená, že každý, kdo se snaží dekódovat zprávu, nemá referenční bod a není opakování. Další zpráva, která má být odeslána, použije zcela jiný náhodný klíč a tak dále.,

největším problémem s jednorázovými polštářky je získání klíčů k druhé straně, aby mohli zprávu dešifrovat. Tradičně to bylo provedeno pomocí knihy ve formě poznámkového bloku, s různými kódy na každé stránce. Které stránky se používaly, by se každý den měnily a jakmile by byl použit kód, mohlo by to být vytrhnuto z podložky a vyřazeno. Tyto podložky však musí být přepravovány bezpečným způsobem. Protože pokud někdo jiný dostane kódy, šifrování může být popraskané., To v podstatě znamenalo, že jste se museli setkat s druhou stranou před rukou a dohodnout se na tom, které kódy budou použity a kdy. Je to nejbezpečnější metoda, ale je také nejobtížnější a rozhodně to není funkční řešení pro dnešní moderní digitální svět.

digitální věk

v Průběhu 20. století šifrování stala mechanizované, nejslavnější příklad je Enigma, používaný Nacisty během druhé Světové Války. Nicméně po válce šifrování stal počítačový., K dispozici jsou tři velké výhody pro počítačové kryptografii:

  1. Počítače jsou flexibilní, na rozdíl od mechanických boxů, počítačů může být naprogramován tak, aby provádět spoustu různých operací na zprávu a počet a složitost těchto operací lze změnit poměrně rychle.
  2. rychlost.
  3. počítače se zabývají binárními čísly nejen písmeny.

Body 1 a 2 jsou velmi důležité, zejména při porovnávání počítače mechanické metody šifrování. Změna paradigmatu však spočívá v tom, že počítače se zabývají čísly a nikoli písmeny., To znamená, že šifrování lze použít na jakýkoli typ dat. Textová zpráva, obrázek, zvukový soubor, film, databáze, soubory na smartphonu a tak dále.

s přechodem z písmen na binární přišla změna způsobu šifrování. Celá písmena již nemusí být šifrována, ale místo toho lze manipulovat s nulami a nulami, aby se vytvořily nové sekvence. Slovo dobrý den v 8bitovém ASCII je 01001000010001010011000100110001001001111. Odtud binární lze manipulovat nesčetnými různými způsoby. Může být rozdělena, posunuta, přidána, vynásobena, cokoli.,

metoda používaná ke zpracování jedniček a nul je známá jako kryptografický algoritmus a existuje mnoho různých typů algoritmů. Hlavními charakteristikami šifrovacího algoritmu jsou jeho bezpečnost (může být prasklá) a jeho výkon (jak dlouho trvá kódování nebo dekódování dat).

velmi široce řečeno existují dva hlavní typy digitálních šifrovacích šifer, proudové šifry a blokové šifry. S proudovou šifrou jsou data šifrována bajtem najednou. Data jsou zpracovávána od začátku do konce a jsou přenášena šifrovacím algoritmem., RC4 je známý příklad proudové šifry. Byl použit v WEP a byl volitelnou šifrovací metodou pro několik dalších protokolů a produktů.

Stream šifry jsou jako jednorázové podložky v tom, že data nejsou šifrována pouze proti jednomu klíči, ale spíše sekvenci pseudo-náhodných čísel, která je založena na klíči. Rozdíl mezi jednorázovou podložkou a proudovou šifrou spočívá v tom, že s jednorázovou podložkou musí být klíč skutečně náhodný. Se stream šifry pomocí stejného klíče znamená, že dostanete stejnou posloupnost čísel, to je to, co umožňuje dekódovat zprávu., Bez klíče však sekvence vypadá náhodně, a proto je těžké ji zlomit.

slabost RC4 bylo, že za určitých okolností a za určitých podmínek (zejména při stejné údaje opakovaně šifrovány), pak je možné odhadnout, které čísla, možná přichází další v pořadí. Tento odhad snižuje počet možných kombinací a umožňuje použití útoku hrubou silou (kde je vyzkoušena každá kombinace). K tomu, aby útok fungoval, je zapotřebí spousta dat. RC4 NO MORE attack potřebuje sbírat šifrovaná data v hodnotě 75 hodin na základě požadavků 4450 za sekundu.,

dalším hlavním typem šifry je bloková šifra. To funguje tak, že data rozdělíte na zvládnutelnější bloky, řekněme 64bitové. Každý blok je zpracován několikrát, známý jako kola (jako v boxu). Pro každé kolo je blok rozdělen na dvě stejné části, levou a pravou. Pravá část zůstává nedotčena, zatímco levá část je šifrována pomocí speciální funkce, nazývané kruhová funkce. Funkce round má dva vstupy, klíč a pravou část (část, která se nedotkla). Výsledek z funkce round je pak „přidán“ do levé části pomocí XOR.,

tento model je známý jako Feistelova šifra, pojmenovaná po jeho vynálezci Horstovi Feistelovi, který pracoval na šifrování v IBM. Jeho práce nakonec vedla k vývoji standardu šifrování dat (DES). V roce 1977 se DES stal oficiálním šifrovacím standardem pro Spojené státy a viděl celosvětové přijetí. DES používá 16 kol pracujících na 64bitových blocích. Problém s DES je, že NSA omezila velikost klíče na 56 bitů. Zatímco v roce 1977 to stačilo, koncem 90.let bylo možné, aby nevládní organizace přerušily DES šifrované zprávy.,

ŽARGON BUSTER
Exkluzivní NEBO (XOR) – To je trochu na úrovni logické operace, který je aplikován na 2 vstupní bity a a B. Výhradní NEBO vrátí hodnotu true nebo false (1 nebo 0) na otázku, „A nebo B, ale ne, a a B“. Můžete si myslet na to jako, „jeden nebo druhý, ale ne oba“. Takže pokud a je 1 A B je 0, pak je to jeden nebo druhý, takže výsledek je 1 (pravda). Stejný výsledek platí pro a je 0 A B je 1. Ale pokud a je 0 A B je 0, pak výsledek je 0 (false), protože oba mají stejnou hodnotu. False je také uveden Pro a je 1 A B je 1.,

ale skutečné kouzlo XOR je, že je reverzibilní. Pokud XOR B = C, pak B XOR C = a XOR C = B. To je velmi důležité pro šifrování, protože to znamená, že data mohou být šifrována (kde jsou data) pomocí klíče (B), aby se šifrovaná data (C). Později šifrovaná data mohou být dešifrována XOR to s klíčem znovu získat původní data. Důvod, proč XOR se používá ve spojení s složité funkce round a trochu přesouvá operace je, protože na jeho vlastní XOR může být přerušeno pomocí frekvenční analýzy (z důvodu neustále se opakující klíč).,

v reakci na slabiny DES byl navržen nový standard nazvaný Triple DES (3DES). Což v podstatě šifrovalo data třikrát pomocí DES, ale se třemi různými klíči. 3DES nabídl způsob, jak zvýšit velikost klíče 56 bitů až 168 bitů, bez nutnosti navrhnout zcela nový blok šifrovací algoritmus. Vzhledem k některé technické detaily, efektivní klíče 112 bitů, ale pokud jste měli stroj, který mohl rozlousknout DES za 1 minutu, trvalo by stejný stroj o 260,658 let rozlousknout Triple-DES klíč.,

zatímco DES sloužil svému účelu téměř 25 let, omezená délka klíče znamenala, že nastal čas na další šifrovací standard. V roce 2001 zveřejnil americký Národní institut standardů a technologií (NIST) Standard pokročilého šifrování (AES). Nejedná se o feistelovou šifru, ale spíše o substituční permutační síť. Stále používá bloky a kola stejně jako DES, nicméně během každého kola se pořadí bitů v bloku vymění a výsledek je kombinován s klíčem pomocí XOR.

AES používá klávesy 128, 192 nebo 256 bitů a pracuje na blocích 128 bitů., Počet použitých kol závisí na velikosti klíče. Minimum je 10, které se používá pro 128bitové klíče a maximum je 14, které se používá pro 256bitové klíče.

AES, Android a architekturu ARMv8

AES je v srdci šifrování subsystémů v Android. Pro Android 5.0 a Android 6.0 Google nařídil použití AES s nejméně 128bitovým klíčem pro zařízení podporující šifrování celého disku., S Androidem 7 se Google přesunul na šifrování založené na souborech (FBE), které umožňuje šifrovat různé soubory různými klíči a zároveň umožňuje samostatné dešifrování souborů. Vypadá to, že FBE v systému Android 7 používá 256bitové AES.

když ARM provedl přechod z 32bitového na 64bitový, definoval novou revizi architektury instrukční sady s názvem ARMv8. Kromě definování instrukční sady pro 64bitové ARM čipy přidala také nové pokyny pro implementaci částí algoritmu AES v hardwaru. Během každého kola jsou různé bity vyměněny a nahrazeny., Jak jsou bity manipulovány, je dobře definováno (a součástí standardu), takže rozšíření AES v ARMv8 umožňují, aby se tyto části šifrování vyskytovaly spíše v hardwaru než v softwaru.

výsledkem je bleskurychlé šifrování, které by mělo mít zanedbatelný dopad na celkový výkon systému. AOSP provádění souborové šifrování používá AES-256 a vyžaduje výkon alespoň 50 MB/s.

kryptografie s Veřejným klíčem a wrap-up

Většina z toho, co jsme diskutovali, až nyní je známa jako symetrické šifrování., Pro šifrování a dešifrování zprávy musí odesílatel i příjemce znát tajný klíč. Tam je forma šifrování tzv. asymetrické šifrování, kde jsou dva klíče, jeden pro šifrování zpráv a jiný pro dešifrování. Šifrovací klíč může být volně publikován pro každého, kdo chce poslat příjemci zprávu, nicméně dešifrovací klíč musí zůstat tajný, ale musí být znám pouze příjemcem. To znamená, že existuje veřejný klíč a soukromý klíč. Tento systém je základem toho, jak funguje zabezpečení na internetu, jak funguje protokol https://., To je však příběh na další den!

Na závěr chci přidat upozornění. Šifrování je složité téma a šifrování je mnohem více, než jsem zde napsal.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *