Fujitsu Laboratories block cipher combining an SPN half-round (subkey XOR plus a bit-sliced 4-bit S-box layer) with pairs of Feistel rounds built from 6-bit and 5-bit S-boxes and a 32x32 GF(2) diffusion matrix. 128-bit block; 6.5 rounds for a 128-bit key and 7.5 for 192/256-bit keys. Submitted to NESSIE and listed by CRYPTREC.
| Property | Value |
|---|---|
| Category | Block Ciphers |
| Sub-category | Block Cipher |
| Security status | 🎓 Educational Only |
| Complexity | Expert |
| Inventor | Takeshi Shimoyama, Hirotaka Yanami, Kazuhiro Yokoyama, Masahiko Takenaka, Kouichi Itoh, Jun Yajima, Naoya Torii, Hidema Tanaka |
| Year | 2000 |
| Origin | 🇯🇵 Japan |
| Source | algorithms/block/sc2000.js |
| Parameter | Supported values |
|---|---|
| Key sizes | 16 bytes (128 bits) to 32 bytes (256 bits) in steps of 8 bytes |
| Block sizes | 16 bytes (128 bits) |
Status: 🎓 Educational Only
| Issue | Description | Mitigation |
|---|---|---|
| Reduced-round differential and boomerang attacks | Attacks are published against reduced-round variants; the full cipher is unbroken but CRYPTREC has moved it off its recommended list. | Use AES or another currently recommended cipher. |
7 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 — CRYPTREC specification appendix A — 128-bit zero key and plaintext
| Field | Value |
|---|---|
key |
00000000000000000000000000000000 |
input |
00000000000000000000000000000000 |
expected |
fae4baa3bb72c4c060b9a4a5c4b2ab32 |
Vector 2 — NESSIE submission testvectors128.txt — single key bit set
| Field | Value |
|---|---|
key |
80000000000000000000000000000000 |
input |
00000000000000000000000000000000 |
expected |
3fcb3bc9dbe00a8bf28d69d7f67102a7 |
Vector 3 — NESSIE submission testvectors128.txt — single plaintext bit set
| Field | Value |
|---|---|
key |
00000000000000000000000000000000 |
input |
80000000000000000000000000000000 |
expected |
b75cd863b9cb21c7cebd9e1014bf774f |
Vector 4 — NESSIE submission testvectors128.txt — repeating 0x01 key and plaintext
| Field | Value |
|---|---|
key |
01010101010101010101010101010101 |
input |
01010101010101010101010101010101 |
expected |
ee5c548ea5ef353b896a780e324be38d |
Vector 5 — NESSIE submission testvectors128.txt — repeating 0x09 key and plaintext
| Field | Value |
|---|---|
key |
09090909090909090909090909090909 |
input |
09090909090909090909090909090909 |
expected |
8839d41b099a817ef8f9ffe6b88455ce |
Vector 6 — NESSIE submission testvectors192.txt — 192-bit zero key and plaintext
| Field | Value |
|---|---|
key |
000000000000000000000000000000000000000000000000 |
input |
00000000000000000000000000000000 |
expected |
6c2bab231cb641ed3ac8d4b0ea69ee3b |
Vector 7 — NESSIE submission testvectors256.txt — 256-bit zero key and plaintext
| Field | Value |
|---|---|
key |
0000000000000000000000000000000000000000000000000000000000000000 |
input |
00000000000000000000000000000000 |
expected |
6c2bab231cb641ed3ac8d4b0ea69ee3b |