Puncte:0

Cum se generează chei de pe 56 de biți folosind DES

drapel ru

Mai întâi vreau să-mi cer scuze pentru lipsa mea de cunoștințe despre acest sistem.

Profesorul ne-a cam dat un exercițiu de rezolvat chiar înainte de a trece prin lecții. Am obosit să mă uit la videoclipuri online, dar ceea ce știu doar să folosesc o cheie inițială de 64 de biți.

cheie hexazecimală inițială de 56 de biți: „B092EBA02E3798” Dați cheia K16 (la ultima tură) la 64 de biți în hexazecimal.

Deci întrebarea mea este, trebuie să-mi transform 56 de biți la 64 de biți înainte de a face o permutare inițială. Și dacă da, cum pot face asta. Vă mulţumesc pentru ajutor.

kelalaka avatar
drapel in
Bun venit la Cryptography.SE. Wikipedia este primul pas!. Avem câteva întrebări/răspunsuri pentru aceasta, totuși, vezi pe [Wiki:DES](https://en.wikipedia.org/wiki/Data_Encryption_Standard#Description) Cheia constă aparent din 64 de biți; cu toate acestea, doar 56 dintre acestea sunt utilizate efectiv de algoritm. Opt biți sunt utilizați numai pentru verificarea parității și sunt apoi aruncați. Prin urmare, lungimea efectivă a cheii este de 56 de biți.
kelalaka avatar
drapel in
Răspunde asta la întrebarea ta? [Biți de paritate DES](https://crypto.stackexchange.com/questions/70736/des-parity-bits)
Puncte:3
drapel in

Cheia DES este definită ca pe 64 de biți. 56 dintre ele sunt cheia reală și 8 sunt biți de paritate. Acest lucru îi permite să se încadreze în 8 octeți.

K16 se referă probabil la ultima subcheie, conform programului cheii. Fiecare subcheie DES are o lungime de 48 de biți. introduceți descrierea imaginii aici

Codificarea unei chei de 56 de biți în 64 de biți se face prin adăugarea unui bit de paritate la fiecare octet de 7 biți. Cu toate acestea, nu știu nicio modalitate standard de a reprezenta o subcheie de 48 de biți ca pe 64 de biți.

Hakim Cheheb avatar
drapel ru
Vă mulțumesc mult pentru ajutor. Cred că voi încerca să rezolv exercițiul cu o cheie de 48 de biți.
Puncte:1
drapel cn

Este posibil să nu existe suficiente informații despre locul în care se găsește cheia pe 56 de biți în algoritm.

Dacă valoarea de 56 de biți B092EBA02E3798 reprezintă blocul CD după PC1 the tastatura de taste -s tabelul arată cheia selectată K16 este rezultatul aplicării PC2 la blocul CD:

  Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
KS
   1 15 18 12 25 2 6 4 1 16 7 22 11 24 20 13 5 27 9 17 8 28 21 14 3
   2 16 19 13 26 3 7 5 2 17 8 23 12 25 21 14 6 28 10 18 9 1 22 15 4
   3 18 21 15 28 5 9 7 4 19 10 25 14 27 23 16 8 2 12 20 11 3 24 17 6
   4 20 23 17 2 7 11 9 6 21 12 27 16 1 25 18 10 4 14 22 13 5 26 19 8
   5 22 25 19 4 9 13 11 8 23 14 1 18 3 27 20 12 6 16 24 15 7 28 21 10
   6 24 27 21 6 11 15 13 10 25 16 3 20 5 1 22 14 8 18 26 17 9 2 23 12
   7 26 1 23 8 13 17 15 12 27 18 5 22 7 3 24 16 10 20 28 19 11 4 25 14
   8 28 3 25 10 15 19 17 14 1 20 7 24 9 5 26 18 12 22 2 21 13 6 27 16
   9 1 4 26 11 16 20 18 15 2 21 8 25 10 6 27 19 13 23 3 22 14 7 28 17
  10 3 6 28 13 18 22 20 17 4 23 10 27 12 8 1 21 15 25 5 24 16 9 2 19
  11 5 8 2 15 20 24 22 19 6 25 12 1 14 10 3 23 17 27 7 26 18 11 4 21
  12 7 10 4 17 22 26 24 21 8 27 14 3 16 12 5 25 19 1 9 28 20 13 6 23
  13 9 12 6 19 24 28 26 23 10 1 16 5 18 14 7 27 21 3 11 2 22 15 8 25
  14 11 14 8 21 26 2 28 25 12 3 18 7 20 16 9 1 23 5 13 4 24 17 10 27
  15 13 16 10 23 28 4 2 27 14 5 20 9 22 18 11 3 25 7 15 6 26 19 12 1
  16 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2

  Bit 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
KS
   1 42 53 32 38 48 56 31 41 52 46 34 49 45 50 40 29 35 54 47 43 51 37 30 33
   2 43 54 33 39 49 29 32 42 53 47 35 50 46 51 41 30 36 55 48 44 52 38 31 34
   3 45 56 35 41 51 31 34 44 55 49 37 52 48 53 43 32 38 29 50 46 54 40 33 36
   4 47 30 37 43 53 33 36 46 29 51 39 54 50 55 45 34 40 31 52 48 56 42 35 38
   5 49 32 39 45 55 35 38 48 31 53 41 56 52 29 47 36 42 33 54 50 30 44 37 40
   6 51 34 41 47 29 37 40 50 33 55 43 30 54 31 49 38 44 35 56 52 32 46 39 42
   7 53 36 43 49 31 39 42 52 35 29 45 32 56 33 51 40 46 37 30 54 34 48 41 44
   8 55 38 45 51 33 41 44 54 37 31 47 34 30 35 53 42 48 39 32 56 36 50 43 46
   9 56 39 46 52 34 42 45 55 38 32 48 35 31 36 54 43 49 40 33 29 37 51 44 47
  10 30 41 48 54 36 44 47 29 40 34 50 37 33 38 56 45 51 42 35 31 39 53 46 49
  11 32 43 50 56 38 46 49 31 42 36 52 39 35 40 30 47 53 44 37 33 41 55 48 51
  12 34 45 52 30 40 48 51 33 44 38 54 41 37 42 32 49 55 46 39 35 43 29 50 53
  13 36 47 54 32 42 50 53 35 46 40 56 43 39 44 34 51 29 48 41 37 45 31 52 55
  14 38 49 56 34 44 52 55 37 48 42 30 45 41 46 36 53 31 50 43 39 47 33 54 29
  15 40 51 30 36 46 54 29 39 50 44 32 47 43 48 38 55 33 52 45 41 49 35 56 31
  16 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32

unde biții de la 1 la 24 sunt derivați din registrul C și biții de la 25 la 56 sunt derivați din registrul D.

O valoare de registru C a lui B092EBA extinsă este

Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Val 1 0 1 1 0 0 0 0 1 0 0 1 0 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0

Aplicarea opțiunii permutate 2 la registrul C oferă:

PC2 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2
     0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 0 1 0 0 0

sau 5AA5B08.

O valoare a registrului D de 02E3798 extins este

Bit 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Val 0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 0 0

Aplicarea opțiunii Permutate 2 la Registrul D oferă:

PC2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32
     0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0

sau 581E60.

Aceasta oferă o valoare cheie selectată de 5AA5B08581E60, care este o valoare de 48 de biți. Intrările cheie la f(R,K) pentru primele 4 casete S provin de la C, în timp ce ultimele 4 provin de la D.

Dacă, pe de altă parte, valoarea de 56 de biți B092EBA02E3798 reprezintă biții 1 (MS) până la 7 din 8 (LS) din opt octeți succesivi de 8 biți de intrare către PC1, care s-ar extinde la o valoare de 64 de biți în care biții suplimentari sunt utilizați pentru paritate dar ignorat aici și setat la zero:

                     P
1 0 1 1 0 0 0 0
0 1 0 0 1 0 0 0
1 0 1 1 1 0 1 0
0 1 1 1 0 1 0 0
0 0 0 0 0 0 1 0
0 1 1 1 0 0 0 0
1 1 0 1 1 1 1 0
0 0 1 1 0 0 0 0

sau B048BA740270BE30.

Această valoare poate fi introdusă într-o copie a lui Eugene Steyer Exemplu Javascript DES care poate fi editat pentru a permite introducerea de chei și date arbitrare si produce:

KS[16]: 011100 001110 010011 001011 100000 101000 000111 101001

care ar fi 70E4CB8281E9, o valoare de 48 de biți.

Fără să văd contextul sarcinii tale, aș bănui că dacă a doua metodă prezentată aici ar fi intenționată, ți se va cere să-ți arăți munca, ceea ce ar implica demonstrarea PC1 și PC2, precum și menționarea programului cheii care demonstrează că cheia selectată 16 este PC2 aplicat blocului CD.

Ajută să înțelegem că Standardul de criptare digitală este un standard de interoperabilitate care face referire la implementarea hardware găsită în cele două brevete DES ale IBM, folosind o ordonare de biți big-endian de la 1 și având o interfață de 8 biți la o gazdă.

Relația dintre octeții cheii de intrare, PC1, PC2 și blocul CD sunt afișate în acest raspuns la o altă întrebare.

Puncte:0
drapel ng
SSA

De ex. acesta este pe 64 de biți ${key = AABB09182736CCDD}$ puteți converti în binar și apoi doar aranjați biții afișați în matricea keyp și veți obține o nouă cheie de 56 de biți. cheie nouă ca bitarray concatenată (bit5+bit49+bit41....+bit4), rest toți biții sunt abandonați. pentru sub numărul matricei începe de la 0

introduceți descrierea imaginii aici

  • obținerea cheii de 56 de biți de la 64 de biți folosind biții de paritate cheie = permutare(key, keyp, 56)
  • acum, după prima permutare PC1 prezentată mai sus de Meir, cheia pe 56 de biți este „0xc3c033a33f0cfa”
  • Dacă vă înțeleg corect întrebarea, trebuie să găsiți cheia pe 64 de biți din cheia pe 56 de biți, așa cum a menționat Meir, nu este fezabilă.puteți utiliza această cheie de 56 de biți după permutarea inițială și puteți genera 16 subchei pe 48 de biți și să le utilizați în ordine inversă în timpul decriptării. Vă rugăm să căutați Feistel Cipher, deoarece DES se bazează pe acesta.
Hakim Cheheb avatar
drapel ru
Mulțumesc mult, voi căuta mai multe detalii despre Fiestel Clipher, mulțumesc.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.