Chiffer - Cipher

Edward Larsson är rune chiffer som liknar finns på Kensingtonstenen . Inkluderar också runiskt orelaterat svartskrivet skrivstil och grispenna .

I kryptografi är en chiffer (eller chiffer ) en algoritm för att utföra kryptering eller dekryptering- en serie väldefinierade steg som kan följas som ett förfarande. En alternativ, mindre vanlig term är kryptering . Att kryptera eller koda är att konvertera information till chiffer eller kod. I vanliga språk är "chiffer" synonymt med " kod ", eftersom de båda är en uppsättning steg som krypterar ett meddelande; Begreppen är emellertid distinkta inom kryptografi, särskilt klassisk kryptografi .

Koder ersätter i allmänhet teckensträngar med olika längd i utdata, medan chiffer ersätter i allmänhet samma antal tecken som matas in. Det finns undantag och vissa krypteringssystem kan använda något fler eller färre tecken vid utmatning jämfört med antalet som matades in.

Koder som drivs genom att ersätta enligt en stor kodbok som länkade en slumpmässig rad tecken eller siffror till ett ord eller en fras. Till exempel kan "UQJHSE" vara koden för "Fortsätt till följande koordinater." När du använder en krypterare är originalinformationen känd som klartext och den krypterade formen som kryptext . Chiffertextmeddelandet innehåller all information i klartextmeddelandet, men är inte i ett format som kan läsas av en människa eller dator utan rätt mekanism för att dekryptera det.

Krypteringsfunktionen beror vanligtvis på en bit av hjälpinformation, kallad nyckel (eller, i traditionellt NSA -språk, en kryptovariabel ). Krypteringsförfarandet varieras beroende på nyckeln, vilket ändrar algoritmens detaljerade funktion. En nyckel måste väljas innan en kryptering används för att kryptera ett meddelande. Utan kunskap om nyckeln bör det vara extremt svårt, om inte omöjligt, att dekryptera den resulterande chiffertexten till läsbar klartext.

De flesta moderna chiffer kan kategoriseras på flera sätt

  • Genom att de fungerar på block av symboler vanligtvis av en fast storlek ( blockchiffer ) eller på en kontinuerlig ström av symboler ( strömchiffer ).
  • Genom att samma nyckel används för både kryptering och dekryptering ( symmetriska nyckelalgoritmer ), eller om en annan nyckel används för varje ( asymmetriska nyckelalgoritmer ). Om algoritmen är symmetrisk måste nyckeln vara känd för mottagaren och avsändaren och ingen annan. Om algoritmen är en asymmetrisk, är krypteringsnyckeln annorlunda än, men nära besläktad med, dekrypteringsnyckeln. Om en nyckel inte kan härledas från den andra har den asymmetriska nyckelalgoritmen den offentliga/privata nyckelegenskapen och en av nycklarna kan offentliggöras utan att sekretessen förloras.

Etymologi

Det romerska nummersystemet var mycket krångligt, delvis för att det inte fanns något nollbegrepp. Det arabiska siffrorsystemet spred sig från den arabiska världen till Europa under medeltiden . I denna övergång antogs det arabiska ordet för noll صفر ( sifr ) till medeltida latin som cifra , och sedan till mellanfranska som cifre . Detta ledde så småningom till det engelska ordet cipher (minoritetsskrivning cypher ). En teori för hur begreppet hänvisade till kodning är att nollbegreppet var förvirrande för européer, och därför kom termen att hänvisa till ett budskap eller kommunikation som inte var lätt att förstå.

Termen chiffer användes senare också för att referera till vilken arabisk siffra som helst eller för att beräkna med dem, så att kodning av text i form av arabiska siffror bokstavligen konverterar texten till "chiffer".

Versus koder

Vid icke-teknisk användning betyder en " (hemlig) kod " vanligtvis en "chiffer". Inom tekniska diskussioner hänvisar dock orden "kod" och "chiffer" till två olika begrepp. Koder fungerar på meningsnivå - det vill säga att ord eller fraser omvandlas till något annat och denna bitning förkortar i allmänhet budskapet.

Ett exempel på detta är den kommersiella telegrafkoden som användes för att förkorta långa telegrafmeddelanden som uppstod från att ingå kommersiella kontrakt med hjälp av utbyten av telegram .

Ett annat exempel ges av hela ordchiffer, som gör det möjligt för användaren att ersätta ett helt ord med en symbol eller tecken, ungefär som hur japanska använder Kanji (japanska) tecken för att komplettera sitt språk. ex "Den snabba bruna räven hoppar över lat hund" blir "Den snabba bruna 狐 hoppar 上 den lata 犬".

Chiffer, å andra sidan, fungerar på en lägre nivå: nivån på enskilda bokstäver, små grupper av bokstäver, eller i moderna scheman, enskilda bitar och bitar av bitar. Vissa system använde både koder och chiffer i ett system, med hjälp av överkryptering för att öka säkerheten. I vissa fall används termerna koder och chiffer också synonymt med substitution och transponering.

Historiskt sett delades kryptografi upp i en dikotomi av koder och chiffer; och kodning hade sin egen terminologi, analog med den för chiffer: " kodning , kod -tv , avkodning " och så vidare.

Koder har emellertid en mängd nackdelar, inklusive känslighet för kryptoanalys och svårigheten att hantera en besvärlig kodbok . På grund av detta har koder tagits ur bruk i modern kryptografi, och chiffer är den dominerande tekniken.

Typer

Det finns en mängd olika typer av kryptering. Algoritmer som använts tidigare i kryptografins historia skiljer sig väsentligt från moderna metoder, och moderna chiffer kan klassificeras efter hur de fungerar och om de använder en eller två nycklar.

Historisk

Historiska penn- och papperschiffer som tidigare använts är ibland kända som klassiska chiffer . De inkluderar enkla substitutionschiffer (som ROT13 ) och transponeringskiffer (t.ex. en Rail Fence Cipher ). Till exempel kan "GOOD DOG" krypteras som "PLLX XLP" där "L" ersätter "O", "P" för "G" och "X" för "D" i meddelandet. Överföring av bokstäverna "BRA HUND" kan resultera i "DGOGDOO". Dessa enkla chiffer och exempel är lätta att knäcka, även utan par med klartext-krypterad text.

Enkla chiffer ersattes av polyalfabetiska substitutionschiffer (som Vigenère ) som ändrade substitutionsalfabetet för varje bokstav. Till exempel kan "GOOD DOG" krypteras som "PLSX TWF" där "L", "S" och "W" ersätter "O". Med till och med en liten mängd känd eller uppskattad klartext är enkla polyalfabetiska substitutionschiffer och bokstäverskonverteringschiffer utformade för penna- och papperskryptering lätta att knäcka. Det är dock möjligt att skapa en säker penna och papperskrypterare baserat på en engångskudde , men de vanliga nackdelarna med engångskuddar gäller.

Under början av 1900-talet uppfanns elektromekaniska maskiner för att utföra kryptering och dekryptering med hjälp av transponering, polyalfabetisk substitution och ett slags "additiv" substitution. I rotormaskiner gav flera rotorskivor polyalfabetisk substitution, medan pluggbrädor gav en annan substitution. Nycklarna byttes enkelt genom att byta rotorskivor och pluggtrådarna. Även om dessa krypteringsmetoder var mer komplexa än tidigare system och krävde maskiner för att kryptera och dekryptera, uppfanns andra maskiner som den brittiska Bombe för att knäcka dessa krypteringsmetoder.

Modern

Moderna krypteringsmetoder kan delas upp med två kriterier: efter typ av nyckel som används och efter typ av ingångsdata.

Efter typ av nyckel används chiffer som är indelade i:

I en symmetrisk nyckelalgoritm (t.ex. DES och AES ) måste avsändaren och mottagaren ha en delad nyckel inställd i förväg och hållas hemlig för alla andra parter; avsändaren använder denna nyckel för kryptering, och mottagaren använder samma nyckel för dekryptering. Den feistelkrypto använder en kombination av substitution och införlivande tekniker. De flesta blockchifferalgoritmerna är baserade på denna struktur. I en asymmetrisk nyckelalgoritm (t.ex. RSA ) finns det två separata nycklar: en offentlig nyckel publiceras och gör det möjligt för varje avsändare att utföra kryptering, medan en privat nyckel hålls hemlig av mottagaren och gör att endast den personen kan utföra korrekt dekryptering.

Chiffer kan skiljas i två typer med typen av inmatningsdata:

  • blockchiffer , som krypterar block av data med fast storlek, och
  • strömchiffer , som krypterar kontinuerliga dataströmmar.

Nyckelstorlek och sårbarhet

I en ren matematisk attack (dvs. saknar någon annan information för att bryta en chiffer) räknas framför allt två faktorer:

  • Tillgänglig beräkningskraft, dvs datorkraften som kan bäras på problemet. Det är viktigt att notera att genomsnittlig prestanda/kapacitet för en enda dator inte är den enda faktorn att tänka på. En motståndare kan använda flera datorer samtidigt, till exempel för att öka hastigheten på uttömmande sökning efter en nyckel (dvs "brute force" -attack) väsentligt.
  • Nyckelstorlek , dvs storleken på nyckeln som används för att kryptera ett meddelande. När nyckelstorleken ökar, ökar komplexiteten i uttömmande sökning till den punkt där det blir opraktiskt att spricka kryptering direkt.

Eftersom den önskade effekten är beräkningssvårigheter skulle man i teorin välja en algoritm och önskad svårighetsgrad och därmed bestämma nyckellängden i enlighet därmed.

Ett exempel på denna process kan hittas på Key Length som använder flera rapporter för att föreslå att en symmetrisk chiffer med 128 bitar , en asymmetrisk chiffer med 3072 bitars nycklar och en elliptisk kurvciffer med 512 bitar, alla har liknande svårigheter för närvarande.

Claude Shannon bevisade, med hjälp av informationsteoriska överväganden, att varje teoretiskt obrytbar kryptering måste ha nycklar som är minst lika långa som klartexten och endast används en gång: engångsplatta .

Se även

Anteckningar

Referenser

externa länkar