Hawkynt

SEED (DarkCrypt)

RFC 4269 SEED as implemented in the DarkCrypt Total Commander plugin: identical Feistel structure, G/F-functions, S-boxes and key schedule, but the 128-bit block and key words are packed little-endian instead of RFC 4269’s big-endian convention. 128-bit block, 128-bit key.

Properties

Property Value
Category Block Ciphers
Sub-category Block Cipher
Security status 🎓 Educational Only
Complexity Advanced
Inventor Korea Internet and Security Agency (KISA); DarkCrypt packaging by Alexander Myasnikov
Year 1998
Origin 🇷🇺 Russia
Source algorithms/block/darkcrypt-seed.js

Parameters

Parameter Supported values
Key sizes 16 bytes (128 bits)
Block sizes 16 bytes (128 bits)

Security

Status: 🎓 Educational Only

Known vulnerabilities

Issue Description Mitigation
Non-standard byte order Little-endian word packing variant of SEED; unanalyzed as such and not recommended for real use. Use AES or another vetted cipher.

Documentation

Test vectors

4 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.

Vector 1 — RFC 4269 Appendix B.1 SEED test vector (each 32-bit word byte-swapped into the little-endian order this build uses)

Field Value
key 00000000000000000000000000000000
input 03020100070605040b0a09080f0e0d0c
expected e0c6ba5e68164e05ccf1af19db6c346d

Vector 2 — DarkCrypt Seed — zero key/plaintext

Field Value
key 00000000000000000000000000000000
input 00000000000000000000000000000000
expected e49d69901e7093786b19117592af12e3

Vector 3 — DarkCrypt Seed — incrementing key/plaintext

Field Value
key 000102030405060708090a0b0c0d0e0f
input 000102030405060708090a0b0c0d0e0f
expected 11f03014e70cb0017c6126cc57c6d886

Vector 4 — DarkCrypt Seed — shifted incrementing key/plaintext

Field Value
key 0102030405060708090a0b0c0d0e0f10
input 101112131415161718191a1b1c1d1e1f
expected b90d6bb8daa501aa19f53729e4eb2dd4

← All algorithms