Cryptography Reference
In-Depth Information
-
X
[
i
1
,i
2
, ..., i
n
] : concatenation of
X
[
i
1
],
X
[
i
2
], ..., and
X
[
i
n
]
-
MSB
i
(
X
) : the most significant
i
bits of a string
X
-
LSB
i
(
X
) : the least significant
i
bits of a string
X
-
(
ΔX, ΔY
)
(
x
y
)=
ΔZ
,where
x
x
=
ΔX
→
ΔZ
:aneventthat(
x
y
)
⊕
⊕
y
=
ΔY
and
y
⊕
HIGHT takes a 64-bit plaintext
P
and a 128-bit key
K
, and its 32-round en-
cryption procedure produces a 64-bit ciphertext
C
.Fromnowon,wepresent
any 64-bit variable
A
and any 128-bit variable
B
as a tuple of eight bytes
(
A
[7]
, ..., A
[1]
,A
[0]) and a tuple of sixteen bytes (
B
[15]
, ..., B
[1]
,B
[0]).
The key schedule produces 128 8-bit subkeys SK[0]
, ...,
SK[127] from a 128-bit
key
K
=(
K
[15]
, ..., K
[0]): for 0
≤
i
≤
7and0
≤
j
≤
7,
SK[16
i
+
j
]
← K
[
j − i
mod 8]
δ
[16
i
+
j
]
,
SK[16
i
+
j
+8]
←
K
[(
j
−
i
mod 8) + 8]
δ
[16
i
+
j
+8]
,
where
δ
[0]
, ..., δ
[127] are public constants.
Let
X
i−
1
=(
X
i−
1
[7]
, ..., X
i−
1
[0]) and
X
i
=(
X
i
[7]
, ..., X
i
[0]) be the input and
output of the round
i
32, respectively, where 'round
i
' denotes
the (
i
+ 1)-th round(i.e. round 0 implies the first round).
The encryption procedure of HIGHT is as follows.
−
1for1
≤
i
≤
1. Initial Transformation:
X
0
[0]
←
P
[0]
K
[12];
X
0
[2]
←
P
[2]
⊕
K
[13];
X
0
[4]
←
P
[4]
K
[14];
X
0
[6]
←
P
[6]
⊕
K
[15];
X
0
[1]
←
P
[1];
X
0
[3]
←
P
[3];
X
0
[5]
←
P
[5];
X
0
[7]
←
P
[7]
.
2. Round Iteration for 1
≤
i
≤
32:
X
i
[0]
←
X
i−
1
[7]
⊕
(
F
0
(
X
i−
1
[6])
SK[4
i
−
1]);
X
i
[2]
←
X
i−
1
[1]
(
F
1
(
X
i−
1
[0])
⊕
SK[4
i
−
2]);
X
i
[4]
←
X
i−
1
[3]
⊕
(
F
0
(
X
i−
1
[2])
SK[4
i
−
3]);
X
i
[6]
←
X
i−
1
[5]
(
F
1
(
X
i−
1
[4])
⊕
SK[4
i
−
4]);
X
i
[1]
←
X
i−
1
[0];
X
i
[3]
←
X
i−
1
[2];
X
i
[5]
←
X
i−
1
[4];
X
i
[7]
←
X
i−
1
[6]
,
where bijective linear functions
F
0
and
F
1
are defined by
F
0
(
x
)=
x
≪
1
x
≪
2
x
≪
7
,
⊕
⊕
F
1
(
x
)=
x
≪
3
x
≪
4
x
≪
6
.
⊕
⊕
3. Final Transformation:
C
[0]
K
[1];
C
[4]
← X
32
[5]
K
[2];
C
[6]
← X
32
[7]
⊕ K
[3];
C
[1]
← X
32
[2];
C
[3]
← X
32
[4];
C
[5]
← X
32
[6];
C
[7]
← X
32
[0]
.
←
X
32
[1]
K
[0];
C
[2]
←
X
32
[3]
⊕
Search WWH ::
Custom Search