Hoppa till innehåll

Webinar: Registrera dig för vårt kommande webbinarium

Registrera nu

Säkra din organisations data med dessa krypteringsalgoritmer

Datasäkerhet är en av de viktigaste delarna av en organisation; det kan uppnås med olika metoder. Krypteringsnyckeln spelar en viktig roll i den övergripande dataprocessen. Datakryptering omvandlar klartext till en kodad form (ej läsbar), och endast behöriga personer/parter kan komma åt den.

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.

symmetrisk krypteringsalgoritm
Fig: Krypterings- och dekrypteringsprocess

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

prestanda-cbc-diagram

Tabell 1 sammanfattar huvudfunktionerna i varje krypteringsalgoritm, med vad vi anser vara en rättvis översikt över algoritmens nuvarande säkerhetsstatus.

FaktorerRSADES3DESAES
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ängdDet beror på antalet bitar i modulus n, där n = p*q56 bitar168 bitar (k1, k2 och k3)
112 bitar (k1 och k2)
128, 192 eller 256 bitar
Omgångar1164810-128 bitars nyckel,
12-192 bitars nyckel,
14-256 bitars nyckel
Block storlekVariabel64 bitar64 bitar128 bitar
Chiffer typAsymmetrisk blockchifferSymmetrisk blockchifferSymmetrisk blockchifferSymmetrisk blockchiffer
FartLångsammastSaktaVäldigt långsamSnabb
SäkerhetMinst säkerInte tillräckligt säkerTillräcklig säkerhetUtmä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.
jämförelse av krypteringsalgoritm baserad på procentuell effektivitet
Fig: Jämförelse av krypteringsalgoritmer baserade på procentuell effektivitet

Skräddarsydda krypteringstjänster

Vi utvärderar, strategiserar och implementerar krypteringsstrategier och lösningar.

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

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.NyckelstorlekAntal rundor
1128 bitar10
2192 bitar12
3256 bitar14

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.

  1. Ersätt byte
  2. Skift rader
  3. Blanda kolumner
  4. Lägg till rund nyckel

Följande figur förklarar alla krypteringssteg från vanlig text till chiffertext.

vanlig text till
Fig: Visar stegen i varje runda

Skräddarsydda krypteringstjänster

Vi utvärderar, strategiserar och implementerar krypteringsstrategier och lösningar.

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:

  1. Inledande omgångLägg till rund nyckel
  2. Huvudrunda
    • Subbyte
    • Skift rader
    • Blanda kolumner
    • Lägg till rund nyckel
  3. Sista rundan:
    • Subbyte
    • Skift rader
    • Lägg till rund nyckel
  4. 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.

  5. 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.

  6. 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.

  7. 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:

  1. Omvänd finalrunda
    • Lägg till rund nyckel
    • Skift rader
    • Subbyte
  2. Omvänd huvudrunda
    • Lägg till rund nyckel
    • Blanda kolumner
    • Skift rader
    • Subbyte
  3. 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.

Referensprojekt