common
Mojo module 🡭
common
Aliases
NB = Int(4)BLOCK_SIZE = Int(16)SBOX = Array[__literal_size__=Int(256)](UInt32(99), UInt32(124), UInt32(119), UInt32(123), UInt32(242), UInt32(107), UInt32(111), UInt32(197), UInt32(48), UInt32(1), UInt32(103), UInt32(43), UInt32(254), UInt32(215), UInt32(171), UInt32(118), UInt32(202), UInt32(130), UInt32(201), UInt32(125), UInt32(250), UInt32(89), UInt32(71), UInt32(240), UInt32(173), UInt32(212), UInt32(162), UInt32(175), UInt32(156), UInt32(164), UInt32(114), UInt32(192), UInt32(183), UInt32(253), UInt32(147), UInt32(38), UInt32(54), UInt32(63), UInt32(247), UInt32(204), UInt32(52), UInt32(165), UInt32(229), UInt32(241), UInt32(113), UInt32(216), UInt32(49), UInt32(21), UInt32(4), UInt32(199), UInt32(35), UInt32(195), UInt32(24), UInt32(150), UInt32(5), UInt32(154), UInt32(7), UInt32(18), UInt32(128), UInt32(226), UInt32(235), UInt32(39), UInt32(178), UInt32(117), UInt32(9), UInt32(131), UInt32(44), UInt32(26), UInt32(27), UInt32(110), UInt32(90), UInt32(160), UInt32(82), UInt32(59), UInt32(214), UInt32(179), UInt32(41), UInt32(227), UInt32(47), UInt32(132), UInt32(83), UInt32(209), UInt32(0), UInt32(237), UInt32(32), UInt32(252), UInt32(177), UInt32(91), UInt32(106), UInt32(203), UInt32(190), UInt32(57), UInt32(74), UInt32(76), UInt32(88), UInt32(207), UInt32(208), UInt32(239), UInt32(170), UInt32(251), UInt32(67), UInt32(77), UInt32(51), UInt32(133), UInt32(69), UInt32(249), UInt32(2), UInt32(127), UInt32(80), UInt32(60), UInt32(159), UInt32(168), UInt32(81), UInt32(163), UInt32(64), UInt32(143), UInt32(146), UInt32(157), UInt32(56), UInt32(245), UInt32(188), UInt32(182), UInt32(218), UInt32(33), UInt32(16), UInt32(255), UInt32(243), UInt32(210), UInt32(205), UInt32(12), UInt32(19), UInt32(236), UInt32(95), UInt32(151), UInt32(68), UInt32(23), UInt32(196), UInt32(167), UInt32(126), UInt32(61), UInt32(100), UInt32(93), UInt32(25), UInt32(115), UInt32(96), UInt32(129), UInt32(79), UInt32(220), UInt32(34), UInt32(42), UInt32(144), UInt32(136), UInt32(70), UInt32(238), UInt32(184), UInt32(20), UInt32(222), UInt32(94), UInt32(11), UInt32(219), UInt32(224), UInt32(50), UInt32(58), UInt32(10), UInt32(73), UInt32(6), UInt32(36), UInt32(92), UInt32(194), UInt32(211), UInt32(172), UInt32(98), UInt32(145), UInt32(149), UInt32(228), UInt32(121), UInt32(231), UInt32(200), UInt32(55), UInt32(109), UInt32(141), UInt32(213), UInt32(78), UInt32(169), UInt32(108), UInt32(86), UInt32(244), UInt32(234), UInt32(101), UInt32(122), UInt32(174), UInt32(8), UInt32(186), UInt32(120), UInt32(37), UInt32(46), UInt32(28), UInt32(166), UInt32(180), UInt32(198), UInt32(232), UInt32(221), UInt32(116), UInt32(31), UInt32(75), UInt32(189), UInt32(139), UInt32(138), UInt32(112), UInt32(62), UInt32(181), UInt32(102), UInt32(72), UInt32(3), UInt32(246), UInt32(14), UInt32(97), UInt32(53), UInt32(87), UInt32(185), UInt32(134), UInt32(193), UInt32(29), UInt32(158), UInt32(225), UInt32(248), UInt32(152), UInt32(17), UInt32(105), UInt32(217), UInt32(142), UInt32(148), UInt32(155), UInt32(30), UInt32(135), UInt32(233), UInt32(206), UInt32(85), UInt32(40), UInt32(223), UInt32(140), UInt32(161), UInt32(137), UInt32(13), UInt32(191), UInt32(230), UInt32(66), UInt32(104), UInt32(65), UInt32(153), UInt32(45), UInt32(15), UInt32(176), UInt32(84), UInt32(187), UInt32(22), __list_literal__=NoneType(None))SBOX_INV = Array[__literal_size__=Int(256)](UInt8(82), UInt8(9), UInt8(106), UInt8(213), UInt8(48), UInt8(54), UInt8(165), UInt8(56), UInt8(191), UInt8(64), UInt8(163), UInt8(158), UInt8(129), UInt8(243), UInt8(215), UInt8(251), UInt8(124), UInt8(227), UInt8(57), UInt8(130), UInt8(155), UInt8(47), UInt8(255), UInt8(135), UInt8(52), UInt8(142), UInt8(67), UInt8(68), UInt8(196), UInt8(222), UInt8(233), UInt8(203), UInt8(84), UInt8(123), UInt8(148), UInt8(50), UInt8(166), UInt8(194), UInt8(35), UInt8(61), UInt8(238), UInt8(76), UInt8(149), UInt8(11), UInt8(66), UInt8(250), UInt8(195), UInt8(78), UInt8(8), UInt8(46), UInt8(161), UInt8(102), UInt8(40), UInt8(217), UInt8(36), UInt8(178), UInt8(118), UInt8(91), UInt8(162), UInt8(73), UInt8(109), UInt8(139), UInt8(209), UInt8(37), UInt8(114), UInt8(248), UInt8(246), UInt8(100), UInt8(134), UInt8(104), UInt8(152), UInt8(22), UInt8(212), UInt8(164), UInt8(92), UInt8(204), UInt8(93), UInt8(101), UInt8(182), UInt8(146), UInt8(108), UInt8(112), UInt8(72), UInt8(80), UInt8(253), UInt8(237), UInt8(185), UInt8(218), UInt8(94), UInt8(21), UInt8(70), UInt8(87), UInt8(167), UInt8(141), UInt8(157), UInt8(132), UInt8(144), UInt8(216), UInt8(171), UInt8(0), UInt8(140), UInt8(188), UInt8(211), UInt8(10), UInt8(247), UInt8(228), UInt8(88), UInt8(5), UInt8(184), UInt8(179), UInt8(69), UInt8(6), UInt8(208), UInt8(44), UInt8(30), UInt8(143), UInt8(202), UInt8(63), UInt8(15), UInt8(2), UInt8(193), UInt8(175), UInt8(189), UInt8(3), UInt8(1), UInt8(19), UInt8(138), UInt8(107), UInt8(58), UInt8(145), UInt8(17), UInt8(65), UInt8(79), UInt8(103), UInt8(220), UInt8(234), UInt8(151), UInt8(242), UInt8(207), UInt8(206), UInt8(240), UInt8(180), UInt8(230), UInt8(115), UInt8(150), UInt8(172), UInt8(116), UInt8(34), UInt8(231), UInt8(173), UInt8(53), UInt8(133), UInt8(226), UInt8(249), UInt8(55), UInt8(232), UInt8(28), UInt8(117), UInt8(223), UInt8(110), UInt8(71), UInt8(241), UInt8(26), UInt8(113), UInt8(29), UInt8(41), UInt8(197), UInt8(137), UInt8(111), UInt8(183), UInt8(98), UInt8(14), UInt8(170), UInt8(24), UInt8(190), UInt8(27), UInt8(252), UInt8(86), UInt8(62), UInt8(75), UInt8(198), UInt8(210), UInt8(121), UInt8(32), UInt8(154), UInt8(219), UInt8(192), UInt8(254), UInt8(120), UInt8(205), UInt8(90), UInt8(244), UInt8(31), UInt8(221), UInt8(168), UInt8(51), UInt8(136), UInt8(7), UInt8(199), UInt8(49), UInt8(177), UInt8(18), UInt8(16), UInt8(89), UInt8(39), UInt8(128), UInt8(236), UInt8(95), UInt8(96), UInt8(81), UInt8(127), UInt8(169), UInt8(25), UInt8(181), UInt8(74), UInt8(13), UInt8(45), UInt8(229), UInt8(122), UInt8(159), UInt8(147), UInt8(201), UInt8(156), UInt8(239), UInt8(160), UInt8(224), UInt8(59), UInt8(77), UInt8(174), UInt8(42), UInt8(245), UInt8(176), UInt8(200), UInt8(235), UInt8(187), UInt8(60), UInt8(131), UInt8(83), UInt8(153), UInt8(97), UInt8(23), UInt8(43), UInt8(4), UInt8(126), UInt8(186), UInt8(119), UInt8(214), UInt8(38), UInt8(225), UInt8(105), UInt8(20), UInt8(99), UInt8(85), UInt8(33), UInt8(12), UInt8(125), __list_literal__=NoneType(None))