Crypto++ 8.7
Free C++ class library of cryptographic schemes
marss.cpp
1// MARS S-Box
2
3#include "pch.h"
4#include "mars.h"
5#include "secblock.h"
6
7NAMESPACE_BEGIN(CryptoPP)
8
9const word32 MARS::Base::Sbox[512] = {
10 0x09d0c479, 0x28c8ffe0, 0x84aa6c39, 0x9dad7287,
11 0x7dff9be3, 0xd4268361, 0xc96da1d4, 0x7974cc93,
12 0x85d0582e, 0x2a4b5705, 0x1ca16a62, 0xc3bd279d,
13 0x0f1f25e5, 0x5160372f, 0xc695c1fb, 0x4d7ff1e4,
14 0xae5f6bf4, 0x0d72ee46, 0xff23de8a, 0xb1cf8e83,
15 0xf14902e2, 0x3e981e42, 0x8bf53eb6, 0x7f4bf8ac,
16 0x83631f83, 0x25970205, 0x76afe784, 0x3a7931d4,
17 0x4f846450, 0x5c64c3f6, 0x210a5f18, 0xc6986a26,
18 0x28f4e826, 0x3a60a81c, 0xd340a664, 0x7ea820c4,
19 0x526687c5, 0x7eddd12b, 0x32a11d1d, 0x9c9ef086,
20 0x80f6e831, 0xab6f04ad, 0x56fb9b53, 0x8b2e095c,
21 0xb68556ae, 0xd2250b0d, 0x294a7721, 0xe21fb253,
22 0xae136749, 0xe82aae86, 0x93365104, 0x99404a66,
23 0x78a784dc, 0xb69ba84b, 0x04046793, 0x23db5c1e,
24 0x46cae1d6, 0x2fe28134, 0x5a223942, 0x1863cd5b,
25 0xc190c6e3, 0x07dfb846, 0x6eb88816, 0x2d0dcc4a,
26 0xa4ccae59, 0x3798670d, 0xcbfa9493, 0x4f481d45,
27 0xeafc8ca8, 0xdb1129d6, 0xb0449e20, 0x0f5407fb,
28 0x6167d9a8, 0xd1f45763, 0x4daa96c3, 0x3bec5958,
29 0xababa014, 0xb6ccd201, 0x38d6279f, 0x02682215,
30 0x8f376cd5, 0x092c237e, 0xbfc56593, 0x32889d2c,
31 0x854b3e95, 0x05bb9b43, 0x7dcd5dcd, 0xa02e926c,
32 0xfae527e5, 0x36a1c330, 0x3412e1ae, 0xf257f462,
33 0x3c4f1d71, 0x30a2e809, 0x68e5f551, 0x9c61ba44,
34 0x5ded0ab8, 0x75ce09c8, 0x9654f93e, 0x698c0cca,
35 0x243cb3e4, 0x2b062b97, 0x0f3b8d9e, 0x00e050df,
36 0xfc5d6166, 0xe35f9288, 0xc079550d, 0x0591aee8,
37 0x8e531e74, 0x75fe3578, 0x2f6d829a, 0xf60b21ae,
38 0x95e8eb8d, 0x6699486b, 0x901d7d9b, 0xfd6d6e31,
39 0x1090acef, 0xe0670dd8, 0xdab2e692, 0xcd6d4365,
40 0xe5393514, 0x3af345f0, 0x6241fc4d, 0x460da3a3,
41 0x7bcf3729, 0x8bf1d1e0, 0x14aac070, 0x1587ed55,
42 0x3afd7d3e, 0xd2f29e01, 0x29a9d1f6, 0xefb10c53,
43 0xcf3b870f, 0xb414935c, 0x664465ed, 0x024acac7,
44 0x59a744c1, 0x1d2936a7, 0xdc580aa6, 0xcf574ca8,
45 0x040a7a10, 0x6cd81807, 0x8a98be4c, 0xaccea063,
46 0xc33e92b5, 0xd1e0e03d, 0xb322517e, 0x2092bd13,
47 0x386b2c4a, 0x52e8dd58, 0x58656dfb, 0x50820371,
48 0x41811896, 0xe337ef7e, 0xd39fb119, 0xc97f0df6,
49 0x68fea01b, 0xa150a6e5, 0x55258962, 0xeb6ff41b,
50 0xd7c9cd7a, 0xa619cd9e, 0xbcf09576, 0x2672c073,
51 0xf003fb3c, 0x4ab7a50b, 0x1484126a, 0x487ba9b1,
52 0xa64fc9c6, 0xf6957d49, 0x38b06a75, 0xdd805fcd,
53 0x63d094cf, 0xf51c999e, 0x1aa4d343, 0xb8495294,
54 0xce9f8e99, 0xbffcd770, 0xc7c275cc, 0x378453a7,
55 0x7b21be33, 0x397f41bd, 0x4e94d131, 0x92cc1f98,
56 0x5915ea51, 0x99f861b7, 0xc9980a88, 0x1d74fd5f,
57 0xb0a495f8, 0x614deed0, 0xb5778eea, 0x5941792d,
58 0xfa90c1f8, 0x33f824b4, 0xc4965372, 0x3ff6d550,
59 0x4ca5fec0, 0x8630e964, 0x5b3fbbd6, 0x7da26a48,
60 0xb203231a, 0x04297514, 0x2d639306, 0x2eb13149,
61 0x16a45272, 0x532459a0, 0x8e5f4872, 0xf966c7d9,
62 0x07128dc0, 0x0d44db62, 0xafc8d52d, 0x06316131,
63 0xd838e7ce, 0x1bc41d00, 0x3a2e8c0f, 0xea83837e,
64 0xb984737d, 0x13ba4891, 0xc4f8b949, 0xa6d6acb3,
65 0xa215cdce, 0x8359838b, 0x6bd1aa31, 0xf579dd52,
66 0x21b93f93, 0xf5176781, 0x187dfdde, 0xe94aeb76,
67 0x2b38fd54, 0x431de1da, 0xab394825, 0x9ad3048f,
68 0xdfea32aa, 0x659473e3, 0x623f7863, 0xf3346c59,
69 0xab3ab685, 0x3346a90b, 0x6b56443e, 0xc6de01f8,
70 0x8d421fc0, 0x9b0ed10c, 0x88f1a1e9, 0x54c1f029,
71 0x7dead57b, 0x8d7ba426, 0x4cf5178a, 0x551a7cca,
72 0x1a9a5f08, 0xfcd651b9, 0x25605182, 0xe11fc6c3,
73 0xb6fd9676, 0x337b3027, 0xb7c8eb14, 0x9e5fd030,
74 0x6b57e354, 0xad913cf7, 0x7e16688d, 0x58872a69,
75 0x2c2fc7df, 0xe389ccc6, 0x30738df1, 0x0824a734,
76 0xe1797a8b, 0xa4a8d57b, 0x5b5d193b, 0xc8a8309b,
77 0x73f9a978, 0x73398d32, 0x0f59573e, 0xe9df2b03,
78 0xe8a5b6c8, 0x848d0704, 0x98df93c2, 0x720a1dc3,
79 0x684f259a, 0x943ba848, 0xa6370152, 0x863b5ea3,
80 0xd17b978b, 0x6d9b58ef, 0x0a700dd4, 0xa73d36bf,
81 0x8e6a0829, 0x8695bc14, 0xe35b3447, 0x933ac568,
82 0x8894b022, 0x2f511c27, 0xddfbcc3c, 0x006662b6,
83 0x117c83fe, 0x4e12b414, 0xc2bca766, 0x3a2fec10,
84 0xf4562420, 0x55792e2a, 0x46f5d857, 0xceda25ce,
85 0xc3601d3b, 0x6c00ab46, 0xefac9c28, 0xb3c35047,
86 0x611dfee3, 0x257c3207, 0xfdd58482, 0x3b14d84f,
87 0x23becb64, 0xa075f3a3, 0x088f8ead, 0x07adf158,
88 0x7796943c, 0xfacabf3d, 0xc09730cd, 0xf7679969,
89 0xda44e9ed, 0x2c854c12, 0x35935fa3, 0x2f057d9f,
90 0x690624f8, 0x1cb0bafd, 0x7b0dbdc6, 0x810f23bb,
91 0xfa929a1a, 0x6d969a17, 0x6742979b, 0x74ac7d05,
92 0x010e65c4, 0x86a3d963, 0xf907b5a0, 0xd0042bd3,
93 0x158d7d03, 0x287a8255, 0xbba8366f, 0x096edc33,
94 0x21916a7b, 0x77b56b86, 0x951622f9, 0xa6c5e650,
95 0x8cea17d1, 0xcd8c62bc, 0xa3d63433, 0x358a68fd,
96 0x0f9b9d3c, 0xd6aa295b, 0xfe33384a, 0xc000738e,
97 0xcd67eb2f, 0xe2eb6dc2, 0x97338b02, 0x06c9f246,
98 0x419cf1ad, 0x2b83c045, 0x3723f18a, 0xcb5b3089,
99 0x160bead7, 0x5d494656, 0x35f8a74b, 0x1e4e6c9e,
100 0x000399bd, 0x67466880, 0xb4174831, 0xacf423b2,
101 0xca815ab3, 0x5a6395e7, 0x302a67c5, 0x8bdb446b,
102 0x108f8fa4, 0x10223eda, 0x92b8b48b, 0x7f38d0ee,
103 0xab2701d4, 0x0262d415, 0xaf224a30, 0xb3d88aba,
104 0xf8b2c3af, 0xdaf7ef70, 0xcc97d3b7, 0xe9614b6c,
105 0x2baebff4, 0x70f687cf, 0x386c9156, 0xce092ee5,
106 0x01e87da6, 0x6ce91e6a, 0xbb7bcc84, 0xc7922c20,
107 0x9d3b71fd, 0x060e41c6, 0xd7590f15, 0x4e03bb47,
108 0x183c198e, 0x63eeb240, 0x2ddbf49a, 0x6d5cba54,
109 0x923750af, 0xf9e14236, 0x7838162b, 0x59726c72,
110 0x81b66760, 0xbb2926c1, 0x48a0ce0d, 0xa6c0496d,
111 0xad43507b, 0x718d496a, 0x9df057af, 0x44b1bde6,
112 0x054356dc, 0xde7ced35, 0xd51a138b, 0x62088cc9,
113 0x35830311, 0xc96efca2, 0x686f86ec, 0x8e77cb68,
114 0x63e1d6b8, 0xc80f9778, 0x79c491fd, 0x1b4c67f2,
115 0x72698d7d, 0x5e368c31, 0xf7d95e2e, 0xa1d3493f,
116 0xdcd9433e, 0x896f1552, 0x4bc4ca7a, 0xa6d1baf4,
117 0xa5a96dcc, 0x0bef8b46, 0xa169fda7, 0x74df40b7,
118 0x4e208804, 0x9a756607, 0x038e87c8, 0x20211e44,
119 0x8b7ad4bf, 0xc6403f35, 0x1848e36d, 0x80bdb038,
120 0x1e62891c, 0x643d2107, 0xbf04d6f8, 0x21092c8c,
121 0xf644f389, 0x0778404e, 0x7b78adb8, 0xa2c52d53,
122 0x42157abe, 0xa2253e2e, 0x7bf3f4ae, 0x80f594f9,
123 0x953194e7, 0x77eb92ed, 0xb3816930, 0xda8d9336,
124 0xbf447469, 0xf26d9483, 0xee6faed5, 0x71371235,
125 0xde425f73, 0xb4e59f43, 0x7dbe2d4e, 0x2d37b185,
126 0x49dc9a63, 0x98c39d98, 0x1301c9a2, 0x389b1bbf,
127 0x0c18588d, 0xa421c1ba, 0x7aa3865c, 0x71e08558,
128 0x3c5cfcaa, 0x7d239ca4, 0x0297d9dd, 0xd7dc2830,
129 0x4b37802b, 0x7428ab54, 0xaeee0347, 0x4b3fbb85,
130 0x692f2f08, 0x134e578e, 0x36d9e0bf, 0xae8b5fcf,
131 0xedb93ecf, 0x2b27248e, 0x170eb1ef, 0x7dc57fd6,
132 0x1e760f16, 0xb1136601, 0x864e1b9b, 0xd7ea7319,
133 0x3ab871bd, 0xcfa4d76f, 0xe31bd782, 0x0dbeb469,
134 0xabb96061, 0x5370f85d, 0xffb07e37, 0xda30d0fb,
135 0xebc977b6, 0x0b98b40f, 0x3a4d0fe6, 0xdf4fc26b,
136 0x159cf22a, 0xc298d6e2, 0x2b78ef6a, 0x61a94ac0,
137 0xab561187, 0x14eea0f0, 0xdf0d4164, 0x19af70ee
138};
139
140NAMESPACE_END
unsigned int word32
32-bit unsigned datatype
Definition: config_int.h:62
Classes for the MARS block cipher (IBM AES submission)
Crypto++ library namespace.
Precompiled header file.
Classes and functions for secure memory allocations.