krypteringsalgoritmer kommer i olika former och terminologier , men tenderar att dela flera grundläggande teorier som har utgjorde kärnan i kryptografi sedan mänskligheten först ville dölja ett meddelande från nyfikna ögon . Idag är dessa teorier tillämpas på de flesta krypteringsalgoritmer , oavsett typ eller programmeringsspråk ibland , genom att först bryta ner meddelandet i binär kod . Substitution
chiffer ersätter ett värde med ett annat , till exempel , den binära " 1001 " kan bli " 101 " och " 0101 " skulle ersättas med en " 111 . " klassiskt exempel på ett chiffer är Caesars chiffer , som ersatte bokstäver i alfabetet med bokstaven tre steg ner ( " C " blir " F " ) . Tyvärr är substitution chiffer lätt knäckt , särskilt när den används för att kryptera brev baserade på frekvensanalys eller sammanhang .
Ett exempel algoritm för ett byte funktion är " c = E ( x , a ) = ( a + x ) mod 26 ", vilket innebär att den krypterade tecknet" c ", är från den kryptering ( eller" E " ) av " x " och" a " , där" x " är graden av skift från bokstaven " a ". The mod sektionen är heltalet resten av den resulterande numret från " x " och dividerat med 26 , antalet bokstäver i det engelska alfabetet .
Införlivande /Permutation
Införlivande chiffer flytta runt värden i en förutbestämd ordning . En enkel, icke - binärt exempel klargör : Med permutation , sekvensen " 1234 " kan bli " 2314 " genom att flytta den första siffran i den tredje , andra till första , tredje till andra och lämnar den fjärde . Med ett binärt mönster av bitar och samma permutation regeln , " 1101 " skulle bli " 1011 . " The stångstaket Cipher är ett exempel på ett införlivande chiffer. Permutation chiffer är marginellt starkare än substitution chiffer , men kan tydas med relativ lätthet beroende på valt chiffer längd .
XOR
XOR , eller " XOR- , "operation är en annan grundläggande krypteringsprocessen som returnerar " sant "om bara ett av värdena är sant. Med de tidigare exemplen i åtanke , " 1001 " jämfört med nyckeln " 0101 " skulle återvända värdet " 1100 " och är lätt vändas till det ursprungliga med samma nyckel - " 1100 " med " 0101 " blir " 1001 ".
blockchiffer
blockchiffer bryter ner data till ett visst antal bitar och använda någon eller alla av de tidigare teorier på dem block för att kryptera dem. Vidare möjligheter omfattar dock Chaining Cipher Block , som använder det tidigare blocket för att kryptera nästa block i kedjan, ytterligare förvränga data. Data Encryption Standard och Triple DES är goda exempel på blockkrypton med olika verksamheter substitution , permutation och XOR .