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.