암호학 용어
해시, 전자서명, 암호 알고리즘과 수학 · 300개 용어
- (Z/pZ)[x] (Polynomials over Z/pZ)
(Z/pZ)[x]는 계수가 소수 p를 법으로 하는 정수의 체 Z/pZ에 속하는, 변수 x에 대한 다항식 환을 나타내는 수학 표기법입니다. 계수 연산은 모두 p로 나눈 나머지로 이루어집니다.
- AES-GCM (Advanced Encryption Standard in Galois/Counter Mode)
AES-GCM(AES 갈루아/카운터 모드)은 AES를 카운터 모드로 암호화하고 GHASH로 인증 태그를 붙이는 인증 암호화(AEAD) 방식으로, NIST SP 800-38D에 정의되어 TLS 1.3 등에 쓰입니다.
- AES의 실제 안전성 (AES Reality)
AES의 실제 안전성은 이론상 공격 연구와 별개로, 현실에서 AES가 깨지는 원인이 알고리즘 자체보다 키 관리·운용 모드·구현 실수에 있다는 점을 다루는 개념입니다.
- Argon2 (Memory-Hard Password Hashing Function)
Argon2(아르곤2)는 2015년 비밀번호 해싱 대회 우승 알고리즘으로, 많은 메모리를 요구해 GPU·ASIC 무차별 대입을 어렵게 하는 비밀번호 해시·키 유도 함수이며 RFC 9106에 정의되어 있습니다.
- BLS 서명 (Boneh–Lynn–Shacham Signature)
BLS 서명은 페어링 친화 타원곡선을 이용한 짧은 전자서명으로, 많은 서명을 하나로 집계할 수 있어 Ethereum 지분 증명 검증인 투표에 쓰입니다.
- ChaCha20-Poly1305 (ChaCha20 Stream Cipher with Poly1305 Authenticator)
ChaCha20-Poly1305는 ChaCha20 스트림 암호와 Poly1305 인증기를 결합한 인증 암호화(AEAD)로, RFC 8439에 표준화되어 TLS 1.3, WireGuard, Bitcoin P2P(BIP-324)에 쓰입니다.
- Curve25519 (Montgomery Curve over 2^255 − 19)
Curve25519는 소수 2²⁵⁵ − 19 위의 몽고메리 곡선으로, X25519 키 교환(RFC 7748)과 Ed25519 서명의 기반이 되는 고속·고안전 타원곡선입니다.
- ECDSA (Elliptic Curve Digital Signature Algorithm)
ECDSA(타원곡선 전자서명 알고리즘)는 타원곡선 위에서 동작하는 DSA 방식의 전자서명으로, Bitcoin·Ethereum·Tron 트랜잭션 서명에 쓰입니다.
- EdDSA / Ed25519 (Edwards-curve Digital Signature Algorithm)
EdDSA(에드워즈 곡선 전자서명 알고리즘)는 트위스티드 에드워즈 곡선 위의 슈노르 계열 전자서명이고, Ed25519는 edwards25519 곡선과 SHA-512를 쓰는 대표 방식으로 RFC 8032에 정의되어 있습니다.
- Fq (Finite Field of q Elements)
Fq는 원소가 정확히 q개인 유한체(finite field)를 나타내는 기호이며 GF(q)라고도 씁니다. 이 집합 안에서는 덧셈, 뺄셈, 곱셈과 0이 아닌 원소로의 나눗셈을 할 수 있고, 결과는 항상 같은 집합 안에 머뭅니다.
- GF(2) (Galois Field of Two Elements)
GF(2)(Galois Field of Two Elements)는 0과 1, 두 개의 원소로 이루어진 갈루아 체(유한체)입니다. GF(2)에서 덧셈은 2를 법으로 하는 덧셈(XOR), 곱셈은 AND에 해당하며, 원소의 수가 가장 적은 체입니다.
- GF(2)[x] (Polynomials over GF(2))
GF(2)[x]는 mod 2 다항식, 즉 계수가 GF(2)의 원소(0 또는 1)인 x에 대한 다항식환입니다. 계수끼리의 연산을 모두 mod 2로 하므로 1 + 1 = 0이 되며, 각 다항식을 비트열로 나타낼 수 있어 오류 검출 부호와 암호에서 널리 쓰입니다.
- GF(2)[x]/p(x) (Finite Field Construction over GF(2))
GF(2)[x]/p(x)는 계수가 0 또는 1인 다항식(갈루아 필드 GF(2) 위의 다항식)을 기약 다항식 p(x)로 나눈 나머지로 구성한 유한체입니다. 덧셈, 뺄셈, 곱셈과 0이 아닌 원소에 의한 나눗셈에 대해 닫혀 있습니다.
- Groth16 (Groth's 2016 zk-SNARK)
Groth16은 2016년 옌스 그로트가 발표한 페어링 기반 zk-SNARK로, 증명이 군 원소 3개로 매우 작고 검증이 빠르지만 회로마다 신뢰 설정이 필요합니다.
- HMAC (Hash-based Message Authentication Code)
HMAC(해시 기반 메시지 인증 코드)는 비밀 키와 해시 함수를 결합해 메시지의 무결성과 출처를 확인하는 인증 코드로, RFC 2104·FIPS 198-1에 정의되어 거래소 API 서명 등에 쓰입니다.
- IDEA 암호 알고리즘 (International Data Encryption Algorithm, IDEA)
IDEA(International Data Encryption Algorithm)는 1991년 라이(Xuejia Lai)와 매시(James Massey)가 설계한 64비트 블록, 128비트 키의 대칭 키 블록 암호입니다.
- into 함수 (Into)
into 함수(into 사상)는 공역의 일부만 덮는 함수, 즉 공역에 어떤 정의역 원소의 상도 아닌 원소가 하나 이상 남는 함수를 말합니다(전사가 아닌 함수).
- KZG 커밋먼트 (Kate–Zaverucha–Goldberg Polynomial Commitment)
KZG 커밋먼트는 다항식 전체를 타원곡선 점 하나로 커밋하고 임의의 점에서의 값을 상수 크기 증명으로 열 수 있는 페어링 기반 기법으로, EIP-4844 블롭에 쓰입니다.
- M-수열 (Maximum-Length Sequence, M-Sequence)
M-수열(최대 길이 수열, maximum-length sequence)은 특성 다항식이 원시 다항식인 선형 재귀를 만족하는 (0이 아닌) 이진 수열입니다. n단 선형 피드백 시프트 레지스터(LFSR)로 만들 수 있는 가장 긴 주기 2n−1을 가집니다.
- MDS 부호 (MDS Codes)
MDS 부호(MDS code)는 Maximum Distance Separable 코드의 약자로, 같은 길이와 정보량을 가진 코드 가운데 코드워드 사이의 최소 거리가 이론상 최대인 코드입니다.
- MERSEX (Merchant Ship Crypto System)
MERSEX는 Merchant Ship Crypto System의 또 다른 약어입니다. MERCS를 참조하십시오. 두 이름은 상선과 군 사이의 통신을 암호화해 보호하기 위한 시스템을 가리킵니다.
- mod 2 다항식 (Mod 2 Polynomial)
mod 2 다항식은 계수가 0 또는 1이고 계수 계산을 2로 나눈 나머지로 하는 다항식으로, 다항식환 GF(2)[x]의 원소입니다. 덧셈은 XOR이며 CRC·LFSR·AES의 기초입니다.
- n을 법으로 하는 곱셈군 (Multiplicative Group of Integers Modulo n, Zn*)
Zn*는 0부터 n−1 사이에서 n과 서로소인 정수들이 n을 법으로 하는 곱셈에 대해 이루는 군입니다. 원소 수는 오일러 피 함수 φ(n)이며 RSA·디피-헬만의 기반입니다.
- n을 법으로 하는 정수환 (Integers Modulo n, Z/nZ)
Z/nZ(Zn)는 정수를 n으로 나눈 나머지 0, 1, …, n−1에 n을 법으로 하는 덧셈과 곱셈을 정의한 환으로, 모듈러 산술의 기본 구조입니다.
- PLONK (Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge)
PLONK(플롱크)는 하나의 범용·갱신 가능 신뢰 설정을 모든 회로에 재사용하는 zk-SNARK 체계로, 2019년 발표되어 많은 zk 롤업과 프라이버시 프로토콜의 기반이 되었습니다.
- RACE (Rapid Automatic Cryptographic Equipment)
Rapid Automatic Cryptographic Equipment의 약자입니다.
- RSA (Rivest–Shamir–Adleman)
RSA(리베스트-샤미르-애들먼 암호)는 큰 두 소수의 곱을 소인수분해하기 어렵다는 점에 기반한 공개 키 암호로, 1977년 발표되어 암호화와 전자서명에 쓰입니다.
- SCIP (Secure Communications Interoperability Protocol)
SCIP(Secure Communications Interoperability Protocol, 보안 통신 상호 운용성 프로토콜)는 기반 채널의 대역폭에 의존하지 않는 범용 보안 통신 프로토콜입니다.
- scrypt (Password-Based Key Derivation Function)
scrypt(Password-Based Key Derivation Function)는 비밀번호 같은 비밀 값에서 암호 키를 만들어 내는 비밀번호 기반 키 유도 함수(KDF)입니다.
- secp256k1 (SECG 256-bit Koblitz Curve)
secp256k1은 SEC 2 표준에 정의된 256비트 코블리츠형 타원곡선(y² = x³ + 7)으로, Bitcoin·Ethereum·Tron의 키와 서명에 사용됩니다.
- SHA-256 (Secure Hash Algorithm 256-bit)
SHA-256(Secure Hash Algorithm 256-bit)은 임의 길이의 입력 데이터로부터 256비트(32바이트) 해시값을 생성하는 암호화 해시 함수입니다.
- XOR 암호화 (XOR Encryption)
XOR 암호화(XOR Encryption)는 평문 데이터를 키스트림과 XOR 결합하여 생성되는 간단한 스트림 암호입니다. 일반적으로 키스트림은 키가 있는 난수 생성기에 의해 생성됩니다. 키스트림으로 짧은 문자열 또는 임의의 값을 사용하는 장난감 버전도 있습니다.
- zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)
zk-SNARK(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)는 영지식 증명의 한 형태로, 정보를 공개하지 않고도 그 정보를 알고 있음을 증명하는 암호학적 방법입니다.
- zk-STARK (Zero-Knowledge Scalable Transparent Argument of Knowledge)
zk-STARK(확장 가능한 투명 영지식 지식 논증)는 신뢰 설정 없이 해시 함수만으로 만드는 영지식 증명 체계로, 양자 내성이 기대되며 Starknet 같은 zk 롤업에 쓰입니다.
- 가변 크기 블록 암호 (Variable Size Block Cipher)
가변 크기 블록 암호(variable size block cipher)는 동적으로 가변 크기의 블록으로 암호화를 지원하는 블록 암호입니다. 블록 크기는 일부 요소 크기(예: 바이트) 단위로만 변경될 수 있지만, 블록은 임의로 클 수 있습니다.
- 가산 결합기 (Additive Combiner)
가산 결합기는 두 값, 보통 평문과 키스트림을 모듈러 덧셈으로 결합하는 암호 결합기입니다. 비트 단위에서는 2를 법으로 하는 덧셈, 곧 XOR이고, 바이트나 워드 단위에서는 28이나 232를 법으로 하는 덧셈이며, 알파벳 암호에서는 26을 법으로 하는 덧셈입니다.
- 가산 난수 생성기 (Additive Random Number Generator, Additive RNG)
가산 난수 생성기는 이전 출력 두 개 이상을 정수 덧셈으로 더해 다음 값을 만드는 LFSR형 의사난수 생성기(지연 피보나치 생성기)입니다. 빠르지만 암호용으로는 안전하지 않습니다.
- 가역적 (Invertible)
가역적(invertible)이란 함수나 변환에 역함수가 존재해, 출력으로부터 원래 입력을 유일하게 되돌려 얻을 수 있다는 뜻입니다.
- 가우시안 (Gaussian)
가우시안(가우스 분포, 정규분포)은 평균 μ를 중심으로 좌우 대칭인 종 모양 곡선을 가진 연속 확률 분포로, 평균과 분산 σ² 두 값으로 완전히 정해집니다.
- 가중치 (Weight)
암호학에서 가중치(웨이트)는 비트열에서 1인 비트의 개수, 또는 부울 함수의 진리표 출력 중 1의 개수를 뜻합니다. 비트열의 경우 해밍 가중치라고도 합니다.
- 갈루아 체 (Galois Field)
갈루아 체는 원소의 개수가 유한한 체(field)로, 유한체 또는 갈루아 필드라고도 합니다. 원소 수는 항상 소수의 거듭제곱 p^k이며 GF(q)로 표기합니다.
- 검증 가능한 랜덤 함수 (Verifiable Random Function, VRF)
검증 가능한 랜덤 함수(VRF)는 개인 키 소유자만 계산할 수 있는 난수 같은 출력과 그 정당성 증명을 함께 만들어, 누구나 공개 키로 결과가 조작되지 않았음을 검증하게 하는 함수입니다.
- 게페 결합기 (Geffe Combiner)
게페 결합기(Geffe Combiner)는 1973년 P. R. Geffe가 제안한 스트림 암호용 키스트림 생성기로, 세 개의 선형 피드백 시프트 레지스터(LFSR)의 출력을 비선형 결합 함수로 섞습니다.
- 결정론적 (Deterministic)
결정론적이란 같은 입력과 초기 상태가 주어지면 항상 같은 순서로 같은 결과를 내는 성질입니다. 암호에서는 같은 키·평문이면 같은 암호문이 나오는 경우를 말합니다.
- 결합법칙 (Associative Property)
결합법칙은 이항 연산에서 세 원소를 계산할 때 어느 두 개를 먼저 묶어도 결과가 같은 성질, 즉 (a ∘ b) ∘ c = a ∘ (b ∘ c)입니다.
- 고급 암호화 표준 (Advanced Encryption Standard, AES)
고급 암호화 표준(AES)은 기밀 정보를 보호하기 위해 미국 정부가 선택한 대칭 블록 암호(2001년 NIST FIPS 197로 표준화, 원래 이름 Rijndael)이며, 민감한 데이터를 암호화하기 위해 전 세계 소프트웨어 및 하드웨어에 구현되어 있습니다.
- 고급 협대역 디지털 음성 단말기 (Advanced Narrowband Digital Voice Terminal, ANDVT)
ANDVT는 미국 국방부가 쓰는 저대역폭 보안 음성 단말기 계열로, 음성을 디지털로 압축·암호화해 HF 무선 같은 좁은 채널로 전송합니다.
- 고속 월시 변환 (Fast Walsh Transform, FWT)
고속 월시 변환(FWT)은 불 함수와 모든 선형(아핀) 함수 사이의 상관을 한 번에 구하는 빠른 알고리즘입니다. n변수 함수의 월시 스펙트럼을 n·2^n번 연산으로 계산합니다.
- 고속 푸리에 변환 (Fast Fourier Transform, FFT)
고속 푸리에 변환(FFT)은 길이 n인 이산 푸리에 변환(DFT)을 O(n²) 대신 O(n log n) 연산으로 계산하는 알고리즘군입니다.
- 공개 키 암호 (Public Key Cryptography)
공개 키 암호는 누구에게나 공개하는 공개 키와 본인만 보관하는 개인 키, 서로 다른 한 쌍의 키를 쓰는 암호 방식으로, 암호화·전자서명·키 교환에 쓰입니다.
- 교환법칙 (Commutative)
교환법칙(commutative law)은 이항 연산에서 두 피연산자의 순서를 바꿔도 결과가 같은 성질입니다. 집합 위의 연산 ∗가 모든 원소 a, b에 대해 a ∗ b = b ∗ a를 만족하면 그 연산을 교환적이라고 합니다(예: a + b = b + a).
- 구별자 (Distinguisher)
구별자는 어떤 암호나 해시의 출력을 이상적인 무작위 객체(무작위 순열·무작위 함수)와 무작위 추측보다 높은 확률로 구별해 내는 알고리즘입니다.
- 군 (Group)
군(group)은 공집합이 아닌 집합 G와 이항 연산의 쌍으로, 연산이 닫혀 있고 결합법칙을 만족하며 항등원과 모든 원소의 역원이 존재하는 대수 구조입니다.
- 균등 분포 (Uniform Distribution)
균등 분포는 가능한 각 값이 같은 확률로 나타나는 확률 분포입니다. 이산형은 N개 값 각각 1/N, 연속형은 구간 [a, b]에서 밀도가 일정합니다.
- 균일 분포 (Flat Distribution)
균일 분포(평탄 분포)는 가능한 모든 값이 같은 확률로 나타나는 확률 분포입니다. 이상적인 키와 난수는 이 분포를 따라야 합니다.
- 균형 결합기 (Balanced Combiner)
암호학적 맥락에서 결합기(combiner)는 두 개의 입력 값을 혼합하여 하나의 결과 값을 만들어 내는 구성 요소입니다. 스트림 암호에서는 평문과 키 스트림을 결합해 암호문을 만드는 단계가 대표적입니다.
- 균형 블록 믹서 (Balanced Block Mixer)
균형 블록 믹서(Balanced Block Mixer, BBM)는 테리 리터(Terry Ritter)가 제안한 블록 암호 구성 요소로, 여러 입력 블록을 같은 개수의 출력 블록으로 섞되 전체 변환이 일대일이고 역변환이 존재하며, 어느 한 입력의 변화가 모든 출력에 반영되도록 만든…
- 글자 빈도 (Letter Frequencies)
글자 빈도는 텍스트 본문이나 메시지 집합에서 각 문자가 나타나는 횟수 또는 비율을 말합니다. 언어마다 고유한 분포가 있어 고전 암호 분석에서 가장 기본적인 도구로 쓰이며, 분포는 언어와 글의 종류, 텍스트 길이에 따라 달라집니다.
- 기계식 암호 (Mechanical Cryptography)
기계식 암호는 수학 알고리즘을 컴퓨터로 계산하는 대신 원판·로터·톱니바퀴 같은 기계 장치로 암호화와 복호화를 수행하는 암호 방식입니다.
- 기댓값 (Expectation)
기댓값은 확률 변수가 가질 수 있는 값들을 각각의 확률로 가중 평균한 값 E[X] = Σ x·P(X=x)입니다. 같은 시행을 많이 반복하면 표본 평균이 기댓값에 가까워집니다.
- 기약 다항식 (Irreducible Polynomial)
기약(irreducible) 다항식은 주어진 체 위에서 더 낮은 차수의 다항식들의 곱으로 인수분해되지 않는 다항식으로, 정수의 소수에 해당하며 유한체를 만드는 데 쓰입니다.
- 넌스 (Nonce)
넌스(Nonce)는 “한 번만 사용되는 숫자(number used once)”입니다. 1. 암호화 nonce는 오래된 통신이 재생 공격에 재사용되지 않도록 하는 데 자주 사용됩니다. 2. 블록체인에서 nonce는 고유성을 확보하기 위해 쓰이는 숫자입니다.
- 노멘클레이터 (Nomenclator)
노멘클레이터는 문자 치환 암호와 자주 쓰는 이름·단어를 기호나 숫자로 바꾸는 소형 코드북을 결합한 역사적 암호 체계로, 15~19세기 유럽 외교 통신에서 널리 쓰였습니다.
- 누적 분포 함수 (Cumulative Distribution Function, CDF)
누적 분포 함수(CDF) F(x)는 확률 변수 X가 x 이하의 값을 가질 확률 P(X ≤ x)를 나타내는 함수로, 0에서 1까지 단조 증가합니다.
- 다자간 계산 (Multi-Party Computation, MPC)
다자간 계산(MPC)은 여러 참여자가 각자의 비밀 입력을 공개하지 않고 함께 함수 결과만 계산하는 암호 기술로, 개인 키를 나눠 보관하는 MPC 지갑의 기반입니다.
- 다중 암호화 (Multiple Ciphering)
다중 암호화는 데이터를 서로 다른 키나 알고리즘으로 두 번 이상 겹쳐 암호화하는 방식으로, 한 암호가 깨져도 다른 암호가 데이터를 지키도록 하려는 것입니다.
- 다중 애너그램 (Multiple Anagramming)
다중 애너그램(Multiple Anagramming)은 고전 전치 암호에 대한 공격입니다. 고전 전치 암호는 길이가 같은 두 메시지를 같은 방식으로 재배열합니다. 이 공격은 길이가 같은 두 암호문의 문자를 같은 방식으로 동시에 재배열해 두 문장이 모두 의미를 갖게 만드는 것입니다.
- 다중순열 (Multipermutation)
다중순열은 슈노어와 보드네가 정의한 암호 원시 연산으로, 두 입력을 두 출력으로 보내는 순열 B(a,b)에서 한 입력을 고정하면 각 출력이 다른 입력의 순열이 되는 함수입니다.
- 단일 문자 치환 (Monoalphabetic Substitution)
단일 문자 치환(단순 치환)은 메시지 전체에 하나의 고정된 치환 알파벳을 써서 각 평문 글자를 항상 같은 암호문 글자로 바꾸는 고전 암호입니다.
- 단항식 (Monomial)
단항식은 수와 변수의 곱으로만 이루어진 항 하나짜리 식(예: 5x²y)입니다. 계수를 뺀 변수 거듭제곱의 곱만을 가리켜 단항식이라 부르기도 합니다.
- 대립 가설 (Alternative Hypothesis)
대립 가설(H₁)은 통계적 가설 검정에서 귀무 가설(H₀)과 반대되는 주장으로, 데이터가 귀무 가설을 기각할 만큼 강한 증거를 보일 때 채택됩니다.
- 대수적 정규 형식 (Algebraic Normal Form, ANF)
대수적 정규 형식(ANF)은 부울 함수를 변수들의 곱(AND, 단항식)을 배타적 논리합(XOR)으로 더한 형태로 나타내는 표준 표기법입니다. 2원소 체 GF(2) 위의 다항식으로 보는 것이며, 이 다항식을 지갈킨 다항식(Zhegalkin polynomial)이라고도 부릅니다.
- 대합 (Involution)
대합(involution, 자기 역함수)은 두 번 적용하면 원래대로 돌아오는 함수, 즉 f(f(x)) = x를 만족해 자기 자신이 역함수인 사상입니다.
- 대형 블록 암호 (Huge Block Cipher)
대형 블록 암호(huge block cipher)는 흔히 쓰이는 64비트, 128비트, 256비트 블록보다 훨씬 큰 블록, 예를 들어 256바이트, 512바이트, 4KB 블록을 한 번에 암호화하는 블록 암호를 말합니다.
- 더블 셔플링 (Double Shuffling)
더블 셔플링(이중 셔플)은 셔플 알고리즘을 두 번 수행하는 방법입니다. 이중 셔플은 결과 테이블의 내용으로부터 그 테이블을 구성할 때 사용된 순서가 드러나지 않게 합니다.
- 데시메이션 (Decimation)
데시메이션은 원래 시퀀스에서 일정한 간격 d마다 한 원소씩만 골라 새로운 시퀀스를 만드는 연산입니다. 원래 시퀀스가 x0, x1, x2, …이고 시작 위치가 k일 때, d배 데시메이션의 결과는 yi = xd·i+k, 곧 xk, xk+d, xk+2d, …입니다.
- 데이터 암호화 표준 (Data Encryption Standard, DES)
데이터 암호화 표준(Data Encryption Standard, DES)은 디지털 데이터 암호화를 위한 대칭 키 알고리즘입니다. 키 길이가 56비트로 짧아 오늘날의 용도에는 안전하지 않지만, 암호학 발전에 큰 영향을 미쳤습니다.
- 데카르트 곱 (Cartesian Product)
데카르트 곱 A × B는 첫 성분을 집합 A에서, 둘째 성분을 집합 B에서 고른 모든 순서쌍 (a, b)의 집합입니다. 원소 수는 |A| × |B|입니다.
- 독립성 (Independent)
두 사건이 (확률적으로) 독립이라는 것은 한 사건이 일어났는지 여부가 다른 사건의 확률을 전혀 바꾸지 않는다는 뜻으로, P(A∩B) = P(A)·P(B)가 성립하는 경우입니다.
- 독립항등분포 (Independent and Identically Distributed, i.i.d.)
독립항등분포(i.i.d.)는 여러 확률 변수가 서로 독립이면서 모두 같은 확률 분포를 따르는 상태를 말합니다. 많은 통계 기법과 난수 이론의 기본 가정입니다.
- 동음 치환 암호 (Homophonic Substitution)
동음 치환 암호는 하나의 평문 기호를 여러 개의 서로 다른 암호문 기호(동음 기호) 중 하나로 바꿔, 글자 빈도를 평탄하게 만들어 빈도 분석을 어렵게 하는 고전 암호입니다.
- 동적 전치 (Dynamic Transposition)
동적 전치는 각 블록의 0과 1 개수를 먼저 같게(또는 거의 같게) 맞춘 뒤, 키로 초기화한 난수 생성기로 블록마다 새로 정한 순열에 따라 비트 위치를 뒤섞는 블록 암호 방식입니다.
- 동적 치환 결합기 (Dynamic Substitution Combiner)
동적 치환 결합기는 테리 리터가 고안한 스트림 암호용 결합기로, 키로 섞은 치환표를 쓰되 사용할 때마다 표의 항목을 키스트림에 따라 맞바꿔 배열을 계속 바꿉니다.
- 동적 키잉 (Dynamic Keying)
동적 키잉은 암호 알고리즘이 추가 계산 부담을 거의 들이지 않고 키를 자주, 심지어 블록마다 바꿀 수 있게 하는 설계 특성입니다.
- 동형사상 (Isomorphism)
동형사상(Isomorphism)은 같은 유형의 두 구조 사이의 매핑으로, 역매핑을 통해 되돌릴 수 있으면서 구조(연산이나 관계)를 그대로 보존하는 것입니다. 두 수학적 구조는 서로 동형사상이 존재할 경우 동형입니다.
- 동형암호 (Homomorphic Encryption)
동형암호는 데이터를 복호화하지 않은 채 암호문끼리 연산할 수 있고, 그 결과를 복호화하면 평문에 같은 연산을 한 결과와 일치하는 암호 방식입니다.
- 디지털 가입자 음성 단말기 (Digital Subscriber Voice Terminal, DSVT)
디지털 가입자 음성 단말기(Digital Subscriber Voice Terminal, DSVT)는 음성 통화를 디지털로 암호화하는 군용 보안 전화 장치로, 미국의 KY-68이 대표적인 예입니다.
- 디지털 서명 (Digital Signature)
디지털 서명(Digital Signature)은 서명자가 자신만 가진 개인 키로 메시지(정확히는 메시지의 해시값)에 대해 계산한 값입니다. 짝이 되는 공개 키를 가진 사람은 누구나 이 값으로 두 가지를 확인할 수 있습니다.
- 디지털 서명 표준 (Digital Signature Standard, DSS)
디지털 서명 표준(Digital Signature Standard, DSS)은 미국 국립표준기술연구소(NIST)가 1994년 연방 정보 처리 표준 FIPS 186으로 발표한, 전자 문서 인증용 디지털 서명 표준입니다.
- 디피-헬만 키 교환 (Diffie-Hellman Key Exchange)
디피-헬만 키 교환은 공개된 채널에서 두 당사자가 비밀을 직접 보내지 않고도 같은 공유 비밀 키를 계산하는 방법으로, 1976년 최초로 공개 발표된 공개 키 프로토콜입니다.
- 라틴 방진 결합기 (Latin Square Combiner)
라틴 방진 결합기(Latin Square Combiner)는 하나의 입력이 기존 라틴 방진에서 열을 선택하고 다른 입력이 행을 선택하는 암호 결합 메커니즘입니다. 선택된 요소의 값이 결합기 결과입니다. 라틴 방진 결합기는 두 값을 균형적이고 비선형적이면서 가역적으로 결합합니다.
- 랜덤 오라클 모델 (Random Oracle Model, ROM)
랜덤 오라클 모델은 해시 함수를 모든 입력에 대해 완전히 무작위 값을 돌려주는 이상적 함수로 가정하고 암호 방식의 안전성을 증명하는 이론적 틀입니다.
- 링 서명 (Ring Signature)
링 서명은 여러 공개 키 묶음(링) 중 누군가가 서명했다는 것만 증명하고 실제 서명자는 숨기는 전자서명으로, Monero 트랜잭션의 송신자 익명성에 쓰입니다.
- 매핑 (Mapping)
매핑(mapping, 사상)은 한 집합(정의역)의 각 원소를 다른 집합(공역)의 원소 정확히 하나에 대응시키는 규칙으로, 수학에서 말하는 함수와 같은 뜻입니다. 정의역의 한 원소가 두 개 이상의 값에 대응한다면 그것은 매핑이 아니라 더 넓은 개념인 관계(relation)입니다.
- 메르센 소수 (Mersenne Prime)
메르센 소수는 2^n − 1 꼴의 소수입니다. n이 소수여야 하지만 그것만으로 충분하지는 않으며, 17세기 수도사 마랭 메르센의 이름을 땄습니다.
- 메시지 (Message)
메시지는 일반적으로 직접 연락할 수 없는 수신자에게 보내거나 남기는 구두·서면·녹음된 의사 전달을 뜻하지만, 암호학과 블록체인에서는 더 좁은 기술적 의미로 쓰입니다.
- 메시지 무결성 (Message Integrity)
메시지 무결성(Message Integrity)은 메시지가 변조되거나 변경되지 않았다는 사실입니다. 가장 일반적인 방법은 메시지의 모든 바이트를 비밀 키와 결합하고 되돌리기가 어려운 메시지 다이제스트를 생성하는 해시 함수를 사용하는 것입니다.
- 메시지 인증 (Message Authentication)
메시지 인증(message authentication)은 받은 메시지가 주장된 발신자에게서 왔고 전송 중 바뀌지 않았음을 수신자가 확인하는 일입니다. 대표적인 수단은 공유 비밀 키로 만드는 메시지 인증 코드(MAC)와 개인 키로 만드는 디지털 서명입니다.
- 메시지 인증 코드 (Message Authentication Code, MAC)
메시지 인증 코드(Message Authentication Code, MAC)는 메시지 인증을 위해 비밀 키와 메시지로 계산하는 짧은 값, 또는 그 값을 만드는 키가 있는 함수입니다.
- 메시지 키 (Message Key)
메시지 키(Message Key)는 메시지와 함께 전송되어 메시지 해독에 사용되는 키입니다. 일반적으로 메시지 키는 하나의 메시지를 위해 새로 만드는 큰 무작위 값으로, 그 메시지의 데이터를 암호화하는 대칭 키가 됩니다.
- 모노그래픽 암호 (Monographic)
모노그래픽(monographic) 암호는 평문을 한 글자(기호)씩 따로 암호문 기호로 바꾸는 방식으로, 여러 글자를 묶어 처리하는 다중 문자(폴리그래픽) 암호와 대비됩니다.
- 모노이드 (Monoid)
모노이드(Monoid)는 결합 법칙을 만족하는 이항 연산 하나와 항등원을 갖는 대수적 구조입니다. 모노이드는 항등원을 갖는 반군입니다. 형식적으로는 집합 M과 연산 ·가 다음 두 조건을 만족할 때 (M, ·, e)를 모노이드라고 합니다.
- 모듈로 (Modulo)
모듈로(mod)는 한 수를 다른 수로 나눈 나머지를 구하는 연산입니다. 예를 들어 100 mod 9 = 1이며, 공개 키 암호와 블록체인 연산의 기본입니다.
- 모듈로 2 (Mod 2)
모듈로 2(Mod 2)는 GF(2)로 표기되는 체(field)로, 정수 집합 {0,1}과 덧셈(+)·곱셈(*) 연산으로 이루어지며 연산 결과는 2로 나눈 나머지입니다.
- 모드 (Mode)
암호학에서 모드(Mode)는 블록 암호 운용 방식(mode of operation)을 줄여 부르는 말로, AES처럼 정해진 길이의 블록 하나만 처리하는 블록 암호를 그보다 긴 데이터의 암호화·복호화에 적용하는 규칙을 뜻합니다.
- 무선 키 재설정 (Over-the-Air Rekeying, OTAR)
무선 키 재설정(OTAR)은 무전기 같은 보안 통신 장비의 암호 키를 사람이 직접 장비를 만지지 않고 암호화된 무선 채널로 원격 배포·교체하는 방식입니다.
- 믹서 (Mixer)
믹서(mixer)는 여러 사용자의 코인을 한데 섞은 뒤 다른 주소로 돌려보내, 자금의 원래 출처(초기 트랜잭션)와 도착지 사이의 연결을 추적하기 어렵게 만드는 코인 혼합 서비스입니다. 텀블러(tumbler)라고도 부릅니다.
- 반복 블록 암호 (Iterated Block Cipher)
반복 블록 암호(Iterated Block Cipher)는 라운드 함수라고 하는 가역적 변환을 반복적으로 적용하여 고정 크기의 평문을 동일한 크기의 암호문으로 변환하는 암호입니다. 각 반복을 라운드라고 합니다. 대부분의 블록 암호 알고리즘은 반복 블록 암호로 분류됩니다.
- 배타적 논리합 (Exclusive OR, XOR)
배타적 논리합(Exclusive OR, XOR)은 두 입력 중 정확히 하나만 참일 때 출력이 참이 되는 논리 연산입니다. 두 입력이 모두 참이거나 모두 거짓이면 결과는 거짓입니다.
- 버넘 암호 (Vernam Cipher)
버넘 암호는 평문의 각 문자 부호를 키 테이프의 부호와 비트 단위 배타적 논리합(XOR, 2를 법으로 하는 덧셈)으로 결합하는 최초의 기계식 스트림 암호입니다. 미국 AT&T의 길버트 S. 버넘(Gilbert S.
- 베노나 (VENONA)
베노나(VENONA)는 NSA가 1939년부터 1946년까지 소련 KGB 또는 GRU와 미국 내 요원 간에 사용된 수기 암호 체계를 해독한 프로젝트의 암호명입니다.
- 베르누이 시행 (Bernoulli Trials)
베르누이 시행(Bernoulli trial)은 통계에서 정확히 두 가지 결과(일반적으로 “성공”과 “실패”)만 가능한 관측 또는 복원 추출을 말합니다. 성공을 1, 실패를 0으로 나타낸 확률변수 X에 대해 P(X=1)=p, P(X=0)=1−p이며, 이 분포를 베르누이 분포라고 합니다.
- 벤트 함수 (Bent Function)
벤트 함수는 비선형성이 가능한 최댓값에 이르는 짝수 변수 부울 함수로, 월시 변환 계수의 절댓값이 모두 2^(n/2)로 같습니다.
- 보안 전화기 (Secure Telephone Unit, STU)
보안 전화기(Secure Telephone Unit, STU)는 미국 국가안보국(NSA)이 개발·관리한 보안 전화 장비 계열이자, 일반 아날로그 전화망을 통해 음성과 데이터를 암호화해 주고받기 위한 표준입니다.
- 보안 터미널 장비 (Secure Terminal Equipment, STE)
보안 터미널 장비(Secure Terminal Equipment, STE)는 PSTN, ISDN, TRI-TAC 등 다양한 네트워크에서 안전한 음성·데이터 통신을 제공하는 장비 체계입니다.
- 보조정리 (Lemma)
보조정리(렘마)는 더 큰 정리를 증명하는 데 디딤돌로 쓰기 위해 먼저 증명해 두는 명제입니다. 그 자체로 유명해져 이름이 붙은 보조정리도 많습니다.
- 복호화 (Decryption)
복호화는 암호화된 데이터(암호문)를 올바른 키로 원래의 읽을 수 있는 데이터(평문)로 되돌리는 과정으로, 암호화의 역연산입니다.
- 부인 방지 (Nonrepudiation)
부인 방지(Nonrepudiation)는 일단 보낸 메시지를 나중에 부인할 수 없게 하는 성질로, 암호학이 달성하려는 목표 중 하나입니다.
- 부채널 공격 (Side-Channel Attack)
부채널 공격은 암호 알고리즘 자체가 아니라 실행 시간, 전력 소비, 전자기파, 캐시 동작 같은 물리적 부산물을 측정해 비밀 키를 알아내는 공격입니다.
- 부호 이론 (Coding Theory)
부호 이론(Coding Theory, 부호화 이론이라고도 합니다)은 코드의 속성과 특정 응용 분야에 대한 적합성을 연구하는 학문입니다.
- 부호어 (Code Word)
부호어(코드워드)는 부호(코드)에 속하는 유효한 기호열 하나를 말합니다. 오류 정정 부호에서는 메시지에 검사 비트를 붙여 만든 결과이고, 고전 암호에서는 코드북의 단어입니다.
- 분포 (Distribution)
분포(확률 분포)는 확률 변수가 가질 수 있는 값들과 각 값 또는 값의 범위가 나타날 확률을 함께 기술한 것입니다.
- 분할 정복 (Divide and Conquer)
분할 정복(Divide and Conquer)은 복잡한 문제를 여러 부분으로 나누어 각 부분을 해결함으로써 전체 문제를 해결하는 일반적인 개념입니다. 각 부분은 전체보다 자연스럽게 단순합니다.
- 불 대수 (Boolean Algebra)
불 대수(Boolean algebra)는 참(1)과 거짓(0) 두 값의 집합 {0, 1}과 그 위의 AND, OR, NOT 연산으로 이루어진 대수 구조로, 디지털 전자공학과 논리 회로의 수학적 기초입니다. XOR을 덧셈, AND를 곱셈으로 보면 환(불 환)을 이룹니다.
- 불 매핑 (Boolean Mapping)
불 매핑은 n개의 불(Boolean) 변수를 m개의 불 결과로 대응시키는 함수, 즉 n비트 입력을 받아 m비트 출력을 내는 함수 F: {0,1}n → {0,1}m입니다. 대표적인 예가 블록 암호의 S-box입니다.
- 불 함수 (Boolean Function)
불 함수는 n개의 이진 입력(0 또는 1)을 받아 0 또는 1 하나를 출력하는 함수 f: {0,1}^n → {0,1}입니다. S-box의 각 출력 비트는 하나의 불 함수로 볼 수 있습니다.
- 불 함수 비선형도 (Boolean Function Nonlinearity)
불 함수 비선형도는 불 함수의 진리표에서 가장 가까운 아핀 불 함수와 일치시키기 위해 바꿔야 하는 비트 수(최소 해밍 거리)로, 보통 고속 월시-하다마드 변환으로 계산합니다.
- 불릿프루프 (Bulletproofs)
불릿프루프는 신뢰 설정 없이 이산 로그 가정만으로 만드는 짧은 영지식 증명으로, 특히 금액이 범위 안에 있음을 보이는 범위 증명에 쓰이며 Monero가 도입했습니다.
- 블레츨리 파크 (Bletchley Park, BP)
블레츨리 파크(Bletchley Park, BP)는 영국 잉글랜드 버킹엄셔주 블레츨리(현재 밀턴킨스의 일부)에 있는 저택과 부지로, 2차 세계 대전 중 영국 정부 암호 학교(GC&CS)가 자리 잡은 영국의 주요 암호 해독 기지였습니다.
- 블록 부호 (Block Code)
코딩 이론에서 알파벳 A와 길이(블록 크기) n이 주어지면, A에서 n개를 골라 만든 모든 시퀀스의 집합을 An으로 나타내며, 블록 부호(블록 코드)는 이 집합에서 고른 코드워드들로 메시지를 고정 길이 블록 단위로 인코딩하는 방식입니다.
- 블록 암호 (Block Cipher)
블록 암호는 평문을 128비트처럼 고정된 길이의 블록으로 나누고, 같은 비밀 키로 각 블록을 같은 길이의 암호문 블록으로 바꾸는 대칭 키 암호입니다. 대표적인 예가 AES입니다.
- 블록 암호 모델 (Block Cipher Model)
암호학의 블록 암호 모델(Block Cipher Model)에서 블록 암호는 대칭 키에 의해 지정되는 불변 변환을 사용하여 블록이라고 하는 고정 길이 비트 그룹에서 작동하는 결정적 알고리즘입니다.
- 블룸 블룸 슙 (Blum Blum Shub, BBS)
블룸 블룸 슙(BBS)은 x(n+1) = x(n)² mod M 반복으로 비트를 뽑는 의사난수 생성기로, 출력 예측이 큰 수의 소인수분해만큼 어렵다는 것이 증명된 대표적인 '증명 가능한 안전성' 생성기입니다.
- 비대칭 암호 (Asymmetric Cipher)
비대칭 암호(Asymmetric Cipher)는 서로 다른 두 키, 즉 공개 키와 개인 키를 사용하는 암호 방식으로, 공개 키 암호 또는 두 키 암호라고도 합니다.
- 비대칭 키 알고리즘 (Asymmetric Key Algorithm)
비대칭 키 알고리즘(asymmetric key algorithm)은 서로 수학적으로 연결된 한 쌍의 키, 즉 누구에게나 공개해도 되는 ‘공개 키’와 소유자만 아는 ‘개인 키’를 사용하는 암호 방식입니다.
- 비동기 스트림 암호 (Asynchronous Stream Cipher)
비동기 스트림 암호(Asynchronous Stream Cipher)는 암호문 스트림에 위치 오류(비트 누락·삽입)나 값 오류(비트 반전)가 생겨도 일정한 길이가 지나면 자동으로 재동기화되는 스트림 암호입니다.
- 비밀 시스템의 대수 (Algebra of Secrecy Systems)
비밀 시스템의 대수는 섀넌이 1949년 논문에서 제안한, 여러 암호 체계를 '곱'과 '가중합' 연산으로 결합해 새 암호 체계를 만드는 수학적 틀입니다.
- 비선형성 (Nonlinearity)
비선형성은 함수가 선형(또는 아핀) 함수와 얼마나 다른지를 나타내는 성질입니다. 암호학에서는 S-box 같은 부품이 선형 근사로 설명되지 않는 정도를 수치로 잽니다.
- 비트 균형 (Bit Balance)
비트 균형(bit balance)은 비트열이나 불 함수의 출력에서 1과 0이 같은 개수로 나타나는 성질입니다.
- 비트 순열 (Bit Permutation)
비트 순열(비트 전치, 비트 셔플링)은 데이터 블록 안의 비트 값은 그대로 두고 위치만 정해진 규칙에 따라 재배치하는 연산입니다. 암호의 확산 층, 압축 전처리, 인터리빙 등에 쓰입니다.
- 사이퍼펑크 (Cypherpunk)
사이퍼펑크(Cypherpunk)는 암호화 기술과 다른 개인 정보 보호 강화 기술을 사회적, 정치적 변화의 경로로 널리 사용하는 것을 옹호하는 사람입니다. 비트코인은 ‘사이퍼펑크’ 또는 뜻을 같이하는 커뮤니티에서 개발했을 가능성이 있습니다.
- 생일 공격 (Birthday Attack)
생일 공격(Birthday Attack)은 확률 이론의 생일 문제 뒤에 있는 수학을 이용해, 해시 함수에서 같은 출력을 내는 서로 다른 두 입력(충돌)을 찾는 암호 공격의 한 유형입니다.
- 생일 문제 (Birthday Problem)
생일 문제(Birthday Problem)는 여러 사람 가운데 생일이 같은 사람이 적어도 두 명 있을 확률을 묻는 확률 문제로, 23명만 모여도 그 확률이 50%를 넘는다는 결과로 알려져 있습니다.
- 샤미르 비밀 분산 (Shamir's Secret Sharing, SSS)
샤미르 비밀 분산은 비밀을 n개 조각으로 나눠 t개 이상 모이면 복원되고 t개 미만으로는 아무 정보도 얻을 수 없게 하는 다항식 기반 방식으로, 1979년 아디 샤미르가 제안했습니다.
- 서명 (Signature)
서명(Signature)은 개인 키를 실제로 공개하지 않고도 개인 키를 가지고 있음을 증명할 수 있게 해주는 정보입니다. 전자적으로 전송되는 문서의 진위 여부를 확인하는 데 사용됩니다.
- 선택 평문 (Chosen Plaintext)
선택 평문(chosen plaintext)은 암호 분석에서 공격자가 직접 골라 알 수 없는 키로 암호화하게 한 평문, 그리고 공격자가 평문을 정해 그 암호문을 얻을 수 있는 정보 조건을 말합니다.
- 선택 평문 공격 (Chosen-Plaintext Attack, CPA)
선택 평문 공격(Chosen-Plaintext Attack, CPA)은 공격자가 원하는 평문을 직접 정해 암호화하게 하고 그 암호문을 얻을 수 있는 조건에서 이루어지는 공격입니다. 정의된 평문 공격(defined plaintext attack)이라고도 합니다.
- 선형 논리 함수 (Linear Logic Function)
선형 논리 함수는 입력 비트들 중 일부를 XOR(mod 2 덧셈)만으로 결합해 얻는 불 함수 f(x) = a₁x₁ ⊕ … ⊕ a_nx_n입니다. 상수 1을 더 XOR하면 아핀 함수가 됩니다.
- 선형 복잡도 (Linear Complexity)
선형 복잡도는 주어진 수열을 생성할 수 있는 가장 짧은 선형 귀환 시프트 레지스터(LFSR)의 길이입니다. 베를레캄프-매시 알고리즘으로 효율적으로 계산합니다.
- 선형 암호 분석 (Linear Cryptanalysis)
선형 암호 분석(Linear Cryptanalysis)은 평문 비트와 암호문 비트를 기반으로 하는 선형 방정식이 특정 키 비트에 대해 약간의 바이어스를 보이는 공격 형태입니다. 이러한 근사식은 암호의 내부 구조와 S-box를 사람이 직접 분석해 찾아냅니다.
- 선형 피드백 시프트 레지스터 (Linear Feedback Shift Register, LFSR)
선형 피드백 시프트 레지스터(Linear Feedback Shift Register, LFSR)는 비트를 한 칸씩 옮기는 시프트 레지스터에서, 정해진 위치(탭)의 비트들을 XOR한 값을 다시 새 입력 비트로 넣는 회로이자 알고리즘입니다.
- 설계 강도 (Design Strength)
설계 강도(Design Strength)는 암호 알고리즘이 설계상 제공하는 키스페이스(가능한 키의 전체 개수), 즉 무차별 대입 공격으로 모든 키를 시도하는 데 필요한 노력을 뜻합니다.
- 수학 표기법 (Math Notation)
수학적 대상 및 아이디어를 기호로 표현하는 체계. 수학 표기법은 수학, 물리 과학, 공학 및 경제학에서 사용됩니다.
- 수학적 암호학 (Mathematical Cryptography)
수학적 암호학(Mathematical Cryptography)은 두 소수의 곱을 모듈러스로 하여, 매우 큰 값을 매우 큰 거듭제곱으로 취하는 것과 같은 수학적 연산을 기반으로 하는 암호화입니다. 일반적으로 정수론과 밀접하게 관련되어 있습니다.
- 슈노르 서명 (Schnorr Signature)
슈노르 서명은 이산 로그 문제에 기반한 간결한 전자서명으로, 서명을 선형으로 합칠 수 있어 다중 서명 집계와 일괄 검증에 유리하며 Bitcoin Taproot(BIP-340)에 쓰입니다.
- 쌍선형 페어링 (Bilinear Pairing)
쌍선형 페어링은 두 타원곡선 군의 점 쌍을 제3의 군 원소로 보내며 e(aP, bQ) = e(P, Q)^{ab}를 만족하는 사상으로, BLS 서명·KZG·Groth16의 핵심 도구입니다.
- 아다마르 곱 (Hadamard Product)
아다마르 곱(Hadamard product, 원소별 곱, 항별 곱 또는 슈어곱이라고도 함)은 같은 차원의 두 행렬(또는 벡터)을 받아 피연산자와 같은 차원의 다른 행렬을 생성하는 이항 연산입니다. 결과 행렬의 각 원소 i, j는 원래 두 행렬의 원소 i, j의 곱입니다.
- 아핀 (Affine)
아핀(affine)은 일차 변환에 상수 이동을 더한 f(x)=ax+b 꼴의 변환을 뜻하며, 암호학에서는 이를 이용한 아핀 암호와 AES S-박스의 아핀 변환 등에 쓰입니다.
- 아핀 암호 (Affine Cipher)
아핀 암호는 고전적인 수기 치환 암호 중 하나로, 각 문자를 숫자로 바꾼 뒤 수학적으로 F(x) = ax + b (mod n)으로 암호화합니다.
- 알려진 평문 (Known Plaintext)
알려진 평문(Known Plaintext)은 암호에서 공격자가 평문과 그에 대응하는 암호문을 모두 알고 있는 상황을 말합니다. 이를 이용해 비밀 키나 코드북 같은 추가 비밀 정보를 알아낼 수 있습니다.
- 알려진 평문 공격 (Known Plaintext Attack)
알려진 평문 공격(known plaintext attack, KPA)은 공격자가 평문의 일부와 그에 대응하는 암호문을 알고 있는 조건에서 이루어지는 모든 공격으로, 이를 이용해 키를 찾거나 다른 메시지를 해독하려 합니다.
- 알파벳 (Alphabet)
알파벳(alphabet)은 암호학과 정보 이론에서 메시지를 표현하는 데 쓸 수 있는, 미리 정해진 유한한 기호 집합입니다. 흔히 Σ(시그마)로 표기하며, 평문과 암호문, 키와 주소는 모두 어떤 알파벳의 기호를 나열한 문자열로 표현됩니다.
- 암호 (Cipher)
암호(사이퍼)는 키를 사용해 평문을 암호문으로 바꾸고(암호화) 다시 평문으로 되돌리는(복호화) 알고리즘입니다. AES, ChaCha20 같은 현대 암호가 대표적입니다.
- 암호 공학 (Cipher Engineering)
암호 공학은 암호 알고리즘과 그 구현을 설계·평가·운용하는 공학 분야입니다. 암호는 '작동하는지' 직접 관찰할 수 없어, 공개 분석과 보수적 설계로 신뢰를 쌓는 것이 핵심입니다.
- 암호 메커니즘 (Cryptographic Mechanism)
암호 메커니즘(cryptographic mechanism)은 암호화 및 복호화를 위한 프로세스 또는 해당 프로세스를 수행하기 위한 구현(예: 하드웨어, 컴퓨터 소프트웨어, 하이브리드 등)을 말합니다.
- 암호 분류 (Cipher Taxonomy)
암호 분류(cipher taxonomy)는 암호를 이름이나 역사가 아니라 동작 원리와 구조에 따라 체계적으로 묶는 분류 체계로, 서로 다른 암호의 강점과 약점을 비교하는 틀이 됩니다.
- 암호 분석 (Cryptanalysis)
암호 분석(cryptanalysis, 암호 해독)은 암호 알고리즘과 암호 프로토콜을 분석해, 키를 모르는 상태에서 암호문으로부터 평문을 복원하거나 키 자체를 알아내는 방법, 또는 그보다 약한 정보라도 얻어 내는 방법을 연구하는 분야입니다.
- 암호 블록 체이닝 (Cipher Block Chaining, CBC)
Cipher Block Chaining은 블록 암호의 작동 모드입니다. CBC 모드는 블록 단위 변환을 연속으로 이어 붙여 긴 데이터를 처리하는 방식입니다. 따라서 이렇게 구성된 전체 암호는 그 구성 요소인 블록 암호와 달리 전단사(일대일 대응)가 아닙니다.
- 암호 전쟁 (Cryptography War)
암호 전쟁(Cryptography War)은 암호를 만드는 암호학자와 그 암호를 깨려는 암호 분석가 또는 상대방 사이의 지속적인 경쟁을 가리키는 표현입니다. 암호학자는 비밀을 지킬 수 있는 암호를 만들려 합니다.
- 암호 점화 키 (Crypto Ignition Key, CIK)
암호 점화 키(CIK)는 암호 장비의 보안 기능을 켜는 데 필요한 키 자료를 담은 물리적 토큰으로, 장비와 분리해 보관하며 꽂았을 때만 암호 통신이 가능해집니다.
- 암호 체계 (Cipher System)
암호 체계(cipher system, 암호 시스템)는 하나 이상의 암호 알고리즘에, 그 알고리즘을 안전하게 쓰는 데 필요한 키 관리 기능을 더한 전체 시스템을 말합니다.
- 암호 해독 (Break)
암호 해독(break, 깨기)은 키 없이 암호문에서 정보를 얻어내거나, 설계 강도(전수 조사)보다 적은 노력으로 키를 복구하는 데 성공한 공격, 즉 암호를 깨는 것을 말합니다.
- 암호 해시 함수 (Cryptographic Hash Function)
암호 해시 함수(Cryptographic Hash Function)는 개별 파일이나 비밀번호와 같은 데이터에 적용하여 체크섬이라는 값을 생성할 수 있는 알고리즘입니다. 암호화 해시 함수의 주요 용도는 데이터의 진위를 확인하는 것입니다.
- 암호 해시값 (Cryptographic Digest)
해시 함수의 출력값을 암호 해시값(다이제스트, digest)이라고 합니다. 해시값은 하나의 데이터를 나타내는 고정 길이의 고유한 값입니다. 해시 함수에 입력되는 데이터가 아주 조금만 변경되어도 완전히 다른 출력이 생성되므로, 변조 감지를 위해 사용됩니다.
- 암호문 (Ciphertext)
암호문(Ciphertext)은 포함된 정보를 안전하게 유지하기 위해 읽을 수 없도록 만든 텍스트입니다. 이는 암호화의 결과입니다. 평문과는 반대됩니다. 일반적으로 암호문은 무작위로 나타납니다. 암호문의 값은 일반적으로 균형 있게 나타나야 합니다.
- 암호문 단독 공격 (Ciphertext-Only Attack, COA)
암호문 단독 공격(Ciphertext-Only Attack, COA)은 공격자가 암호문만 가지고 평문이나 키를 알아내려는 공격입니다. 암호문만 주어진 조건에서 이루어지는 모든 공격을 말하며, 공격자에게 가장 적은 정보가 주어지는 공격 모델입니다.
- 암호문 자동 키 (Cipher Text Auto-Key, CTAK)
암호문 자동 키(CTAK)는 앞서 만들어진 암호문을 이용해 다음 키스트림을 생성하는 암호 방식으로, 블록 암호의 CFB 모드가 대표적인 예입니다.
- 암호문 피드백 (Cipher Feedback, CFB)
암호문 피드백(CFB)은 직전 암호문 블록을 블록 암호로 암호화해 키스트림을 만들고 이를 평문과 XOR하는 블록 암호 운용 모드로, 블록 암호를 자기 동기식 스트림 암호처럼 쓰게 해 줍니다.
- 암호문 확장 (Ciphertext Expansion)
암호문 확장은 암호화한 결과(암호문)가 원래 평문보다 길어지는 현상으로, 초기화 벡터·논스, 패딩, 인증 태그 같은 추가 데이터 때문에 생깁니다.
- 암호학 (Cryptography)
암호학(cryptography)은 정보를 저장하거나 전송할 때 제3자로부터 보호하기 위한 수학적 기법을 연구하는 학문이자 기술입니다. 이름은 그리스어로 “숨겨진 글쓰기”라는 뜻입니다.
- 암호학 (Cryptology)
암호학(cryptology)은 정보를 보호하는 기법과 그 보호를 깨뜨리는 기법을 함께 연구하는 학문으로, 메시지 보호와 노출의 모든 형태를 다룹니다.
- 암호학자 (Cryptographer)
암호학자는 암호 알고리즘과 프로토콜을 설계하고, 그 안전성을 수학적으로 분석하는 연구자입니다. 새로운 암호를 만드는 일(암호 설계)과 기존 암호의 약점을 찾는 일(암호 분석)을 함께 다룹니다.
- 암호학적 난수 생성기 (Cryptographic Random Number Generator, CRNG)
암호학적 난수 생성기(CRNG, CSPRNG)는 출력 일부를 보아도 다음 값이나 이전 값을 예측할 수 없도록 설계된 난수 생성기로, 키·난스·시드 생성에 반드시 필요합니다.
- 암호화 (Encryption)
암호화는 키와 암호 알고리즘을 사용해 평문을 허가받지 않은 사람이 읽을 수 없는 암호문으로 바꾸는 과정입니다. 올바른 키를 가진 사람만 복호화해 원래 내용을 볼 수 있습니다.
- 암호화-복호화-암호화 (Encipher-Decipher-Encipher, EDE)
암호화-복호화-암호화(EDE)는 같은 블록 암호를 서로 다른 키로 세 번 적용하되 가운데 단계를 복호화로 두는 구성 방식입니다. 대표적인 예는 3중 DES(TDEA)로, 암호문은 C = EK3(DK2(EK1(P)))로 계산합니다.
- 앙상블 평균 (Ensemble Average)
앙상블 평균은 여러 개의 수열(표본 경로)을 모아, 같은 위치에 있는 값들을 수열 전체에 걸쳐 평균낸 것입니다. 한 수열을 시간에 따라 평균내는 시간 평균과 구별됩니다.
- 애너그램 (Anagram)
애너그램(Anagram)은 단어나 구의 글자를 섞어 재배열해 완전히 다른, 인식 가능한 단어, 구 또는 메시지를 만드는 것입니다.
- 애벌랜치 효과 (Avalanche Effect)
애벌랜치 효과(avalanche effect, 눈사태 효과)는 블록 암호나 해시 함수에서 입력(평문이나 키) 1비트만 바뀌어도 여러 라운드를 거치며 변화가 번져, 결국 출력 비트의 약 절반이 예측할 수 없게 바뀌는 성질입니다.
- 약한 키 (Weak Key)
약한 키(weak key)는 특정 암호 알고리즘에서 그 구조 때문에 암호가 비정상적으로 약하게 동작하게 되는 특정 키 값입니다. 사람이 추측하기 쉬운 비밀번호를 뜻하는 것이 아니라, 알고리즘 설계상 예외적으로 나쁜 성질을 갖는 키를 가리킵니다.
- 양자 컴퓨팅 (Quantum Computing)
양자 컴퓨팅(quantum computing)은 중첩과 얽힘 같은 양자역학적 성질을 이용해 정보를 처리하는 계산 방식입니다. 비트 대신 큐비트를 쓰며, 큐비트는 측정 전까지 0과 1이 겹친 중첩 상태에 있을 수 있습니다.
- 엔트로피 (Entropy)
엔트로피는 정보 이론에서 확률 변수의 불확실성을 비트 단위로 잰 값입니다. 암호학에서는 키·비밀번호·시드를 공격자가 얼마나 추측하기 어려운지 나타내는 척도로 씁니다.
- 역함수 (Inverse)
역함수는 함수 f의 결과를 다시 원래 입력으로 되돌리는 함수 f⁻¹로, f⁻¹(f(x)) = x를 만족합니다. 함수가 전단사일 때만 존재합니다.
- 연쇄 암호화 (Cascade Ciphering)
연쇄 암호화(cascade ciphering)는 여러 블록 암호 시스템을 순서대로 연결해 암호화하는 방식이며, 이렇게 연결된 전체를 캐스케이드 암호(cascade cipher, CC)라고 합니다. 연결된 각 시스템을 '단계'라고 합니다.
- 영지식 증명 (Zero Knowledge Proof)
영지식 증명(Zero Knowledge Proof)은 증명자가 검증자에게 어떤 명제가 참이라는 사실을 납득시키면서, 그 명제가 참이라는 사실 외에는 어떤 정보도 알려 주지 않는 암호학적 증명 방식입니다.
- 예상치 못한 거리 (Unexpected Distance)
예상치 못한 거리는 테리 리터가 붙인 이름으로, 불 함수의 비선형도를 계산할 때 고속 월시 변환(FWT)이 내놓는 값, 즉 기대 해밍 거리와 각 아핀 함수까지의 실제 거리의 차이를 말합니다.
- 예측 불가능성 (Unpredictability)
암호학에서 예측 불가능성(unpredictability)은 공격자가 지금까지 나온 출력과 공개된 정보를 모두 알더라도 다음 값을 우연보다 의미 있게 잘 맞힐 수 없는 성질입니다. 키, 논스, 솔트 같은 비밀 값을 만드는 난수 생성기가 갖춰야 할 핵심 요건입니다.
- 오토키 (Autokey)
오토키(autokey) 암호는 메시지 자체를 키 스트림 생성에 다시 사용하는 암호입니다. 처음에는 짧은 비밀 키(프라이머)로 암호화를 시작하고, 그 뒤의 키 스트림은 이미 처리한 평문 또는 암호문으로 채웁니다.
- 와이드 트레일 전략 (Wide Trail Strategy)
와이드 트레일 전략은 요안 대먼과 빈센트 레이먼이 제안한 블록 암호 설계 방법으로, 선형 확산 층을 이용해 차분·선형 공격의 경로(트레일)에 많은 S-박스가 관여하도록 만들어 안전성 한계를 증명 가능하게 합니다. AES의 설계 기반입니다.
- 왜곡 (Garble)
왜곡(garble)은 데이터를 뒤섞어 알아볼 수 없게 만드는 것, 또는 그렇게 알아볼 수 없게 된 결과를 말합니다. 암호학에서는 복호화한 평문의 일부 또는 전체를 알아볼 수 없는 상태를 가리키며, 주로 잘못된 키 사용, 전송 오류, 공격 시도 등으로 발생합니다.
- 원타임 테이프 (One-Time Tape, OTT)
원타임 테이프(One-Time Tape, OTT)는 원타임 패드(OTP)와 같은 원리를 텔레타이프(TTY, 텔렉스) 기기와 천공 종이 테이프로 구현한 암호 방식입니다. 키를 천공 테이프에 담아 한 번만 사용하며, OTT를 사용하는 암호 기계는 종종 믹서 기계라고 불립니다.
- 월시 함수 (Walsh Functions)
월시 함수(Walsh Functions)는 본질적으로는 아핀 부울 함수이지만, 종종 값 {+1, -1}로 표현됩니다. 이러한 함수에는 세 가지 다른 정규 순서가 있습니다. 이러한 함수의 가치는 주로 완전한 직교 함수 집합이라는 데 있습니다.
- 월시-아다마르 변환 (Walsh–Hadamard Transform, WHT)
월시-아다마르 변환(Walsh–Hadamard Transform, WHT)은 일반화된 푸리에 변환 클래스의 한 예로, 2m개의 실수에 대해 직교, 대칭, 대합(정규화했을 때), 선형인 연산을 수행합니다.
- 유일성 거리 (Unicity Distance)
유일성 거리(unicity distance)는 클로드 섀넌이 정의한 개념으로, 가능한 모든 키를 시험하는 공격자에게 의미 있는 평문을 만드는 키가 하나만 남도록 하는 데 필요한 암호문의 최소 길이입니다.
- 유한체의 덧셈군 (Additive Group of F_q)
유한체의 덧셈군(Fq, +)은 원소가 q개인 유한체(위수 q의 유한체) Fq에서 곱셈은 잊고 덧셈만으로 본 군을 나타내는 표기입니다. 유한체의 원소는 덧셈에 대해 결합법칙, 항등원(0), 역원(−a)을 만족하고 교환법칙도 성립하므로 (Fq, +)는 위수 q의 유한 아벨 군입니다.
- 은닉 마르코프 모델 (Hidden Markov Model, HMM)
은닉 마르코프 모델(HMM)은 직접 볼 수 없는 상태가 마르코프 과정으로 변하고, 관측값은 각 상태에 따라 확률적으로 나타난다고 가정하는 통계 모델입니다.
- 음성 암호화 (Ciphony)
오디오 또는 음성 암호화를 말합니다. “암호화된 전화 통신(ciphered telephony)”의 줄임말입니다.
- 의사난수 (Pseudorandom)
의사난수(Pseudorandom)는 통계적 무작위성 검정을 통과하는 결과를 생성할 수 있는 특정 함수의 속성입니다. 결과가 진정으로 무작위임을 의미하지는 않습니다.
- 이산 로그 문제 (Discrete Logarithm Problem, DLP)
이산 로그 문제는 군에서 g와 h = gˣ가 주어졌을 때 지수 x를 찾는 문제로, 큰 군에서는 계산상 어려워 디피-헬만, ECDSA, 슈노르 서명의 안전성 근거가 됩니다.
- 이상적 비밀성 (Ideal Secrecy)
이상적 비밀성은 섀넌이 정의한 개념으로, 공격자가 암호문을 아무리 많이 모아도 키와 평문에 대한 불확실성이 0으로 줄지 않는 상태입니다. 평문에 중복성이 전혀 없을 때 단순한 암호로도 달성됩니다.
- 이상적 혼합 (Ideal Mixing)
이상적 혼합(Ideal Mixing)은 두 가지 뜻으로 쓰입니다. 1. 어떤 입력에서든 값의 변화가 있을 때 모든 출력이 변하도록 보장하는 블록 혼합(block mixing)의 한 형태입니다. 각 출력이 치환 테이블(S-box)에 연결되면 모든 S-box가 활성화됩니다. 2.
- 이퀴해시 (Equihash)
이퀴해시(Equihash)는 룩셈부르크 대학교의 Alex Biryukov와 Dmitry Khovratovich가 개발한 일반화된 생일 문제에 기반한 비대칭 메모리 바운드 작업 증명 시스템입니다. 메모리를 많이 쓰는 특성 때문에 ASIC 채굴을 어렵게 하려는 목적으로 설계되었습니다.
- 이항 연산 (Dyadic)
이항 연산(dyadic operation)은 정확히 두 개의 입력(피연산자, 인수)을 받는 연산 또는 함수입니다. 두 값 x, y를 받아 하나의 결과 f(x, y)를 내며, 입력이 하나인 단항(monadic) 연산과 구별됩니다.
- 인수 (Factor)
인수(因數)는 곱해서 어떤 수나 식을 만드는 각각의 수나 식입니다. 수를 소수들의 곱으로 나타내는 것을 소인수분해라고 하며, 큰 수의 소인수분해가 어렵다는 사실이 RSA의 기반입니다.
- 인증 기관 (Certification Authority)
인증 기관(CA, Certificate Authority 또는 Certification Authority)은 웹사이트, 이메일 주소, 회사, 개인 같은 주체의 신원을 확인하고, 그 신원을 암호화 키에 결합하는 전자 문서(디지털 인증서)를 발급하는 회사 또는 조직입니다.
- 인증 블록 암호 (Authenticating Block Cipher)
인증 블록 암호는 평문 블록 안에 인증용 값(필드)을 함께 넣어 암호화함으로써, 복호화할 때 그 값을 확인해 위조·변조를 탐지하는 블록 암호 방식입니다.
- 일회용 패드 (One-Time Pad, OTP)
일회용 패드(One-Time Pad, OTP)는 텍스트의 암호화 및 복호화에 사용되는 진정으로 무작위적인 숫자 또는 문자 시퀀스입니다.
- 임계값 서명 (Threshold Signature)
임계값 서명은 n명 중 t명 이상이 협력해야 하나의 일반 서명을 만들 수 있는 방식으로, 개인 키 전체가 한곳에 모이지 않으며 슈노르 계열에는 FROST(RFC 9591)가 있습니다.
- 자기동형사상 (Automorphism)
자기동형사상은 군·환·체 같은 대수 구조를 자기 자신으로 보내면서 연산 구조를 그대로 보존하는 일대일 대응(동형사상)입니다.
- 자기상관 (Autocorrelation)
자기상관은 하나의 수열이 일정 간격(지연)만큼 밀린 자기 자신과 갖는 선형 상관입니다. 어떤 값이 앞뒤 값을 선형적으로 얼마나 예측하는지를 나타냅니다.
- 작업 특성 (Work Characteristic)
작업 특성은 섀넌이 정의한 실용적 비밀성의 척도로, 길이 N인 암호문에서 키를 알아내는 데 필요한 평균 작업량 W(N)을 뜻합니다.
- 전단사 (Bijective)
전단사(全單射) 함수는 단사(일대일)이면서 전사(위로)인 함수로, 정의역과 공역의 원소가 정확히 하나씩 짝지어집니다. 전단사 함수만 역함수를 가집니다.
- 전단사 압축 (Bijective Compression)
전단사 압축은 압축 결과로 가능한 모든 비트열이 유효한 원문으로 풀리도록 압축과 해제를 일대일로 맞춘 압축 방식입니다. 틀린 키로 복호화해도 '그럴듯한' 데이터가 나오게 하려는 발상입니다.
- 전부 아니면 전무 변환 (All or Nothing Transform, AONT)
전부 아니면 전무 변환(All or Nothing Transform, AONT)은 혼합된 출력 블록 가운데 하나만 빠져도 원래 입력 블록의 어떤 값도 알아낼 수 없도록 설계된 블록 혼합 함수의 개념입니다. 1997년 로널드 리베스트(Ronald Rivest)가 제안했습니다.
- 전송 보안 키 (Transmission Security Key, TSK)
전송 보안 키(Transmission Security Key, TSK)는 주파수 도약 및 확산 스펙트럼과 같은 전송 보안(TRANSEC) 프로세스를 제어하는 데 사용되는 키입니다.
- 전용 루프 암호화 장치 (Dedicated Loop Encryption Device, DLED)
전용 루프 암호화 장치(Dedicated Loop Encryption Device, DLED)는 두 고정 지점을 잇는 전용 통신 회선(점대점 링크)에서 오가는 데이터 스트림 전체를 암호화하는 범용 하드웨어 암호화 장치입니다.
- 전자 코드북 (Electronic Codebook, ECB)
전자 코드북(Electronic Codebook, ECB)은 블록 암호의 작동 방식(운영 모드)입니다. 이름은 키가 고정되어 있을 때 블록 암호가 실제 코드북처럼 동작한다는 관찰에서 비롯되었습니다. 가능한 각 평문 블록 값에는 해당 암호문 값이 있고 그 반대도 마찬가지입니다.
- 전자 키 관리 시스템 (Electronic Key Management System, EKMS)
전자 키 관리 시스템(Electronic Key Management System, EKMS)은 NSA가 승인한 COMSEC 키 관리 프로그램입니다.
- 전자식 원격 키 주입 (Electronic Remote Fill, ERF)
전자식 원격 키 주입(ERF)은 군용 주파수 도약 무전망에서 망 통제국이 주파수 도약 데이터와 동기 시간을 무선으로 다른 무전기에 전송해 적재하는 방식입니다.
- 전통적인 블록 암호 (Conventional Block Cipher)
전통적인 블록 암호(Conventional Block Cipher)는 블록 암호 가운데 거대한 단순 치환, 즉 거대한 전단사 함수를 모방하는 부류입니다.
- 정보 (Information)
정보 이론에서 정보는 여러 가능한 메시지 가운데 하나를 고를 때의 선택의 자유, 곧 결과를 알기 전의 불확실성이 얼마나 줄어드는지를 재는 양입니다. 가능한 선택지의 수에 로그를 취해 측정하며, 밑이 2인 로그를 쓰면 단위는 비트(bit)입니다.
- 제로코인 (Zerocoin Protocol)
제로코인(Zerocoin 프로토콜)은 비트코인 프로토콜에 코인 믹싱 기능을 기본으로 내장해 트랜잭션의 출처와 사용처 사이의 연결을 끊고 프라이버시를 제공하려는 목적으로 2013년에 제안된 암호화 프로토콜입니다.
- 제로화 (Zeroize)
제로화(키 소거)는 암호 장치나 메모리에 저장된 암호 키와 민감한 보안 데이터를 복구할 수 없도록 덮어쓰거나 지우는 것입니다. 장치 분실·탈취·변조 시도 때 키 유출을 막는 마지막 방어선입니다.
- 조합론 (Combinatorics)
조합론은 유한한 대상을 고르고, 배열하고, 세는 방법을 연구하는 수학 분야입니다. 키 공간 크기, 충돌 확률, 경우의 수 계산의 기초가 됩니다.
- 준동형사상 (Homomorphism)
준동형사상은 같은 종류의 두 대수 구조(예: 두 군, 두 환) 사이에서 연산을 보존하는 사상으로, 군에서는 f(a·b) = f(a)·f(b)를 만족합니다.
- 중간 블록 (Intermediate Block)
중간 블록은 여러 층으로 이뤄진 블록 암호에서 한 층이 처리한 결과로 나와 다음 층의 입력으로 넘어가는 데이터 블록을 말합니다. 하드웨어 구현에서는 층 사이의 배선 자체가 중간 블록이 되기도 합니다.
- 증강 반복 (Augmented Repetitions)
증강 반복(augmented repetitions)은 복원 추출에서 관찰된 반복을 모두 "같은 값을 가진 표본 두 개의 쌍", 즉 2-rep의 개수로 환산해 센 값입니다.
- 지터라이저 (Jitterizer)
지터라이저(jitterizer)는 선형 난수 생성기가 만든 수열에서 일부 요소를 의사 무작위로 삭제해, 수열의 규칙성을 깨고 예측하기 어렵게 만드는 암호 메커니즘입니다. 새 수를 만들어 내는 생성기가 아니라 기존 생성기의 출력을 솎아 내는 장치라는 점이 핵심입니다.
- 차분 암호 분석 (Differential Cryptanalysis, DC)
차분 암호 분석(differential cryptanalysis, DC)은 평문 쌍 사이의 고정된 차이(보통 비트 단위 XOR 차이)가 암호화를 거친 뒤 암호문 쌍 사이에서 키에 따라 예측 가능한 차이로 이어지는 경향을 이용하는 공격 방식입니다.
- 체 (Field)
체(field)는 덧셈·뺄셈·곱셈과 0이 아닌 수로의 나눗셈이 모두 정의되고, 유리수·실수처럼 결합·교환·분배 법칙을 만족하는 집합입니다.
- 체인 (Chain)
암호학에서 체인(Chain)은 일련의 순서로 반복되는 연산으로, 각 결과가 이전 결과 또는 초기 값에 의존하는 구조를 말합니다. 대표적인 예가 블록 암호의 CBC 작동 모드입니다. 흥미롭게도 물리적 체인은 다중 암호화를 설명하는 비유로는 적절하지 않습니다.
- 체커보드 구조 (Checkerboard Construction)
체커보드 구성(checkerboard construction)은 작은 라틴 방진의 각 기호를 서로 다른 기호 집합을 쓰는 또 다른 라틴 방진으로 바꾸어 더 큰 라틴 방진을 만드는 방법입니다. 차수 n인 기본 방진과 차수 m인 작은 방진들로 차수 n×m인 라틴 방진을 얻습니다.
- 체크섬 (Checksum)
체크섬(Checksum)은 초기 형태의 간단한 오류 검출 코드입니다. 일반적으로 16비트처럼 정해진 크기의 레지스터에 담긴 데이터 값들의 합계를 나타냅니다. “체크섬”이라는 용어는 때때로 CRC와 같은 더 정교한 코드를 포함하여 모든 형태의 오류 검출에 적용됩니다.
- 최대공약수 (Greatest Common Divisor, GCD)
최대공약수(GCD)는 주어진 정수들을 모두 나누어떨어지게 하는 가장 큰 양의 정수입니다. 예를 들어, 8과 12의 최대공약수는 4이며 gcd(8, 12) = 4로 씁니다. 두 정수의 최대공약수가 1이면 두 수를 서로소라고 합니다.
- 추출기 (Extractor)
추출기(extractor)는 암호학적 맥락에서 결합기(combiner)의 반대 효과를 내는 메커니즘입니다. 결합기가 평문 데이터와 키 스트림 같은 비밀 값을 섞어 암호문을 만들면, 추출기는 같은 비밀 값을 이용해 암호문에서 원래 데이터를 다시 꺼냅니다.
- 출력 피드백 모드 (Output Feedback, OFB)
출력 피드백 모드(Output Feedback, OFB)는 블록 암호를 스트림 암호처럼 쓰는 작동 모드입니다. 초기화 벡터(IV)를 블록 암호로 반복 암호화해 키스트림을 만들고, 이를 평문과 XOR해 암호문을 얻습니다.
- 카운터 모드 (Counter Mode)
카운터 모드(Counter Mode)는 카운터 값을 암호화해 여러 암호 목적에 쓰는 블록 암호 운용 방식입니다. 보통 카운터와 블록 암호를 결합해 스트림 암호 방식의 난수 생성기(RNG)나 키스트림 생성기로 사용합니다.
- 카이제곱 (Chi-Square)
카이제곱 검정은 범주(빈)별 관측 빈도가 기대 빈도와 얼마나 다른지를 χ² = Σ(O−E)²/E로 계산해 데이터가 가정한 분포를 따르는지 판단하는 적합도 검정입니다.
- 커밋먼트 스킴 (Commitment Scheme)
커밋먼트 스킴은 값을 숨긴 채 먼저 확정해 두고 나중에 공개하는 암호 기법으로, 공개 전에는 내용을 알 수 없고(은닉성) 확정 후에는 바꿀 수 없어야(구속성) 합니다.
- 케르크호프스의 원리 (Kerckhoffs's Principle)
케르크호프스의 원리는 암호 시스템은 키를 제외한 모든 것이 공개되어도 안전해야 한다는 설계 원칙으로, 1883년 아우구스트 케르크호프스가 제시했습니다.
- 케착 (Keccak)
케착(Keccak)은 다재다능한 암호화 함수입니다. 다양한 목적으로 사용되지만, SHA-3 표준(FIPS 202)의 기반이 된 해시 함수로 가장 잘 알려져 있습니다.
- 코드 (Code)
코드(code)는 두 가지 뜻으로 쓰입니다. 첫째, 암호학에서는 비밀 유지를 위해 단어나 구절 같은 의미 단위를 미리 정한 다른 단어, 문자, 숫자 또는 기호로 바꾸어 나타내는 체계를 말합니다. 둘째, 컴퓨터가 실행하는 프로그램 명령어, 즉 소스 코드를 말합니다.
- 코드북 (Codebook)
코드 변환을 정리한 목록, 즉 “책”입니다. 넓게는 그러한 변환 전체의 집합을 가리킵니다. 고전적인 코드북에서는 문자, 자주 쓰는 단어, 유용한 구절에 번호를 매겼고, 이렇게 숫자로 바꾼 메시지가 “암호화된 메시지”였습니다.
- 콜모고로프-차이틴 복잡도 (Kolmogorov-Chaitin Complexity)
콜모고로프-차이틴 복잡도는 어떤 문자열을 출력하고 멈추는 가장 짧은 프로그램의 길이입니다. 짧은 설명이 없는 문자열일수록 복잡도가 높고 '무작위적'이라고 봅니다.
- 크립 (Crib)
크립(crib)은 암호 해독에서 암호문 속에 들어 있으리라 추정하거나 알고 있는 평문 조각으로, 이를 이용해 키나 설정을 찾아내는 기법을 크리빙이라고 합니다.
- 키 (Key)
암호학에서 키(암호 키)는 암호화·복호화, 전자서명, 메시지 인증 같은 암호 연산의 결과를 결정하는 비밀(또는 공개) 값으로, 알고리즘이 공개되어 있어도 키를 모르면 결과를 얻을 수 없게 합니다.
- 키 관리 (Key Management)
키 관리(Key Management)는 키 사용을 지원하는 암호 시스템의 기능입니다.
- 키 기반 치환 (Keyed Substitution)
키 기반 치환은 키에 따라 치환표(S-box)의 배열 순서를 정하는 방식으로, 보통 키로 초기화한 난수 생성기로 표를 섞어 만듭니다.
- 키 분배 문제 (Key Distribution Problem)
키 분배 문제는 대칭 암호를 쓰려면 비밀 키를 상대에게 미리 안전하게 전달해야 하고, 참여자가 늘면 필요한 키 수가 급증한다는 문제입니다.
- 키 분배 센터 (Key Distribution Center, KDC)
키 분배 센터(Key Distribution Center, KDC)는 각 사용자·서비스와 미리 비밀 키를 하나씩 공유해 둔 신뢰할 수 있는 제3자로서, 서로 통신하려는 두 당사자에게 그때그때 쓸 세션 키를 만들어 안전하게 전달하는 암호 시스템의 구성 요소입니다.
- 키 선택 (Key Selection)
키 선택은 여러 개의 키 가운데 특정 메시지나 작업에 쓸 올바른 키를 정확히 고르는 과정으로, 시행착오식으로 여러 키를 시도하지 않도록 키 식별 정보를 함께 관리하는 것이 핵심입니다.
- 키 아카이브 (Key Archives)
키 아카이브는 더 이상 쓰지 않는 이전 암호 키를 안전하게 장기 보관하는 저장소입니다. 과거에 그 키로 암호화한 데이터를 나중에 복호화하거나 검증할 때 사용합니다.
- 키 암호화 키 (Key-Encryption-Key, KEK)
키 암호화 키(Key-Encryption-Key, KEK)는 다른 키(일반적으로 트래픽 암호화 키)를 전송 또는 저장하기 위해 암호화하는 키입니다.
- 키 인증 (Key Authentication)
키 인증은 전달받은 키가 주장하는 소유자의 진짜 키이며 전달 과정에서 바뀌거나 바꿔치기되지 않았음을 확인하는 절차입니다. 공개 키 암호에서는 인증서, 지문 확인, 전자서명 등으로 이루어집니다.
- 키 자동 키 (Key-Auto-Key, KAK)
키 자동 키(key-auto-key, KAK)는 이전 키 값을 이용해 다음 키를 만들어 내는 암호 논리입니다. 키스트림이 평문이나 암호문과 무관하게 생성기 자신의 이전 출력에서만 이어진다는 점이 특징입니다.
- 키 재사용 (Key Reuse)
키 재사용(key reuse)은 같은 암호 키, 또는 같은 키와 같은 일회성 값(논스·IV)을 여러 번이나 여러 용도에 다시 쓰는 것을 말합니다.
- 키 전송 (Key Transport)
키 전송(Key Transport)은 한 당사자가 만든 비밀 키를 암호화해 상대방에게 안전하게 전달하는 키 확립 방식입니다. 양쪽이 함께 키를 계산하는 키 합의와 구분됩니다.
- 키 주입 (Key Fill)
키 주입(Key Fill)은 통신보안(COMSEC)에서 암호 키를 전용 주입 장치(필 장치)로 암호 장비에 안전하게 적재하는 일, 또는 그렇게 적재된 키 자료를 말합니다.
- 키스트림 (Keystream)
암호화된 메시지를 생성하기 위해 평문 메시지와 결합된 무작위 또는 의사 난수 문자의 스트림입니다. 키스트림의 “문자”는 사용 사례에 따라 비트, 바이트, 숫자 또는 A-Z와 같은 실제 문자가 될 수 있습니다.
- 타원곡선 (Elliptic Curve)
타원곡선은 y² = x³ + ax + b 형태의 방정식을 만족하는 점들의 집합으로, 유한체 위에서 점 덧셈이 군을 이루어 공개 키 암호와 전자서명의 수학적 토대가 됩니다.
- 타원곡선 암호 (Elliptic Curve Cryptography, ECC)
타원곡선 암호(ECC)는 유한체 위 타원곡선의 이산 로그 문제에 안전성을 둔 공개 키 암호 체계로, RSA보다 훨씬 짧은 키로 같은 보안 수준을 제공합니다.
- 통제 암호 품목 (Controlled Cryptographic Item, CCI)
통제 암호 품목(Controlled Cryptographic Item, CCI)은 미국 국가안보국(NSA)에서 도입한 용어로, 정보와 보안 통신을 처리하거나 중요한 통신 보안(COMSEC) 기능을 수행하는 암호화 구성 요소가 포함된 장비를 의미합니다.
- 퇴화 사이클 (Degenerate Cycle)
퇴화 사이클은 유한 상태 기계나 난수 생성기에서 상태가 단 하나뿐이어서 자기 자신으로만 돌아가는 사이클입니다. 출력이 변하지 않으므로 암호용 수열 생성기에서는 반드시 피해야 합니다.
- 트래픽 암호화 키 (Traffic Encryption Key, TEK)
트래픽 암호화 키(TEK)는 통신 내용(트래픽)을 실제로 암호화·복호화하는 대칭 키로, 노출 피해를 줄이기 위해 자주 교체됩니다.
- 트렁크 암호화 장치 (Trunk Encryption Device, TED)
트렁크 암호화 장치(Trunk Encryption Device, TED)는 주로 음성과 컴퓨터 데이터로 이루어진 번들(다중화) 데이터 스트림을 한꺼번에 암호화하는 장치입니다.
- 파이스텔 (Feistel)
1960~70년대 IBM 연구원이던 호르스트 파이스텔은 초기 루시퍼 암호와 DES에 사용된 Feistel 구조를 담당했습니다. 파이스텔은 여러 중요한 암호화 특허를 받았습니다.
- 파이스텔 구조 (Feistel Construction)
파이스텔 구조는 블록을 두 반쪽으로 나눠 한쪽에 라운드 함수를 적용한 값을 다른 쪽에 XOR하는 일을 반복하는 블록 암호 설계 방식입니다.
- 페더슨 커밋먼트 (Pedersen Commitment)
페더슨 커밋먼트는 C = v·G + r·H 형태로 값을 숨기는 커밋먼트로, 완전한 은닉성과 덧셈 동형성을 가져 비밀 거래의 금액 숨김에 쓰입니다.
- 펜스드 DES (Fenced DES)
펜스드 DES는 DES 여러 개를 가운데 두고 앞뒤에 바이트 단위 치환표(펜싱 층)와 균형 블록 혼합을 배치해, DES보다 넓은 블록과 강도를 얻으려 한 1990년대 블록 암호 설계입니다.
- 펜싱 계층 (Fencing)
펜싱(펜싱 계층)은 암호 설계에서 작은 치환 표(S-box)를 한 줄로 나란히 늘어놓은 층을 말하며, 도식에서 데이터 사이에 울타리처럼 서 있다고 해서 붙은 이름입니다.
- 펜싱 레이어 (Fencing Layer)
펜싱 레이어(fencing layer)는 미국의 암호 설계자 테리 리터(Terry Ritter)가 쓴 용어로, 작은(따라서 구현하기 쉬운) 키 지정 치환 테이블을 블록의 각 위치에 나란히 적용하는 가변 크기 블록 암호의 레이어입니다.
- 포세이돈 해시 (Poseidon Hash)
포세이돈은 영지식 증명 회로 안에서 적은 제약으로 계산되도록 설계된 소수체 기반 해시 함수로, zk 롤업과 프라이버시 프로토콜에 널리 쓰입니다.
- 표수 (Characteristic)
표수는 체(field)에서 곱셈 항등원 1을 몇 번 더해야 0이 되는지를 나타내는 가장 작은 양의 정수입니다. 그런 수가 없으면 표수는 0이며, 유한체의 표수는 항상 소수입니다.
- 푸리에 급수 (Fourier Series)
푸리에 급수는 주기 함수를 서로 다른 주파수의 사인과 코사인 함수의 (무한) 합으로 나타내는 방법으로, 삼각함수의 직교성을 이용해 각 성분의 계수를 구합니다.
- 푸리에 변환 (Fourier Transform)
푸리에 변환은 시간(또는 공간) 영역의 신호를 주파수 성분으로 분해하는 변환입니다. 디지털 데이터에는 이산 푸리에 변환(DFT)을 쓰며 FFT로 빠르게 계산합니다.
- 피드백 이월 시프트 레지스터 (Feedback with Carry Shift Register, FCSR)
피드백 이월 시프트 레지스터(Feedback with Carry Shift Register, FCSR)는 선형 피드백 시프트 레지스터(LFSR)와 비슷하지만, 피드백 계산에서 생기는 올림수(캐리)를 별도의 메모리에 저장해 다음 계산에 반영하는 수열 생성기입니다.
- 피아트-샤미르 휴리스틱 (Fiat-Shamir Heuristic)
피아트-샤미르 휴리스틱은 대화형 증명에서 검증자의 무작위 도전값을 지금까지의 대화 내용의 해시로 대체해 비대화형 증명이나 전자서명으로 바꾸는 변환 기법입니다.
- 합동 (Congruence)
합동은 두 정수를 n으로 나눈 나머지가 같다는 관계 a ≡ b (mod n)이며, 더 일반적으로는 대수 구조의 연산과 양립하는 동치 관계(합동 관계)를 뜻합니다.
- 합성수 (Composite)
합성수는 1과 자기 자신 외의 약수를 가져, 두 개 이상의 소수(같은 소수 반복 포함)의 곱으로 나타낼 수 있는 1보다 큰 자연수입니다.
- 항등원 (Identity Element)
항등원(identity element)은 집합 위의 이항 연산에서, 어떤 원소와 연산해도 그 원소를 바꾸지 않는 특별한 원소입니다. 집합 S와 연산 ∗에 대해 모든 a에 대해 e ∗ a = a ∗ e = a를 만족하는 원소 e가 항등원입니다.
- 해독 (Decipher)
해독(복호화, Decipher)은 올바른 절차와 적절한 키가 주어졌을 때 암호문에서 숨겨진 정보, 즉 평문을 되살리는 과정입니다. 암호화의 반대입니다.
- 해밍 거리 (Hamming Distance)
해밍 거리(Hamming Distance)는 같은 길이의 두 이진 수열 간의 차이 또는 “거리”를 측정하는 값으로, 특히 두 수열에서 서로 다른 비트의 개수를 의미합니다. 이는 두 수열의 배타적 논리합(XOR) 결과에서 1인 비트의 개수(해밍 가중치)와 같습니다.
- 해시 (Hash)
임의의 크기를 가진 입력 데이터에 대해 해시 함수를 수행하는 행위로, 결과로 무작위처럼 보이는 고정 길이 값이 나오며, 이 값에서 원래 데이터를 복구할 수 없습니다. 해시의 중요한 속성은 특정 문서를 해싱할 때 동일한 알고리즘을 사용하면 항상 동일한 결과가 나온다는 것입니다.
- 해시 함수 (Hash Function)
해시 함수(Hash Function)는 임의의 크기 데이터를 고정 크기 데이터로 매핑하는 데 사용할 수 있는 모든 수학 함수입니다. 같은 입력에는 항상 같은 출력(해시값, 다이제스트)이 나옵니다.
- 형식 증명 (Formal Proof)
형식 증명(Formal Proof)은 수학에서 용어의 의미에 전혀 의존하지 않는 증명입니다. 각 고유한 용어는 명제의 진실성에 영향을 미치지 않고 임의의 고유한 기호로 대체될 수 있습니다.
- 혼돈 (Confusion)
혼돈은 암호에서 키와 암호문 사이의 관계를 최대한 복잡하게 만들어, 암호문을 보고 키를 추론하기 어렵게 하는 성질입니다. 확산과 함께 섀넌이 제시한 설계 원리입니다.
- 혼돈 수열 (Confusion Sequence)
혼돈 수열은 스트림 암호에서 평문과 결합되는 의사난수 수열로, 흔히 키스트림 또는 러닝 키라고 부릅니다.
- 혼합 암호 (Mixing Cipher)
혼합 암호(Mixing Cipher)는 FFT 또는 FWT 유사 혼합 패턴에서 작은 요소들의 균형 잡힌 블록 혼합에 기반한 블록 암호입니다. 각 요소를 다른 요소와 혼합하고, 그 다음 각 쌍을 다른 쌍과 혼합하는 방식으로 모든 요소가 결국 다른 모든 요소와 혼합됩니다.
- 혼합 암호 설계 전략 (Mixing Cipher Design Strategy)
혼합 암호 설계 전략은 키에 따른 치환(혼돈) 계층과 블록 전체를 섞는 혼합(확산) 계층을 정해진 수만큼 번갈아 쌓아 블록 암호를 만드는 설계 방식입니다.
- 화이트닝 (Whitening)
화이트닝은 데이터나 신호를 백색 잡음처럼 치우침과 상관관계가 없는 형태로 바꾸는 처리로, 암호학에서는 주로 블록 암호의 입·출력에 키 값을 XOR하는 키 화이트닝을 뜻합니다.
- 확산 (Diffusion)
확산(diffusion)은 평문의 작은 부분만 바꿔도 그 영향이 암호문 전체에 퍼지도록 하는 성질입니다. 확산은 평문의 통계적 중복성이 암호문의 통계에 「분산」되는 속성을 의미합니다.