Algoritmer og kryptografi - Første ting først, før jeg fortsetter og begynner å skryte av meg selv og konvertere denne bloggen til en kjedelig samtalsamtale, lar oss først forstå hva som er algoritmer, og hvordan er de relatert til kryptografi.

Algoritmer og kryptografi

algoritmer

For de av dere som tror algoritmer bare er koblet til informatikk, tar du feil. Algoritme er en metode eller en formel for å løse et problem. Og når jeg sier problem, kan det være en hvilken som helst type problem, kan det være matematikk, vitenskapelige formler eller datamaskinbaserte. La meg gi deg en enkel

Eksempel:

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

Eller det kan være som:

Påløpt beløp = Oppdragsgiver (1 + ROI * 100 * tid)

Ja! Alt som er en formel kan tas som en algoritme. En algoritme er et sett med regler for å løse et problem, som, hvis det gjøres riktig, vil gi et riktig svar hver gang. Algoritmer innebærer generelt å gjenta en rekke trinn om og om igjen, som i låne- og bærealgoritmer og i de lange multiplikasjons- og divisjonsalgoritmene. Algoritmer inkluderer en rekke tillegg, subtraksjon, multiplikasjon og deling.

Men før du begynner å tenke at jeg tar et slags matematikkforedrag her, la meg fortelle deg at jeg ikke er det. Jeg er her for å snakke om algoritmer og kryptografi relatert til informatikk. Men før jeg fortsetter med det, la meg gi deg noen eksempler på enkle algoritmer å komme i gang med.

Disse eksemplene er for rene noobs som aldri har gjort noen form for algoritmiske ting i hele sitt liv. Så hvis du synes du er smart nok, kan du hoppe til neste del av kryptografi der jeg igjen skulle introdusere noen grunnleggende før jeg går videre til neste nivå.

Så her er noen eksempler på tilleggsalgoritmer, som vil sette deg i gang foreløpig og gi en ide om hvordan algoritmer er. La oss starte med grunnleggende matematikk:

Venstre til høyre tilleggsalgoritmer:

Fra venstre, legg til kolonne for kolonne, og juster resultatet.

For noen mennesker blir denne prosessen så automatisk at de starter til venstre og skriver svaret kolonne for kolonne, og justerer seg mens de går uten å skrive noen mellom trinn. Hvis de blir bedt om å forklare, sier de noe slik:

200 pluss 400 er 600, men (ser på neste kolonne) Jeg trenger å justere det, så skriv 7. Så er 60 og 80 140, men det må justeres, så skriv 5. Nå, 8 og 3 er 11, ikke mer å gjøre, skriv 1. Denne teknikken utvikler seg lett fra erfaringer med manipulativer, for eksempel base-10-blokker og penger, og utvekslings- eller handelsspill, og er i samsvar med de venstre-til-høyre-mønstrene som er lært for lesing og skriving.

Nå kan det hende at noen mennesker går over nøttene når de leser om dette. Så det kan hende du må google dette ut for å få en nøyaktig ide om hva som akkurat skjer her.

kryptografi

Kryptografi er en kunst å skrive koder på en ikke-menneskelig lesbar måte. Det er en metode for lagring og overføring av data i en bestemt form, slik at bare de som det er beregnet til kan lese og behandle dem. Du kan si at kryptografi er et nært kusine til disiplinene kryptologi og kryptanalyse.

Kryptografi inkluderer teknikker som mikroprikker, sammenslåing av ord med bilder og andre måter å skjule informasjon i lagring eller transport. I dagens datamaskin-sentriske verden er imidlertid kryptografi oftest assosiert med å kryptere ren tekst (vanlig tekst, noen ganger referert til som klartekst) til chiffertekst (en prosess som kalles kryptering), og deretter tilbake igjen (kjent som dekryptering). Personer som praktiserer dette feltet er kjent som kryptografer.

Kryptering har blitt brukt i mange tusen år. Følgende koder og chiffer kan læres og brukes til å kryptere og dekryptere meldinger for hånd:

A) Monoalfabetiske chiffer:

Monoalfabetisk chiffer bruker den samme substitusjonen over hele meldingen. Hvis du for eksempel vet at bokstaven A er kryptert som bokstaven K, vil dette stemme for hele meldingen. Denne typen meldinger kan bli sprukket ved å bruke frekvensanalyse, utdannede gjetninger eller prøve og feiling.

1. Ceaser-chiffer

En Caesar-chiffer er en av de enkleste (og enkleste sprukne) krypteringsmetodene. Det er en erstatningskrypterer som innebærer å bytte ut hver bokstav i den hemmelige meldingen med en annen bokstav i alfabetet, som er et fast antall posisjoner lenger i alfabetet.

Fordi hver bokstav i meldingen har en direkte oversettelse til en annen bokstav, kan frekvensanalyse brukes til å dechiffrere meldingen. For eksempel er bokstaven E den mest brukte bokstaven på det engelske språket.

Så hvis den vanligste bokstaven i en hemmelig melding er K, er det sannsynlig at K representerer E. I tillegg gir vanlige ordavslutninger som ING, LY og ES også ledetråder. En brute-force tilnærming med å prøve alle 25 mulige kombinasjoner ville også arbeide for å dechiffrere meldingen.

I dette eksemplet har hver bokstav i klartekstmeldingen blitt forskjøvet 3 bokstaver ned i alfabetet.

Vanlig tekst : Dette er en hemmelig melding

Chiffertekst : wklv lv d vhfuhw phvvdjh

2. Atbash-chiffer

Atbash-chifferet er et veldig spesifikt tilfelle av en substitusjonssifferord der bokstavene i alfabetet er reversert. Med andre ord, alle som erstattes med Zs, alle Bs er erstattet med Ys, og så videre.

Fordi å reversere alfabetet to ganger får du det faktiske alfabetet, kan du kryptere og tyde en melding med nøyaktig samme algoritme.

Eksempel:

Vanlig tekst : Dette er en hemmelig melding

Chiffertekst : Gsrh rh z hvxivg nvhhztv

Nøkkelord chiffer er identisk med Cæsar chiffer med unntak av at substitusjonsalfabet som brukes kan være representert med et nøkkelord.

For å lage et substitusjonsalfabet fra et nøkkelord, skriver du først alfabetet. Under dette skriver du ned nøkkelordet (utelater dupliserte bokstaver) etterfulgt av de gjenværende ubrukte bokstavene i alfabetet.

ABCDEFGHIJKLMNOPQRSTUVWXYZ

KEYWORDABCFGHIJLMNPQSTUVXZ

For å kryptere en ren tekstmelding konverterer du alle bokstaver fra øverste rad til deres tilsvarende bokstav på den nederste raden (A til K, B til E, etc.).

Ved å bruke frekvensanalyse og litt utdannet gjette kan det enkelt knekke disse typene enkle substitusjonssifere.

4. Pigpen / Masonic Chiffer

Pigpen chiffer (noen ganger kalt frimurer-chiffer eller frimurerens chiffer) er en enkel substitusjonssiffer som utveksler bokstaver for symboler basert på et rutenett. Opplegget ble utviklet og brukt av frimurerne på begynnelsen av 1700-tallet for journalføring og korrespondanse. Eksempeltasten viser en måte bokstavene kan tilordnes rutenettet.

B) Polyalfabetiske chiffer:

I en polyalfabetisk chiffer kan substitusjonen endre seg gjennom hele meldingen. Med andre ord kan bokstaven A være kodet som bokstaven K for en del av meldingen, men senere kan den kanskje kodes som bokstaven W.

Anbefalte kurs

  • Trening på XML
  • CCNA eksamenskurs
  • Fullfør UNIX- og Linux OS-opplæring
  • HTML 5 treningspakke

1. Vigenere Cipher

I en Cæsar-chiffer blir hver bokstav i alfabetet forskjøvet langs et antall steder; for eksempel i en Cæsar-chiffer av skift 3, ville A bli D, B ville bli E og så videre. Vigenere-chifferen består av å bruke flere Cæsar-chiffer i sekvens med forskjellige skiftverdier.

For å kryptere kan en tabell med alfabeter brukes, kalt en tabula recta, Vigenere square eller Vigenere tabell. Det består av alfabetet skrevet ut 26 ganger i forskjellige rader, hvert alfabet forskjøvet syklisk mot venstre sammenlignet med forrige alfabet, tilsvarende de 26 mulige Cæsar-sifrene. På forskjellige punkter i krypteringsprosessen bruker chifferen et annet alfabet fra en av radene. Alfabetet som brukes på hvert punkt, avhenger av et gjentatt nøkkelord.

Anta for eksempel at ren tekst som skal krypteres er:

ATTACKATDAWN

Personen som sender meldingen velger et nøkkelord og gjentar det til det samsvarer med lengden på ren tekst, for eksempel søkeordet "LEMON":

LEMONLEMONLE

Hver bokstav blir kodet ved å finne krysset i rutenettet mellom vanlig tekstbokstav og nøkkelordbokstav. For eksempel blir den første bokstaven i klarteksten, A, kryptert ved å bruke alfabetet i rad L, som er den første bokstaven i tasten. Dette gjøres ved å se på bokstaven i rad L og kolonne A på Vigenere-plassen, nemlig L. Tilsvarende brukes den andre bokstaven i nøkkelen til den andre bokstaven i klarteksten; bokstaven på rad E og kolonne T er X. Resten av ren tekst er kryptert på lignende måte:

Vanlig tekst : ATTACKATDAWN

Nøkkel : LEMONLEMONLE

Chiffertekst : LXFOPVEFRNHR

Finne plasseringen av chiffertekstbokstaven i en rad i tabellen, og deretter ta etiketten til kolonnen der den vises som ren tekst utføre dekryptering. I rad L vises for eksempel chifferteksten L i kolonne A, som ble tatt som den første klartekstbokstaven. Når du ser opp X på rad E i tabellen, dekrypteres den andre bokstaven; den vises i kolonne T, som blir tatt som klartekstbokstaven.

En Gronsfeld-chiffer er identisk med Vigenere-chifferen med unntak av at bare 10 rader brukes, noe som gjør at nøkkelordet kan være et tall i stedet for et ord.

steganography

Steganografi er faktisk vitenskapen om å skjule informasjon fra folk som ville snuse på deg. Forskjellen mellom dette og kryptering er at de fremtidige snuskerne kanskje ikke kan fortelle at det er noen skjult informasjon i utgangspunktet.

Som et eksempel har bildefiler vanligvis mye ubrukt plass i seg. Denne plassen kan brukes til å sende skjulte meldinger. Hvis du forsker på kryptering, kan det hende du ser begrepet steganografi som brukes av og til. Det er imidlertid ikke ekte kryptering (selv om det fremdeles kan være ganske effektivt), og som sådan nevner jeg det bare her for fullstendighet.

Så hvis du vil begynne å praktisere kryptologi, ville den beste måten å komme i gang med å begynne å løse algoritmer og chiffertekst sammen med Steganography. Selv om Steganography kan virke enkelt og det ikke er sant kryptering, er det fortsatt en av de mest brukte krypteringene når det gjelder grunnleggende og når du trenger å kode noe på veldig liten tid og på best mulig måte.

Første bildekilde: pixabay.com

Anbefalte artikler

Her er noen artikler som vil hjelpe deg med å få mer detaljert informasjon om algoritmer og kryptografi, så bare gå gjennom lenken.

  1. Datastrukturer og algoritmer intervjuspørsmål Mest brukbart
  2. 8 Fantastiske algoritmeintervju spørsmål og svar
  3. Beste valg av programmeringsspråk for å lære algoritmer
  4. 10 beste datastrukturer og algoritmer C ++ | Grunnleggende