비대칭키 암호화 알고리즘(Public Key Enctyption) |
암호화에 사용하는 키와 복호화에 사용하는 키가 다른 암호화 알고리즘이다.
키 생성 알고리즘은 공개 키(Public key)와 개인 키(Private key)를 생성하고,
암호화 알고리즘은 수신자의 공개키를 사용하여 암호문을 생성하고,
복호화 알고리즘은 수신자가 자신의 개인키를 사용해 복호화하는 과정이다.
개인키를 가진 사람 이외에 다른 사람은 암호문의 내용을 확인할 수 없다.
암호화 알고리즘은 무작위 알고리즘을 사용해 암호화를 진행할 때마다 다른 암호문이 나온다.
트랩도어 함수(TDF, Trapdoor Function) |
해시 함수와 같은 일방향 함수는 입력이 주어지면 출력을 계산할 수 있지만, 출력이 주어지면 입력을 계산할 수 없다.
트랩도어 함수도 마찬가지로 출력이 주어지면 입력을 계산할 수 없는데, 키가 주어지면 가능하다.
트랩도어 함수와 대칭키 암호화 기법, 해시 알고리즘을 사용해 비대칭키 암호화 기법을 만들어낼 수 있다.
RSA 알고리즘(Riverst-Shamir-Adleman trapdoor permutation) |
두 개의 소수 $p, q$를 무작위로 선택하고, 두 개의 소수를 곱해 하나의 숫자 $N = p\times q$를 만든다.
$n$보다 작은 자연수 중 n과 서로소인 자연수의 개수를 구한다 ($\phi(n) = (p-1)(q-1)$)
AES 알고리즘에 비해 키가 길고, 속도도 느리고, 암호문의 크기도 큰 단점이 있다.
엘가말(ElGamal) 알고리즘 |
디피-헬먼 키 교환을 기반으로 한 알고리즘이다.
디피-헬먼 키 교환(Diffie-Hellman key exchange)
1. Alice가 소수 $p$와 $1$부터 $p-1$까지의 정수 $g$를 선택해 Bob과 공유한다.
2. Alice가 정수 $a$를 택한다. 이 정수는 외부에 공개되지 않으며, Bob도 모른다.
3. Alice가 $A = g^{a}\mod p$, $g^{a}$를 $p$로 나눈 나머지를 계산한다.
4. Bob이 마찬가지로 정수 $b$를 택해 $B=g^{b}\mod p$를 계산한다.
5. Alice와 Bob이 서로에게 $A$와 $B$를 전송한다.
6. Alice가 $B^{a}\mod p$, Bob이 $A^{b} \mod p$를 계산하여 $g^{ab}\mod p$라는 공통의 비밀키를 공유하게 된다.
두 사람 이외에는 $a$와 $b$를 알 수 없지만 $g$, $p$, $g^{a} \mod p$, $g^{b} \mod p$를 알 수 있다.
이 때 지수 부분을 구하기가 어렵다는 이산대수의 어려움에 기반하여 만들어진 것이 엘가말 알고리즘이다.
신원 기반 암호화(IBE, ID Based Encryption) |
이메일 주소, 전화번호와 같은 사용자의 신원 정보를 공개키로 사용하는 방식이다. 상대방의 신원을 공개키로 사용하기 때문에 인증키를 검증하는 과정이 필요하지 않다.
속성 기반 암호화(ABE, Attribute Based Encryption) |
성별, 나이, 직무 등 사용자를 규정하는 여러 속성을 기반으로 하는 방식으로, IBE의 확장된 방식이라 할 수 있다.
임계 암호화(Threshold Encryption) |
개인 키를 여러 개로 나눈 기법이다. 여러 개로 나눈 키는 여러 사람이 가지며, 이 분산된 키 중 일정 개수 이상이 모이면 복호화할 수 있다.
동형 암호(Homomorphic Encryption) |
암호화된 데이터를 복호화하지 않고도 연산할 수 있는 기술이다.
암호화 상태에서 연산한 결과값을 복호화하면 평문 상태에서 연산한 값과 동일하다.
덧셈과 곱셈 중 하나의 연산만 지원하면 동형 암호, 두 연산 모두 지원하면 완전 동형 암호라 한다.
참고자료
위키피디아
매치업 블록체인을 위한 암호학과 보안성 8주차
'보안 > 블록체인' 카테고리의 다른 글
블록체인 암호학 - 블록 암호 (0) | 2020.11.16 |
---|---|
블록체인 암호학 - 고전 암호, 현대 암호 시스템 (0) | 2020.11.03 |
블록체인 암호학 - 전자 서명 2 (0) | 2020.10.06 |
블록체인 암호학- 전자서명 (0) | 2020.09.22 |
블록체인 암호학 - 작업 증명(PoW), 양자 안정성, 머클 해시 트리 (0) | 2020.09.15 |