데이터 반출 없는 다 기관 협업 인공지능 학습 인프라

개인정보보호 강화 기술 29

ECC-04. 타원 곡선 디지털 서명 알고리즘(ECDSA)

타원 곡선 암호에서 디지털 서명은 타원 곡선 디지털 서명 알고리즘(ECDSA)을 통해 이루어집니다. 이는 메시지를 보낸 사람이 정말 본인인지(인증), 메시지가 위변조되지 않았는지(무결성), 그리고 서명한 사실을 부인할 수 없도록(부인 방지) 보장하는 기술입니다. ​핵심 원리는 공개 키로는 할 수 없지만 개인 키(비밀 키)로만 쉽게 할 수 있는 수학적 연산을 이용하는 것입니다. 즉, 개인 키 소유자만이 유효한 서명을 생성할 수 있고, 다른 사람들은 해당 개인 키와 쌍을 이루는 공개 키를 이용해 그 서명이 올바른지 검증할 수 있습니다. 앨리스가 밥에게 메시지를 서명하여 보낸다고 가정해 보겠습니다.​1. 키 생성​먼저, 앨리스는 서명과 검증에 사용할 한 쌍의 키를 생성해야 합니다.공통 정보 공유: 서명자와 검..

ECC-03. 타원 곡선 디피-헬만(ECDH) 키 교환

타원 곡선 디피-헬만(ECDH) 키 교환은 타원 곡선 암호(ECC)를 이용하여 안전하게 비밀 키를 공유하는 방법입니다. 이 과정의 보안은 '타원 곡선 이산 로그 문제(Elliptic Curve Discrete Logarithm Problem, ECDLP)'라는 수학적 난제에 기반을 둡니다.​쉽게 말해, 타원 곡선 위의 한 점에서 특정 연산을 반복하여 다른 점을 찾는 것은 쉽지만, 결과 점만 가지고 몇 번의 연산을 했는지 알아내는 것은 계산적으로 매우 어렵다는 원리입니다.​ECDH 키 교환 과정앨리스와 밥이 안전하지 않은 통신 채널을 통해 비밀 키를 공유하려는 상황을 가정해 보겠습니다.초기 설정 공유: 먼저, 앨리스와 밥은 모두가 알아도 되는 공개된 정보 두 가지를 사전에 합의합니다.타원 곡선 (E): 사..

CMATH-11. 암호학에서 유한체를 정의할 때 소수를 사용하는 이유

암호학에서 유한체를 정의할 때 소수($p$)를 사용하는 이유는 단순히 숫자가 커서가 아니라, 수학적으로 '체(Field)'라는 완벽한 대수 구조를 형성하기 위한 필수 조건이기 때문입니다. 물리학에서 계(system)가 붕괴하지 않기 위해 보존 법칙이 필요하듯, 암호 연산이 성립하기 위해서는 모든 원소에 대해 역원(Inverse)이 존재해야 합니다.1. 모든 원소의 역원 존재 (나눗셈의 가능성)가장 핵심적인 이유는 '0을 제외한 모든 원소로 나눌 수 있어야 한다'는 것입니다.합성수($n$)를 사용할 때: 예를 들어 $\pmod 6$의 세계를 가정해 봅시다.$2 \times 3 = 6 \equiv 0 \pmod 6$ 입니다.여기서 $2$에 무엇을 곱해도 $1$이 될 수 없습니다. 즉, 2의 역원($1/2$)..

CMATH-10. 로그 문제, 이산 로그 문제, 타원 곡선 이산 로그 문제

수학적 원리에서 현대 암호학의 정수까지, 로그(Logarithm)라는 개념이 어떻게 진화하며 난이도를 쌓아왔는지 핵심 위주로 정리합니다.1. 로그 문제 (Logarithm Problem)우리가 흔히 아는 실수 체계에서의 로그입니다. 연속적인 공간에서의 연산을 다룹니다.정의: $b^x = y$ 일 때, 지수 $x$를 찾는 문제입니다 ($x = \log_b y$).특징: 공간이 연속적입니다.난이도: 매우 쉬움. 수치 해석적인 방법(Newton's method 등)이나 테일러 급수 전개를 통해 소수점 아래 수만 자리까지도 순식간에 계산할 수 있습니다.비유: 매끄러운 오르막길에서 특정 높이에 도달하기 위해 몇 미터를 걸어야 하는지 찾는 것과 같습니다.2. 이산 로그 문제 (Discrete Logarithm Pr..

ECC-02. 타원 곡선 암호 키 생성

타원 곡선 암호(Elliptic Curve Cryptography, ECC)에서 키 생성은 공개 키 암호 방식의 핵심적인 부분으로, 개인 키와 공개 키라는 한 쌍의 키를 만드는 과정입니다. 이 과정은 타원 곡선 위의 점들을 이용한 수학적 연산을 기반으로 합니다.핵심 개념키 생성 과정을 이해하기 위해서는 몇 가지 기본적인 개념을 알아야 합니다.타원 곡선: 특정 수학 방정식($y^2=x^3+ax+b$ 형태)을 만족하는 점들의 집합입니다. 암호학에서는 유한체(finite field) 상에서 정의된 타원 곡선을 사용합니다.기저점 (G): 타원 곡선 위에 미리 정해진 기준이 되는 점입니다. 이 점은 모든 참여자에게 공개되어 있습니다.개인 키 (d): 사용자가 비밀리에 선택하는 매우 큰 정수입니다. 이 키는 절대로..

CMATH-09. ECDLP가 DLP보다 풀기 어려운 이유

핵심을 한 문장으로 요약하면, 전통적인 DLP를 푸는 데에는 '지름길' 같은 효율적인 공격 알고리즘이 존재하지만, ECDLP에는 아직 그런 '지름길'이 발견되지 않았기 때문입니다.문제의 구조적 차이: 왜 '지름길'이 없을까?두 문제의 난이도 차이는 이들이 정의된 수학적 공간의 근본적인 구조 차이에서 비롯됩니다.​사람 찾기 비유전통적인 DLP: 잘 정돈된 격자 도시에서 특정 번지수(h)를 가진 집을 찾는 것과 같습니다. 이 도시에는 g라는 '이동 규칙'(예: 동쪽으로 1칸, 북쪽으로 2칸)이 있고, 이 규칙을 몇 번(x) 반복하면 목표(h)에 도착하는지 알아내는 것이 문제입니다. 도시가 매우 규칙적이기 때문에, 우리는 지도를 활용하고, 구역을 나누어 탐색하는 등 효율적인 탐색 전략(지름길)을 사용할 수 있..

CMATH-08. 유한체 위의 타원 곡선 이산 로그 문제(ECDLP)

암호학에서 사용되는 타원 곡선 이산 로그 문제(Elliptic Curve Discrete Logarithm Problem, ECDLP)는 반드시 유한체(Finite Field) 위에서 정의됩니다. 우리가 개념을 설명할 때 흔히 보는 부드러운 곡선 그래프는 실수(Real Numbers) 위에서 그려진 것이지만, 이를 직접 암호에 사용하지는 않습니다.실수 위가 아닌, 유한체 위의 점들암호학에 타원 곡선을 사용하기 위해서는 곡선을 이산적이고 유한한 공간으로 가져와야 합니다. 이는 모든 계산을 특정 소수 p로 나눈 나머지, 즉 모듈러 연산(Modular Arithmetic)을 통해 수행함으로써 이루어집니다.개념 (실수 위): $y^2 = x^3 + ax + b$ 방정식의 해가 되는 무한히 많은 점 (x, y)들..

ECC-01. 타원 곡선 암호(ECC)

타원 곡선(Elliptic Curve)은 이름과 달리 타원 모양이 아니며, 특정 수학 방정식을 만족하는 점들의 집합으로 정의됩니다. 이 곡선은 독특한 성질을 가지고 있어 현대 암호학에서 매우 중요한 역할을 합니다.타원 곡선이란?타원 곡선은 일반적으로 다음과 같은 형태의 방정식으로 정의됩니다.$y^2=x^3+ax+b$​여기서 a와 b는 상수이며, 곡선이 특이점(뾰족한 점이나 교차점)을 갖지 않도록$4a^3+27b^2\ne 0$​이라는 조건을 만족해야 합니다. 이 방정식의 해가 되는 모든 점 $(x, y)$와 무한 원점(point at infinity, $\mathcal{O}$)이라고 불리는 특별한 점을 포함하여 타원 곡선을 구성합니다.타원 곡선 예시(출처: 위키피디아)​ 그래프를 보면 알 수 있듯이, 타원..

CMATH-07. 이산 로그 문제를 풀기 어려운 이유

이 문제의 어려움은 간단한 지름길이나 공식이 없어서, 답을 찾으려면 사실상 거의 모든 가능성을 하나하나 확인해야 한다는 데 있습니다.시계 위에서의 점프 게임먼저, 모듈러 연산을 거대한 눈금을 가진 시계라고 상상해 보겠습니다. 일반 시계는 눈금이 12개지만, 암호학에서 사용하는 시계(법, p)는 그 눈금의 수가 상상도 할 수 없을 만큼 많습니다.​쉬운 문제 (앞으로 점프하기)​3을 5번 곱하고 17로 나눈 나머지(3^5 mod 17)를 구하는 것은 쉽습니다. 이는 "17칸짜리 시계에서, 3배씩 점프하는 규칙으로 5번 뛰어라. 최종 위치는 어디인가?"와 같습니다.3^1 → 33^2 → 93^3 → 27 ≡ 10 (mod 17)3^4 → 10 * 3 = 30 ≡ 13 (mod 17)3^5 → 13 * 3 = ..

CMATH-06. 숫자가 아닌 원소들로 구성된 체(Field): 유한체, 함수체

우리가 흔히 아는 유리수, 실수, 복소수 집합 외에도 숫자가 아닌 원소들로 구성된 필드가 존재하며, 수학의 여러 분야에서 매우 중요하게 사용됩니다.​가장 대표적인 예는 유한체(Finite Field) 또는 갈루아 체(Galois Field)와 함수체(Function Field)입니다.유한체 (Finite Fields)유한체는 이름 그대로 원소의 개수가 유한한 필드입니다. 이 필드의 원소들은 우리가 일반적으로 생각하는 숫자가 아니라, 특정 규칙에 따라 연산되는 '기호'나 '상징'으로 볼 수 있습니다.​가장 단순한 유한체의 예는 $Z_p$ (또는 $GF(p)$)입니다. 여기서 $p$는 소수입니다. 이 필드의 원소는 {0,1,2,…,p−1} 이고, 모든 연산은 $p$로 나눈 나머지를 기준으로 하는 모듈러 연산..