현대 암호학

[현대 암호학] 07-4. 기타암호 - 동형 암호

Uggjjini 2021. 6. 29. 11:20

4. 기타암호 - 동형 암호 

동형 암호 versus 블록 체인 versus 양자 암호

 

[참고] 4세대 암호체계 - 동형암호
http://wiki.hash.kr/index.php/동형암호
 
보도자료 - 암호기술혁명 - 동형암호 - IMDARC - 서울대학교
http://imdarc.math.snu.ac.kr/board_apmJ27/3058

 

동형암호 개념

 

동형암호(Homomorphic Encryption)

  • 암호화된 상태에서도 덧셈, 곱셈 등을 보존하여 머신러닝 및 딥러닝이 가능한 공개키 암호기술
  • "격자 기반 암호"의 한 종류이다. 격자기반 암호란 수학계에서 절대 답을 찾을 수 없다고 알려진 "격자 문자(Lattice Problem)를 응용한 암호를 말한다.

 

동형암호는 정보를 암호화한 상태에서 각종 연산을 했을 때, 그 결과가 암호화하지 않은 상태의 연산 결과와 동일하게 나오는 4세대 암호체계를 말한다. 동형암호는 튜링 완전성을 갖는다. 이로부터 통계처리뿐만 아니라 검색, 기계학습까지 가능하다. 동형암호는 데이터를 사용하는 환경에 키가 저장되지 않는다. 키를 함께 제공하지 않고 암호화한 상태의 데이터만 맡겨 계산을 할 수 있게 해줌으로써 보안을 높여 해커의 데이터 유출을 막을 수 있다. 암호화한 상태에서나 하지 않은 상태에서 분석한 결과물의 형태가 같다는 의미에서 '동형(同型)'이라는 이름이 붙었다.

 

 

동형암호의 성질

  • AES와 같은 암호 알고리즘에 암호문을 두개 더하여 복호화할 때, 결과는 두개 더한 값이 나오지 않음
  • RSA나 ECC 등 동형암호는 곱셈 혹은 덧셈 두가지 연산 중 하나를 보존해주는 부분 동형 암호화(Partial Homomorphic Encryption)의 성질을 가짐

 

전체동형암호(Fully Homomorphic Encryption)

  • 동형암호로 데이터를 암호화하면 곱셈과 덧셈 연산 모두를 보존
  • 즉, 동형암호로 두개의 데이터 암호화하면, 두 암호문에 대해 곱셈 또는 덧셈하는 것이 원문에 해당 연산을 하는 것과 같은 효과를 가짐
  • 머신러닝과 딥러닝의 연산은 곱셈과 덧셈으로 표현 가능하므로 동형암호를 이용할 경우 데이터가 암호화된 상태에서도 머신러닝, 딥러닝 데이터 분석 가능

 

동형암호 응용

 

장점

  • 컴퓨터에서 데이터의 모든 계산은 AND, OR, NOT의 논리 게이트로 연산
  • 암호화된 상태로 AND/OR/NOT 연산 -> 컴퓨터로 하는 모든 연산이 가능-> 암호화 이후 검색/통계처리/Machine Learning
  • 해커의 데이터 유출 원천봉쇄

 

단점

  • 암호문 확장: 10~100 K배 -> 0.1~1 K배(대칭키 방식)
  • 암복호화 속도: 수십 ms(AES: 1us, RSA: 1ms)
  • 암호문 연산: 곱셈 수백 ms
  • 응용연산 종류에 따른 속도의 차이가 큼 -> 개별적 최적화