Symmetrisk, Asymmetrisk, Hash och mer…

Kryptografi är en teknik för att säkra information och kommunikation genom att använda en uppsättning regelbaserade beräkningar som kallas algoritmer och vissa matematiska begrepp så att bara rätt person kan förstå det.

Det är användbart för att förhindra obehörig åtkomst till information.

Ordet ”kryptografi” kommer från det grekiska ordet kryptos, som betyder dold. Ordet ”krypto” betyder ”dold” och ”grafi” betyder ”skrivande”.

I den här artikeln kommer jag att täcka grunderna i kryptografiprinciper, utforska olika typer med exempel, diskutera utmaningar och se framåt mot framtida trender. Jag strävar efter att ge en heltäckande översikt, som täcker både större och mindre begrepp.

Kryptografi säkrar digital kommunikation och information i olika system och applikationer, vilket säkerställer konfidentialitet och datasäkerhet. Det skyddar data från obehörig åtkomst.

Låt oss se vad som händer i kryptografi:

  • Processen börjar med avsändaren som har ett meddelande eller data att skicka.
  • Klartexten (det ursprungliga meddelandet) konverteras sedan till ett oläsbart format med en metod som kallas kryptering.
  • Mottagaren använder en nyckel för att konvertera chiffertexten (oläsbart format) tillbaka till ett läsbart format, en process som kallas dekryptering.
  • Det dekrypterade meddelandet är återigen i klartext och är detsamma som det ursprungliga meddelandet som skickats av avsändaren.
  • Mottagaren har nu det ursprungliga meddelandet.
  • Låt oss nu utforska de grundläggande principerna för kryptografi.

    Grundläggande principer för kryptografi

    Det finns fyra huvudprinciper för kryptografi:

    #1. Sekretess: Endast den avsedda mottagaren kan komma åt informationen; det förblir privat för andra.

    #2. Integritet: Information kan inte ändras under lagring eller överföring utan att det upptäcks några ändringar.

    #3. Icke-avvisande: Avsändaren kan inte neka att skicka informationen senare.

    #4. Autentisering: Den bekräftar identiteten för både avsändare och mottagare och verifierar källan och destinationen för informationen.

    Innan vi fortsätter, låt oss gå igenom lite grundläggande ordförråd.

    Ordlista:

    WordMeaningCryptographyDet är en teknik för att säkra information och kommunikation genom att använda en uppsättning regelbaserade beräkningar som kallas algoritmer och vissa matematiska begrepp så att bara rätt person kan förstå det.CipherEtt chiffer är en metod eller algoritm som används för att kryptera och dekryptera dataKrypteringProcessen att konvertera klartext till chiffertextPlaintextOriginal, okrypterad form av data eller textCiphertextEncrypted data (en kodad form av data) eller textDecryptionDen omvända processen att konvertera chiffertext tillbaka till klartext med hjälp av dekrypteringsnyckelNyckelEn nyckel är en bit information, vanligtvis en sekvens av bitar, som används för att kontrollera krypterings- och dekrypteringsprocess.Key Exchange Säker överföring av krypteringsnycklar mellan avsändare och mottagare.Kryptografiordlista

    Det finns tre grundläggande typer av kryptografi:

  • Symmetrisk nyckelkryptering
  • Asymmetrisk nyckelkryptering
  • Hash-funktion
  • Symmetrisk nyckelkryptering

    Symmetrisk nyckelkryptering, även kallad Single Key Encryption, är en krypteringsteknik som förlitar sig på en enda hemlig nyckel för både kryptering och dekryptering av data.

    I denna metod måste både avsändaren och mottagaren använda exakt samma hemliga nyckel för att förstå data. Det fungerar genom att ändra normal data till hemlig kod (chiffertext) med hjälp av den hemliga nyckeln och en specifik matematisk process.

    När mottagaren, som också känner till den hemliga nyckeln, får det hemliga kodade meddelandet kan de använda samma matematiska process för att omvandla det tillbaka till normal data. På så sätt får mottagaren den ursprungliga informationen från den hemliga koden.

    Symmetrisk kryptografi

    Låt oss förstå processen genom följande steg:

    • Algoritmen konverterar originaltext (klartext) till chiffertext genom att använda en hemlig nyckel.
    • Sedan skickar avsändaren den chiffertexten till mottagaren via kommunikationskanalen. Denna kommunikationskanal vara privat eller offentlig.
    • Mottagarna använder samma hemliga nyckel för att dekryptera den chiffertexten och konvertera den till originaltext.

    Denna symmetriska krypteringsprocess säkerställer att kommunikationen mellan avsändare och mottagare förblir säker. Men den hemliga nyckeln måste vara konfidentiell.

    För att upprätthålla konfidentialitet och integritet måste båda parter säkert hantera och skydda denna hemliga nyckel.

    Det finns två typer av symmetriska krypteringschiffer:

  • Streama Chiffer
  • Blockera chiffer
  • Streama CipherBlock CipherKryptera data i block med fast längd Medan data krypteras behåller systemet den i minnet och väntar tills kompletta block är klara för bearbetningKrypterar data en bit eller byte åt gångenKrypterar data i block med fast längdAnvänder 8 bitar av nyckelnAnvänder antingen 64 bitar eller mer än 64 bitar av nyckelnMer komplicerat än blockchifferEnklare än strömchifferKryptera data i block med fast längdLångsamt och lämpligt för offlinetillämpningar Använder CFB- och OFB-lägenAnvänder ECB- och CBC-lägen.Stream-chiffer vs Block Chiffer

    Några exempel på symmetriska krypteringsalgoritmer inkluderar:

    • AES (Advanced Encryption Standard): Det är känt för sin säkerhet och effektivitet. Det används ofta för att säkra känsliga data som trådlös säkerhet, molntjänster, banktjänster och e-handel.
    • DES (Data Encryption Standard): Det är en äldre metod för kryptering som ersattes av AES och 3DES. Den använder en 56-bitars nyckel.
    • IDEA (International Data Encryption Algorithm): Den använder en 128-bitars nyckel och används i olika applikationer.
    • Blowfish: Algoritm designad som en drop-in-ersättning för DES eller IDEA.
    • RC4 (Rivest Cipher 4): Utvecklad av Ron Rivest. Det är känt för sin enkelhet och snabbhet men har vissa säkerhetsproblem i vissa implementeringar.
    • RC5 (Rivest Cipher 5): Den är designad för att vara effektiv och säker, med variabel blockstorlek och nyckelstorlek.
    • RC6 (Rivest Cipher 6): Den är designad för att ge förbättrad säkerhet och prestanda jämfört med tidigare versioner.

    AES, DES, IDEA, Blowfish, RC5 och RC6 är blockchiffer.

    RC4 är en Stream Cipher.

    Fördelar med symmetrisk nyckelkryptering

    • Det är snabbare och mer effektivt än asymmetrisk kryptografi
    • Storleken på nyckeln är liten, vilket möjliggör generering av starkare chiffer.
    • Det är relativt kostnadseffektivt att producera starka nycklar för chiffer.
    • AES är en av de säkra algoritmerna.

    Nackdelar med symmetrisk nyckelkryptering

    • Att säkert dela krypteringsnycklar med alla parter som behöver kommunicera säkert är en stor utmaning för symmetrisk kryptografi.
    • Hela systemets säkerhet kan brytas om nyckeln fångas upp eller äventyras av en angripare under överföringen.
    • Symmetriska krypteringssystem kräver noggranna nyckelhanteringsmetoder. Detta inkluderar generering, lagring, uppdatering och återkallande av nycklar. Felhantering av nycklar kan leda till säkerhetsintrång.
    • Angripare kan fånga upp nycklar som utbytts över en osäker kanal, vilket leder till en kompromiss i kommunikationen.

    Ändå är symmetrisk kryptering en viktig del av modern kryptografi och används ofta i många applikationer, trots dess nackdelar.

    Starka metoder för nyckelhantering och säkra metoder för nyckelutbyte kan hjälpa till att övervinna några av utmaningarna med symmetrisk kryptografi.

    Asymmetrisk nyckelkryptering

    Asymmetrisk kryptografi använder par av nycklar – en privat hålls hemlig och en offentlig som delas öppet. Du kan använda någons offentliga nyckel för att kryptera ett meddelande, och bara de kan dekryptera det med sin privata nyckel.

    Denna metod ökar den digitala säkerheten genom att tillåta säker kommunikation utan att dela hemliga nycklar, vilket är avgörande i vår onlinevärld.

    Detta är användbart för säker kommunikation, eftersom mottagare bara behöver din publika nyckel. Det eliminerar risken för att dela en hemlig symmetrisk nyckel.

    Dessa ”public-key-algoritmer” använder ett par nycklar för att säkra data.

    Här är en enklare uppdelning:

    Symmetrisk vs asymmetrisk kryptografi

    • Det finns två nycklar. En offentlig nyckel, som alla kan komma åt, och en privat nyckel, som hålls hemlig.
    • Den publika nyckeln används för att kryptera eller låsa data.
    • Den privata nyckeln används för att dekryptera eller låsa upp data.

    Det är viktigt att förstå att du inte kan ta reda på den privata nyckeln från den offentliga nyckeln. Dessutom är offentliga nycklar vanligtvis kopplade till identiteter av organisationer som kallas certifikatutfärdare.

    Säker kommunikation Avsändare och mottagare har utbytt ett säkert meddelande utan att kompromissa med sina privata nycklar.

    Dessa algoritmer förlitar sig på matematiska problem som heltalsfaktorisering och diskreta logaritmer för att skapa digitala signaturer och upprätta/distribuera sessionsnycklar, till exempel i TLS-protokollet.

    Några exempel på asymmetriska krypteringsalgoritmer inkluderar:

    • RSA (Rivest-Shamir-Adleman): RSA är en av de mest använda asymmetriska krypteringsalgoritmerna. Den är baserad på de matematiska egenskaperna hos stora primtal och används ofta för säker nyckelutbyte och digitala signaturer.
    • Elliptic Curve Cryptography (ECC): Den är baserad på den algebraiska strukturen av elliptiska kurvor över ändliga fält. ECC erbjuder fördelen med mindre nyckelstorlekar jämfört med icke-EG-kryptering som bygger på vanliga Galois-fält. ECC används främst för att generera pseudoslumptal och digitala signaturer.
    • Diffie-Hellman Key Exchange: Denna algoritm används för säkert nyckelutbyte. En nyckel skapad med denna metod kan användas för kryptering med en symmetrisk algoritm. Diffie-Hellmans huvudsakliga mål är att göra det möjligt för två parter att skapa en delad hemlig nyckel över en osäker kommunikationskanal.

    Fördelar med asymmetrisk kryptografi

    • Asymmetrisk kryptering ger starkare säkerhet jämfört med symmetrisk kryptografi.
    • Mottagaren kan verifiera avsändarens identitet.
    • Asymmetrisk kryptering löste problemet med nyckeldistribution, vilket jag nämnde i nackdelarna med symmetrisk nyckelkryptografi.
    • Meddelandemottagare kan upptäcka om meddelandet ändrades under överföringen.

    Nackdelar med asymmetrisk nyckelkryptering

    • Asymmetrisk kryptering är en långsammare process än symmetrisk kryptering.
    • Asymmetrisk kryptering och dekryptering kräver mer beräkningsresurser än symmetrisk kryptografi.
    • Asymmetrisk kryptografi förlitar sig på offentliga och privata nycklar. Att hantera dessa nycklar på ett säkert sätt kan vara komplext och utmanande, särskilt i storskaliga system.
    • Den största potentiella nackdelen med asymmetrisk kryptografi är dess sårbarhet för kvantdatorer. Kvantdatorer har potential att lösa vissa matematiska problem, som heltalsfaktorisering och diskreta logaritmer, mycket mer effektivt än klassiska datorer.

    Men ingen anledning att oroa sig organisationer och forskare arbetar för att övergå till dessa kvantresistenta kryptografiska tekniker.

    Låt oss gå mot vår nästa typ av kryptografi:

    Hash-funktion

    Kryptografiska hashfunktioner skiljer sig från andra typer av kryptografi. De krypterar inte data. Istället använder de komplex matematik för att omvandla all data till en unik kod som består av bokstäver och siffror.

    Dessa koder kallas hashkoder, hashvärden eller meddelandesammandrag. De är viktiga för att kontrollera om data är säker; när data skickas eller lagras, beräknas dess hash-kod och skickas eller sparas tillsammans med data.

    Mottagaren kan räkna om koden för den data de fått och kontrollera den mot den som skickats. Om koderna matchar betyder det att data förblev säkra under överföring och lagring.

    Här är en enkel steg-för-steg-förklaring:

    Hash-funktion

    Avsändarens sida:

  • Avsändaren använder en hashfunktion för att skapa ett unikt hashvärde för den tillhandahållna datan.
  • Efter att ha skapat hashvärden skickar avsändaren både originalmeddelandet och hashkoden till mottagaren via en osäker kanal.
  • Mottagarens sida:

  • Mottagaren tar emot meddelandet och hashkoden.
  • Mottagaren använder också samma specialverktyg (hashfunktion) för att skapa en ny hashkod för det mottagna meddelandet.
  • Mottagaren jämför den nya hashkoden med den som skickats av avsändaren.
  • Resultat:

    • Om hashkoder matchar betyder det att meddelandet inte ändrades under överföringen och att det anses säkert.
    • Om hashkoderna inte stämmer överens tyder det på att meddelandet kan ha ändrats och att det inte anses vara säkert.

    Här är några av egenskaperna som gör hashfunktioner användbara:

    Egenskaper för hashfunktion:

  • Deterministisk: Om du ger samma input, kommer det alltid att producera samma output.
  • Enhetlighet och kollisionsfri: En bra hash-funktion bör producera enhetligt fördelade utdata. Det hjälper till att undvika kollisioner.
  • Effektiv: Hash-funktioner är designade för att vara beräkningseffektiva, vilket gör att de snabbt kan bearbeta stora mängder data.
  • Utdata med fast storlek: Den ger en utdata med fast storlek oavsett ingångsstorlek. Den här egenskapen är viktig eftersom den möjliggör effektiv lagring och hämtning av data.
  • Hash-funktioner har många tillämpningar inom datavetenskap och informationssäkerhet, inklusive kryptografi, dataintegritetskontroll, dataindexering, datafingeravtryck, lösenordslagring, digital forensics och blockchain.

    Vanligt använda kryptografiska hashfunktioner inkluderar:

    Det finns två mycket använda familjer av kryptografiska hashfunktioner – MD-familjen (MD = meddelandesammandrag) och SHA-familjen (SHA = säker hashalgoritm).

    • SHA-1 (Secure Hash Algorithm 1): Det var en av de populära hashfunktionerna. Men SHA-1 anses nu vara svag på grund av sårbarheter som möjliggör praktiska kollisionsattacker. Det används inte längre för de flesta säkerhetsapplikationer.
    • MD5 (Message Digest Algorithm 5): MD5 var populärt tidigare men anses nu vara svagt på grund av kollisionssårbarheter. Det används i allmänhet inte för säkerhetskänsliga applikationer.
    • SHA-3: SHA-3 är en nyare familj av hashfunktioner som valts ut genom en tävling av National Institute of Standards and Technology (NIST). Den ger stark säkerhet och är designad för att vara resistent mot vissa typer av attacker.

    Även om hashfunktioner inte krypterar meddelanden är de en integrerad del av kryptografi eftersom de spelar en avgörande roll för att säkra och autentisera data, vilket är nyckelmål inom kryptografi.

    Fördelar med Hash-funktion

    • En säker hash-funktion garanterar hög kollisionsmotstånd.
    • Två filer kan enkelt jämföras för jämställdhet genom hash.
    • Hash-funktioner är otroligt snabba och effektiva.
    • I DBMS används hashing för att söka platsen för data utan att använda en indexstruktur.

    Nackdelar med Hash-funktion

    • Hash-funktioner kan fungera mindre effektivt när det finns många kollisioner.
    • Inga nollvärden är tillåtna.
    • Att implementera hashtabeller kan vara en utmanande uppgift på grund av deras komplexitet.
    • I praktiken är det nästan omöjligt att helt förhindra hashkollisioner när man hanterar en stor uppsättning potentiella nycklar.

    Läs också: Hur du skyddar dig från en regnbågsbordsattack

    Verkliga tillämpningar av kryptografi

    • Autentisering/Digitala signaturer: Autentisering är den viktiga processen att bekräfta äktheten av data, verifiera källan till ett dokument, validera avsändarens identitet, tidsstämpelns noggrannhet och säkerställa legitimiteten hos dator- eller användaridentiteter. Digitala signaturer använder kryptografiska metoder som involverar en hashfunktion och en privat nyckel för att validera och säkert signera dokument.
    • Cloud Storage Encryption: Kryptografi används för att säkra filer som lagras i molnet och under överföring till och från molntjänster.
    • Elektroniska pengar: Elektroniska pengar innebär elektroniska överföringar mellan parter, som kan vara debet- eller kredit, och antingen anonyma eller identifierade. Den använder kryptering, digitala signaturer och kryptografi med offentlig nyckel för säkerhet, vilket möjliggör olika transaktionstyper.
    • Kryptering/Dekryptering i e-post: E-postkryptering säkrar e-postinnehåll från obehörig åtkomst med hjälp av kryptering med offentlig nyckel. Varje användare har ett offentligt och privat nyckelpar, med den offentliga nyckeln som används för kryptering, och endast den privata nyckeln kan dekryptera meddelandet.
    • Kryptering i WhatsApp: WhatsApp använder signalprotokollet för kryptering, och kombinerar symmetrisk och asymmetrisk nyckelkryptografi för konfidentialitet, integritet, autentisering och icke-avvisande. Curve25519-baserade algoritmer används för nyckelutbyte.
    • Kryptering i Instagram: Instagram-kommunikation krypteras med SSL/TLS över port 443, vilket förhindrar avlyssning av data som utbyts mellan användaren och Instagram-servrar.
    • SIM-kortautentisering: SIM-kortautentisering innebär att verifiera SIM-kortets åtkomst till nätverket genom att generera ett slumpmässigt nummer och tillämpa algoritmer som A3 med den hemliga nyckeln Ki. Kryptering bygger på A8-algoritmen och sessionsnyckeln KC, som används med A5-algoritmen för datakryptering/dekryptering.

    Utmaningar inom kryptografi

    • Nyckelhantering är fortfarande en utmaning, eftersom säker distribution och hantering av krypteringsnycklar är komplex, särskilt i storskaliga system. Nyckellagrings- och återställningsmekanismer måste vara robusta.
    • Symmetrisk kryptografi kan bli ineffektiv när många användare behöver kommunicera säkert. Varje par av användare kräver en unik nyckel, som kan bli svårhanterlig när antalet användare ökar.
    • Asymmetrisk kryptografi kräver vanligtvis längre nycklar än symmetrisk kryptografi för att uppnå samma säkerhetsnivå. Detta kan leda till långsammare bearbetning och ökat resursbehov.
    • Upptäckten av sårbarheter eller svagheter i hashfunktioner kan leda till säkerhetsintrång. Den kryptografiska gemenskapen måste kontinuerligt analysera och anpassa hashfunktioner för att mildra sådana risker.
    • I applikationer där hash-funktioner används för lösenordslagring är korrekt saltning av lösenord nödvändigt för att förhindra regnbågsbordsattacker. Utmaningen ligger i att se till att salter är unika och hemliga.
    • Framväxten av kvantberäkningar utgör en betydande utmaning för kryptografivärlden. Kvantdatorer är exceptionellt snabba på att lösa specifika matematiska problem och utnyttjar kvantfysikens speciella principer för sin extraordinära beräkningsförmåga.

    Denna hastighet hotar grunden för våra nuvarande kryptografiska system, som förlitar sig på komplexiteten i vissa matematiska utmaningar för att säkerställa datasäkerhet. Kvantdatorer har förmågan att lösa dessa problem mycket snabbare än konventionella datorer, vilket potentiellt äventyrar säkerheten för våra krypteringsmetoder.

    De underliggande principerna för kvantmekaniken som kvantdatorer använder är verkligen ovanliga men ger dem kraften att utföra uppgifter som ligger utom räckhåll för klassiska datorer.

    Följaktligen blir behovet av att utveckla nya kryptografiska tekniker som kan motstå kvantattacker allt mer pressande, vilket skapar en ständig utmaning inom kryptografiområdet.

    • Att utveckla och använda post-kvantkryptografialgoritmer som är resistenta mot kvantattacker kommer att vara en betydande trend. Algoritmer som gitterbaserad kryptografi undersöks.
    • Det finns en växande acceptans för molnbaserad kryptering och nyckelhantering, särskilt inom ekonomi. Homomorf kryptering tillåter beräkningar på krypterad data utan att dekryptera den. Detta kan förbättra integriteten inom molnberäkning och databehandling.
    • Kryptografi spelar en avgörande roll för att säkra blockkedjeteknologin, och de två kommer att fortsätta att vara sammanflätade i framtiden.
    • Med ökade dataskyddsbestämmelser, såsom GDPR, används tokenisering mer frekvent inom hälso- och sjukvård, finansiella tjänster och företag. Tokenisering ersätter faktisk data med en token som är värdelös för hackare.

    Slutord

    Kryptografi är ett stort område med mycket att utforska, och vi har bara skrapat på ytan genom att täcka grunderna i kryptografi.

    Vi har täckt kryptografi, dess principer, kryptografityper, hashfunktioner, utmaningar, framtida trender och praktiska tillämpningar.

    Ändå finns det mycket mer att upptäcka.

    Nästa upp, Cloud Cryptography: An Introductory Guide och Google Cloud Case Study.