암호 프리미티브 (Cryptographic Primitives)
암호화 기본 요소는 모든 안전한 암호 시스템의 기본 빌딩 블록 역할을 하는 근본적이고 저수준의 알고리즘 및 함수입니다.
암호화 기본 요소는 암호 프로토콜 및 시스템의 기초를 형성하는 필수적이고 원자적인 연산입니다. 이들은 수학적으로 건전하고 계산적으로 효율적이도록 설계되었으며, 올바르게 구현되고 사용될 때 알려진 공격으로부터 보안을 제공합니다. 주요 예는 다음과 같습니다.
대칭키 암호화: 암호화 및 복호화에 단일 비밀 키를 사용하는 AES(Advanced Encryption Standard)와 같은 알고리즘.
비대칭키 암호화: 키 교환 및 디지털 서명과 같은 작업을 위해 키 쌍(공개 키 및 개인 키)을 사용하는 RSA 및 ECC(Elliptic Curve Cryptography)와 같은 알고리즘.
암호화 해시 함수: SHA-256과 같은 함수. 모든 입력에서 고정된 크기의 고유한 지문(해시)을 생성하며, 데이터 무결성 및 검증에 사용됩니다.
의사 난수 생성기(PRNG): 무작위로 보이는 숫자 시퀀스를 생성하는 알고리즘으로, 키 및 기타 보안 매개변수 생성에 필수적입니다.
* 메시지 인증 코드(MAC): HMAC와 같은 기술. 공유 비밀 키를 사용하여 메시지의 무결성 및 인증을 보장합니다.
이러한 기본 요소는 엄격하게 검증되며 NIST와 같은 기관에서 자주 표준화되며, 그 보안은 특정 수학적 문제의 계산적 어려움에 달려 있습니다.
graph LR
Center["암호 프리미티브 (Cryptographic Primitives)"]:::main
Rel_cryptographic_hashing["cryptographic-hashing"]:::related -.-> Center
click Rel_cryptographic_hashing "/terms/cryptographic-hashing"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 5살도 이해할 수 있게 설명
암호화 기본 요소를 디지털 보안 도구 상자에서 필수적이고 깨지지 않는 도구라고 생각해보세요. 물리적 보안에 자물쇠와 열쇠가 기본이듯이, 이러한 기본 요소(암호화 알고리즘이나 해시 함수 등)는 비밀 메시지 전송부터 디지털 신원 확인까지 안전한 디지털 시스템을 구축하는 데 사용되는 기본적이고 신뢰할 수 있는 구성 요소입니다.
🤓 Expert Deep Dive
암호화 기본 요소는 암호화 구성을 뒷받침하는 환원 불가능한 기본 알고리즘입니다. 이들의 보안은 특정 적대적 모델에 대해 형식적으로 정의되며, 종종 (예: 인수분해, 이산 로그) 기본 수학 문제의 계산적 어려움이나 정보 이론적 원리에 대한 가정에 의존합니다. 주요 범주에는 다음이 포함됩니다.
블록 암호/스트림 암호: GCM과 같은 다양한 모드의 AES 및 ChaCha20과 같은 대칭 기본 요소. IND-CPA 및 IND-CCA와 같은 속성에 대해 분석됩니다.
공개 키 암호화 방식: 기밀성을 제공하는 RSA-OAEP 및 ECIES와 같은 비대칭 기본 요소.
디지털 서명 방식: 인증 및 부인 방지를 제공하는 RSA-PSS, ECDSA 및 EdDSA와 같은 비대칭 기본 요소.
암호화 해시 함수: 충돌 저항성, 원상 저항성, 두 번째 원상 저항성과 같은 속성을 요구하는 SHA-3와 같은 함수.
키 유도 함수(KDF): 공유 비밀 또는 비밀번호에서 암호화 키를 생성하는 데 사용되는 HKDF와 같은 알고리즘.
커밋먼트 스킴: 한 당사자가 나중에 값을 공개할 수 있도록 하는 프로토콜로, 무결성을 보장합니다.
복잡한 암호 시스템의 보안 증명은 일반적으로 환원 논증을 통해 설정되며, 시스템에 대한 성공적인 공격이 기본 어려운 문제의 해결 가능성을 암시함을 보여줌으로써 공격자의 이점을 제한합니다.