Research Article

Multiple Differential Distinguisher of SIMECK32/64 Based on Deep Learning

Algorithm 4

Training NDam model.
Input:
 multiple differences (Δ0, Δ1, …, Δt − 1)
 sample number N
Output: model
(1)TD ← (⋅); /∗initial training set∗/
(2)K ← Random()
(3)P 0 = Random()
(4)for i = 1 to t do
(5)Pi = Pt − 1 ⊕ Δi − 1
(6)end for
(7)for j = 0 to N − 1 do
(8)Cj ← encrypt (Pj, Kj)
(9)end for
(10)for i = 0 to N − 1 do/∗set training label∗/
(11)if i&1 = 0 then
(12)  Ci ← Random()
(13)  Yi ← 0
(14)else
(15)  Yi ← 1
(16)end if
(17)end for
(18)TD ← (X(C0CN − 1), Y)
(19)model ← Training with TD
(20)return model