Krypteringskod, eller mer exakt
krypteringsalgoritmer , är matematiska funktioner som omvandlar läsbara data (klartext) till ett oläsligt format (chiffertext). Denna omvandling styrs av en hemlig nyckel, vilket är viktigt för både kryptering och dekryptering av uppgifterna. Algoritmen i sig är vanligtvis offentligt känd; Säkerheten förlitar sig på nyckelns hemlighet.
Tänk på det som ett lås och nyckel:
* Algoritmen är låsmekanismen: Det är processen att krypa uppgifterna. Alla kan se hur låset fungerar (algoritmen är offentlig), men de kan inte öppna det utan nyckeln.
* Nyckeln är nyckeln: Denna hemliga information är det som låser upp uppgifterna. Utan rätt nyckel är det praktiskt taget omöjligt att dechiffrera chiffertexten.
Det finns olika typer av krypteringsalgoritmer, kategoriserade av flera faktorer:
* Symmetric-Key-kryptering: Använder samma nyckel för både kryptering och dekryptering. Detta är snabbare men kräver säker nyckelutbyte (att få nyckeln till mottagaren utan avlyssning). Exempel inkluderar AES (Advanced Encryption Standard) och DES (Data Encryption Standard).
* Asymmetric-Key-kryptering (Public-Key Cryptography): Använder två nycklar:en offentlig nyckel för kryptering och en privat nyckel för dekryptering. Den offentliga nyckeln kan distribueras i stor utsträckning, medan den privata nyckeln måste hållas hemlig. Detta löser det viktigaste utbytesproblemet med symmetrisk kryptering. Exempel inkluderar RSA och ECC (elliptisk kurva kryptografi).
* hashing algoritmer: Dessa algoritmer skapar en enkelriktad funktion; De förvandlar data till en sträng med fast storlek (Hash) som är omöjlig (eller extremt svår) att vända för att få originaldata. Dessa används främst för verifiering av dataintegritet (säkerställa att data inte har manipulerats med) och lösenordslagring (lagring av ett hash i lösenordet istället för själva lösenordet). Exempel inkluderar SHA-256 och MD5.
"Kod" -aspekten handlar vanligtvis inte om en hemlig kod i traditionell mening (som en substitutionskiffer). Modern kryptering förlitar sig på komplexa matematiska operationer och involverar ofta stort antal och sofistikerade algoritmer. Termen "kod" används ibland löst i detta sammanhang men det är mer exakt att hänvisa till dem som algoritmer eller chiffer.