Symmetrisk, Asymmetrisk, Hash og mere…

Kryptografi er en teknik til at sikre information og kommunikation ved at bruge et sæt regelbaserede beregninger kaldet algoritmer og nogle matematiske begreber, så kun den rigtige person kan forstå det.

Det er nyttigt at forhindre uautoriseret adgang til information.

Ordet “kryptografi” er afledt af det græske ord kryptos, som betyder skjult. Ordet “krypto” betyder “skjult” og “grafi” betyder “skrivning”.

I denne artikel vil jeg dække det grundlæggende i kryptografiprincipper, udforske forskellige typer med eksempler, diskutere udfordringer og se frem til fremtidige trends. Jeg tilstræber at give et samlet overblik, der dækker både større og mindre begreber.

Kryptografi sikrer digital kommunikation og information i forskellige systemer og applikationer, hvilket sikrer fortrolighed og datasikkerhed. Det beskytter data mod uautoriseret adgang.

Lad os se, hvad der sker i kryptografi:

  • Processen starter med afsenderen, der har en besked eller data at sende.
  • Den almindelige tekst (oprindelige besked) konverteres derefter til et ulæseligt format ved hjælp af en metode kaldet kryptering.
  • Modtageren bruger en nøgle til at konvertere chifferteksten (ulæsbart format) tilbage til et læsbart format, en proces kendt som dekryptering.
  • Den dekrypterede besked er igen i klartekst og er den samme som den originale besked sendt af afsenderen.
  • Modtageren har nu den originale besked.
  • Lad os nu udforske de grundlæggende principper for kryptografi.

    Grundlæggende principper for kryptografi

    Der er fire hovedprincipper for kryptografi:

    #1. Fortrolighed: Kun den påtænkte modtager kan få adgang til oplysningerne; det forbliver privat for andre.

    #2. Integritet: Information kan ikke ændres under lagring eller transmission uden registrering af ændringer.

    #3. Ikke-afvisning: Afsenderen kan ikke nægte at sende oplysningerne senere.

    #4. Autentificering: Den bekræfter identiteten af ​​både afsender og modtager og verificerer kilden og destinationen for informationen.

    Før vi fortsætter, lad os gennemgå nogle grundlæggende ordforråd.

    Ordliste:

    WordMeaningCryptographyDet er en teknik til at sikre information og kommunikation ved at bruge et sæt regelbaserede beregninger kaldet algoritmer og nogle matematiske begreber, så kun den rigtige person kan forstå det.CipherEn chiffer er en metode eller algoritme, der bruges til at kryptere og dekryptere dataKrypteringProcessen med at konvertere almindelig tekst til krypteringstekstPlaintextOriginal, ukrypteret form for data eller tekstCiphertextEncrypted data (en kodet form af dataene) eller textDecryptionDen omvendte proces med at konvertere chiffertekst tilbage til almindelig tekst ved hjælp af dekrypteringsnøgleNøgleEn nøgle er et stykke information, typisk en sekvens af bits, der bruges til at kontrollere krypterings- og dekrypteringsproces.NøgleudvekslingSikker overførsel af krypteringsnøgler mellem afsender og modtager.Kryptografiordliste

    Der er tre grundlæggende typer af kryptografi:

  • Symmetrisk nøglekryptografi
  • Asymmetrisk nøglekryptografi
  • Hash funktion
  • Symmetrisk nøglekryptografi

    Symmetrisk nøglekryptering, også kaldet Single Key Encryption, er en krypteringsteknik, der er afhængig af en enkelt hemmelig nøgle til både kryptering og dekryptering af data.

    I denne metode skal både afsenderen og modtageren bruge nøjagtig den samme hemmelige nøgle for at forstå dataene. Det virker ved at ændre normale data til hemmelig kode (chiffertekst) ved hjælp af den hemmelige nøgle og en specifik matematisk proces.

    Når modtageren, som også kender den hemmelige nøgle, får den hemmelige kodede besked, kan de bruge den samme matematiske proces til at vende den tilbage til normal data. På denne måde får modtageren den originale information fra den hemmelige kode.

    Symmetrisk kryptografi

    Lad os forstå processen gennem følgende trin:

    • Algoritmen konverterer original tekst (almindelig tekst) til chiffertekst ved at bruge en hemmelig nøgle.
    • Derefter sender afsenderen denne chiffertekst til modtageren gennem kommunikationskanalen. Denne kommunikationskanal være privat eller offentlig.
    • Modtagere bruger den samme hemmelige nøgle til at dekryptere den chiffertekst og konvertere den til original tekst.

    Denne symmetriske krypteringsproces sikrer, at kommunikationen mellem afsender og modtager forbliver sikker. Men den hemmelige nøgle skal være fortrolig.

    For at opretholde fortrolighed og integritet skal begge parter sikkert administrere og beskytte denne hemmelige nøgle.

    Der er to typer symmetriske krypteringscifre:

  • Stream Cipher
  • Bloker chiffer
  • Stream CipherBlock CipherKrypter data i blokke med fast længde Mens dataene krypteres, gemmer systemet dem i hukommelsen og venter, indtil komplette blokke er klar til behandling. bits eller mere end 64 bit af nøglenMere kompleks end blokchifferEnklere end streamchifferKrypter data i blokke med fast længdeLangsom og velegnet til offlineapplikationer Bruger CFB- og OFB-tilstande Bruger ECB- og CBC-tilstande.Stream Cipher vs Block Cipher

      Hvordan tester man FREAK Attack (CVE-2015-0204) og fikser?

    Nogle eksempler på symmetriske krypteringsalgoritmer omfatter:

    • AES (Advanced Encryption Standard): Den er kendt for sin sikkerhed og effektivitet. Det bruges almindeligvis til at sikre følsomme data såsom trådløs sikkerhed, cloud computing, bank og e-handel.
    • DES (Data Encryption Standard): Det er en ældre metode til kryptering, der blev erstattet af AES og 3DES. Den bruger en 56-bit nøgle.
    • IDEA (International Data Encryption Algorithm): Den bruger en 128-bit nøgle og bruges i forskellige applikationer.
    • Blowfish: Algoritme designet som en drop-in erstatning for DES eller IDEA.
    • RC4 (Rivest Cipher 4): Udviklet af Ron Rivest. Det er kendt for sin enkelhed og hastighed, men har nogle sikkerhedsproblemer i visse implementeringer.
    • RC5 (Rivest Cipher 5): Den er designet til at være effektiv og sikker med en variabel blokstørrelse og nøglestørrelse.
    • RC6 (Rivest Cipher 6): Den er designet til at give forbedret sikkerhed og ydeevne i forhold til tidligere versioner.

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

    RC4 er en Stream Cipher.

    Fordele ved symmetrisk nøglekryptografi

    • Det er hurtigere og mere effektivt end asymmetrisk kryptografi
    • Størrelsen på nøglen er lille, hvilket tillader generering af stærkere cifre.
    • Det er relativt omkostningseffektivt at producere stærke nøgler til cifre.
    • AES er en af ​​de sikre algoritmer.

    Ulemper ved symmetrisk nøglekryptografi

    • Sikker deling af krypteringsnøgler med alle parter, der skal kommunikere sikkert, er en stor udfordring ved symmetrisk kryptografi.
    • Hele systemets sikkerhed kan blive brudt, hvis nøglen opsnappes eller kompromitteres af en angriber under transmissionen.
    • Symmetriske krypteringssystemer kræver omhyggelig nøglehåndteringspraksis. Dette omfatter generering, lagring, opdatering og tilbagekaldelse af nøgler. Forkert håndtering af nøgler kan føre til sikkerhedsbrud.
    • Angribere kan opsnappe nøgler, der udveksles over en usikker kanal, hvilket fører til en kompromittering af kommunikationen.

    Alligevel er symmetrisk kryptering en væsentlig del af moderne kryptografi og er meget udbredt i mange applikationer på trods af dens ulemper.

    Stærk nøglehåndteringspraksis og sikre nøgleudvekslingsmetoder kan hjælpe med at overvinde nogle af udfordringerne ved symmetrisk kryptografi.

    Asymmetrisk nøglekryptografi

    Asymmetrisk kryptografi bruger par nøgler – en privat, der holdes hemmelig, og en offentlig, der deles åbent. Du kan bruge en persons offentlige nøgle til at kryptere en besked, og kun de kan dekryptere den med deres private nøgle.

    Denne metode øger den digitale sikkerhed ved at tillade sikker kommunikation uden at dele hemmelige nøgler, hvilket er afgørende i vores onlineverden.

    Dette er nyttigt for sikker kommunikation, da modtagere kun har brug for din offentlige nøgle. Det eliminerer risikoen for at dele en hemmelig symmetrisk nøgle.

    Disse “offentlige nøglealgoritmer” bruger et par nøgler til at sikre data.

    Her er en enklere opdeling:

    Symmetrisk vs asymmetrisk kryptografi

    • Der er to nøgler. En offentlig nøgle, som alle har adgang til, og en privat nøgle, som holdes hemmelig.
    • Den offentlige nøgle bruges til at kryptere eller låse dataene.
    • Den private nøgle bruges til at dekryptere eller låse op for dataene.

    Det er vigtigt at forstå, at du ikke kan finde ud af den private nøgle fra den offentlige nøgle. Også offentlige nøgler er normalt knyttet til identiteter af organisationer kendt som certifikatmyndigheder.

    Sikker kommunikation Afsender og modtager har udvekslet en sikker besked uden at kompromittere deres private nøgler.

    Disse algoritmer er afhængige af matematiske problemer som heltalsfaktorisering og diskrete logaritmer til at skabe digitale signaturer og etablere/distribuere sessionsnøgler, såsom i TLS-protokollen.

    Nogle eksempler på asymmetriske krypteringsalgoritmer omfatter:

    • RSA (Rivest-Shamir-Adleman): RSA er en af ​​de mest udbredte asymmetriske krypteringsalgoritmer. Den er baseret på de matematiske egenskaber af store primtal og bruges almindeligvis til sikker nøgleudveksling og digitale signaturer.
    • Elliptic Curve Cryptography (ECC): Den er baseret på den algebraiske struktur af elliptiske kurver over begrænsede felter. ECC tilbyder fordelen ved mindre nøglestørrelser sammenlignet med ikke-EC-kryptering, der er afhængig af almindelige Galois-felter. ECC bruges hovedsageligt til at generere pseudo-tilfældige tal og digitale signaturer.
    • Diffie-Hellman nøgleudveksling: Denne algoritme bruges til sikker nøgleudveksling. En nøgle oprettet ved hjælp af denne metode kan bruges til kryptering med en symmetrisk algoritme. Diffie-Hellmans hovedformål er at gøre det muligt for to parter at skabe en fælles hemmelig nøgle over en usikker kommunikationskanal.
      Sådan indlæses eksterne undertekster, når du afspiller en film på Chromecast

    Fordele ved asymmetrisk kryptografi

    • Asymmetrisk kryptering giver stærkere sikkerhed sammenlignet med symmetrisk kryptografi.
    • Modtageren kan bekræfte afsenderens identitet.
    • Asymmetrisk kryptering løste problemet relateret til nøgledistribution, som jeg nævnte i ulemperne ved symmetrisk nøglekryptografi.
    • Beskedmodtagere kan registrere, om meddelelsen blev ændret under transporten.

    Ulemper ved asymmetrisk nøglekryptografi

    • Asymmetrisk kryptering er en langsommere proces end symmetrisk kryptografi.
    • Asymmetrisk kryptering og dekryptering kræver flere beregningsressourcer end symmetrisk kryptografi.
    • Asymmetrisk kryptografi er afhængig af offentlige og private nøgler. Sikker håndtering af disse nøgler kan være kompleks og udfordrende, især i store systemer.
    • Den væsentligste potentielle ulempe ved asymmetrisk kryptografi er dens sårbarhed over for kvantecomputere. Kvantecomputere har potentialet til at løse visse matematiske problemer, såsom heltalsfaktorisering og diskrete logaritmer, meget mere effektivt end klassiske computere.

    Men ingen grund til at bekymre sig, organisationer og forskere arbejder på at gå over til disse kvanteresistente kryptografiske teknikker.

    Lad os bevæge os mod vores næste type kryptografi:

    Hash funktion

    Kryptografiske hash-funktioner er forskellige fra andre typer kryptografi. De krypterer ikke data. I stedet bruger de kompleks matematik til at omdanne alle data til en unik kode, der består af bogstaver og tal.

    Disse koder kaldes hash-koder, hash-værdier eller beskedsammendrag. De er vigtige for at kontrollere, om data er sikre; når data sendes eller gemmes, beregnes hashkoden og sendes eller opbevares sammen med dataene.

    Modtageren kan genberegne koden for de modtagne data og kontrollere den mod den afsendte. Hvis koderne matcher, betyder det, at dataene forblev sikre under transmission og opbevaring.

    Her er en simpel trin-for-trin forklaring:

    Hash funktion

    Afsenderens side:

  • Afsenderen bruger en hashfunktion til at skabe en unik hashværdi for de angivne data.
  • Efter at have oprettet hashværdier sender afsenderen både den originale besked og hashkoden til modtageren via en usikker kanal.
  • Modtagers side:

  • Modtageren modtager beskeden og hashkoden.
  • Modtageren bruger også det samme specielle værktøj (hash-funktion) til at oprette en ny hash-kode til den modtagne besked.
  • Modtageren sammenligner den nye hash-kode med den, der er sendt af afsenderen.
  • Resultat:

    • Hvis hash-koder matcher, betyder det, at meddelelsen ikke blev ændret under transmissionen, og den anses for at være sikker.
    • Hvis hash-koderne ikke stemmer overens, tyder det på, at meddelelsen kan være blevet ændret, og den anses ikke for at være sikker.

    Her er nogle af de egenskaber, der gør hash-funktioner nyttige:

    Egenskaber for hash-funktion:

  • Deterministisk: Hvis du giver det samme input, vil det altid producere det samme output.
  • Ensartethed og kollisionsfri: En god hash-funktion bør producere ensartet fordelte output. Det hjælper med at undgå kollisioner.
  • Effektiv: Hash-funktioner er designet til at være beregningseffektive, så de hurtigt kan behandle store mængder data.
  • Output med fast størrelse: Det producerer et output i fast størrelse uanset inputstørrelsen. Denne egenskab er vigtig, fordi den muliggør effektiv lagring og hentning af data.
  • Hash-funktioner har mange applikationer inden for datalogi og informationssikkerhed, herunder kryptografi, dataintegritetskontrol, dataindeksering, datafingeraftryk, adgangskodelagring, digital efterforskning og blockchain.

    Almindeligt anvendte kryptografiske hash-funktioner omfatter:

    Der er to udbredte familier af kryptografiske hash-funktioner – MD-familien (MD = message digest) og SHA-familien (SHA = sikker hash-algoritme).

    • SHA-1 (Secure Hash Algorithm 1): Det var en af ​​de populære hash-funktioner. Men SHA-1 anses nu for svag på grund af sårbarheder, der muliggør praktiske kollisionsangreb. Det bruges ikke længere til de fleste sikkerhedsapplikationer.
    • MD5 (Message Digest Algorithm 5): MD5 var populær i fortiden, men anses nu for svag på grund af kollisionssårbarheder. Det bruges generelt ikke til sikkerhedsfølsomme applikationer.
    • SHA-3: SHA-3 er en nyere familie af hash-funktioner udvalgt gennem en konkurrence af National Institute of Standards and Technology (NIST). Det giver stærk sikkerhed og er designet til at være modstandsdygtigt over for visse typer angreb.

    Selvom hash-funktioner ikke krypterer meddelelser, er de en integreret del af kryptografi, fordi de spiller en afgørende rolle i sikring og autentificering af data, som er nøglemål i kryptografi.

    Fordele ved Hash-funktion

    • En sikker hash-funktion garanterer høj kollisionsmodstand.
    • To filer kan nemt sammenlignes for ligestilling gennem hashing.
    • Hash-funktioner er utrolig hurtige og effektive.
    • I DBMS bruges hashing til at søge efter dataenes placering uden at bruge en indeksstruktur.
      Sådan administrerer du dine PS5-gamingabonnementer

    Ulemper ved Hash-funktion

    • Hash-funktioner kan fungere mindre effektivt, når der er talrige kollisioner.
    • Ingen null-værdier er tilladt.
    • Implementering af hashtabeller kan være en udfordrende opgave på grund af deres kompleksitet.
    • I praksis er det næsten umuligt helt at forhindre hash-kollisioner, når man har at gøre med et stort sæt potentielle nøgler.

    Læs også: Sådan beskytter du dig selv mod et regnbuebordsangreb

    Virkelige anvendelser af kryptografi

    • Autentificering/Digitale signaturer: Autentificering er den vitale proces med at bekræfte ægtheden af ​​data, verificere kilden til et dokument, validere afsenderens identitet, tidsstemplets nøjagtighed og sikre legitimiteten af ​​computer- eller brugeridentiteter. Digitale signaturer anvender kryptografiske metoder, der involverer en hash-funktion og en privat nøgle til at validere og sikkert signere dokumenter.
    • Cloud Storage Encryption: Kryptografi bruges til at sikre filer gemt i skyen og under transmission til og fra cloud-tjenester.
    • Elektroniske penge: Elektroniske penge involverer elektroniske pengeoverførsler mellem parter, som kan være debet eller kredit, og enten anonyme eller identificerede. Den bruger kryptering, digitale signaturer og offentlig nøglekryptering til sikkerhed, hvilket muliggør forskellige transaktionstyper.
    • Kryptering/Dekryptering i e-mail: E-mail-kryptering sikrer e-mail-indhold mod uautoriseret adgang ved hjælp af offentlig nøglekryptering. Hver bruger har et offentligt og privat nøglepar, hvor den offentlige nøgle bruges til kryptering, og kun den private nøgle kan dekryptere beskeden.
    • Kryptering i WhatsApp: WhatsApp bruger signalprotokollen til kryptering, der kombinerer symmetrisk og asymmetrisk nøglekryptografi for fortrolighed, integritet, autentificering og ikke-afvisning. Curve25519-baserede algoritmer bruges til nøgleudveksling.
    • Kryptering i Instagram: Instagram-kommunikation er krypteret ved hjælp af SSL/TLS over port 443, hvilket forhindrer aflytning af data, der udveksles mellem brugeren og Instagram-servere.
    • SIM-kortgodkendelse: SIM-kortgodkendelse involverer at verificere SIM-kortets adgang til netværket ved at generere et tilfældigt tal og anvende algoritmer som A3 med den hemmelige nøgle Ki. Kryptering er afhængig af A8-algoritmen og sessionsnøglen KC, der bruges sammen med A5-algoritmen til datakryptering/dekryptering.

    Udfordringer i kryptografi

    • Nøglestyring er fortsat en udfordring, da sikker distribution og styring af krypteringsnøgler er kompleks, især i store systemer. Nøglelagrings- og gendannelsesmekanismer skal være robuste.
    • Symmetrisk kryptografi kan blive ineffektiv, når mange brugere skal kommunikere sikkert. Hvert par brugere kræver en unik nøgle, som kan blive uhåndterlig, efterhånden som antallet af brugere stiger.
    • Asymmetrisk kryptografi kræver typisk længere nøgler end symmetrisk kryptografi for at opnå samme sikkerhedsniveau. Dette kan føre til langsommere behandling og øgede ressourcekrav.
    • Opdagelsen af ​​sårbarheder eller svagheder i hash-funktioner kan føre til sikkerhedsbrud. Det kryptografiske samfund skal løbende analysere og tilpasse hash-funktioner for at afbøde sådanne risici.
    • I applikationer, hvor hash-funktioner bruges til adgangskodelagring, er korrekt saltning af adgangskoder nødvendigt for at forhindre regnbuebordsangreb. Udfordringen ligger i at sikre, at salte er unikke og hemmelige.
    • Fremkomsten af ​​kvantecomputere udgør en betydelig udfordring for kryptografiens verden. Kvantecomputere er usædvanligt hurtige til at løse specifikke matematiske problemer og udnytter kvantefysikkens særegne principper til deres ekstraordinære beregningsdygtighed.

    Denne hastighed truer grundlaget for vores nuværende kryptografiske systemer, som er afhængige af kompleksiteten af ​​visse matematiske udfordringer for at sikre datasikkerhed. Kvantecomputere har evnen til at løse disse problemer meget hurtigere end konventionelle computere, hvilket potentielt kompromitterer sikkerheden ved vores krypteringsmetoder.

    De underliggende principper for kvantemekanik, som kvantecomputere bruger, er faktisk usædvanlige, men giver dem magten til at udføre opgaver, der er uden for rækkevidde af klassiske computere.

    Derfor bliver behovet for at udvikle nye kryptografiske teknikker, der kan modstå kvanteangreb, stadig mere presserende, hvilket skaber en løbende udfordring inden for kryptografi.

    • Udvikling og indførelse af post-kvantekryptografialgoritmer, der er modstandsdygtige over for kvanteangreb, vil være en væsentlig tendens. Algoritmer som gitterbaseret kryptografi er ved at blive udforsket.
    • Der er en voksende accept af cloud-baseret kryptering og nøglehåndtering, især inden for finans. Homomorf kryptering tillader beregninger på krypterede data uden at dekryptere dem. Dette kan forbedre privatlivets fred i cloud computing og databehandling.
    • Kryptografi spiller en afgørende rolle i sikringen af ​​blockchain-teknologi, og de to vil fortsat være sammenflettet i fremtiden.
    • Med øgede databeskyttelsesforskrifter, såsom GDPR, bliver tokenisering brugt hyppigere i sundhedsvæsenet, finansielle tjenester og virksomheder. Tokenisering erstatter faktiske data med et token, der er værdiløst for hackere.

    Afsluttende ord

    Kryptografi er et stort felt med meget at udforske, og vi har kun ridset overfladen ved at dække det grundlæggende inden for kryptografi.

    Vi har dækket kryptografi, dets principper, kryptografityper, hashfunktioner, udfordringer, fremtidige tendenser og praktiske anvendelser.

    Alligevel er der meget mere at opdage.

    Næste op, Cloud Cryptography: An Introductory Guide og Google Cloud Case Study.