Hawkynt

SC2000

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.

Properties

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

Parameters

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)

Security

Status: 🎓 Educational Only

Known vulnerabilities

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.

Documentation

References

Test vectors

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

← All algorithms