대칭키 · Value Registry $var 참조 FIPS 197 부록 C.1 검증됨

변수를 쓰는 AES

키와 평문을 상수 대신 Value Registry의 이름 있는 변수에서 가져오는 FIPS 197 AES-128 예제.

앱에서 열기 .ncw 내려받기

개요 및 암호학적 배경

규모가 큰 암호 시험 모음에서 16진수 키와 시험 데이터를 노드마다 직접 적어 두면 환경이나 시험 벡터를 바꿀 때 번거롭고 실수하기 쉽습니다. NodeCrypto는 Value Registry를 제공합니다. $example.aes.key, $example.aes.plaintext 같은 이름 있는 변수를 워크플로우 그래프와 따로 저장해 두고 실행할 때 값을 해석합니다.

이 워크플로우는 NIST FIPS 197 부록 C.1(AES-128)의 단일 블록 시험 벡터를 재현합니다. 두 Static Value 노드는 바이트열을 직접 담지 않고 valueBytes 속성에 {"$var": "$example.aes.key"}와 {"$var": "$example.aes.plaintext"} 참조를 담습니다.

파이프라인 배선 구조와 단계별 흐름

Static Value ($example.aes.key) ──► AES Encrypt (AES-128-ECB) ◄── Static Value ($example.aes.plaintext)
  1. 변수 해석(Static Value × 2): 그래프를 실행하기 전에 런타임이 Value Registry에서 $example.aes.key(000102030405060708090a0b0c0d0e0f)와 $example.aes.plaintext(00112233445566778899aabbccddeeff)를 찾아 16바이트 값을 Value 출력 포트로 내보냅니다.
  2. 블록 암호화(AES Encrypt): AES-128을 ECB 모드, padding = "None"으로 실행해 FIPS 197의 16바이트 암호문 블록을 ciphertext 출력 포트에 만듭니다.

노드 구성 및 설정

노드역할과 주요 매개변수개수
Static ValueKey($example.aes.key)와 Plaintext($example.aes.plaintext)라는 이름의 두 인스턴스2
AES Encrypt이름 AES-128-ECB. mode = "ECB", padding = "None"으로 설정1

노드 레퍼런스 →

변수, 출력 및 시험 벡터 검증

검증 출처: FIPS 197 Appendix C.1 (AES-128 example vector)

Value Registry 변수

변수 이름타입해석된 값 (Hex)
$example.aes.keybytes (16 B)000102030405060708090a0b0c0d0e0f
$example.aes.plaintextbytes (16 B)00112233445566778899aabbccddeeff

기대 출력

노드 출력타입값 (Hex)
AES-128-ECB.ciphertextbytes (16 B)69c4e0d86a7b0430d8cdb78070b4c55a