Para cifrado, decifrado y generación de claves, las siguientes funciones:
A
d
d
2
[
k
]
(
a
)
=
k
⊕
a
{\displaystyle Add_{2}[k](a)=k\oplus a}
, donde
k
{\displaystyle k}
,
a
{\displaystyle a}
son cadenas binarias de la forma
a
=
a
15
|
|
{\displaystyle a=a_{15}||}
…
|
|
a
0
{\displaystyle ||a_{0}}
(
|
|
{\displaystyle ||}
es una cuerda concatenación ).
N
(
a
)
=
S
(
a
15
)
|
|
{\displaystyle N(a)=S(a_{15})||}
…
|
|
S
(
a
0
)
.
N
−
1
(
a
)
{\displaystyle ||S(a_{0}).~~N^{-1}(a)}
es una transformación invertida de
N
(
a
)
{\displaystyle N(a)}
.
G
(
a
)
=
δ
(
a
15
,
{\displaystyle G(a)=\delta (a_{15},}
…
,
a
0
)
|
|
a
15
|
|
{\displaystyle ,a_{0})||a_{15}||}
…
|
|
a
1
.
{\displaystyle ||a_{1}.}
G
−
1
(
a
)
{\displaystyle G^{-1}(a)}
— transformación invertida de
G
(
a
)
{\displaystyle G(a)}
,
G
−
1
(
a
)
=
a
14
|
|
a
13
|
|
{\displaystyle G^{-1}(a)=a_{14}||a_{13}||}
…
|
|
a
0
|
|
δ
(
a
14
,
a
13
,
{\displaystyle ||a_{0}||\delta (a_{14},a_{13},}
…
,
a
0
,
a
15
)
.
{\displaystyle ,a_{0},a_{15}).}
H
(
a
)
=
G
16
(
a
)
{\displaystyle H(a)=G^{16}(a)}
, where
G
16
{\displaystyle G^{16}}
— composición de transformaciones
G
15
{\displaystyle G^{15}}
and
G
{\displaystyle G}
etc.
F
[
k
]
(
a
1
,
a
0
)
=
(
H
N
A
d
d
2
[
k
]
(
a
1
)
⊕
a
0
,
a
1
)
.
{\displaystyle F[k](a_{1},a_{0})=(HNAdd_{2}[k](a_{1})\oplus a_{0},a_{1}).}
editar
Transformación no lineal es dada por subtistuir S = Bin8 S' Bin8 −1 .
Valores de la sustitución S' se dan como matriz S' = (S'(0), S'(1), …, S'(255)):
S
′
=
(
252
,
238
,
221
,
17
,
207
,
110
,
49
,
22
,
251
,
196
,
250
,
218
,
35
,
197
,
4
,
77
,
233
,
{\displaystyle S'=(252,238,221,17,207,110,49,22,251,196,250,218,35,197,4,77,233,}
119
,
240
,
219
,
147
,
46
,
153
,
186
,
23
,
54
,
241
,
187
,
20
,
205
,
95
,
193
,
249
,
24
,
101
,
{\displaystyle 119,240,219,147,46,153,186,23,54,241,187,20,205,95,193,249,24,101,}
90
,
226
,
92
,
239
,
33
,
129
,
28
,
60
,
66
,
139
,
1
,
142
,
79
,
5
,
132
,
2
,
174
,
227
,
106
,
143
,
{\displaystyle 90,226,92,239,33,129,28,60,66,139,1,142,79,5,132,2,174,227,106,143,}
160
,
6
,
11
,
237
,
152
,
127
,
212
,
211
,
31
,
235
,
52
,
44
,
81
,
234
,
200
,
72
,
171
,
242
,
42
,
{\displaystyle 160,6,11,237,152,127,212,211,31,235,52,44,81,234,200,72,171,242,42,}
104
,
162
,
253
,
58
,
206
,
204
,
181
,
112
,
14
,
86
,
8
,
12
,
118
,
18
,
191
,
114
,
19
,
71
,
156
,
{\displaystyle 104,162,253,58,206,204,181,112,14,86,8,12,118,18,191,114,19,71,156,}
{\displaystyle }
183
,
93
,
135
,
21
,
161
,
150
,
41
,
16
,
123
,
154
,
199
,
243
,
145
,
120
,
111
,
157
,
158
,
178
,
{\displaystyle 183,93,135,21,161,150,41,16,123,154,199,243,145,120,111,157,158,178,}
177
,
50
,
117
,
25
,
61
,
255
,
53
,
138
,
126
,
109
,
84
,
198
,
128
,
195
,
189
,
13
,
87
,
223
,
{\displaystyle 177,50,117,25,61,255,53,138,126,109,84,198,128,195,189,13,87,223,}
245
,
36
,
169
,
62
,
168
,
67
,
201
,
215
,
121
,
214
,
246
,
124
,
34
,
185
,
3
,
224
,
15
,
236
,
{\displaystyle 245,36,169,62,168,67,201,215,121,214,246,124,34,185,3,224,15,236,}
222
,
122
,
148
,
176
,
188
,
220
,
232
,
40
,
80
,
78
,
51
,
10
,
74
,
167
,
151
,
96
,
115
,
30
,
0
,
{\displaystyle 222,122,148,176,188,220,232,40,80,78,51,10,74,167,151,96,115,30,0,}
98
,
68
,
26
,
184
,
56
,
130
,
100
,
159
,
38
,
65
,
173
,
69
,
70
,
146
,
39
,
94
,
85
,
47
,
140
,
163
,
{\displaystyle 98,68,26,184,56,130,100,159,38,65,173,69,70,146,39,94,85,47,140,163,}
165
,
125
,
105
,
213
,
149
,
59
,
7
,
88
,
179
,
64
,
134
,
172
,
29
,
247
,
48
,
55
,
107
,
228
,
136
,
{\displaystyle 165,125,105,213,149,59,7,88,179,64,134,172,29,247,48,55,107,228,136,}
217
,
231
,
137
,
225
,
27
,
131
,
73
,
76
,
63
,
248
,
254
,
141
,
83
,
170
,
144
,
202
,
216
,
133
,
{\displaystyle 217,231,137,225,27,131,73,76,63,248,254,141,83,170,144,202,216,133,}
97
,
32
,
113
,
103
,
164
,
45
,
43
,
9
,
91
,
203
,
155
,
37
,
208
,
190
,
229
,
108
,
82
,
89
,
166
,
{\displaystyle 97,32,113,103,164,45,43,9,91,203,155,37,208,190,229,108,82,89,166,}
116
,
210
,
230
,
244
,
180
,
192
,
209
,
102
,
175
,
194
,
57
,
75
,
99
,
182
)
.
{\displaystyle 116,210,230,244,180,192,209,102,175,194,57,75,99,182).}
editar
γ
{\displaystyle \gamma }
:
γ
(
a
15
,
{\displaystyle \gamma (a_{15},}
…
,
a
0
)
=
δ
−
1
(
148
∗
δ
(
a
15
)
+
32
∗
δ
(
a
14
)
+
133
∗
δ
(
a
13
)
+
16
∗
δ
(
a
12
)
+
{\displaystyle ,a_{0})=\delta ^{-1}~(148*\delta (a_{15})+32*\delta (a_{14})+133*\delta (a_{13})+16*\delta (a_{12})+}
194
∗
δ
(
a
11
)
+
192
∗
δ
(
a
10
)
+
1
∗
δ
(
a
9
)
+
251
∗
δ
(
a
8
)
+
1
∗
δ
(
a
7
)
+
192
∗
δ
(
a
6
)
+
{\displaystyle 194*\delta (a_{11})+192*\delta (a_{10})+1*\delta (a_{9})+251*\delta (a_{8})+1*\delta (a_{7})+192*\delta (a_{6})+}
194
∗
δ
(
a
5
)
+
16
∗
δ
(
a
4
)
+
133
∗
δ
(
a
3
)
+
32
∗
δ
(
a
2
)
+
148
∗
δ
(
a
1
)
+
1
∗
δ
(
a
0
)
)
,
{\displaystyle 194*\delta (a_{5})+16*\delta (a_{4})+133*\delta (a_{3})+32*\delta (a_{2})+148*\delta (a_{1})+1*\delta (a_{0})),}
Las operaciones de suma y multiplicación se realizan en el campo
F
{\displaystyle \mathbb {F} }
.
Generación de clave
editar
algoritmo de generación de claves utiliza constante iterativa
C
i
=
H
(
B
i
n
128
(
i
)
)
{\displaystyle C_{i}=H(Bin_{128}(i))}
, i=1,2,…32.
Establece la clave compartida
K
=
k
255
|
|
{\displaystyle K=k_{255}||}
…
|
|
k
0
{\displaystyle ||k_{0}}
.
Llaves iteradas
K
1
=
k
255
|
|
{\displaystyle K_{1}=k_{255}||}
…
|
|
k
128
{\displaystyle ||k_{128}}
K
2
=
k
127
|
|
{\displaystyle K_{2}=k_{127}||}
…
|
|
k
0
{\displaystyle ||k_{0}}
(
K
2
i
+
1
,
K
2
i
+
2
)
=
F
[
C
8
(
i
−
1
)
+
8
]
{\displaystyle (K_{2i+1},K_{2i+2})=F[C_{8(i-1)+8}]}
…
F
[
C
8
(
i
−
1
)
+
1
]
(
K
2
i
+
1
,
K
2
i
)
,
i
=
1
,
2
,
3
,
4.
{\displaystyle F[C_{8(i-1)+1}](K_{2i+1},K_{2i}),i=1,2,3,4.}
Algoritmo de cifrado
editar
E
(
a
)
=
A
d
d
2
[
K
10
]
H
N
A
d
d
2
[
K
9
]
{\displaystyle E(a)=Add_{2}[K_{10}]HNAdd_{2}[K_{9}]}
…
H
N
A
d
d
2
[
K
3
]
H
N
A
d
d
2
[
K
1
]
(
a
)
,
{\displaystyle HNAdd_{2}[K_{3}]HNAdd_{2}[K_{1}](a),}
where a — 128-bit string.
Algoritmo de descifrado
editar
D
(
a
)
=
A
d
d
2
[
K
1
]
H
−
1
N
−
1
A
d
d
2
[
K
2
]
{\displaystyle D(a)=Add_{2}[K_{1}]H^{-1}N^{-1}Add_{2}[K_{2}]}
…
H
−
1
N
−
1
A
d
d
2
[
K
9
]
H
−
1
N
−
1
A
d
d
2
[
K
10
]
(
a
)
.
{\displaystyle H^{-1}N^{-1}Add_{2}[K_{9}]H^{-1}N^{-1}Add_{2}[K_{10}](a).}