NodeCrypto Help

SEED Encrypt

Category: Symmetric Ciphers ยท Node Type ID: symmetric-seed-encrypt

KISA National Standard SEED 128/256-bit Block Cipher (RFC 4269)

Overview

Encrypts data using the Korean national standard 128-bit block cipher SEED (KISA TTAS.KO-12.0004 / ISO/IEC 18033-3 / RFC 4269). The node automatically selects between SEED-128 (16-round Feistel network, when a 16-byte key is connected) and SEED-256 (24-round Feistel network, when a 32-byte key is connected).

Supports CBC, GCM, CCM, CTR, ECB, CFB, and OFB modes over 16-byte blocks.

When to Use

Parameter Configuration

Parameter (ID)Type & DefaultVisibility ConditionDescription & Options
Cipher Mode
mode
select
Default: ECB
Always visible Selects the operating mode (CBC, GCM, CCM, CTR, ECB, CFB, or OFB) and adapts visible ports. See Block Cipher Modes for full details.
  • ECB: ECB (Electronic Codebook)
  • CBC: CBC (Cipher Block Chaining)
  • GCM: GCM (AEAD)
  • CCM: CCM (AEAD)
  • CTR: CTR (Counter Mode)
Padding
padding
select
Default: None
Always visible 16-byte block padding scheme applied in ECB and CBC modes. See Padding Schemes for full details.
Unify Errors
errorUnify
boolean
Default: false
Supports Variable Reference ($var: bool)
Always visible Replaces built-in errors with a custom error code/message when enabled.
Unified Error Code
errorUnifyCode
text
Default: "" (empty)
Supports Variable Reference ($var: string)
When errorUnify is true Custom error code when Unify Errors is enabled.
Unified Error Message
errorUnifyMessage
text
Default: "" (empty)
Supports Variable Reference ($var: string)
When errorUnify is true Custom error message when Unify Errors is enabled.

Port I/O Specification

See Ports & Connections for general wiring rules, data type colors, and dynamic port creation.

Input Ports

Port Nature: Fixed Input Ports (5 total; conditionally visible ports depend on parameter settings as shown below).

Port NamePort IDData TypeRequiredVisibility ConditionDescription
Key key Bytes (16/32B) Required Always visible SEED secret key: 16 bytes (SEED-128) or 32 bytes (SEED-256).
Plaintext plaintext Bytes Required Always visible Plaintext bytes (Uint8Array) to encrypt.
IV iv Bytes (16B) Optional When mode is CBC or CTR 16-byte IV or initial counter block for CBC, CTR, CFB, and OFB modes (defaults to 16 zero bytes if unconnected).
Nonce nonce Bytes (12B) Optional When mode is GCM or CCM 12-byte AEAD nonce for GCM and CCM modes (defaults to 12 zero bytes if unconnected).
AAD aad Bytes (GCM/CCM) Optional When mode is GCM or CCM Optional Additional Authenticated Data for GCM and CCM modes.

Output Ports

Port Nature: Fixed Output Ports (2 total; conditionally visible ports depend on parameter settings as shown below).

Port NamePort IDData TypeVisibility ConditionDescription
Ciphertext ciphertext Bytes Always visible Encrypted output bytes (Uint8Array).
Auth Tag tag Bytes (GCM/CCM) When mode is GCM or CCM 16-byte authentication tag produced in GCM and CCM modes.

Error Cases

When any of the following conditions occurs at runtime, this node transitions to an ERROR state and downstream nodes connected to its outputs do not execute. Enabling Unify Errors (errorUnify) replaces all error codes below with your configured unified error code and message.

Error CodeDefault Engine MessageTrigger Condition
INVALID_KEY_LENGTH Invalid key length Raised when Key is neither 16 bytes (SEED-128) nor 32 bytes (SEED-256).
INVALID_IV_LENGTH Invalid IV length Raised when a connected IV is not 16 bytes or a connected Nonce is not 12 bytes.
PLAINTEXT_NOT_BLOCK_ALIGNED In NoPad mode the plaintext length must be a multiple of the block size Raised in ECB/CBC mode when Padding = None and Plaintext length is not a multiple of 16 bytes.
INVALID_NONCE_LENGTH Invalid nonce length Raised when a connected AEAD or stream-cipher Nonce is not 12 bytes (96 bits).

Examples

Encrypting with KISA SEED-128-CBC

Encrypt a UTF-8 message using a 16-byte SEED key in CBC mode with PKCS#7 padding.

  1. Leave Cipher Mode set to CBC and Padding set to PKCS#7.
  2. Connect a 16-byte key to Key, a 16-byte IV to IV, and your message bytes to Plaintext.