blob: 19c5598644ad3a524eca6b1f4a513776a02ce7bd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
strict digraph sbox4i {
x0 [shape=box, label="\N"];
x1 [shape=box, label="\N"];
x2 [shape=box, label="\N"];
x3 [shape=box, label="\N"];
t05 [label="\N\ny1\n1"];
t02 [label="\N\ny2\n2"];
t04 [label="\N\ny2\n3"];
t01 [label="\N\nx1\n4"];
t15 [label="\N\ny0\n5"];
t12 [label="\N\nx3\n6"];
t07 [label="\N\ny2\n7"];
y1 [label="\N\n8", shape=box];
t10 [label="\N\ny2\n9"];
t13 [label="\N\ny2\n10"];
t03 [label="\N\nx0\n11"];
y3 [label="\N\n12", shape=box];
t06 [label="\N\nx0\n13"];
t09 [label="\N\nx0\n14"];
y0 [label="\N\n15", shape=box];
t11 [label="\N\nx0\n16"];
y2 [label="\N\n17", shape=box];
x1 -> t01; x3 -> t01; // t01 = x1 | x3;
x2 -> t02; x3 -> t02; // t02 = x2 | x3;
x0 -> t03; t01 -> t03; // t03 = x0 & t01;
x1 -> t04; t02 -> t04; // t04 = x1 ^ t02;
x2 -> t05; x3 -> t05; // t05 = x2 ^ x3;
t03 -> t06; t03 -> t06; // t06 = ~ t03;
x0 -> t07; t04 -> t07; // t07 = x0 & t04;
t05 -> y1; t07 -> y1; // y1 = t05 ^ t07;
y1 -> t09; t06 -> t09; // t09 = y1 | t06;
x0 -> t10; t07 -> t10; // t10 = x0 ^ t07;
t01 -> t11; t09 -> t11; // t11 = t01 ^ t09;
x3 -> t12; t04 -> t12; // t12 = x3 ^ t04;
x2 -> t13; t10 -> t13; // t13 = x2 | t10;
t03 -> y3; t12 -> y3; // y3 = t03 ^ t12;
x0 -> t15; t04 -> t15; // t15 = x0 ^ t04;
t11 -> y2; t13 -> y2; // y2 = t11 ^ t13;
t15 -> y0; t09 -> y0; // y0 = t15 ^ t09;
}
|