Datasäkerhet är en av de viktigaste delarna av en organisation; det kan uppnås med hjälp av olika metoder. kryptering Nyckeln spelar en betydande roll i den övergripande dataprocessen. Datakryptering omvandlar klartexten till en kodad form (ej läsbar), och endast behöriga personer/parter kan komma åt den.
Många algoritmer finns tillgängliga på marknaden för att kryptera sådan data. Den krypterade informationen har varit säker ett tag, men vi tror aldrig att den är permanent säker. Med tiden finns det en risk att någon kommer att hacka informationen.

I den här artikeln har vi behandlat olika krypteringsalgoritmer och tekniker för att förbättra säkerheten för data och information. Jämförelser av krypteringsalgoritmer baserat på deras prestanda, effektivitet i hårdvara och mjukvara, nyckelstorlek, tillgänglighet, implementeringstekniker och hastighet.
Sammanfattning av algoritmerna
Vi jämför den uppmätta hastigheten hos krypteringsalgoritmer med olika andra algoritmer som finns tillgängliga som standard i Oracle JDK, med hjälp av Eclipse IDE, och sammanfattar sedan flera andra egenskaper hos dessa algoritmer. Krypteringsalgoritmerna som behandlas här är AES (med 128- och 256-bitarsnycklar), DES, Triple DES, IDEA och BlowFish (med en 256-bitars nyckel).
Algoritmernas prestanda
Figuren nedan visar den tid det tar att kryptera olika antal 16-byte-datablock med hjälp av de algoritmer som nämns ovan.
Det är viktigt att redan från början notera att det, bortom någon absurd punkt, inte är värt att offra hastighet för säkerhet. Mätningarna som erhålls kommer dock fortfarande att hjälpa oss att fatta välgrundade beslut.
Algoritmers egenskaper

Tabell 1 sammanfattar huvudfunktionerna i varje krypteringsalgoritm, med vad vi anser vara en rättvis översikt över algoritmens nuvarande säkerhetsstatus.
| Faktorer | RSA | DES | 3DES | AES |
|---|---|---|---|---|
| Skapas av | År 1978 av Ron Rivest, Adi Shamir och Leonard Adleman | År 1975 av IBM | År 1978 av IBM | År 2001 av Vincent Rijmen och Joan Daemen |
| Nyckellängd | Det beror på antalet bitar i modulus n, där n = p*q | 56 bitar | 168 bitar (k1, k2 och k3) 112 bitar (k1 och k2) | 128, 192 eller 256 bitar |
| Omgångar | 1 | 16 | 48 | 10-128 bitars nyckel, 12-192 bitars nyckel, 14-256 bitars nyckel |
| Block storlek | Variabel | 64 bitar | 64 bitar | 128 bitar |
| Chiffer typ | Asymmetrisk blockchiffer | Symmetrisk blockchiffer | Symmetrisk blockchiffer | Symmetrisk blockchiffer |
| Fart | Långsammast | Sakta | Väldigt långsam | Snabb |
| Säkerhet | Minst säker | Inte tillräckligt säker | Tillräcklig säkerhet | Utmärkt säkerhet |
Tabell 1: Egenskaper hos vanligt förekommande krypteringsalgoritmer
Jämförelse
Teknikerna har jämförts baserat på hur mycket:
- CPU-processorhastighet för kryptering och dekryptering av data.
- Hastighet för nyckelgenerering.
- Nyckelstorlek.
- Säkerhetshänsyn.
- Effektiv i hårdvara och mjukvara vid implementering.
- Den mängd minne som krävs för att lagra data i krypteringsprocessen.
- Antal användare som modellen hanterar.
- Tid som modellen behöver för att återställa data vid nyckelfel.
- Tid som hackaren har tillgång till för att utföra olika typer av attacker.
- Algoritmteknikens komplexitet.

Formulering och fallstudie
Fallstudie
Symmetriska chiffer använder samma nyckel för kryptering och dekryptering, så både avsändaren och mottagaren måste känna till – och använda – samma hemliga nyckel. Alla nyckellängder anses tillräckliga för att skydda sekretessbelagd information upp till nivån "Hemlig", där "Topphemlig" information kräver antingen 192- eller 256-bitars nyckellängder. Det finns 10 rundor för 128-bitarsnycklar, 12 rundor för 192-bitarsnycklar och 14 rundor för 256-bitarsnycklar – en runda består av flera bearbetningssteg som inkluderar substitution, transponering och blandning av inmatningsklartexten och omvandling av den till den slutliga utdata. chiffertexten.
AES-design

Omgångar
Utfyllnad är metoden för att lägga till ytterligare dummydata. Om meddelandet inte är delbart med blocklängden under krypteringsprocessen används utfyllnad. Om meddelandet till exempel består av 426 byte behöver vi ytterligare sju byte utfyllnad för att göra meddelandet 432 byte långt eftersom 432 är delbart med 16. Tre nyckelstorlekar kan användas i AES, och beroende på nyckelstorlekarna ändras antalet rundor i AES. Standardnyckelstorleken i AES är 128 bitar, och rundorna är 10. För AES-kryptering genereras två delnycklar och i den första rundan läggs en rundnyckel till i den första rundan.
| Nej. | Nyckelstorlek | Antal rundor |
|---|---|---|
| 1 | 128 bitar | 10 |
| 2 | 192 bitar | 12 |
| 3 | 256 bitar | 14 |
För 128 bitar används vanlig text och en 128-bitars nyckel, och 10 rundor utförs för att hitta chiffertexten. I det första steget genereras 10 rundnycklar för varje runda, och det finns en separat rundnyckel. Men i den första rundan läggs en extra rundnyckel, den initiala rundan, till rundan, och sedan påbörjas transformationen. Transformationen består av fyra steg.
- Ersätt byte
- Skift rader
- Blanda kolumner
- Lägg till rund nyckel
Följande figur förklarar alla krypteringssteg från vanlig text till chiffertext.

Kryptering med AES
Krypteringsfasen i AES kan delas in i tre steg: den inledande rundan, huvudrundorna och den sista rundan. Alla steg använder samma deloperationer i olika kombinationer enligt följande:
- Inledande omgångLägg till rund nyckel
- Huvudrunda
- Subbyte
- Skift rader
- Blanda kolumner
- Lägg till rund nyckel
- Sista rundan:
- Subbyte
- Skift rader
- Lägg till rund nyckel
- Lägg till rund nyckel
Detta är den enda fasen av AES-kryptering som direkt arbetar med AES-rundnyckeln. I den här operationen är inmatningen till rundan exklusiv – eller med rundnyckeln.
- Subbyte
Innebär att inmatningen delas upp i byte och varje byte skickas genom en substitutionsbox eller S-box. Till skillnad från DES använder AES samma S-box för alla byte. AES S-box implementerar invers multiplikation i Galoisfält 2.
- Skift rader
Varje rad i chifferns 128-bitars interna tillstånd är förskjuten. Raderna i detta steg refererar till standardrepresentationen av det interna tillståndet i AES, vilket är en 4×4-matris där varje cell innehåller en byte. Byte av det interna tillståndet placeras i matrisen över rader från vänster till höger och nedåt i kolumnerna.
- Blanda kolumner
Diffusion sker genom att blanda inmatningen. Till skillnad från Shift Rows utför Mix Columns operationer och delar matrisen i kolumner istället för rader. Till skillnad från vanlig matrismultiplikation utför Mix Columns matrismultiplikation över Galoisfält 2.
Dekryptering med AES
För att dekryptera en AES-krypterad chiffertext är det nödvändigt att ångra varje steg i krypteringsoperationen i omvänd ordning som de tillämpades i. De tre dekrypteringsstegen är följande:
- Omvänd finalrunda
- Lägg till rund nyckel
- Skift rader
- Subbyte
- Omvänd huvudrunda
- Lägg till rund nyckel
- Blanda kolumner
- Skift rader
- Subbyte
- Omvänd inledande omgång
- Lägg till rund nyckel
Slutsats
Studien av olika algoritmer visar att modellens styrka beror på nyckelhantering, typ av kryptografi, antal nycklar och antal bitar som används i en nyckel. Alla nycklar är baserade på matematiska egenskaper. Nycklar med ett större antal bitar kräver mer beräkningstid, vilket indikerar att systemet tar längre tid att kryptera data. AES-datakryptering är en mer matematiskt effektiv och elegant kryptografisk algoritm, men dess främsta styrka är möjligheten att använda olika nyckellängder. AES låter dig välja en 128-bitars, 192-bitars eller 256-bitars nyckel, vilket gör den exponentiellt starkare. AES använder permutationssubstitution, vilket innebär en serie substitutions- och permutationssteg för att skapa det krypterade blocket.
