Symmetrisk, asymmetrisk, hasj og mer…

Kryptografi er en teknikk for å sikre informasjon og kommunikasjon ved å bruke et sett med regelbaserte beregninger kalt algoritmer og noen matematiske konsepter slik at bare den rette personen kan forstå det.

Det er nyttig å forhindre uautorisert tilgang til informasjon.

Ordet «kryptografi» er avledet fra det greske ordet kryptos, som betyr skjult. Ordet «krypto» betyr «skjult» og «grafi» betyr «skriving».

I denne artikkelen vil jeg dekke det grunnleggende om kryptografiprinsipper, utforske ulike typer med eksempler, diskutere utfordringer og se fremover mot fremtidige trender. Jeg tar sikte på å gi en helhetlig oversikt, som dekker både større og mindre begreper.

Kryptografi sikrer digital kommunikasjon og informasjon i ulike systemer og applikasjoner, og sikrer konfidensialitet og datasikkerhet. Den beskytter data mot uautorisert tilgang.

La oss se hva som skjer i kryptografi:

  • Prosessen starter med avsenderen som har en melding eller data å sende.
  • Klarteksten (originalmeldingen) blir deretter konvertert til et uleselig format ved hjelp av en metode som kalles kryptering.
  • Mottakeren bruker en nøkkel for å konvertere chifferteksten (ulesbart format) tilbake til et lesbart format, en prosess kjent som dekryptering.
  • Den dekrypterte meldingen er igjen i klartekst og er den samme som den originale meldingen sendt av avsenderen.
  • Mottakeren har nå den opprinnelige meldingen.
  • La oss nå utforske de grunnleggende prinsippene for kryptografi.

    Grunnleggende prinsipper for kryptografi

    Det er fire hovedprinsipper for kryptografi:

    #1. Konfidensialitet: Bare den tiltenkte mottakeren kan få tilgang til informasjonen; det forblir privat for andre.

    #2. Integritet: Informasjon kan ikke endres under lagring eller overføring uten at det oppdages endringer.

    #3. Ikke-avvisning: Avsender kan ikke nekte å sende informasjonen senere.

    #4. Autentisering: Den bekrefter identiteten til både avsender og mottaker og verifiserer kilden og destinasjonen til informasjonen.

    Før vi fortsetter, la oss gå gjennom noen grunnleggende ordforråd.

    Ordliste:

    WordMeaningCryptographyDet er en teknikk for å sikre informasjon og kommunikasjon ved å bruke et sett med regelbaserte beregninger kalt algoritmer og noen matematiske konsepter slik at bare den rette personen kan forstå det.CipherEt chiffer er en metode eller algoritme som brukes til å kryptere og dekryptere dataKrypteringProsessen med å konvertere ren tekst til chiffertekstRentekstOriginal, ukryptert form for data eller tekstCiphertextKrypterte data (en kodet form av dataene) eller tekstDekrypteringDen omvendte prosessen med å konvertere chiffertekst tilbake til ren tekst ved hjelp av dekrypteringsnøkkelNøkkelEn nøkkel er et stykke informasjon, typisk en sekvens av biter, som brukes til å kontrollere krypterings- og dekrypteringsprosess.NøkkelutvekslingSikker overføring av krypteringsnøkler mellom avsender og mottaker.Kryptografiordliste

    Det er tre grunnleggende typer kryptografi:

  • Symmetrisk nøkkelkryptering
  • Asymmetrisk nøkkelkryptering
  • Hash funksjon
  • Symmetrisk nøkkelkryptering

    Symmetrisk nøkkelkryptering, også referert til som Single Key Encryption, er en krypteringsteknikk som er avhengig av en enkelt hemmelig nøkkel for både kryptering og dekryptering av data.

    I denne metoden må både avsender og mottaker bruke nøyaktig samme hemmelige nøkkel for å forstå dataene. Det fungerer ved å endre vanlige data til hemmelig kode (siffertekst) ved hjelp av den hemmelige nøkkelen og en spesifikk matematisk prosess.

    Når mottakeren, som også kjenner den hemmelige nøkkelen, får den hemmeligkodede meldingen, kan de bruke samme matematiske prosess for å gjøre den tilbake til normal data. På denne måten får mottakeren den originale informasjonen fra den hemmelige koden.

    Symmetrisk kryptografi

    La oss forstå prosessen gjennom følgende trinn:

    • Algoritmen konverterer originaltekst (ren tekst) til chiffertekst ved å bruke en hemmelig nøkkel.
    • Deretter sender avsenderen den chifferteksten til mottakeren via kommunikasjonskanalen. Denne kommunikasjonskanalen skal være privat eller offentlig.
    • Mottakere bruker den samme hemmelige nøkkelen for å dekryptere den chifferteksten og konvertere den til originaltekst.

    Denne symmetriske krypteringsprosessen sørger for at kommunikasjonen mellom sender og mottaker forblir sikker. Men den hemmelige nøkkelen må være konfidensiell.

    For å opprettholde konfidensialitet og integritet, må begge parter sikkert administrere og beskytte denne hemmelige nøkkelen.

    Det finnes to typer symmetriske krypteringssiffer:

  • Stream Cipher
  • Blokker chiffer
  • Strøm CipherBlock CipherKrypter data i blokker med fast lengde Mens dataene krypteres, beholder systemet dem i minnet, og venter til hele blokker er klare for behandling Krypterer data én bit eller byte av gangenKrypterer data i blokker med fast lengdeBruker 8 biter av nøkkelen Bruker enten 64 biter eller mer enn 64 biter av nøkkelenMer kompleks enn blokkchiffer Enklere enn strømchifferKrypter data i blokker med fast lengdeLangsom og egnet for offline-applikasjoner Bruker CFB- og OFB-modus Bruker ECB- og CBC-moduser.Stream-chiffer vs.

      11 beste storyboardverktøy [With Free Templates]

    Noen eksempler på symmetriske krypteringsalgoritmer inkluderer:

    • AES (Advanced Encryption Standard): Den er kjent for sin sikkerhet og effektivitet. Det brukes ofte til å sikre sensitive data som trådløs sikkerhet, skydatabehandling, banktjenester og e-handel.
    • DES (Data Encryption Standard): Det er en eldre metode for kryptering som ble erstattet av AES og 3DES. Den bruker en 56-bits nøkkel.
    • IDEA (International Data Encryption Algorithm): Den bruker en 128-bits nøkkel og brukes i ulike applikasjoner.
    • Blowfish: Algoritme designet som en drop-in-erstatning for DES eller IDEA.
    • RC4 (Rivest Cipher 4): Utviklet av Ron Rivest. Den er kjent for sin enkelhet og hastighet, men har noen sikkerhetsproblemer i visse implementeringer.
    • RC5 (Rivest Cipher 5): Den er designet for å være effektiv og sikker, med variabel blokkstørrelse og nøkkelstørrelse.
    • RC6 (Rivest Cipher 6): Den er designet for å gi forbedret sikkerhet og ytelse sammenlignet med tidligere versjoner.

    AES, DES, IDEA, Blowfish, RC5 og RC6 er blokkchiffere.

    RC4 er en Stream Chiffer.

    Fordeler med symmetrisk nøkkelkryptering

    • Det er raskere og mer effektivt enn asymmetrisk kryptografi
    • Størrelsen på nøkkelen er liten, noe som tillater generering av sterkere chiffer.
    • Det er relativt kostnadseffektivt å produsere sterke nøkler for chiffer.
    • AES er en av de sikre algoritmene.

    Ulemper med symmetrisk nøkkelkryptering

    • Sikker deling av krypteringsnøkler med alle parter som trenger å kommunisere sikkert er en stor utfordring med symmetrisk kryptografi.
    • Hele systemets sikkerhet kan bli brutt hvis nøkkelen blir fanget opp eller kompromittert av en angriper under overføring.
    • Symmetriske krypteringssystemer krever nøye nøkkelhåndteringspraksis. Dette inkluderer å generere, lagre, oppdatere og tilbakekalle nøkler. Feilhåndtering av nøkler kan føre til sikkerhetsbrudd.
    • Angripere kan avskjære nøkler som utveksles over en usikker kanal, noe som fører til en kompromittering av kommunikasjonen.

    Likevel er symmetrisk kryptering en viktig del av moderne kryptografi og er mye brukt i mange applikasjoner, til tross for dens ulemper.

    Sterk nøkkelbehandlingspraksis og sikre nøkkelutvekslingsmetoder kan bidra til å overvinne noen av utfordringene med symmetrisk kryptografi.

    Asymmetrisk nøkkelkryptering

    Asymmetrisk kryptografi bruker par med nøkler – en privat som holdes hemmelig og en offentlig som deles åpent. Du kan bruke noens offentlige nøkkel til å kryptere en melding, og bare de kan dekryptere den med sin private nøkkel.

    Denne metoden øker digital sikkerhet ved å tillate sikker kommunikasjon uten å dele hemmelige nøkler, noe som er avgjørende i vår online verden.

    Dette er nyttig for sikker kommunikasjon, siden mottakere bare trenger din offentlige nøkkel. Det eliminerer risikoen for å dele en hemmelig symmetrisk nøkkel.

    Disse «offentlige nøkkelalgoritmene» bruker et par nøkler for å sikre data.

    Her er en enklere oversikt:

    Symmetrisk vs asymmetrisk kryptografi

    • Det er to nøkler. En offentlig nøkkel, som alle har tilgang til, og en privat nøkkel, som holdes hemmelig.
    • Den offentlige nøkkelen brukes til å kryptere eller låse dataene.
    • Den private nøkkelen brukes til å dekryptere eller låse opp dataene.

    Det er viktig å forstå at du ikke kan finne ut den private nøkkelen fra den offentlige nøkkelen. Også offentlige nøkler er vanligvis knyttet til identiteter av organisasjoner kjent som sertifiseringsinstanser.

    Sikker kommunikasjon Sender og mottaker har utvekslet en sikker melding uten å kompromittere deres private nøkler.

    Disse algoritmene er avhengige av matematiske problemer som heltallsfaktorisering og diskrete logaritmer for å lage digitale signaturer og etablere/distribuere sesjonsnøkler, for eksempel i TLS-protokollen.

    Noen eksempler på asymmetriske krypteringsalgoritmer inkluderer:

    • RSA (Rivest-Shamir-Adleman): RSA er en av de mest brukte asymmetriske krypteringsalgoritmene. Den er basert på de matematiske egenskapene til store primtall og brukes ofte til sikker nøkkelutveksling og digitale signaturer.
    • Elliptic Curve Cryptography (ECC): Den er basert på den algebraiske strukturen til elliptiske kurver over endelige felt. ECC tilbyr fordelen med mindre nøkkelstørrelser sammenlignet med ikke-EC-kryptering som er avhengig av vanlige Galois-felt. ECC brukes hovedsakelig til å generere pseudo-tilfeldige tall og digitale signaturer.
    • Diffie-Hellman nøkkelutveksling: Denne algoritmen brukes for sikker nøkkelutveksling. En nøkkel opprettet ved hjelp av denne metoden kan brukes til kryptering med en symmetrisk algoritme. Diffie-Hellmans hovedmål er å gjøre det mulig for to parter å lage en delt hemmelig nøkkel over en usikker kommunikasjonskanal.
      Bruke CSS Grid for Magasin-stil layouter

    Fordeler med asymmetrisk kryptografi

    • Asymmetrisk kryptering gir sterkere sikkerhet sammenlignet med symmetrisk kryptografi.
    • Mottakeren kan bekrefte avsenderens identitet.
    • Asymmetrisk kryptering løste problemet knyttet til nøkkeldistribusjon, som jeg nevnte i ulempene med symmetrisk nøkkelkryptografi.
    • Meldingsmottakere kan oppdage om meldingen ble endret under overføring.

    Ulemper med asymmetrisk nøkkelkryptering

    • Asymmetrisk kryptering er en langsommere prosess enn symmetrisk kryptografi.
    • Asymmetrisk kryptering og dekryptering krever flere beregningsressurser enn symmetrisk kryptografi.
    • Asymmetrisk kryptografi er avhengig av offentlige og private nøkler. Å administrere disse nøklene sikkert kan være komplekst og utfordrende, spesielt i store systemer.
    • Den viktigste potensielle ulempen med asymmetrisk kryptografi er dens sårbarhet for kvantedatamaskiner. Kvantedatamaskiner har potensial til å løse visse matematiske problemer, som heltallsfaktorisering og diskrete logaritmer, mye mer effektivt enn klassiske datamaskiner.

    Men ingen grunn til å bekymre seg organisasjoner og forskere jobber med å gå over til disse kvanteresistente kryptografiske teknikkene.

    La oss gå mot vår neste type kryptografi:

    Hash funksjon

    Kryptografiske hash-funksjoner er forskjellige fra andre typer kryptografi. De krypterer ikke data. I stedet bruker de kompleks matematikk for å gjøre alle data om til en unik kode som består av bokstaver og tall.

    Disse kodene kalles hash-koder, hash-verdier eller meldingssammendrag. De er viktige for å sjekke om data er trygge; når data sendes eller lagres, beregnes hashkoden og sendes eller oppbevares sammen med dataene.

    Mottakeren kan beregne koden til dataene de mottok på nytt og kontrollere den mot den som er sendt. Hvis kodene samsvarer, betyr det at dataene forble trygge under overføring og lagring.

    Her er en enkel steg-for-steg forklaring:

    Hash funksjon

    Avsenderens side:

  • Avsenderen bruker en hash-funksjon for å lage en unik hash-verdi for de oppgitte dataene.
  • Etter å ha opprettet hashverdier, sender avsenderen både den originale meldingen og hashkoden til mottakeren gjennom en usikker kanal.
  • Mottakerens side:

  • Mottakeren mottar meldingen og hashkoden.
  • Mottakeren bruker også det samme spesialverktøyet (hash-funksjonen) for å lage en ny hashkode for den mottatte meldingen.
  • Mottakeren sammenligner den nye hashkoden med den som er sendt av avsenderen.
  • Utfall:

    • Hvis hash-koder samsvarer, betyr det at meldingen ikke ble endret under overføringen, og den anses som sikker.
    • Hvis hashkodene ikke stemmer overens, tyder det på at meldingen kan ha blitt endret, og at den ikke anses som sikker.

    Her er noen av egenskapene som gjør hash-funksjoner nyttige:

    Egenskaper for hasjfunksjon:

  • Deterministisk: Hvis du gir samme input, vil det alltid produsere samme output.
  • Ensartethet og kollisjonsfri: En god hash-funksjon bør gi jevnt fordelte utdata. Det hjelper å unngå kollisjoner.
  • Effektiv: Hash-funksjoner er designet for å være beregningseffektive, slik at de raskt kan behandle store datamengder.
  • Utdata med fast størrelse: Den produserer utdata med fast størrelse uavhengig av inngangsstørrelsen. Denne egenskapen er viktig fordi den muliggjør effektiv lagring og henting av data.
  • Hash-funksjoner har mange applikasjoner innen informatikk og informasjonssikkerhet, inkludert kryptografi, dataintegritetskontroll, dataindeksering, datafingeravtrykk, passordlagring, digital etterforskning og blokkjede.

    Vanlige kryptografiske hashfunksjoner inkluderer:

    Det er to mye brukte familier av kryptografiske hash-funksjoner – MD-familien (MD = meldingssammendrag) og SHA-familien (SHA = sikker hash-algoritme).

    • SHA-1 (Secure Hash Algorithm 1): Det var en av de populære hash-funksjonene. Imidlertid anses SHA-1 nå som svak på grunn av sårbarheter som tillater praktiske kollisjonsangrep. Den brukes ikke lenger for de fleste sikkerhetsapplikasjoner.
    • MD5 (Message Digest Algorithm 5): MD5 var populær tidligere, men regnes nå som svak på grunn av kollisjonssårbarheter. Det brukes vanligvis ikke for sikkerhetssensitive applikasjoner.
    • SHA-3: SHA-3 er en nyere familie av hash-funksjoner valgt gjennom en konkurranse av Nasjonalt institutt for standarder og teknologi (NIST). Den gir sterk sikkerhet og er designet for å være motstandsdyktig mot visse typer angrep.

    Selv om hash-funksjoner ikke krypterer meldinger, er de en integrert del av kryptografi fordi de spiller en avgjørende rolle i å sikre og autentisere data, som er nøkkelmål i kryptografi.

    Fordeler med Hash-funksjon

    • En sikker hash-funksjon garanterer høy kollisjonsmotstand.
    • To filer kan enkelt sammenlignes for likestilling gjennom hashing.
    • Hash-funksjoner er utrolig raske og effektive.
    • I DBMS brukes hashing for å søke etter plasseringen av dataene uten å bruke en indeksstruktur.
      Gjenvinn inntektene dine med AdBlock Detection Solution for WordPress

    Ulemper med Hash-funksjon

    • Hash-funksjoner kan fungere mindre effektivt når det er mange kollisjoner.
    • Ingen nullverdier er tillatt.
    • Implementering av hashtabeller kan være en utfordrende oppgave på grunn av deres kompleksitet.
    • I praksis er det nesten umulig helt å forhindre hasjkollisjoner når man arbeider med et stort sett med potensielle nøkler.

    Les også: Slik beskytter du deg mot et regnbuebordangrep

    Virkelige anvendelser av kryptografi

    • Autentisering/digitale signaturer: Autentisering er den viktige prosessen med å bekrefte autentisiteten til data, verifisere kilden til et dokument, validere avsenderidentitet, tidsstempelnøyaktighet og sikre legitimiteten til datamaskin- eller brukeridentiteter. Digitale signaturer bruker kryptografiske metoder som involverer en hash-funksjon og en privat nøkkel for å validere og signere dokumenter på en sikker måte.
    • Cloud Storage-kryptering: Kryptografi brukes til å sikre filer som er lagret i skyen og under overføring til og fra skytjenester.
    • Elektroniske penger: Elektroniske penger innebærer elektroniske pengeoverføringer mellom parter, som kan være debet eller kreditt, og enten anonyme eller identifiserte. Den bruker kryptering, digitale signaturer og offentlig nøkkelkryptering for sikkerhet, noe som muliggjør ulike transaksjonstyper.
    • Kryptering/dekryptering i e-post: E-postkryptering sikrer e-postinnhold mot uautorisert tilgang ved bruk av offentlig nøkkelkryptering. Hver bruker har et offentlig og privat nøkkelpar, med den offentlige nøkkelen som brukes til kryptering, og bare den private nøkkelen kan dekryptere meldingen.
    • Kryptering i WhatsApp: WhatsApp bruker signalprotokollen for kryptering, og kombinerer symmetrisk og asymmetrisk nøkkelkryptografi for konfidensialitet, integritet, autentisering og ikke-avvisning. Curve25519-baserte algoritmer brukes til nøkkelutveksling.
    • Kryptering i Instagram: Instagram-kommunikasjon er kryptert med SSL/TLS over port 443, og forhindrer avlytting av data som utveksles mellom brukeren og Instagram-servere.
    • SIM-kortautentisering: SIM-kortautentisering innebærer å verifisere SIM-kortets tilgang til nettverket ved å generere et tilfeldig tall og bruke algoritmer som A3 med den hemmelige nøkkelen Ki. Kryptering er avhengig av A8-algoritmen og øktnøkkelen KC, brukt med A5-algoritmen for datakryptering/dekryptering.

    Utfordringer i kryptografi

    • Nøkkelhåndtering er fortsatt en utfordring, ettersom sikker distribusjon og administrasjon av krypteringsnøkler er komplekst, spesielt i store systemer. Nøkkellagrings- og gjenopprettingsmekanismer må være robuste.
    • Symmetrisk kryptografi kan bli ineffektiv når mange brukere trenger å kommunisere sikkert. Hvert brukerpar krever en unik nøkkel, som kan bli uhåndterlig etter hvert som antall brukere øker.
    • Asymmetrisk kryptografi krever vanligvis lengre nøkler enn symmetrisk kryptografi for å oppnå samme sikkerhetsnivå. Dette kan føre til tregere behandling og økt ressursbehov.
    • Oppdagelsen av sårbarheter eller svakheter i hashfunksjoner kan føre til sikkerhetsbrudd. Det kryptografiske fellesskapet må kontinuerlig analysere og tilpasse hash-funksjoner for å redusere slike risikoer.
    • I applikasjoner der hash-funksjoner brukes til passordlagring, er riktig salting av passord nødvendig for å forhindre regnbuebordangrep. Utfordringen ligger i å sikre at salter er unike og hemmelige.
    • Fremveksten av kvantedatabehandling utgjør en betydelig utfordring for kryptografiens verden. Kvantedatamaskiner er eksepsjonelt raske til å løse spesifikke matematiske problemer, og utnytter de særegne prinsippene for kvantefysikk for deres ekstraordinære beregningsdyktighet.

    Denne hastigheten truer grunnlaget for våre nåværende kryptografiske systemer, som er avhengige av kompleksiteten til visse matematiske utfordringer for å sikre datasikkerhet. Kvantedatamaskiner har evnen til å løse disse problemene mye raskere enn konvensjonelle datamaskiner, og potensielt kompromittere sikkerheten til krypteringsmetodene våre.

    De underliggende prinsippene for kvantemekanikk som kvantedatamaskiner bruker er faktisk uvanlige, men gir dem kraften til å utføre oppgaver som er utenfor rekkevidden til klassiske datamaskiner.

    Følgelig blir behovet for å utvikle nye kryptografiske teknikker som tåler kvanteangrep stadig mer presserende, noe som skaper en kontinuerlig utfordring innen kryptografi.

    • Å utvikle og ta i bruk post-kvantekryptografialgoritmer som er motstandsdyktige mot kvanteangrep vil være en betydelig trend. Algoritmer som gitterbasert kryptografi blir utforsket.
    • Det er en økende aksept for skybasert kryptering og nøkkeladministrasjon, spesielt innen finans. Homomorf kryptering tillater beregninger på krypterte data uten å dekryptere dem. Dette kan forbedre personvernet innen skydatabehandling og databehandling.
    • Kryptografi spiller en avgjørende rolle for å sikre blokkjedeteknologi, og de to vil fortsette å være sammenvevd i fremtiden.
    • Med økte databeskyttelsesbestemmelser, som GDPR, brukes tokenisering oftere i helsevesen, finansielle tjenester og bedrifter. Tokenisering erstatter faktiske data med et token som er verdiløst for hackere.

    Siste ord

    Kryptografi er et stort felt med mye å utforske, og vi har bare skrapet i overflaten ved å dekke det grunnleggende innen kryptografi.

    Vi har dekket kryptografi, dets prinsipper, kryptografityper, hashfunksjoner, utfordringer, fremtidige trender og praktiske anvendelser.

    Likevel er det mye mer å oppdage.

    Neste opp, Cloud Cryptography: An Introductory Guide og Google Cloud Case Study.