start modelization
This commit is contained in:
@@ -24,3 +24,27 @@ TEA3_LUT_A = [
|
|||||||
TEA3_LUT_B = [
|
TEA3_LUT_B = [
|
||||||
0x9D58, 0xA46D, 0x176C, 0x79C4, 0xC62B, 0xB2C9, 0x4D93, 0x2E93
|
0x9D58, 0xA46D, 0x176C, 0x79C4, 0xC62B, 0xB2C9, 0x4D93, 0x2E93
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# ETSI TS 104 053-1 Figure 17
|
||||||
|
T_F1 = [
|
||||||
|
[1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0], # S1
|
||||||
|
[1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0], # S2
|
||||||
|
[1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1], # S3
|
||||||
|
[1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1], # S4
|
||||||
|
[0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0], # S5
|
||||||
|
[0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0], # S6
|
||||||
|
[1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1], # S7
|
||||||
|
[0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1], # S8
|
||||||
|
]
|
||||||
|
|
||||||
|
# ETSI TS 104 053-1 Figure 18
|
||||||
|
T_F2 = [
|
||||||
|
[1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0], # S1
|
||||||
|
[0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0], # S2
|
||||||
|
[0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0], # S3
|
||||||
|
[0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0], # S4
|
||||||
|
[0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0], # S5
|
||||||
|
[0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1], # S6
|
||||||
|
[1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1], # S7
|
||||||
|
[1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1], # S8
|
||||||
|
]
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
from sage.all import *
|
||||||
|
|
||||||
|
F = GF(2)
|
||||||
|
|
||||||
|
names = (
|
||||||
|
[f"x{i}{j}" for i in range(5) for j in range(8)] +
|
||||||
|
[f"r{i}{j}" for i in range(5) for j in range(8)] +
|
||||||
|
[f"R{i}{j}" for i in range(8) for j in range(8)]
|
||||||
|
)
|
||||||
|
|
||||||
|
S = PolynomialRing(F, names)
|
||||||
|
v = S.gens()
|
||||||
|
|
||||||
|
x_bits = [list(v[i*8:(i+1)*8]) for i in range(5)]
|
||||||
|
r_bits = [list(v[40 + i*8 : 40 + (i+1)*8]) for i in range(5)]
|
||||||
|
R_bits = [list(v[80 + i*8 : 80 + (i+1)*8]) for i in range(8)]
|
||||||
|
|
||||||
Reference in New Issue
Block a user