def sp.itable

bend-osdev-legacy-ciphers@0.1.0.0 · serpent.bend:57

import bend-osdev-legacy-ciphers@0.1.0.0/serpent.bend as Serpent
import Base

57# the inverse S-boxes
58def sp.itable(b: LcSpBox) -> List<&2, U32>:
59  match b:
60    case LcSp0{}:
61      [13, 3, 11, 0, 10, 6, 5, 12, 1, 14, 4, 7, 15, 9, 8, 2]
62    case LcSp1{}:
63      [5, 8, 2, 14, 15, 6, 12, 3, 11, 4, 7, 9, 1, 13, 10, 0]
64    case LcSp2{}:
65      [12, 9, 15, 4, 11, 14, 1, 2, 0, 3, 6, 13, 5, 8, 10, 7]
66    case LcSp3{}:
67      [0, 9, 10, 7, 11, 14, 6, 13, 3, 5, 12, 2, 4, 8, 15, 1]
68    case LcSp4{}:
69      [5, 0, 8, 3, 10, 9, 7, 14, 2, 12, 11, 6, 4, 15, 13, 1]
70    case LcSp5{}:
71      [8, 15, 2, 9, 4, 1, 13, 14, 11, 6, 5, 3, 7, 12, 10, 0]
72    case LcSp6{}:
73      [15, 10, 1, 13, 5, 3, 6, 0, 4, 9, 14, 7, 2, 12, 8, 11]
74    case LcSp7{}:
75      [3, 0, 6, 13, 9, 14, 15, 8, 5, 12, 11, 7, 10, 1, 4, 2]

Uses (3)

Used by (1)