Algoritmer og kryptografi - Første ting først, inden jeg går videre og begynder at prale af mig selv og konvertere denne blog til en kedelig samtalside, lader os først forstå, hvad der er algoritmer, og hvordan er de relateret til kryptografi.

Algoritmer og kryptografi

Algoritmer

For dem af jer, der mener, at algoritmer kun er forbundet med datalogi, har du forkert. Algoritme er en metode eller en formel til løsning af et problem. Og når jeg siger problem, kan det være enhver form for problem, det kan være matematik, videnskabsformler eller endda computerbaseret. Lad mig give dig en enkel

Eksempel:

(A + b) 2 = a 2 + 2ab + b2

Eller det kan være som:

Periodiseret beløb = hovedstol (1 + ROI * 100 * tid)

Ja! Alt, hvad der er en formel, kan tages som en algoritme. En algoritme er et sæt regler til løsning af et problem, som, hvis det udføres korrekt, giver et korrekt svar hver gang. Algoritmer involverer generelt gentagelse af en række trin igen og igen, som i lån og bære algoritmer og i de lange multiplikations- og opdelingsalgoritmer. Algoritmer inkluderer en række tilføjelser, subtraktion, multiplikation og opdeling.

Men før du begynder at tænke på, at jeg holder et slags matematikforedrag her, så lad mig fortælle dig, at jeg ikke er det. Jeg taler her om algoritmer og kryptografi relateret til datalogi. Men før jeg fortsætter med det, så lad mig give dig nogle eksempler på enkle algoritmer til at komme i gang med.

Disse eksempler er til rene noobs, der aldrig har gjort nogen form for algoritmiske ting i hele deres liv. Så hvis du synes, du er smart nok, kan du springe til det næste afsnit af kryptografi, hvor jeg igen vil introducere nogle grundlæggende, før jeg går videre til det næste niveau.

Så her er et par eksempler på tilføjelsealgoritmer, som vil komme i gang lige nu og give en idé om, hvordan algoritmer er. Lad os starte med grundlæggende matematik:

Additionalgoritmer fra venstre til højre:

Fra venstre, tilføj kolonne for kolonne, og juster resultatet.

For nogle mennesker bliver denne proces så automatisk, at de starter til venstre og skriver svaret kolonne for søjle og justeres, mens de går uden at skrive nogen mellem trin. Hvis de bliver bedt om at forklare, siger de noget sådan:

200 plus 400 er 600, men (ser på den næste kolonne) Jeg er nødt til at justere det, så skriv 7. Derefter er 60 og 80 140, men det skal justeres, så skriv 5. Nu, 8 og 3 er 11, ikke mere at gøre, skriv 1. Denne teknik udvikler sig let fra erfaringer med manipulativer, såsom base-10-blokke og penge, og udvekslings- eller handelsspil, og er i overensstemmelse med de venstre-til-højre-mønstre, der læres til læsning og skrivning.

Nogle mennesker går måske over alt, når de læser om dette. Så måske er du nødt til at Google disse ting ud for at få en nøjagtig idé om, hvad der nøjagtigt sker derovre.

Kryptografi

Kryptografi er en kunst at skrive koder på en ikke-menneskelig læsbar måde. Det er en metode til lagring og transmission af data i en bestemt form, så kun de, som det er beregnet til, kan læse og behandle dem. Du kan sige, at kryptografi er en tæt fætter til kryptologi og kryptanalyse.

Kryptografi inkluderer teknikker såsom mikroprikker, sammenlægning af ord med billeder og andre måder at skjule information på lager eller transit. I nutidens computer-centrerede verden er kryptografi dog oftest forbundet med at kryptere almindelig tekst (almindelig tekst, nogle gange omtalt som klartekst) til chiffertekst (en proces kaldet kryptering) og derefter tilbage igen (kendt som dekryptering). Personer, der praktiserer dette felt, er kendt som kryptografer.

Kryptering er blevet brugt i mange tusinder af år. Følgende koder og chiffer kan læres og bruges til at kryptere og dekryptere meddelelser manuelt:

A) Monoalfabetiske cifre:

Monoalfabetisk chiffer bruger den samme substitution på tværs af hele meddelelsen. Hvis du for eksempel ved, at bogstavet A er krypteret som bogstavet K, gælder dette for hele beskeden. Disse typer meddelelser kan blive brudt ved hjælp af frekvensanalyse, uddannede gætte eller prøve og fejl.

1. Ceaser-chiffer

En Cæsar-chiffer er en af ​​de enkleste (og letteste krakkede) krypteringsmetoder. Det er en substitutionsciffer, der involverer at udskifte hvert bogstav i den hemmelige meddelelse med et andet bogstav i alfabetet, som er et fast antal positioner længere i alfabetet.

Da hvert bogstav i meddelelsen har en direkte oversættelse til et andet brev, kan frekvensanalyse bruges til at dechiffrere meddelelsen. For eksempel er bogstavet E det mest almindeligt anvendte bogstav på det engelske sprog.

Så hvis det mest almindelige bogstav i en hemmelig meddelelse er K, er det sandsynligt, at K repræsenterer E. Derudover giver almindelige ordender som ING, LY og ES også spor. En brute-force tilgang til at prøve alle 25 mulige kombinationer ville også arbejde for at dechiffrere meddelelsen.

I dette eksempel er hvert bogstav i klartekstmeddelelsen flyttet 3 bogstaver ned i alfabetet.

Almindelig tekst : Dette er en hemmelig besked

Chiffertekst : wklv lv d vhfuhw phvvdjh

2. Atbash-chiffer

Atbash-chifferet er et meget specifikt tilfælde af en substitutionsciffer, hvor bogstaverne i alfabetet er vendt. Med andre ord, alle som erstattes med Zs, alle Bs erstattes med Ys, og så videre.

Fordi at vende alfabetet to gange får det faktiske alfabet, kan du kryptere og dechiffrere en meddelelse ved hjælp af nøjagtig den samme algoritme.

Eksempel:

Almindelig tekst : Dette er en hemmelig besked

Chiffertekst : Gsrh rh z hvxivg nvhhztv

Nøgleordets chiffer er identisk med Caesar Cipher med undtagelse af, at det anvendte substitutionsalfabet kan repræsenteres med et nøgleord.

For at oprette et substitutionsalfabet fra et nøgleord, skal du først skrive alfabetet ned. Under dette skriver du nøgleordet (udelade duplikatbogstaver) efterfulgt af de resterende ubrugte bogstaver i alfabetet.

ABCDEFGHIJKLMNOPQRSTUVWXYZ

KEYWORDABCFGHIJLMNPQSTUVXZ

For at kryptere en almindelig tekstbesked konverterer du alle bogstaver fra den øverste række til deres tilsvarende bogstav på den nederste række (A til K, B til E osv.).

Brug af frekvensanalyse og nogle uddannede gætte kan let knække disse typer enkle substitutionsciffer.

4. Pigpen / frimurerciffer

Svinekrypteringen (undertiden kaldet frimurercifferen eller frimurerens chiffer) er en simpelt substitutionsciffer, der udveksler bogstaver efter symboler, der er baseret på et gitter. Ordningen blev udviklet og brugt af frimurerne i de tidlige 1700'ere til journalføring og korrespondance. Eksempeltasten viser en måde, hvor bogstaverne kan tildeles til gitteret.

B) Polyalfabetiske cifre:

I en polyalfabetisk chiffer kan substitutionen ændre sig i hele meddelelsen. Med andre ord kan bogstavet A være kodet som bogstavet K for en del af meddelelsen, men senere kan det muligvis kodes som bogstavet W.

Anbefalede kurser

  • Træning på XML
  • CCNA eksamenskursus
  • Komplet UNIX- og Linux OS-træning
  • HTML 5 træningsbundt

1. Vigenere-chiffer

I en Cæsar-chiffer forskydes hvert bogstav i alfabetet et vist antal steder; for eksempel i en Cæsar-chiffer af skift 3 ville A blive D, B ville blive E og så videre. Vigenere-chifferet består af at bruge flere cæsarcifere i rækkefølge med forskellige skiftværdier.

For at kryptere kan en tabel med alfabeter bruges, kaldet en tabula recta, Vigenere square eller Vigenere tabel. Det består af alfabetet skrevet 26 gange i forskellige rækker, hvert alfabet skiftes cyklisk til venstre sammenlignet med det forrige alfabet, svarende til de 26 mulige Cæsar-cifre. På forskellige punkter i krypteringsprocessen bruger chifferet et andet alfabet fra en af ​​rækkerne. Alfabetet, der bruges på hvert punkt, afhænger af et gentagende nøgleord.

Antag f.eks., At den almindelige tekst, der skal krypteres, er:

ATTACKATDAWN

Den person, der sender meddelelsen, vælger et nøgleord og gentager det, indtil det svarer til længden af ​​klarteksten, f.eks. Nøgleordet "LEMON":

LEMONLEMONLE

Hvert bogstav kodes for ved at finde skæringspunktet i gitteret mellem almindeligt bogstav og nøgleordbogstav. For eksempel krypteres det første bogstav i klarteksten, A, ved hjælp af alfabetet i række L, som er det første bogstav i nøglen. Dette gøres ved at se på bogstavet i række L og kolonne A på Vigenere-pladsen, nemlig L. Tilsvarende bruges for andet bogstav i klarteksten det andet bogstav i nøglen; bogstavet i række E og kolonne T er X. Resten af ​​ren tekst er kodet på lignende måde:

Almindelig tekst : ATTACKATDAWN

Nøgle : LEMONLEMONLE

Chiffertekst : LXFOPVEFRNHR

Find positionen af ​​chiffertekstbogstavet i en række af tabellen og derefter tag etiketten på den kolonne, hvori det vises som almindelig tekst, udfører dekryptering. I række L vises for eksempel chifferteksten L i kolonne A, der tages som det første almindelige bogstav. Når man kigger op X i række E i tabellen, dekrypteres det andet bogstav; det vises i kolonne T, der tages som almindeligt bogstav.

En Gronsfeld-chiffer er identisk med Vigenere-chifferet med undtagelse af, at der kun bruges 10 rækker, hvilket gør det muligt for nøgleordet at være et tal i stedet for et ord.

steganografi

Steganografi er faktisk videnskaben om at skjule information fra folk, der ville snuppe på dig. Forskellen mellem dette og kryptering er, at de nye snoopere muligvis ikke kan fortælle, at der er nogen skjult information i første omgang.

Som et eksempel har billedfiler typisk en masse ubrugt plads i dem. Denne plads kan bruges til at sende skjulte meddelelser. Hvis du undersøger kryptering, kan du se udtrykket steganografi, der lejlighedsvis bruges. Det er dog ikke ægte kryptering (skønt den stadig kan være ret effektiv), og som sådan nævner jeg den kun her for fuldstændighed.

Så hvis du vil begynde at praktisere kryptologi, ville den bedste måde at komme i gang med at begynde at løse algoritmer og chiffertekst sammen med Steganography. Selvom Steganography kan synes let, og det ikke er rigtig kryptering, er det stadig en af ​​de mest anvendte krypteringer, når det kommer til det grundlæggende, og når du skal kode noget på meget lidt tid og på den bedst mulige måde.

Første billedskilde: pixabay.com

Anbefalede artikler

Her er nogle artikler, der hjælper dig med at få flere detaljer om algoritmer og kryptografi, så bare gå gennem linket.

  1. Datastrukturer og algoritmer Interviewspørgsmål | Mest nyttigt
  2. 8 Awesome algoritme Interview Spørgsmål og svar
  3. Bedste valg Programmeringssprog til læring af algoritmer
  4. 10 bedste datastrukturer og algoritmer C ++ | Grundlæggende

Kategori: