Introduksjon til Kryptografi 3 - itnett/FTD02H-N GitHub Wiki
🔐 Neste steg: Dypdykk i kryptografi med praktiske eksempler og emner 💻🔍
Denne siden går dypere inn i praktiske eksempler på kryptografiske systemer, implementeringer, og videre læring. Den er optimalisert med emojier og markdown for bedre oversikt og engasjerende læring.
🔍 Symmetrisk kryptografi: Blokkchiffer og hashfunksjoner 🔐
💡 Hva er blokkchiffer?
- Blokkchiffer krypterer data i faste blokker (f.eks. 128-bit) og er fundamentet for mange moderne krypteringsalgoritmer.
- Eksempel på blokkchiffer:
- AES (Advanced Encryption Standard): Den mest brukte symmetriske algoritmen i dag.
- DES (Data Encryption Standard): En eldre algoritme som ikke lenger anses som sikker.
🛠️ Praktiske eksempler på blokkchiffer:
-
AES i OpenSSL:
openssl enc -aes-256-cbc -salt -in filnavn.txt -out filnavn.enc
-
DES-kryptering:
openssl enc -des -in filnavn.txt -out filnavn.des
💡 Hva er en hashfunksjon?
- Hashfunksjoner er enveisfunksjoner som tar inn data av vilkårlig størrelse og produserer en fast-lengde hash-verdi.
- Eksempel på hashfunksjoner:
- SHA-2 (Secure Hash Algorithm 2): En av de mest brukte hash-algoritmene i dag.
- MD5: En eldre hashfunksjon som har kjent svakheter og kollisjoner.
🛠️ Praktiske eksempler på hashfunksjoner:
-
SHA-256 hashing med OpenSSL:
openssl dgst -sha256 filnavn.txt
-
MD5 hashing:
openssl dgst -md5 filnavn.txt
📜 Asymmetrisk kryptografi: RSA, ElGamal og digitale signaturer 🖊️
💡 Hva er asymmetrisk kryptografi?
- Asymmetrisk kryptografi bruker et nøkkelpar: en offentlig nøkkel for kryptering og en privat nøkkel for dekryptering. Det sikrer konfidensialitet og autentisering.
- RSA (Rivest–Shamir–Adleman) er den mest brukte algoritmen for asymmetrisk kryptering.
🛠️ Praktiske eksempler på asymmetrisk kryptografi:
-
Generer RSA-nøkler med OpenSSL:
openssl genpkey -algorithm RSA -out privat_nøkkel.pem -aes256 openssl rsa -in privat_nøkkel.pem -outform PEM -pubout -out offentlig_nøkkel.pem
-
RSA-kryptering:
openssl rsautl -encrypt -inkey offentlig_nøkkel.pem -pubin -in melding.txt -out melding.enc
-
Signering og verifisering med digitale signaturer (RSA):
openssl dgst -sha256 -sign privat_nøkkel.pem -out signatur.bin melding.txt openssl dgst -sha256 -verify offentlig_nøkkel.pem -signature signatur.bin melding.txt
🔑 Nøkkelutveksling med Diffie-Hellman
-
Diffie-Hellman lar to parter utveksle krypteringsnøkler på en usikker kanal.
Diffie-Hellman-eksempel:
openssl dhparam -out dhparam.pem 2048
🧮 Matematisk grunnlag for kryptografi: Diskret logaritme og faktorisering 🔢
💡 Faktoriseringsproblemet:
- Sikkerheten til RSA bygger på vanskeligheten med å faktorisere store tall. Dette gjør det svært vanskelig å bryte krypteringen uten å kjenne den private nøkkelen.
💡 Diskret logaritmeproblemet:
- Algoritmer som ElGamal og Diffie-Hellman bygger på vanskeligheten med å finne diskrete logaritmer i et stort primtallsmodul. Dette er et problem som tar eksponentiell tid å løse.
🛠️ Praktisk øvelse med faktorisering:
-
Bruk verktøy som SageMath eller Python til å eksperimentere med modulær aritmetikk:
from sympy import mod_inverse mod_inverse(3, 11) # Finne invers modulo
-
Analyser store primtall i kryptografiske algoritmer ved hjelp av: Verktøy: SageMath, Cryptool
🧠 Avanserte emner: Post-kvante kryptografi og kryptografiske protokoller 🔮
🔮 Post-kvante kryptografi
-
Kvantedatamaskiner truer tradisjonelle kryptosystemer som RSA og ECC. Post-kvante kryptografi utvikler algoritmer som er sikre mot kvantedatamaskiner.
Ressurser:
🔑 Kryptografiske protokoller
-
SSL/TLS: Brukes til å sikre kommunikasjon over internett. Protokollen bygger på både symmetrisk og asymmetrisk kryptografi for å sikre konfidensialitet og autentisering.
Verktøy: SSL Labs Test, Wireshark
📚 Videre ressurser for læring og praksis 🔗
🎥 Videoforelesninger og kurs
📖 Nettbaserte bøker og dokumentasjon
📌 Konklusjon og veien videre
Kryptografi er en kompleks, men essensiell del av dagens digitale sikkerhet. Med et solid teoretisk grunnlag og praktisk erfaring kan du beskytte sensitiv informasjon mot både klassiske og fremtidige trusler. Utforsk lenkene og verktøyene for å bygge din kryptografiske kompetanse videre!