Kryptografi, eller kryptologi, är en metod och en studie av att dölja information. Det kallas ibland för kod, men det är egentligen inte ett korrekt namn. Det är den vetenskap som används för att försöka hålla information hemlig och säker. Modern kryptografi är en blandning av matematik, datavetenskap och elektroteknik. Kryptografi används för bankomatkort, lösenord till datorer och för att handla på Internet. Den omfattar både tekniker för att skydda sekretess (konfidentialitet), säkerställa att information inte förändrats (integritet) och bevisa vem som skapat eller skickat ett meddelande (autenticitet).

När ett meddelande skickas med hjälp av kryptografi ändras (eller krypteras) det innan det skickas. Metoden för att ändra texten kallas "kod" eller, mer exakt, "chiffer". Den ändrade texten kallas "chiffertext". Förändringen gör meddelandet svårt att läsa. Någon som vill läsa det måste ändra tillbaka det (eller dekryptera det). Hur man ändrar tillbaka den är en hemlighet. Både den person som skickar meddelandet och den som får det bör känna till det hemliga sättet att ändra det, men andra personer bör inte kunna göra det. Att studera chiffertexten för att ta reda på hemligheten kallas "kryptoanalys" eller "knäckning" eller ibland "kodbrytning".

Olika typer av kryptografi kan vara lättare eller svårare att använda och kan dölja det hemliga meddelandet bättre eller sämre. Chiffer använder en "nyckel" som är en hemlighet som döljer det hemliga meddelandet. Den kryptografiska metoden behöver inte vara hemlig. Olika personer kan använda samma metod men olika nycklar, så att de inte kan läsa varandras meddelanden. Eftersom Caesar-chiffret endast har lika många nycklar som antalet bokstäver i alfabetet är det lätt att knäcka det genom att prova alla nycklar. Chiffer som tillåter miljarder nycklar kräver mer avancerade metoder för att knäckas, och ofta är säkerheten beroende av matematisk svårighet, korrekt implementation och säkra nyckelhanteringsrutiner.

Sedan Caesars tid har många förbättrade chiffer tillverkats. En del av dem har varit utrustade med smart matematik för att motstå smart kryptoanalys. Under 1900-talet blev datorerna det viktigaste verktyget för kryptografi. Idag används avancerade algoritmer och protokoll som är designade för att fungera på moderna datorer och i nätverk, och forskningen på kryptografi är både teoretisk och praktiskt inriktad.

Historia

Kryptografi har använts i tusentals år — från enkla substitutioner i antikens värld till komplexa mekaniska och elektroniska system. Några viktiga milstolpar:

  • Antiken: enkla substitutioner och transpositioner, till exempel Caesars skifte.
  • Medeltiden och renässansen: utveckling av mer sofistikerade manuella chiffer som Vigenère-chiffret.
  • 1900-talet: mekaniska roterande maskiner (t.ex. Enigma) och stora ansträngningar för kryptoanalys under världskrigen, som ledde till betydande framsteg inom matematisk analys och tidig databehandling.
  • Efterkrigstiden: Claude Shannon formulerade informationsteoriens grundläggande principer för säker kommunikation.
  • 1970-talet och framåt: utveckling av digital kryptografi — symmetriska algoritmer (t.ex. DES, senare AES), och särskilt genombrottet med public-key-kryptografi (Diffie–Hellman, RSA) som gjorde säker nyckelutbyte över öppna nätverk möjligt.
  • 2000-talet: standardisering av protokoll (t.ex. TLS), användning i Internet, mobila nätverk och senare blockkedjeteknik (kryptovalutor).

Typer av kryptografi

  • Symmetrisk kryptering: samma nyckel används för att kryptera och dekryptera. Exempel: AES. Används ofta för att kryptera stora mängder data eftersom det är snabbt.
  • Asymmetrisk (publik-privat) kryptering: två olika men matematisk relaterade nycklar—en offentlig och en privat. Exempel: RSA, elliptiska kurvor (ECC). Används för nyckelutbyte, digitala signaturer och autentisering.
  • Hashfunktioner: envägsfunktioner som ger en fast längd utifrån godtycklig data. Exempel: SHA-256. Används för integritetskontroll, lösenordshantering och som byggsten i andra protokoll.
  • Digitala signaturer och MAC: tekniker för att säkerställa äkthet och integritet (t.ex. HMAC, RSA-signaturer, ECDSA).
  • Protokoll och system: kryptografiska protokoll som TLS, SSH, PGP, och IPsec kombinerar algoritmer för säkra kommunikationskanaler, nyckelhantering och autentisering.

Användningsområden

Kryptografi används i många vardagliga och kritiska sammanhang, bland annat:

  • Betalningar och bankkort (bankomatkort): skydd av kontouppgifter och transaktioner.
  • Inloggning och identitet (lösenord till datorer samt multifaktorautentisering).
  • Säkra webbanslutningar (handla på Internet via TLS/HTTPS).
  • E-postkryptering (PGP, S/MIME), kryptering av lagrade data (diskkryptering) och säker programuppdatering.
  • Digitala signaturer för juridiska dokument och programvarudistribution.
  • Blockkedjor och kryptovalutor där kryptografiska hashfunktioner och signaturer säkerställer transaktioner och identiteter.
  • Säkra kommunikationsverktyg, VPN och skydd för IoT-enheter.

Säkerhet, hot och god praxis

Kryptografins styrka beror inte bara på algoritmen utan också på implementation, nyckelhantering och hur systemen används. Vanliga hot är:

  • Brute force: att pröva alla möjliga nycklar — motverkas med tillräckligt långa nycklar.
  • Kryptoanalytiska angrepp: matematisk analys som utnyttjar svagheter i algoritmen.
  • Side-channel-attacker: läcka information via strömförbrukning, tidsmätningar eller elektromagnetiska signaler.
  • Implementationsfel och dålig nyckelhantering (till exempel svaga slumptal eller återanvändning av nycklar).
  • Framtida hot från kvantdatorer: algoritmer som RSA och ECC hotas av Shors algoritm; symmetrisk kryptering påverkas av Grovers algoritm men kan skyddas genom längre nycklar.

Rekommenderade goda praxis:

  • Använd väletablerade och granskade algoritmer och bibliotek.
  • Säkra och uppdatera implementationer regelbundet.
  • Hantera nycklar korrekt: säkra lagringsplats, rotationspolicy och åtkomstkontroller.
  • Använd tillräcklig nyckellängd och moderna standarder (t.ex. AES-256, moderna signaturalgoritmer eller post-kvantalgoritmer där det behövs).
  • Var försiktig med egenutvecklad kryptografi — det är lätt att göra fel.

Slutsats

Kryptografi är en grundläggande teknik för säker kommunikation och dataskydd i dagens digitala samhälle. Den kombinerar teoretisk matematik med praktiska implementationer och ständigt pågående forskning för att möta nya hot och krav. God förståelse för de olika typerna av kryptografi, deras användningsområden och begränsningar hjälper både utvecklare och användare att skydda information effektivt.