krypteringsalgoritmer kommer i ulike former og terminologier , men har en tendens til å dele flere grunnleggende teorier som har omfattet kjernen av kryptografi siden menneskeheten først ønsket å skjule en melding fra nysgjerrige øyne . I dag , disse teoriene gjelder for de fleste krypteringsalgoritmer , uavhengig av type eller programmeringsspråk til tider , ved først å bryte ned meldingen til binærkode . Innbytte
tegnsubstitusjon erstatter en verdi med en annen , for eksempel, den binære " 1001 " kan bli " 101 " og " 0101 " vil bli erstattet av en " 111 ". klassisk eksempel på en tegnsubstitusjon er Cæsars chiffer , som erstattet bokstavene i alfabetet med bokstaven tre trinn ned ( "C " blir " F" ) . Dessverre er substitusjon chifre lett sprekker , spesielt når de brukes til å kryptere bokstaver basert på frekvens analyse eller sammenheng .
Et eksempel algoritme for et bytte funksjon er "c = E ( x , a) = (a + x ) 26 mod ", som betyr at den krypterte tegn" c ", er fra krypteringen (eller " E " ) av " X "og " a " , hvor " x " er graden av forskyvning fra bokstaven "a ". den mod delen er heltall resten av den resulterende nummeret fra "x " og en delt med 26, antall bokstaver i det engelske alfabetet .
Innarbeiding /permutasjon
Innarbeiding chifre skiftet rundt verdier i en forhåndsbestemt rekkefølge. En enkel ikke -binære eksempel presiserer : Med permutasjon , sekvensen " 1234 " kan bli " 2314 " ved å flytte det første sifferet til den tredje, andre til første , tredje til andre og forlater den fjerde. Med et binært mønster av biter og samme permutasjon regelen , " 1101 " vil bli " 1011 . " The Rail Fence Cipher er et eksempel på en innarbeiding siffer . Permutasjon chiffer er marginalt sterkere enn substitusjon chifre , men kan tydes med relativ letthet avhengig av chiffer lengde.
XOR
XOR , eller " eksklusivt OR, "operasjon er en annen grunnleggende kryptering prosess som returnerer " true " hvis bare en av verdiene er sant. Med de foregående eksemplene i tankene, " 1001 " sammenlignet med nøkkelen " 0101 " vil returnere verdien av " 1100 " og er lett reverseres i den opprinnelige med samme nøkkel - " 1100 " med " 0101 " blir " 1001 ".
blokkchiffer
blokkchiffer bryte ned dataene i et gitt antall biter og bruke noen eller alle av de tidligere teorier om de blokker for å kryptere dem . Andre muligheter omfatter imidlertid Chiffer blokk Chaining , som bruker den foregående blokk for å kryptere den neste blokken i kjeden, ytterligere scrambling av data. Data Encryption Standard og Triple DES er gode eksempler på blokkchiffer med ulike operasjoner av substitusjon , permutasjon og XOR.