Krypteringsstandard

Informationsteknologitjenester

Kryptering af data under transit er påkrævet for at reducere risikoen for, at ikke -krypterede data bliver opfanget eller overvåget, da de overføres på betroede eller ikke -tillidsfulde netværk. Uautoriseret adgang kunne bringe fortroligheden af ​​følsomme institutionelle data i fare. CUU og University Unit ISMS er ansvarlige for at sikre, at følgende krypteringskrav opfyldes inden for de enheder, de er ansvarlige:

Data Kryptering Standard (DES) | Sæt 1

Denne artikel taler om datakrypteringsstandarden (DES), en historisk krypteringsalgoritme, der er kendt for sin 56-bit nøglelængde. Vi udforsker dens drift, nøgletransformation og krypteringsproces, der kaster lys over dens rolle i datasikkerhed og dens sårbarheder i dagens sammenhæng.

Hvad er des?

Datakrypteringsstandard (DES) er en blokciffer med en 56-bit nøglelængde, der har spillet en betydelig rolle i datasikkerheden . Datakrypteringsstandard (DES) er blevet fundet sårbare over for meget magtfulde angreb, derfor er DES popularitet fundet lidt på tilbagegang. DES er en blokciffer og krypterer data i størrelsesblokke 64 bit Hver, hvilket betyder, at 64 bit af almindelig tekst går som input til DES, der producerer 64 bit chiffertekst. Den samme algoritme og nøgle bruges til kryptering og dekryptering med mindre forskelle. Nøglelængden er 56 bit .

Den grundlæggende idé er vist nedenfor:

Vi har nævnt, at Des bruger en 56-bit nøgle. Faktisk består den oprindelige nøgle af 64 bit. Før DES-processen endda starter, kasseres hver 8. bit af nøglen imidlertid for at producere en 56-bit nøgle. Det er bitpositioner 8, 16, 24, 32, 40, 48, 56 og 64 kasseres.

Således producerer kassering af hver 8. bit af nøglen en 56-bit nøgle fra originalen 64-bit nøgle .
DES er baseret på de to grundlæggende egenskaber ved kryptografi: substitution (også kaldet forvirring) og transposition (også kaldet diffusion). Des består af 16 trin, som hver kaldes en runde. Hver runde udfører trinene til substitution og transponering. Lad os nu diskutere de brede niveauer i DES.

  • I det første trin overdrages 64-bit Plain Text-blokken til en indledende permutation (IP) -funktion.
  • Den oprindelige permutation udføres på almindelig tekst.
  • Dernæst producerer den indledende permutation (IP) to halvdele af den permuterede blok; At sige venstre almindelig tekst (LPT) og højre almindelig tekst (RPT).
  • Nu går hver LPT og RPT gennem 16 runder af krypteringsprocessen.
  • I sidste ende er LPT og RPT sammen med, og en endelig permutation (FP) udføres på den kombinerede blok
  • Resultatet af denne proces producerer 64-bit chiffertekst.

Trin i Des
Indledende permutation (IP)

Som vi har bemærket, sker den oprindelige permutation (IP) kun én gang, og det sker før den første runde. Det antyder, hvordan transpositionen i IP skal gå videre, som vist på figuren. F.eks.

Dette er intet andet end jongleri af bitpositioner i den originale almindelige tekstblok. Den samme regel gælder for alle de andre bitpositioner, der er vist på figuren.

Indledende permutationstabel

Som vi har bemærket, efter at IP er færdig, er den resulterende 64-bit permuterede tekstblok opdelt i to halve blokke. Hver halvblok består af 32 bit, og hver af de 16 runder på sin side består af de brede trin, der er beskrevet i figuren.

Runder i des

Trin 1: Keytransformation

Vi har bemærket, at den første 64-bit-nøgle omdannes til en 56-bit nøgle ved at kassere hver 8. bit af den oprindelige nøgle. For hver er der en 56-bit-nøgle tilgængelig. Fra denne 56-bit-nøgle genereres en anden 48-bit undernøgle i løbet af hver runde ved hjælp af en proces kaldet Key Transformation. Til dette er 56-bit-nøglen opdelt i to halvdele, hver af 28 bit. Disse halvdele er cirkulært forskudt efterladt af en eller to positioner, afhængigt af runden.

For eksempel: Hvis runde numrene 1, 2, 9 eller 16 skiftet kun udføres med en position for andre runder, udføres det cirkulære skift med to positioner. Antallet af nøglebits, der er skiftet pr. Runde, vises i figuren.

Antal nøglebits skiftet pr. Runde

Efter et passende skift er 48 af de 56 bit valgt. Fra de 48 kan vi muligvis opnå 64 eller 56 bit baseret på krav, der hjælper os med at erkende, at denne model er meget alsidig og kan håndtere ethvert nødvendigt krav, der er nødvendige eller leveres. For at vælge 48 af de 56 bit er tabellen vist på figuren nedenfor. For eksempel, efter skiftet, bitnummer 14 flytter til den første position, flytter bitnummer 17 til den anden position, og så videre. Hvis vi observerer tabellen, vil vi indse, at den kun indeholder 48-bit positioner. Bit nummer 18 kasseres (vi finder det ikke i tabellen), ligesom 7 andre, for at reducere en 56-bit nøgle til en 48-bit nøgle. Da den vigtigste transformationsproces involverer permutation såvel som et udvalg af en 48-bit undergruppe af den originale 56-bit nøgle, kaldes den komprimeringspermutation.

Komprimeringspermutation

På grund af denne komprimeringspermutationsteknik bruges en anden undergruppe af nøglebits i hver runde. Det gør Des ikke let at knække.

Trin 2: Udvidelsespermutation

Husk, at vi efter den indledende permutation havde to 32-bit almindelige tekstområder kaldet Left Plain Text (LPT) og højre almindelig tekst (RPT). Under ekspansionspermutationen udvides RPT fra 32 bit til 48 bit. Bits er også permuteret. Dette sker, da 32-bit RPT er opdelt i 8 blokke, hvor hver blok består af 4 bit. Derefter udvides hver 4-bit blok i det forrige trin derefter til en tilsvarende 6-bit blok, jeg.e., pr. 4-bit blok, 2 flere bits tilføjes.

Opdeling af 32 bit Rpt i 8 bit blokke

Denne proces resulterer i ekspansion såvel som en permutation af inputbiten, mens den opretter output. Den vigtigste transformationsproces komprimerer 56-bit-tasten til 48 bit. Derefter udvider ekspansionspermutationsprocessen 32-bit Rpt til 48-bits . Nu er 48-bit-nøglen XOR med 48-bit RPT, og den resulterende output gives til det næste trin, som er S-BOX-substitution .

Python

# Python3 -kode til ovenstående tilgang
# Hexadecimal til binær konvertering
def hex2bin (r):
MP = < '0' : "0000" , for i in range ( len (s)): bin = bin + mp[s[i]] return bin # Binary to hexadecimal conversion def bin2hex(s): mp = < "0000" : '0' , for i in range ( 0 , len (s), 4 ): ch = ch + s[i] ch = ch + s[i + 1 ] ch = ch + s[i + 2 ] ch = ch + s[i + 3 ] hex = hex + mp[ch] return hex # Binary to decimal conversion def bin2dec(binary): binary1 = binary decimal, i, n = 0 , 0 , 0 while (binary ! = 0 ): dec = binary % 10 decimal = decimal + dec * pow ( 2 , i) binary = binary / / 10 return decimal # Decimal to binary conversion def dec2bin(num): res = bin (num).replace( "0b" , "") if ( len (res) % 4 ! = 0 ): div = len (res) / 4 div = int (div) counter = ( 4 * (div + 1 )) - len (res) for i in range ( 0 , counter): res = '0' + res return res # Permute function to rearrange the bits def permute(k, arr, n): permutation = "" for i in range ( 0 , n): permutation = permutation + k[arr[i] - 1 ] return permutation # shifting the bits towards left by nth shifts def shift_left(k, nth_shifts): for i in range (nth_shifts): for j in range ( 1 , len (k)): # calculating xow of two strings of binary number a and b def xor(a, b): for i in range ( len (a)): if a[i] = = b[i]: ans = ans + "0" ans = ans + "1" return ans # Table of Position of 64 bits at initial level: Initial Permutation Table initial_perm = [ 58 , 50 , 42 , 34 , 26 , 18 , 10 , 2 , 60 , 52 , 44 , 36 , 28 , 20 , 12 , 4 , 62 , 54 , 46 , 38 , 30 , 22 , 14 , 6 , 64 , 56 , 48 , 40 , 32 , 24 , 16 , 8 , 57 , 49 , 41 , 33 , 25 , 17 , 9 , 1 , 59 , 51 , 43 , 35 , 27 , 19 , 11 , 3 , 61 , 53 , 45 , 37 , 29 , 21 , 13 , 5 , 63 , 55 , 47 , 39 , 31 , 23 , 15 , 7 ] # Expansion D-box Table exp_d = [ 32 , 1 , 2 , 3 , 4 , 5 , 4 , 5 , 6 , 7 , 8 , 9 , 8 , 9 , 10 , 11 , 12 , 13 , 12 , 13 , 14 , 15 , 16 , 17 , 16 , 17 , 18 , 19 , 20 , 21 , 20 , 21 , 22 , 23 , 24 , 25 , 24 , 25 , 26 , 27 , 28 , 29 , 28 , 29 , 30 , 31 , 32 , 1 ] # Straight Permutation Table per = [ 16 , 7 , 20 , 21 , 29 , 12 , 28 , 17 , 1 , 15 , 23 , 26 , 5 , 18 , 31 , 10 , 2 , 8 , 24 , 14 , 32 , 27 , 3 , 9 , 19 , 13 , 30 , 6 , 22 , 11 , 4 , 25 ] # S-box Table sbox = [[[ 14 , 4 , 13 , 1 , 2 , 15 , 11 , 8 , 3 , 10 , 6 , 12 , 5 , 9 , 0 , 7 ], [ 0 , 15 , 7 , 4 , 14 , 2 , 13 , 1 , 10 , 6 , 12 , 11 , 9 , 5 , 3 , 8 ], [ 4 , 1 , 14 , 8 , 13 , 6 , 2 , 11 , 15 , 12 , 9 , 7 , 3 , 10 , 5 , 0 ], [ 15 , 12 , 8 , 2 , 4 , 9 , 1 , 7 , 5 , 11 , 3 , 14 , 10 , 0 , 6 , 13 ]], [[ 15 , 1 , 8 , 14 , 6 , 11 , 3 , 4 , 9 , 7 , 2 , 13 , 12 , 0 , 5 , 10 ], [ 3 , 13 , 4 , 7 , 15 , 2 , 8 , 14 , 12 , 0 , 1 , 10 , 6 , 9 , 11 , 5 ], [ 0 , 14 , 7 , 11 , 10 , 4 , 13 , 1 , 5 , 8 , 12 , 6 , 9 , 3 , 2 , 15 ], [ 13 , 8 , 10 , 1 , 3 , 15 , 4 , 2 , 11 , 6 , 7 , 12 , 0 , 5 , 14 , 9 ]], [[ 10 , 0 , 9 , 14 , 6 , 3 , 15 , 5 , 1 , 13 , 12 , 7 , 11 , 4 , 2 , 8 ], [ 13 , 7 , 0 , 9 , 3 , 4 , 6 , 10 , 2 , 8 , 5 , 14 , 12 , 11 , 15 , 1 ], [ 13 , 6 , 4 , 9 , 8 , 15 , 3 , 0 , 11 , 1 , 2 , 12 , 5 , 10 , 14 , 7 ], [ 1 , 10 , 13 , 0 , 6 , 9 , 8 , 7 , 4 , 15 , 14 , 3 , 11 , 5 , 2 , 12 ]], [[ 7 , 13 , 14 , 3 , 0 , 6 , 9 , 10 , 1 , 2 , 8 , 5 , 11 , 12 , 4 , 15 ], [ 13 , 8 , 11 , 5 , 6 , 15 , 0 , 3 , 4 , 7 , 2 , 12 , 1 , 10 , 14 , 9 ], [ 10 , 6 , 9 , 0 , 12 , 11 , 7 , 13 , 15 , 1 , 3 , 14 , 5 , 2 , 8 , 4 ], [ 3 , 15 , 0 , 6 , 10 , 1 , 13 , 8 , 9 , 4 , 5 , 11 , 12 , 7 , 2 , 14 ]], [[ 2 , 12 , 4 , 1 , 7 , 10 , 11 , 6 , 8 , 5 , 3 , 15 , 13 , 0 , 14 , 9 ], [ 14 , 11 , 2 , 12 , 4 , 7 , 13 , 1 , 5 , 0 , 15 , 10 , 3 , 9 , 8 , 6 ], [ 4 , 2 , 1 , 11 , 10 , 13 , 7 , 8 , 15 , 9 , 12 , 5 , 6 , 3 , 0 , 14 ], [ 11 , 8 , 12 , 7 , 1 , 14 , 2 , 13 , 6 , 15 , 0 , 9 , 10 , 4 , 5 , 3 ]], [[ 12 , 1 , 10 , 15 , 9 , 2 , 6 , 8 , 0 , 13 , 3 , 4 , 14 , 7 , 5 , 11 ], [ 10 , 15 , 4 , 2 , 7 , 12 , 9 , 5 , 6 , 1 , 13 , 14 , 0 , 11 , 3 , 8 ], [ 9 , 14 , 15 , 5 , 2 , 8 , 12 , 3 , 7 , 0 , 4 , 10 , 1 , 13 , 11 , 6 ], [ 4 , 3 , 2 , 12 , 9 , 5 , 15 , 10 , 11 , 14 , 1 , 7 , 6 , 0 , 8 , 13 ]], [[ 4 , 11 , 2 , 14 , 15 , 0 , 8 , 13 , 3 , 12 , 9 , 7 , 5 , 10 , 6 , 1 ], [ 13 , 0 , 11 , 7 , 4 , 9 , 1 , 10 , 14 , 3 , 5 , 12 , 2 , 15 , 8 , 6 ], [ 1 , 4 , 11 , 13 , 12 , 3 , 7 , 14 , 10 , 15 , 6 , 8 , 0 , 5 , 9 , 2 ], [ 6 , 11 , 13 , 8 , 1 , 4 , 10 , 7 , 9 , 5 , 0 , 15 , 14 , 2 , 3 , 12 ]], [[ 13 , 2 , 8 , 4 , 6 , 15 , 11 , 1 , 10 , 9 , 3 , 14 , 5 , 0 , 12 , 7 ], [ 1 , 15 , 13 , 8 , 10 , 3 , 7 , 4 , 12 , 5 , 6 , 11 , 0 , 14 , 9 , 2 ], [ 7 , 11 , 4 , 1 , 9 , 12 , 14 , 2 , 0 , 6 , 10 , 13 , 15 , 3 , 5 , 8 ], [ 2 , 1 , 14 , 7 , 4 , 10 , 8 , 13 , 15 , 12 , 9 , 0 , 3 , 5 , 6 , 11 ]]] # Final Permutation Table final_perm = [ 40 , 8 , 48 , 16 , 56 , 24 , 64 , 32 , 39 , 7 , 47 , 15 , 55 , 23 , 63 , 31 , 38 , 6 , 46 , 14 , 54 , 22 , 62 , 30 , 37 , 5 , 45 , 13 , 53 , 21 , 61 , 29 , 36 , 4 , 44 , 12 , 52 , 20 , 60 , 28 , 35 , 3 , 43 , 11 , 51 , 19 , 59 , 27 , 34 , 2 , 42 , 10 , 50 , 18 , 58 , 26 , 33 , 1 , 41 , 9 , 49 , 17 , 57 , 25 ] def encrypt(pt, rkb, rk): pt = hex2bin(pt) # Initial Permutation pt = permute(pt, initial_perm, 64 ) print ( "After initial permutation" , bin2hex(pt)) left = pt[ 0 : 32 ] right = pt[ 32 : 64 ] for i in range ( 0 , 16 ): # Expansion D-box: Expanding the 32 bits data into 48 bits right_expanded = permute(right, exp_d, 48 ) # XOR RoundKey[i] and right_expanded xor_x = xor(right_expanded, rkb[i]) # S-boxex: substituting the value from s-box table by calculating row and column for j in range ( 0 , 8 ): row = bin2dec( int (xor_x[j * 6 ] + xor_x[j * 6 + 5 ])) col = bin2dec( int (xor_x[j * 6 + 1 ] + xor_x[j * 6 + 2 ] + xor_x[j * 6 + 3 ] + xor_x[j * 6 + 4 ])) val = sbox[j][row][col] sbox_str = sbox_str + dec2bin(val) # Straight D-box: After substituting rearranging the bits sbox_str = permute(sbox_str, per, 32 ) # XOR left and sbox_str result = xor(left, sbox_str) left = result left, right = right, left print ( "Round " , i + 1 , " " , bin2hex(left), " " , bin2hex(right), " " , rk[i]) # Combination combine = left + right # Final permutation: final rearranging of bits to get cipher text cipher_text = permute(combine, final_perm, 64 ) return cipher_text pt = "123456ABCD132536" key = "AABB09182736CCDD" # Key generation # --hex to binary key = hex2bin(key) # --parity bit drop table keyp = [ 57 , 49 , 41 , 33 , 25 , 17 , 9 , 1 , 58 , 50 , 42 , 34 , 26 , 18 , 10 , 2 , 59 , 51 , 43 , 35 , 27 , 19 , 11 , 3 , 60 , 52 , 44 , 36 , 63 , 55 , 47 , 39 , 31 , 23 , 15 , 7 , 62 , 54 , 46 , 38 , 30 , 22 , 14 , 6 , 61 , 53 , 45 , 37 , 29 , 21 , 13 , 5 , 28 , 20 , 12 , 4 ] # getting 56 bit key from 64 bit using the parity bits key = permute(key, keyp, 56 ) # Number of bit shifts shift_table = [ 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 1 ] # Key- Compression Table : Compression of key from 56 bits to 48 bits key_comp = [ 14 , 17 , 11 , 24 , 1 , 5 , 3 , 28 , 15 , 6 , 21 , 10 , 23 , 19 , 12 , 4 , 26 , 8 , 16 , 7 , 27 , 20 , 13 , 2 , 41 , 52 , 31 , 37 , 47 , 55 , 30 , 40 , 51 , 45 , 33 , 48 , 44 , 49 , 39 , 56 , 34 , 53 , 46 , 42 , 50 , 36 , 29 , 32 ] left = key[ 0 : 28 ] # rkb for RoundKeys in binary right = key[ 28 : 56 ] # rk for RoundKeys in hexadecimal for i in range ( 0 , 16 ): # Shifting the bits by nth shifts by checking from shift table left = shift_left(left, shift_table[i]) right = shift_left(right, shift_table[i]) # Combination of left and right string combine_str = left + right # Compression of key from 56 to 48 bits round_key = permute(combine_str, key_comp, 48 ) rkb.append(round_key) rk.append(bin2hex(round_key)) print ( "Encryption" ) cipher_text = bin2hex(encrypt(pt, rkb, rk)) print ( "Cipher Text : " , cipher_text) print ( "Decryption" ) rkb_rev = rkb[:: - 1 ] rk_rev = rk[:: - 1 ] text = bin2hex(encrypt(cipher_text, rkb_rev, rk_rev)) print ( "Plain Text : " , text) # This code is contributed by Aditya Jain

JavaScript

// Definer Des Key og PlaintExt
const key = “0123456789ABCDEF”;
const paintExt = “Hej, verden!”;
// Udfør des kryptering
const des = ny DES (nøgle);
const cipHerText = Des.kryptering (sagsøger);
// Udfør des dekryptering
const dekrypteret = des.dekrypter (chiffertekst);
// Udskriv resultater
konsol.log (“PLAINTEXT:”, PLAINTEXT);
konsol.log (“Ciffertext:”, chiffertekst);
konsol.log (“dekrypteret:”, dekrypteret);
// Definer Des Class
Konstruktør (nøgle) < // Initialize DES with key this .key = CryptoJS.enc.Hex.parse(key); encrypt(plaintext) < // Perform DES encryption on plaintext const encrypted = CryptoJS.DES.encrypt( // Return ciphertext as hex string return encrypted.ciphertext.toString(); decrypt(ciphertext) < // Parse ciphertext from hex string const ciphertextHex = CryptoJS.enc.Hex.parse(ciphertext); // Perform DES decryption on ciphertext const decrypted = CryptoJS.DES.decrypt( // Return decrypted plaintext as UTF-8 string return decrypted.toString(CryptoJS.enc.Utf8); Produktion

. 60AF7CA5 RUND 12 FF3C485F 22A5963B C2C1E96A4BF3 RUND 13 22A5963B 387CCDAA 99C31397C91F RUND 14 387CCDAA BD2DD2AB 251B8BC717D0 RUND 15 BD2DD2D2AB CF26B472 333333333331 9212 CF26B472 181C5D75C66D Ciffer Tekst: C0B7A8D05F3A829C Dekryptering Efter indledende permutation: 19BA9212CF26B472 Efter opdeling:L0 = 19BA9212 R0 = CF26B472 RUND 1 CF26B472 BD2DD2AB 181C5D75C66D RUND 2 BD2DD2AB 387CCDAA 3330C5D9A36D RUND 3 387CCDAA 22A5963B 251B8BC71717D0D0 RUND 4 22A59963B 9C424242424242424242424242424242424242424242424242424 31397C91F RUND 5 FF3C485F 6CA6CB20 C2C1E96A4BF3 RUND 6 6CA6CB20 10AF9D37 6D5560AF7CA5 RUND 7 10AF9D37 308BE97 02765708B5BF RUND 8 308BEE97 A9FC20A3 84BB447373DCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCT 2,9 AN9 9 ANCFFFFF 20A3 2E8F9C65 34F822F0C66D RUND 10 2E8F9C65 A15A4B87 708AD2DDB3C0 RUND 11 A15A4B87 236779C2 C1948E87475E RUND 12 236779C2 B8089591 69A629FEC913 RUND 13 B8089591 4A1212120F6BA2424242424242424242424242424242424242424242424242424242424242424242424242424202d2d242424242d242424242424242424 EE3 RUND 14 4A1210F6 5A78E394 06EDA4ACF5B5 RUND 15 5A78E394 18CA18AD 4568581ABCCE RUND 16 14A7D678 18CA18AD 194CD072DE8C FÆLLES Tekst: 123456ABCD132536

Produktion:

Kryptering:
Efter indledende permutation: 14A7D67818CA18AD
Efter opdeling: L0 = 14A7D678 R0 = 18CA18AD
Runde 1 18CA18AD 5A78E394 194CD072DE8C
Runde 2 5A78E394 4A1210F6 4568581ABCCE
Runde 3 4A1210F6 B8089591 06EDA4ACF5B5
Runde 4 B8089591 236779C2 DA2D032B6EE3
Runde 5 236779C2 A15A4B87 69A629FEC913
Runde 6 A15A4B87 2E8F9C65 C1948E87475E
Runde 7 2e8f9c65 A9FC20A3 708AD2DDB3C0
Runde 8 A9FC20A3 308BEE97 34F822F0C66D
Runde 9 308BEE97 10AF9D37 84BB4473DCCC
RUND 10 10AF9D37 6CA6CB20 02765708B5BF
Runde 11 6CA6CB20 FF3C485F 6D5560AF7CA5
Runde 12 FF3C485F 22A5963B C2C1E96A4BF3
Runde 13 22A5963B 387CCDAA 99C31397C91F
Runde 14 387CCDAA BD2DD2AB 251B8BC717D0
Runde 15 BD2DD2AB CF26B472 3330C5D9A36D
Runde 16 19BA9212 CF26B472 181C5D75C66D
Cipher Tekst: C0B7A8D05F3A829C
Dekryptering
Efter indledende permutation: 19BA9212CF26B472
Efter opdeling: L0 = 19BA9212 R0 = CF26B472
Runde 1 CF26B472 BD2DD2AB 181C5D75C66D
Runde 2 BD2DD2AB 387CCDAA 3330C5D9A36D
Runde 3 387CCDAA 22A5963B 251B8BC717D0
Runde 4 22A5963B FF3C485F 99C31397C91F
Runde 5 FF3C485F 6CA6CB20 C2C1E96A4BF3
Runde 6 6CA6CB20 10AF9D37 6D5560AF7CA5
Runde 7 10AF9D37 308BEE97 02765708B5BF
Runde 8 308BEE97 A9FC20A3 84BB4473DCCC
Runde 9 A9FC20A3 2E8F9C65 34F822F0C66D
Runde 10 2e8f9c65 A15A4B87 708AD2DDB3C0
Runde 11 A15A4B87 236779C2 C1948E87475E
Runde 12 236779C2 B8089591 69A629FEC913
Runde 13 B8089591 4A1210F6 DA2D032B6EE3
Runde 14 4A1210F6 5A78E394 06EDA4ACF5B5
Runde 15 5A78E394 18CA18AD 4568581ABCCE
Runde 16 14A7D678 18CA18AD 194CD072DE8C
Almindelig tekst: 123456ABCD132536

Konklusion

Afslutningsvis er datakrypteringsstandarden (DES) en blokciffer med en 56-bit nøglelængde, der har spillet en betydelig rolle i datasikkerheden. På grund af sårbarheder er dens popularitet imidlertid faldet. DES fungerer gennem en række runder, der involverer nøgletransformation, ekspansionspermutation og substitution, hvilket i sidste ende producerer chiffertekst fra PLAINTEXT. Mens DES har historisk betydning, er det vigtigt at overveje mere sikre krypteringsalternativer til moderne databeskyttelsesbehov.

Ofte stillede spørgsmål

Q.1 : Hvad skal betragtes som et alternativ til DES for datakryptering?

Svar:

For moderne datakrypteringsbehov skal du overveje at bruge stærkere krypteringsalgoritmer som AES (Advanced Encryption Standard).

Q.2 : Hvordan genereres den 48-bit undernøgle for hver runde i DES?

Svar:

Den 48-bit undernøgle for hver runde i DES er afledt af 56-bit-tasten gennem en proces med cirkulær skift og permutation, hvilket sikrer vigtig mangfoldighed.

Sidst opdateret: 20. september 2023

Lignende læse miniaturebillede

Som artikel

Krypteringsstandard

Denne standard understøtter og supplerer FSU -teknologipolitikker og giver yderligere sikkerheds- og privatlivets bedste praksis. Det definerer krav til brug af krypteringsteknologier til at beskytte FSU -data og ressourcer. Kryptering er processen med at kode meddelelser eller information for at beskytte data eller kommunikation og kan anvendes til data, der er gemt (i hvile) eller transmitteres (i transit) over netværk.

Overholdelse af denne standard er obligatorisk og håndhæves på samme måde som de politikker, den understøtter. Standarder gennemgås og opdateres med jævne mellemrum og opdateres for at imødekomme nye trusler, ændringer i juridiske og lovgivningsmæssige krav og teknologiske fremskridt. Alle brugere er forpligtet til at overholde denne standard eller få en undtagelse i overensstemmelse med anmodningen om undtagelse fra IT -sikkerhedspolitikken.

Ii. Definitioner

Konsolideret universitetsenhed – En konsolideret gruppe af relaterede universitetsenheder, der har ledelsesmyndighed og ansvar for overholdelse af IT -politikker, standarder og retningslinjer.

Informationssikkerhedshændelse – et mistænkt, forsøg på, vellykket eller forestående trussel om uautoriseret adgang, brug, afsløring, overtrædelse, ændring eller ødelæggelse af information; interferens med informationsteknologioperationer; eller betydelig overtrædelse af politikken for ansvarlig brug.

III. Standard

FSU har vedtaget NIST-rammerne for forbedring af kritisk infrastrukturcybersikkerhed i forbindelse med NIST 800-53 kontroller som grundlaget for en risikobaseret tilgang til cybersikkerhedsstyring. Cybersecurity Framework (CSF) Core bruger fælles cybersikkerhedsfunktioner, aktiviteter og ønskede resultater til at tilpasse universitetspolitikken til styring af IT -risiko. CSF -kernen udnytter industristandarder, retningslinjer og praksis for at etablere baselineforventninger til cybersikkerhed for alle universitetsenheder.

Universitetsenheder er ansvarlige for at bruge denne ramme og kontroller til at vurdere deres unikke risici, trusler, sårbarheder og risikotolerancer for at bestemme en passende risikostyringsplan, der overholder FSU -teknologipolitikker, standarder og retningslinjer.

Kontroller, der understøtter denne standard, inkluderer, men er ikke begrænset til:

NIST Cybersecurity Framework og kontroller

Fungere Kategori Ønskede resultat
(Underkategori)
Beskytte
(PR)
Datasikkerhed (PR.Ds): Oplysninger og poster (data) styres i overensstemmelse med organisationens risikostrategi for at beskytte fortrolighed, integritet og tilgængelighed af information. Pr.DS-1: Data-ved-hvile er beskyttet
Pr.DS-2: Data-in-transit er beskyttet
Pr.DS-5: Beskyttelse mod datalækager implementeres

Fuld CSF -tværgående til kontrol: NIST -krydsningsgange
*Ovenstående NIST -diagram, der beskriver cybersecurity -rammer og kontroller, og linket til andre NIST -crosswalk -principper og information tilhører på ingen måde eller ejes af Florida State University.

Roller og ansvar

Chief Information Security Officer (CISO) og Information Security and Privacy Office (ISPO)
CISO leder Information Security and Privacy Office (ISPO) til universitetet. CISO rapporterer til CIO og Provost og fungerer som både CISO og Chief Privacy Officer for FSU. CISO og ISPO er ansvarlige for at håndhæve anvendelsen af ​​passende operationelle sikkerhedskontroller, der er nødvendige for at afbøde risici forbundet med uautoriseret afsløring, tab eller tyveri af universitetsinformation.
Konsolideret universitetsenhed (CUU) Dean, direktør eller afdelingsleder (DDDH)
Dekanen, direktøren, afdelingslederen eller anden ledelsesposition, der er ansvarlig for at beskytte fortrolighed, tilgængelighed og integritet af universitetet, det er aktiver inden for en CUU. CUU DDDH har ansvaret for at sikre it -sikkerhed og privatliv for enhederne inden for CUU.
Consolidated University Unit (CUU) Information Security Manager (ISM)
Forbindelsen udpeget af CUU Dean, direktør eller afdelingsleder (DDDH), der er ansvarlig for at koordinere CUUs informationssikkerhedsprogram. CUU ISM er det centrale kontaktpunkt mellem universitetsenhederne og ISPO for sikkerhedsspørgsmål. CUU ISM -ansvar vil blive inkluderet i positionsbeskrivelser.
University Unit Information Security Manager (ISM)
Forbindelsen udpeget af en universitetsenhedsdekan, direktør eller afdelingsleder (DDDH), der er ansvarlig for at sikre en universitetsenheds overholdelse af sikkerheds -IT -politikker, standarder og retningslinjer i koordinering med deres udpegede CUUs informationssikkerhedsprogram.
Dataforvalter
Dekan, direktør, afdelingsleder eller anden manager, der i sidste ende er ansvarlig for integriteten, nøjagtig rapportering og brug af universitetsdataressourcer, baseret på Datasikkerhedsstandard.
Data Manager
Universitetsenhedens medarbejdere (e) delegerede operationelle tilsynsansvar for dataressourcer fra dataroddelvodgørelsen.

Dataklassificering

Dataforvaltere er ansvarlige for at klassificere alle data, som de er ansvarlige for i henhold til kravene i datasikkerhedsstandarden. Dataklassificeringen bestemmer baseline-sikkerhedsbeskyttelsen og -kontrollerne, der er passende og kræves for at beskytte fortrolighed, integritet og tilgængelighed af data, herunder de minimumssikkerhedsstandarder, der gælder for kryptering af alle institutionelle data, der er adgang til, oprettet, gemt, behandlet eller transmitteret.

Brugere skal være forsigtige for at beskytte og sikre FSU -data, enheder og bærbare opbevaringsmedier.

Automatisk kryptering

FSU -godkendte netværk/sky -aktier (E.g. OneDrive, SharePoint) leverer automatisk kryptering og sikker opbevaring, når det bruges. Brugere, der vælger ikke at bruge netværksandele, er ansvarlige for at opfylde alle krypteringskrav som defineret i denne standard. For mere information, se retningslinjer for brugen af ​​personlige cloud -tjenester (FSU.Edu).

Nøglestyring

For at forhindre datatab skal nøglestyringsprocesser være på plads og dokumenteret inden kryptering af data i hvile. CUU- og universitetsenheds ISMS er ansvarlige for at sikre, at enheder og individer forarbejdning, vedligeholdelse, opbevaring eller transmission af krypteret høj risiko eller moderat risiko overholdes af en dokumenteret kryptografisk nøglehåndteringsplan på plads, der beskytter oprettelsen, brugen, distributionen, opbevaring og opbevaring og Gendannelse af kryptografiske nøgler. Effektiv nøglestyring er kritisk for at forhindre uautoriseret videregivelse og for at sikre adgang til data, når det er nødvendigt. Hvis en nøgle går tabt, er det meget sandsynligt, at dataene på enheden ikke kan gendannes, især hvis der ikke er andre kopier af de tilgængelige data.

Kryptografiske nøgler er en type IT -sikkerhedsoplysninger klassificeret som højrisiko -data og skal selv krypteres, mens de er gemt, mens de er gemt. Nøgler skal gemmes separat fra krypterede data. Nøgler, der er gemt på fysisk medium (papir, CD, flashlagring) skal forblive konstant låst på et sikret sted.

Kryptering af data i hvile

Kryptering af data i hvile betyder at kryptere data, når de gemmes på en server eller opbevaringsmedium. Der er to måder at kryptere data i hvile på.

  • Fuld-disk-kryptering, Også kendt som hele disk-kryptering, krypterer hele enheden, diskpartitioner på én gang eller disksektorer i brug på tidspunktet for kryptering og yderligere sektorer, når data genereres. Det giver god beskyttelse mod datatab på grund af tyveri eller andet tab og kræver mindre opmærksomhed på, hvordan filer styres.
  • Kryptering på filniveau krypterer individuelle filer. Der er to metoder til kryptering på filniveau:
    • Filer dekrypteres kun, når de er i brug, typisk tilfældet med applikationsbaseret kryptering.
    • Filer er ikke automatisk omkrypteret, når visning eller redigering er komplet, som det er tilfældet med standalone krypteringsværktøjer. Nøglen til at dekryptere filen skal deles separat fra filen via en anden transmissionsmetode. Dette kaldes undertiden containerbaseret kryptering.

    Den passende krypteringsmetode skal vælges baseret på dataklassificering og enhedstype. CUU og University Unit ISMS er ansvarlige for at sikre sikre konfigurationer og opfylde følgende krypteringskrav inden for deres enheder:

    tabel 1. Krypteringskrav til data i hvile

    Enhedstype Dataklassificering
    Data med høj risiko Moderat risiko Data med lav risiko
    Enheder i datacentre eller beskyttede faciliteter Krævet,
    Data, der er gemt på datacenterenheder, er også dækket af kravene i IT -fysisk sikkerhedsstandard.
    Enhedens skøn
    Bærbare og aftagelige opbevaringsmedier Krævet,
    Yderligere omhu skal være til sikkerhed for bærbare medier og er begrænset til arbejdsrelaterede formål til sikkerhedskopiering eller opbevaring.
    Enhedens skøn
    Bærbare computere og andre bærbare enheder Krævet Krævet Anbefalede
    Desktops Krævet Krævet Enhedens skøn
    Personligt ejede enheder Opbevaring af høj risiko eller moderate risiko data ikke tilladt Enhedens skøn
    Databaseopbevaring Krævet Krævet
    Data -sikkerhedskopier og arkiver Krævet Enhedens skøn

    Kryptering af data under transit

    Kryptering af data under transit er påkrævet for at reducere risikoen for, at ikke -krypterede data bliver opfanget eller overvåget, da de overføres på betroede eller ikke -tillidsfulde netværk. Uautoriseret adgang kunne bringe fortroligheden af ​​følsomme institutionelle data i fare. CUU og University Unit ISMS er ansvarlige for at sikre, at følgende krypteringskrav opfyldes inden for de enheder, de er ansvarlige:

    Tabel 2. Krypteringskrav til data under transit

    Metode Dataklassificering
    Data med høj risiko Moderat risiko Data med lav risiko
    Oplysninger sendt via e -mail Krævet Krævet Enhedens skøn
    Data transmitteret mellem enheder inden for FSU -netværket Krævet Krævet Enhedens skøn
    Oplysninger transmitteret uden for FSU -netværket Krævet Krævet Enhedens skøn
    Administration af hardware, software eller applikationer udført over et netværk Krævet Krævet Krævet

    Følgende er eksempler på almindeligt anvendte teknologier, der giver kryptering af data under transit.

    Virtuelt privat netværk (VPN): Brugere, der rejser på universitetsvirksomheden, eller som har brug for at få adgang til FSU-netværket og eventuelle højrisiko- eller moderate risikouniversitetsdata fra et ikke-universitet eller et offentligt netværk skal logge ind på FSU-virtuelle private netværk. Det tillader også adgang til applikationer eller data, der kræver en forbindelse på campus. For mere information, se dens servicekatalog – VPN.

    Sikker webtrafik (HTTPS): HTTPS er en protokol, der krypterer trafik mellem en webbrowser og en webbaseret applikation. Enheder skal bruge en universitets leveret certifikattjeneste. Se dets servicekatalog for dets servicekatalog – Enterprise SSL.

    Transportlagssikkerhed (TLS): TLS er en kryptografisk protokol, der giver ende-til-ende kommunikationssikkerhed over netværk og er vidt brugt til internetkommunikation og online-transaktioner.

    Hændelsesrapportering

    Hændelser opstår, når en FSU -studerende, personale, entreprenør eller fakultetsmedlem overtræder denne standard, specifikke juridiske krav eller kontraktlige forpligtelser. Det er ansvaret for hver FSU -studerende, personale, entreprenør eller fakultetsmedlem at straks rapportere mistænkt eller bekræftet informationssikkerheds- og privatlivshændelser til Chief Information Security Officer (CISO) på [email protected]. CUU ISM eller University Unit ISM skal informere ciso om eventuelle mistænkte eller bekræftede hændelser inden for 24 timer. Se IT -hændelsesresponsstandarden for mere information.

    Iv. Referencer

    • NIST Cybersecurity Framework (CSF)
    • NIST 800-53 rev. 4, kontrol med høj påvirkning
    • IT Security and Privacy Incident Response and Reporting Procedures
    • FSU Virtual Private Network
    • Enterprise SSL
    • FIPS 140-2 Sikkerhedskrav til kryptografiske moduler
    • Retningslinje for brug af kryptografiske standarder i den føderale regering: kryptografiske mekanismer (NIST.Gov)
    • Retningslinjer for brug af personlige skytjenester