IBM AES finalist (1998) featuring heterogeneous structure with Type-3 Feistel network, combining S-boxes, multiplication, and data-dependent rotations. Uses 32 rounds with unkeyed mixing and keyed cryptographic core.
| Property | Value |
|---|---|
| Category | Block Ciphers |
| Sub-category | Block Cipher |
| Security status | π Educational Only |
| Complexity | Advanced |
| Inventor | IBM (Don Coppersmith, et al.) |
| Year | 1998 |
| Origin | πΊπΈ United States |
| Source | algorithms/block/mars.js |
| Parameter | Supported values |
|---|---|
| Key sizes | 16 bytes (128 bits) to 56 bytes (448 bits) in steps of 4 bytes |
| Block sizes | 16 bytes (128 bits) |
Status: π Educational Only
No vulnerabilities are recorded for this implementation.
10 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 β Crypto++ MARS/ECB - 128-bit key, single high bit
| Field | Value |
|---|---|
key |
80000000000000000000000000000000 |
input |
00000000000000000000000000000000 |
expected |
b3e2ad5608ac1b6733a7cb4fdf8f9952 |
Vector 2 β Crypto++ MARS/ECB - 128-bit zero key, zero plaintext
| Field | Value |
|---|---|
key |
00000000000000000000000000000000 |
input |
00000000000000000000000000000000 |
expected |
dcc07b8dfb0738d6e30a22dfcf27e886 |
Vector 3 β Crypto++ MARS/ECB - 128-bit key, chained plaintext
| Field | Value |
|---|---|
key |
00000000000000000000000000000000 |
input |
dcc07b8dfb0738d6e30a22dfcf27e886 |
expected |
33caffbddc7f1dda0f9c15fa2f30e2ff |
Vector 4 β Crypto++ MARS/ECB - 128-bit random key
| Field | Value |
|---|---|
key |
cb14a1776abbc1cdafe7243def2cea02 |
input |
f94512a9b42d034ec4792204d708a69b |
expected |
225da2cb64b73f79069f21a5e3cb8522 |
Vector 5 β Crypto++ MARS/ECB - 128-bit random key 2
| Field | Value |
|---|---|
key |
86edf4da31824cabef6a4637c40b0bab |
input |
4df955ad5b398d66408d620a2b27e1a9 |
expected |
a4b737340ae6d2cafd930ba97d86129f |
Vector 6 β Crypto++ MARS/ECB - 192-bit zero key
| Field | Value |
|---|---|
key |
000000000000000000000000000000000000000000000000 |
input |
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
expected |
97778747d60e425c2b4202599db856fb |
Vector 7 β Crypto++ MARS/ECB - 192-bit sparse key
| Field | Value |
|---|---|
key |
d158860838874d9500000000000000000000000000000000 |
input |
93a953a82c10411dd158860838874d95 |
expected |
4fa0e5f64893131712f01408d233e9f7 |
Vector 8 β Crypto++ MARS/ECB - 192-bit random key
| Field | Value |
|---|---|
key |
791739a58b04581a93a953a82c10411dd158860838874d95 |
input |
6761c42d3e6142d2a84fbfadb383158f |
expected |
f706bc0fd97e28b6f1af4e17d8755fff |
Vector 9 β Crypto++ MARS/ECB - 256-bit zero key
| Field | Value |
|---|---|
key |
0000000000000000000000000000000000000000000000000000000000000000 |
input |
62e45b4cf3477f1dd65063729d9aba8f |
expected |
0f4b897ea014d21fbc20f1054a42f719 |
Vector 10 β Crypto++ MARS/ECB - 256-bit random key
| Field | Value |
|---|---|
key |
fba167983e7aef22317ce28c02aae1a3e8e5cc3cedbea82a99dbc39ad65e7227 |
input |
1344aba4d3c44708a8a72116d4f49384 |
expected |
458335d95ea42a9f4dccd41aecc2390d |