In questa voce si possono trovare alcune tabelle di associazione utilizzate dal cifrario a blocchi Data Encryption Standard (DES).
Tutti i bit e i byte, indicati in questo documento, sono ordinati in modalità big endian, ossia il bit numero 1 è sempre quello più significativo.
Permutazione iniziale (IP)
IP58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157 Questa tabella mostra le permutazioni iniziali (Initial permutation in inglese da cui IP) effettuate su un blocco di 64 bit. Si legge in questo modo: il primo bit in output è preso dal cinquantottesimo bit di input, il secondo bit da cinquantesimo e così via fino all'ultimo bit che corrisponde al settimo bit di input.
Per motivi di leggibilità, questa permutazione è stata rappresentata in forma di tabella; ma è ovviamente un vettore, non una matrice.
Permutazione finale (IP-1)
IP−140848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725 La permutazione finale (Final permutation in inglese) è l'inverso della permutazione iniziale. La tabella deve essere letta in modo analogo.
Espansione (E)
E3212345456789891011121312131415161716171819202120212223242524252627282928293031321 La funzione di espansione (Expansion function in inglese) si applica in modo analogo alle permutazioni illustrate precedentemente. Da notare che alcuni bit in input sono duplicati in output, ad esempio il quinto bit di input è duplicato sia nel sesto sia nell'ottavo bit in uscita. In questo modo un semiblocco di 32 bit è espanso a 48 bit.
Permutazione (P)
P1672021291228171152326518311028241432273919133062211425
La permutazione P (Permutation in inglese) scambia i bit di un semiblocco di 32 bit.
Scelta di permutazione 1 (PC-1)
PC-1Sinistra5749413325179158504234261810259514335271911360524436Destra6355473931231576254463830221466153453729211352820124 La funzione scelta di permutazione 1 (Permuted choice 1 in inglese) utilizza le due tabelle "sinistra" e "destra" per estrarre i bit della chiave crittografica che formano le sottochiavi per la relativa sezione dello stato di schedulazioni delle chiavi (key-schedule state). solo i primi 56 bit della chiave di 64 bit vengono effettivamente utilizzati i rimanenti sono utilizzati come bit di parità.
Scelta di permutazione 2 (PC-2)
PC-21417112415328156211023191242681672720132415231374755304051453348444939563453464250362932 La funzione scelta di permutazione 2 (Permuted choice 2 in inglese) seleziona una sottochiave di 48 bit per ciascun round dalla chiave di 56 bit dello key-schedule state.
S-box S-boxS1 x0000x x0001x x0010x x0011x x0100x x0101x x0110x x0111x x1000x x1001x x1010x x1011x x1100x x1101x x1110x x1111x 0yyyy0 1441312151183106125907 0yyyy1 0157414213110612119538 1yyyy0 4114813621115129731050 1yyyy1 1512824917511314100613S2 x0000x x0001x x0010x x0011x x0100x x0101x x0110x x0111x x1000x x1001x x1010x x1011x x1100x x1101x x1110x x1111x 0yyyy01518146113497213120510 0yyyy13134715281412011069115 1yyyy00147111041315812693215 1yyyy11381013154211671205149S3 x0000x x0001x x0010x x0011x x0100x x0101x x0110x x0111x x1000x x1001x x1010x x1011x x1100x x1101x x1110x x1111x 0yyyy01009146315511312711428 0yyyy11370934610285141211151 1yyyy01364981530111212510147 1yyyy11101306987415143115212S4 x0000x x0001x x0010x x0011x x0100x x0101x x0110x x0111x x1000x x1001x x1010x x1011x x1100x x1101x x1110x x1111x 0yyyy07131430691012851112415 0yyyy11381156150347212110149 1yyyy01069012117131513145284 1yyyy13150610113894511127214S5 x0000x x0001x x0010x x0011x x0100x x0101x x0110x x0111x x1000x x1001x x1010x x1011x x1100x x1101x x1110x x1111x 0yyyy02124171011685315130149 0yyyy11411212471315015103986 1yyyy04211110137815912563014 1yyyy11181271142136150910453S6 x0000x x0001x x0010x x0011x x0100x x0101x x0110x x0111x x1000x x1001x x1010x x1011x x1100x x1101x x1110x x1111x 0yyyy01211015926801334147511 0yyyy11015427129561131401138 1yyyy09141552812370410113116 1yyyy14321295151011141760813S7 x0000x x0001x x0010x x0011x x0100x x0101x x0110x x0111x x1000x x1001x x1010x x1011x x1100x x1101x x1110x x1111x 0yyyy04112141508133129751061 0yyyy11301174911014351221586 1yyyy01411131237141015680592 1yyyy16111381410795015142312S8 x0000x x0001x x0010x x0011x x0100x x0101x x0110x x0111x x1000x x1001x x1010x x1011x x1100x x1101x x1110x x1111x 0yyyy01328461511110931450127 0yyyy11151381037412561101492 1yyyy07114191214206101315358 1yyyy12114741081315129035611 In questa tabella sono illustrate le 8 S-box utilizzate nel DES. Ciascuna S-box sostituisce un input di 6 bit con un output di 4 bit. Per una descrizione completa del meccanismo di sostituzione si veda S-box.
Rotazioni nel the key-schedule Rotazioni Roundnumero Rotazionia sinistra 11 21 32 42 52 62 72 82 91102112122132142152161 Prima della selezione delle sottochiavi nei round, ciascuna metà delle chiavi è ruotata a sinistra di 1 o 2 bit come indicato in questa tabella.
Bibliografia
Voci correlate S-box Chiave crittografica
Collegamenti esterni
Categoria:Cifrari a blocchi