start modelization

This commit is contained in:
2026-04-20 09:54:36 +02:00
parent 108d600235
commit b39a1d3780
2 changed files with 41 additions and 0 deletions
+24
View File
@@ -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
]
+17
View File
@@ -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)]