동형암호
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
동형암호는 암호화된 상태에서 데이터를 연산할 수 있는 암호화 방식이다. 복호화 과정이나 비밀 키 없이도 암호화된 데이터에 연산을 수행할 수 있으며, 그 결과 역시 암호화된 상태로 유지된다. 동형암호는 부분 동형 암호, 완전 동형 암호, 1~4세대 FHE 등으로 분류되며, 2009년 크레이그 젠트리에 의해 완전 동형 암호가 처음 제안되었다. RSA, ElGamal, Paillier 등 다양한 암호 방식이 부분 동형성을 가지며, HEAAN과 같은 4세대 동형암호는 기계 학습 등 근사 연산에 활용된다. 동형암호는 프라이버시 보호 데이터 분석, 금융 데이터 결합, 코로나 확진자 동선 확인 앱 등에 활용되었으며, 표준화 기구와 하드웨어 가속 연구를 통해 산업적 활용을 위한 노력이 진행 중이다.
더 읽어볼만한 페이지
- 공개 키 암호 - 공개 키 기반 구조
공개 키 기반 구조(PKI)는 공개 키 암호화를 기반으로 안전한 통신과 개체 식별을 가능하게 하는 기술로서, 디지털 인증서를 통해 공개 키를 특정 개체에 연결하고 인증서를 관리하며, 인증 기관(CA), 등록 기관(RA) 등 다양한 구성 요소로 이루어져 인증서 발급, 관리, 배포, 사용 및 폐기와 관련된 역할, 정책, 하드웨어, 소프트웨어 및 절차의 집합을 포함한다. - 공개 키 암호 - DNSSEC
DNSSEC는 DNS의 보안 취약점을 개선하기 위해 도메인 정보에 디지털 서명을 추가하여 응답 레코드의 무결성을 보장하고 DNS 위장 공격을 막는 기술로, RRSIG, DNSKEY 등 다양한 리소스 레코드 유형을 사용하여 인증 체인을 구성하며 공개 키 암호 방식을 활용한다. - 암호학 - 양자 컴퓨터
양자 컴퓨터는 양자역학적 현상을 이용하여 정보를 처리하는 컴퓨터로, 큐비트를 통해 0과 1을 동시에 표현하여 특정 연산에서 기존 컴퓨터보다 빠른 속도를 보이며 암호 해독, 신약 개발 등 다양한 분야에 혁신을 가져올 것으로 기대된다. - 암호학 - 암호화
암호화는 정보를 보호하기 위해 사용되는 기술로서, 단순한 문자 치환 방식에서 시작하여 현대에는 강력한 암호화 표준과 다양한 종류로 발전했으며, IT 시스템 전반에 적용되지만, 사이버 공격과 양자 컴퓨팅의 발전에 대한 대응이 필요한 기술이다.
동형암호 | |
---|---|
개요 | |
관련 분야 | 함수 암호화 |
상세 정보 | |
기반 | 오류를 동반한 학습 문제, 링 오류를 동반한 학습 문제, RSA (곱셈), 기타 가정 |
2. 설명
동형암호는 암호화의 한 형태로, 비밀 키에 접근하지 않고 암호화된 데이터를 이용해 연산을 수행할 수 있는 추가적인 기능을 제공한다.[3] 이러한 연산의 결과는 여전히 암호화된 상태로 유지된다. 동형암호는 공개 키 암호화의 확장된 형태로 볼 수 있다. ''동형(Homomorphic)''이라는 용어는 대수학의 준동형사상에서 유래했는데, 암호화 및 복호화 함수는 평문 공간과 암호문 공간 사이의 준동형사상으로 작동한다고 간주할 수 있다.
수학적으로 표현하면, 두 암호문 과 가 주어졌을 때, 평문이나 비밀 키 없이 를 계산할 수 있다. 여기서 는 덧셈 이나 곱셈 과 같은 이항 연산자를 의미한다. 예를 들어, 덧셈에 대해 동형성을 가지는 암호 방식이라면 과 로부터 를 계산하는 것이 가능하다.
동형암호는 지원하는 연산의 종류와 복잡성에 따라 여러 유형으로 나뉜다.[3]
종류 | 설명 |
---|---|
부분 동형 암호화 (Partially Homomorphic Encryption, PHE) | 덧셈 또는 곱셈과 같이 단일 종류의 연산만을 지원한다. |
다소 동형 암호화 (Somewhat Homomorphic Encryption, SHE) | 덧셈과 곱셈 두 종류의 연산을 제한된 횟수만큼만 지원한다. 즉, 특정 복잡도 이하의 회로만 계산 가능하다. |
레벨 완전 동형 암호화 (Leveled Fully Homomorphic Encryption) | 미리 정해진 깊이까지의 회로에 대해서는 덧셈과 곱셈 연산을 제한 없이 수행할 수 있다. |
완전 동형 암호화 (Fully Homomorphic Encryption, FHE) | 덧셈과 곱셈 연산을 무제한으로 수행할 수 있어, 임의의 함수를 암호화된 데이터 상에서 계산할 수 있다. 가장 강력한 형태의 동형암호이다. |
동형암호라는 개념은 1978년 리베스트(Rivest), 애들먼(Adleman), 더르토조스(Dertouzos)가 공동으로 저술한 논문[71]에서 처음 제안되었다. 이들은 데이터베이스 운영이 어려운 소규모 사업자가 외부 업체에 데이터 처리를 맡기면서도 데이터 프라이버시를 보호하는 시나리오를 제시했는데, 이는 오늘날 클라우드 컴퓨팅 환경에서의 외주계산 개념과 유사하다.
덧셈과 곱셈 두 연산을 모두 무제한으로 지원하는 완전 동형 암호는 오랫동안 이론적으로만 가능성이 제시되었으나, 2009년 크레이그 젠트리(Craig Gentry)가 처음으로 구체적인 방법을 발표했다.[70]
대부분의 동형 암호화 방식에서 회로의 곱셈 깊이(곱셈 연산의 최대 중첩 횟수)는 암호화된 데이터에 대한 연산을 수행하는 데 있어 주된 실질적인 제약 사항이다. 또한 동형 암호화 방식은 본질적으로 가변성을 가지며, 이로 인해 비동형 암호 방식보다 약한 보안 특성을 가질 수 있다.
동형성은 암호 프로토콜을 설계하는 데 매우 유용한 성질이지만, 암호문만으로 평문의 일부 조작이 가능하다는 특성 때문에 일반적인 암호화 목적에는 신중하게 사용되어야 한다. 예를 들어, 파이엘(Paillier) 암호와 같이 덧셈에 대해 동형적인 성질을 가지는 암호 방식에서는, 공개된 값 와 암호문 으로부터 을 계산하는 것이 가능하다. 구체적으로 파이엘 암호에서는 와 으로부터 를 계산함으로써 의 암호문을 얻을 수 있다.
3. 동형암호의 종류와 역사
초기 연구는 주로 특정 연산만을 지원하는 부분 동형 암호(PHE)에 집중되었다. 1998년 발표된 Okamoto-Uchiyama[72]와 이를 개선하여 1999년에 발표된 Paillier 스킴[73]은 덧셈 동형 암호의 예시이다. 그 이전에도 RSA나 유한체 상의 엘가말 암호처럼 곱셈을 지원하는 암호나, 1982년 발표된 최초의 증명가능한 암호인 Goldwasser-Micali 스킴처럼 배타적 논리합(XOR) 연산을 지원하는 암호가 있었다. 이들은 암호화된 상태에서 덧셈 또는 곱셈 중 하나의 연산만을 제한 없이 수행할 수 있다.
1978년 논문[71]에서는 덧셈과 곱셈 연산을 모두 지원하여 임의의 계산(튜링 완전성)이 가능한 완전 동형 암호(FHE)의 개념도 제시되었다. 하지만 당시 제안된 스킴들은 모두 공격에 의해 취약점이 드러났으며[71], 마지막 남은 스킴마저 1981년 Brickell-Yacobi의 논문에서 제시된 기지 평문 공격(Known Plaintext Attack)으로 깨졌다. 이후 대수학 이론을 이용한 다양한 시도가 있었지만, Domingo-Ferrer의 암호 스킴이 깨진 이후[Cheon-Kim-Nam06]에는 주목할 만한 제안이 나오지 않았다. 오히려 Boneh-Lipton96처럼 동형암호의 불가능성을 증명하려는 연구나, 유한체 간 동형 연산을 보존하는 복호화 함수는 다항식 시간에 공격 가능하다는 연구[Maurer-Raub07] 등이 발표되기도 했다.
동형 암호 연구의 돌파구는 2009년 크레이그 젠트리가 제시한 연구에서 마련되었다. 젠트리는 먼저 제한된 횟수의 연산만 가능한 '유한 동형 암호(Somewhat Homomorphic Encryption, SHE)'를 설계했다. SHE는 연산을 반복하면 암호문에 포함된 '잡음(noise)'이 증가하여 결국 복호화가 불가능해지는 한계가 있었다. 젠트리는 이 잡음을 초기화하는 '재부팅(bootstrapping)' 기법을 고안하여, 이론상 무한한 연산이 가능한 최초의 완전 동형 암호(FHE)를 구성했다. 이 성과는 2011년 MIT 테크놀로지 리뷰에서 10대 혁신 기술로 선정되었고, 미국 DARPA에서도 관련 연구([https://www.darpa.mil/program/programming-computation-on-encrypted-data PROCEED])를 지원하는 등 큰 주목을 받았다. 이후 동형 암호 기술은 성능과 효율성을 개선하며 여러 세대에 걸쳐 발전해왔다.
3. 1. 부분 동형 암호 (Partially Homomorphic Encryption, PHE)
부분 동형 암호(Partially Homomorphic Encryption, PHE)는 암호화된 데이터에 대해 덧셈 또는 곱셈 중 한 가지 연산만을 제한 없이 수행할 수 있는 암호 시스템을 의미한다. 이는 완전 동형 암호로 나아가는 과정에서 개발된 중요한 단계이다.[5] 여러 종류의 부분 동형 암호 방식이 제안되었으며, 대표적인 예시는 다음과 같다.
아래 설명에서 는 메시지 를 암호화한 결과(암호문)를 나타낸다.
'''패딩 없는 RSA'''
RSA 암호에서 공개 키가 모듈러스 과 암호화 지수 일 때, 메시지 의 암호문은 이다. 두 암호문 과 를 곱하면 다음과 같이 곱셈에 대한 동형 성질을 만족한다.
:
즉, 두 암호문의 곱은 두 원본 메시지의 곱을 암호화한 것과 같다.
'''ElGamal'''
ElGamal 암호 시스템에서, 위수가 소수 인 순환군 를 사용하고 공개 키가 (여기서 , 는 비밀 키)일 때, 메시지 의 암호문은 임의의 에 대해 이다. 두 암호문 과 를 성분별로 곱하면 다음과 같이 곱셈에 대한 동형 성질을 만족한다.
:
이 또한 두 암호문의 곱이 두 원본 메시지 곱의 암호문과 같음을 보여준다. ElGamal 암호는 약간의 변형을 통해 덧셈에 대한 동형 성질을 갖도록 만들 수도 있다.
'''Paillier'''
Paillier 암호 시스템에서 공개 키가 모듈러스 과 기저 일 때, 메시지 의 암호문은 임의의 에 대해 이다. 두 암호문 과 를 곱하면 다음과 같이 덧셈에 대한 동형 성질을 만족한다.
:
즉, 두 암호문의 곱은 두 원본 메시지의 합을 암호화한 것과 같다.
'''기타 부분 동형 암호 시스템'''
위에서 언급된 방식 외에도 여러 부분 동형 암호 시스템이 존재한다.3. 2. 완전 동형 암호 (Fully Homomorphic Encryption, FHE)
암호문을 대상으로 임의의 연산을 지원하는 암호 시스템을 완전 동형 암호(Fully Homomorphic Encryption, FHE)라고 한다. 이는 암호화된 상태에서 덧셈과 곱셈 연산을 횟수 제한 없이 자유롭게 수행할 수 있음을 의미하며, 이를 통해 암호화된 데이터에 대해 원하는 모든 종류의 계산 처리가 가능하다.
이러한 특징 덕분에, FHE는 암호화된 데이터를 복호화하지 않고도 특정 기능을 수행하는 프로그램을 실행하여 그 결과 역시 암호화된 형태로 얻을 수 있게 한다. 데이터 소유자는 자신의 민감한 원본 데이터를 외부에 노출하지 않으면서도, 신뢰하기 어려운 외부 컴퓨팅 자원(예: 클라우드 컴퓨팅 서비스)을 활용하여 데이터 분석이나 복잡한 연산을 수행할 수 있다. 이는 특히 클라우드 컴퓨팅 환경에서 프라이버시를 보호하며 비공개 계산을 아웃소싱해야 하는 경우 매우 실용적인 의미를 지닌다.
최초의 FHE 구성 방법은 2009년 크레이그 젠트리에 의해 제안되었으며, 이후 FHE의 성능과 효율성을 개선하기 위한 다양한 연구가 활발히 진행되고 있다.
3. 2. 1. 1세대 FHE
2009년 크레이그 젠트리(Craig Gentry)가 처음 제안한 동형암호를 1세대로 구분한다. 젠트리는 격자 기반 암호화를 이용하여 최초로 완전 동형 암호화(FHE) 방식을 제시했다.[9] 이 방식은 암호문에 대한 덧셈과 곱셈 연산을 모두 지원하여, 암호화된 데이터 상에서 임의의 계산을 수행하는 회로를 만들 수 있게 한다.
젠트리의 방식은 '어느 정도 동형(somewhat homomorphic)' 암호화에서 출발한다. 이 방식은 암호화된 데이터에 대해 제한된 수준의 연산(저차 다항식 평가 등)만 가능하다. 각 암호문에는 일종의 '노이즈'가 포함되어 있는데, 암호문끼리 덧셈이나 곱셈 연산을 수행할 때마다 노이즈가 증가한다. 노이즈가 일정 수준 이상으로 커지면 최종 암호문을 올바르게 해독할 수 없게 되는 한계가 있다.
젠트리는 이 '어느 정도 동형' 암호화를 '부트스트랩 가능(bootstrappable)'하게 만드는 방법을 제시했다. 이는 암호화 방식이 자기 자신의 복호화 과정을 암호화된 상태에서 실행할 수 있음을 의미한다. 이를 통해 노이즈가 많이 쌓인 암호문을 복호화한 뒤 다시 암호화하는 과정을 거쳐, 동일한 값을 가지면서 노이즈가 줄어든 새로운 암호문을 얻을 수 있다. 이 '부트스트래핑(bootstrapping)' 과정을 주기적으로 적용하면, 노이즈가 과도하게 증가하는 것을 막고 임의의 횟수만큼 덧셈과 곱셈 연산을 수행할 수 있게 되어 완전 동형 암호화를 달성한다.
젠트리 방식의 보안은 두 가지 수학적 문제의 어려움에 기반한다. 하나는 이상 격자(ideal lattice)에 대한 특정 최악의 경우 문제이고, 다른 하나는 희소 부분 집합 합 문제(sparse subset sum problem)이다.[10] 젠트리의 초기 구현(젠트리-할레비 구현)은 기본적인 비트 연산 하나를 처리하는 데 약 30분이 소요될 정도로 매우 느렸으나,[11] 이후 지속적인 연구를 통해 성능이 크게 개선되었다.
2010년에는 마르텐 반 다이크(Marten van Dijk), 크레이그 젠트리, 샤이 할레비(Shai Halevi), 비노드 바이쿤타나탄(Vinod Vaikuntanathan)이 두 번째 완전 동형 암호화 방식을 발표했다.[12] 이 방식은 젠트리의 아이디어를 활용하면서도 이상 격자를 사용하지 않는다. 대신 정수(integer)를 기반으로 하는 더 간단한 '어느 정도 동형' 암호화 방식을 사용한다. 이 방식은 개념적으로 젠트리의 방식보다 단순하지만, 효율성이나 동형 연산 능력 면에서는 유사한 특징을 보인다. 이 연구에서 사용된 '어느 정도 동형' 방식은 2008년 레비엘과 데이비드 나카체(David Naccache)가 제안한 암호 방식[13] 및 1998년 브람 코헨(Bram Cohen)이 제안한 방식과 유사점을 가진다.[14] 참고로 코헨의 방식은 덧셈 동형조차 아니며, 레비엘-나카체 방식은 기본적으로 덧셈만 지원하지만 약간의 수정을 통해 제한적인 곱셈도 지원할 수 있다. 이후 장-세바스티앙 코론, 탱크레데 레포인트, 아브라디프 만달, 데이비드 나카체, 메디 티부치 등에 의해 반 다이크 등의 방식을 개선하고 최적화하는 여러 연구가 진행되었다.[15][16][17][18]
3. 2. 2. 2세대 FHE
2011년 Brakerski, Gentry, Vaikuntanathan 등이 발표한 논문[74]에서 곱셈 시 발생하는 잡음(noise)의 크기를 효과적으로 줄이는 기법이 제안되었다. 이 기법은 재부팅(bootstrapping) 없이 수행 가능한 곱셈 횟수를 암호문 길이에 대해 지수적으로 늘릴 수 있게 했는데, 이를 모듈러스 교환(modulus-switching) 또는 키 교환(key-switching)이라고 부른다. 이러한 기법을 도입한 암호 방식들을 2세대 동형암호라고 칭한다.[75]
2세대 동형암호 시스템들은 1세대보다 훨씬 효율적인 준동형 및 완전 동형 암호 시스템 개발을 가능하게 했다. 주요 방식들은 다음과 같다.
이 방식들 대부분은 링 학습 오류 문제(Ring Learning With Errors, RLWE)의 어려움에 기반한다. 다만, LTV와 BLLN 방식은 NTRU 계산 문제의 변형에 의존하는데,[25] 이 변형은 이후 부분 필드 격자 공격(subfield lattice attacks)에 취약하다는 점이 밝혀져[26][25] 현재는 실제로 사용되지 않는다.
모든 2세대 암호 시스템은 기본적으로 젠트리의 초기 구성 방식을 따른다. 즉, 먼저 준동형 암호 시스템을 구축하고, 필요에 따라 부트스트래핑 과정을 통해 완전 동형 암호 시스템으로 변환하는 방식이다.
2세대 암호 시스템의 가장 큰 특징은 동형 연산 중 잡음 증가 속도가 훨씬 느리다는 점이다. 크레이그 젠트리, Shai Halevi, Nigel Smart 등의 추가적인 최적화를 통해, 보안 매개변수 로 암호화된 데이터에 대해 개의 연산을 수행할 때 의 복잡성만 갖는 거의 최적의 점근적 복잡성을 달성했다.[27][28][29] 이러한 최적화는 Smart-Vercauteren 기법을 기반으로 하는데, 이는 단일 암호문에 여러 평문 값을 묶어(packing) SIMD 방식으로 병렬 처리할 수 있게 해준다.[30] 이러한 2세대 암호 시스템의 발전 중 상당수는 정수 기반 암호 시스템에도 적용되었다.[17][18]
또한, 2세대 방식은 부트스트래핑 없이 레벨 동형암호(Leveled FHE) 모드로 작동하더라도 많은 응용 분야에서 충분히 효율적이라는 장점을 가진다.
3. 2. 3. 3세대 FHE
2013년 크레이그 젠트리(Craig Gentry), 아미트 사하이(Amit Sahai), 브렌트 워터스(Brent Waters) (GSW)는 논문을 통해 동형 암호 곱셈 과정에서 발생하는 잡음을 줄이고, 비용이 많이 드는 "재선형화"(relinearization) 단계를 제거하는 새로운 기술을 제안했다.[31] 이러한 기술을 활용하는 동형암호를 3세대 동형암호라고 부른다.즈비카 브라케르스키(Zvika Brakerski)와 비노드 바이쿤타나탄(Vinod Vaikuntanathan)은 GSW 암호 시스템이 특정 유형의 회로에서 잡음 증가율이 훨씬 느려 효율성이 높고 보안성이 강화된다는 점을 발견했다.[32] 이후 제이콥 알페린-셰리프(Jacob Alperin-Sheriff)와 크리스 페이커트(Chris Peikert)는 이를 기반으로 매우 효율적인 부트스트래핑 기술을 개발했다.[33]
이러한 기술들은 더욱 개선되어 GSW 암호 시스템의 효율적인 링 변형인 FHEW (2014)[48] 및 TFHE (2016)[49] 스킴 개발로 이어졌다. FHEW 스킴은 평문을 1 비트로 제한하는 대신 매우 빠른 새로 고침(refreshing)을 가능하게 했으며, 단일 연산 후 암호문을 새로 고침으로써 부트스트래핑 시간을 몇 초 이내로 줄일 수 있음을 처음으로 보여주었다. 또한 FHEW는 부트스트래핑을 크게 단순화하고, 암호화된 데이터에 대한 부울 게이트를 계산하는 새로운 방법을 도입하여 부트스트래핑 절차의 변형을 구현했다.[33] FHEW의 효율성은 TFHE 스킴에서 더욱 개선되었는데, TFHE는 FHEW와 유사한 방법을 사용하여 부트스트래핑 절차의 링 변형을 구현했다.[34] FHEW와 TFHE 스킴은 각각 Ducas-Micciancio (2014)와 Chillotti-Gama-Georgieva-Izabachene (2016)에 의해 제안되었다.
3. 2. 4. 4세대 FHE
2016년 천정희, 김형찬, 김한솔, 송형곤 연구팀(CKKS)은 새로운 동형암호 방식인 혜안(HEaaN)을 발표하며 4세대 동형암호의 시작을 알렸다.[80][35] 혜안 스킴은 기존 동형암호가 지원하던 덧셈과 곱셈 연산 외에 반올림 연산을 암호화된 상태에서 매우 효율적으로 처리할 수 있다는 특징을 가진다. 이전 세대 동형암호에서도 반올림 연산 자체는 가능했지만, '재부팅(bootstrapping)'에 준하는 매우 복잡하고 느린 연산이 필요했다. 반면, 혜안 스킴은 반올림 연산을 덧셈 연산 수준의 속도로 빠르게 처리할 수 있도록 개선하여 산술 연산의 성능을 크게 향상시켰다.[80]실제로 이러한 개선 덕분에, 비트당 30분이 걸리던 재부팅 연산 시간이 2019년에는 0.5ms 수준으로 단축되어 약 300만 배의 성능 향상을 이루었다. 이는 매년 평균 8배씩 성능이 개선된 셈인데, 특히 최근 3년간의 발전은 혜안 스킴의 기여가 컸다. 혜안 스킴은 또한 블록 부동 소수점 산술과 유사한 방식의 근사 계산을 지원하며, 곱셈 연산 후 암호화된 메시지의 크기를 효율적으로 줄이는 '스케일링(scaling)' 연산을 포함한다. 다른 방식들(예: BGV, BFV)에서는 이러한 스케일링을 위해 부트스트래핑이 필요한 경우가 많지만, CKKS 방식은 이를 효율적으로 처리하여 다항식 근사 계산에 매우 유리하다. 이러한 장점 덕분에 혜안 스킴은 [https://www.youtube.com/watch?v=culuNbMPP0k&feature=youtu.be&t=3397 프라이버시 보존 기계 학습 응용 프로그램]과 같이 근사 연산을 많이 사용하는 분야의 상용화 가능성을 높였다.[35]
다만 CKKS 방식은 근사치를 다루기 때문에, 계산 과정에서 여러 종류의 근사 오류(비결정론적 오류 및 결정론적 오류)가 발생할 수 있으며, 이를 적절히 처리하는 것이 중요하다.[36] 또한 2020년에는 Baiyu Li와 Daniele Micciancio가 CKKS 방식에 대한 특정 조건에서의 수동 공격(passive attack) 가능성을 제기하는 논문을 발표했다. 이들은 복호화 결과가 공유되는 특정 상황에서는 표준적인 암호 안전성 정의(IND-CPA)만으로는 충분하지 않을 수 있으며, 실제로 여러 동형암호 라이브러리(HEAAN, SEAL, HElib, PALISADE)에서 특정 설정 하에 비밀 키 복구가 가능함을 보였다. 하지만 동시에 이러한 공격에 대한 완화 방안도 제안했으며, 해당 라이브러리들은 이 논문이 공개되기 전에 이미 관련 보안 업데이트를 적용한 상태였다.[37][38][39]
3. 3. 평문 데이터 구조에 따른 동형 암호 분류
wikitext스킴 | 평문 데이터 구조 |
---|---|
TFHE | bit |
CKKS | double |
BFV | int |
4. 동형암호의 활용 및 전망
동형암호는 프라이버시 보존 데이터 분석 분야에 적용될 수 있으며[71], 금융·의료·교육 등 다양한 분야의 데이터를 안전하게 보호하면서 활용하는 데 쓰일 수 있다. 준동형 암호의 경우 전자 화폐나 전자 투표, 그리고 암호 프로토콜 설계에 활용되는 익명 전송 프로토콜 등에도 응용된다.
대한민국에서는 2019년 12월, 금융위원회가 동형암호를 혁신금융서비스로 지정하여 금융 분야 데이터 결합에 동형암호를 활용할 수 있는 임시적인 제도를 마련했다. 이를 통해 KCB의 금융정보 230만 명분과 국민연금의 연금 납부 데이터를 암호화된 상태로 결합하여 통계 분석을 수행하고 그 결과를 발표하기도 했다.[http://news.kbs.co.kr/news/view.do?ncd=4471943]
기술적으로 동형암호는 암호학적 연구와 수학적 알고리즘 개선을 통해 속도가 꾸준히 향상되어 왔다. 현재 암호문 상태에서의 연산 속도는 평문 상태 연산 대비 평균 1000배 수준에 이르렀으나, 산업적으로 널리 활용되기 위해서는 추가적인 속도 개선이 필요하다. 이를 위해 소프트웨어(SW) 최적화와 더불어 동형암호 연산을 위한 전용 하드웨어(HW) 가속기 연구가 진행되고 있다. 2020년 미국 DARPA는 평문 연산 대비 10배 수준의 HW 가속기 개발을 목표로 하는 3000만달러 규모의 [https://www.darpa.mil/news-events/2020-03-02 DPRIVE 과제]를 공모하기도 했다. 이러한 HW 가속기가 개발되면 다양한 데이터 분석뿐만 아니라 자율주행 자동차와 같이 실시간 연산이 중요한 분야까지 동형암호의 응용 범위가 더욱 확대될 것으로 전망된다.
동형암호의 산업적 활용을 위해서는 표준화 역시 중요한 과제이다. 국제적으로는 2017년 관련 학계, 기업, 정부 기관 등이 참여하는 동형암호 표준화 기구([http://homomorphicencryption.org/ HomomorphicEncryption.org])가 발족되어 활동하고 있으며 (자세한 내용은 #국제 표준화 노력 참조), 2020년 4월에는 마이크로소프트, 인텔 등이 주도하여 ISO에 BGV/BFV와 HEaaN 두 가지 스킴을 기반으로 하는 완전동형암호 표준을 제안했다. 표준 제정까지는 약 3년 정도의 시간이 소요될 것으로 예상된다. 대한민국에서는 2019년 TTA에 의해 HEaaN이 국내 표준으로 제정 및 공표되었다.
4. 1. 대한민국에서의 활용
(내용 없음)4. 2. 국제 표준화 노력
2017년, IBM, 마이크로소프트, 인텔, NIST 등의 연구원들은 개방형 [https://homomorphicencryption.org/ 동형 암호화 표준화 컨소시엄]을 결성하여 커뮤니티 보안 동형 암호화 표준을 유지하고 있다.[67][68][69]5. 준동형성을 가지는 공개키 암호의 예
다음은 메시지 의 암호화를 로 표기하여 설명하는 몇 가지 준동형 암호 시스템의 예시다.
'''패딩 없는 RSA'''
RSA 공개키가 모듈러스 과 암호화 지수 로 주어질 때, 메시지 의 암호화는 이다. 이때 두 암호문 과 를 곱하면 다음과 같이 곱셈에 대한 준동형성을 만족한다.
:
즉, 두 암호문의 곱은 두 원본 메시지의 곱을 암호화한 것과 같다.
'''ElGamal'''
ElGamal 암호 시스템은 위수가 소수 인 순환군 를 사용하며, 생성자를 라고 한다. 공개키는 (여기서 , 는 비밀키)이다. 메시지 의 암호화는 임의의 에 대해 로 표현된다. 이 시스템 역시 곱셈에 대한 준동형성을 가진다.
:
ElGamal 암호는 약간의 수정을 통해 덧셈에 대한 준동형성을 갖도록 만들 수도 있다. 공개키를 로 설정하고, 평문 의 암호문을 으로 정의하면, 두 암호문의 곱은 가 되어 의 암호문이 된다.
'''Goldwasser–Micali'''
Goldwasser–Micali 암호 시스템은 비트 단위 암호화에 사용된다. 공개키는 모듈러스 과 이차 비잉여(quadratic non-residue) 이다. 비트 의 암호화는 임의의 에 대해 이다. 이 시스템은 XOR 연산(모듈로 2 덧셈, )에 대해 준동형성을 가진다.
:
'''Benaloh'''
Benaloh 암호 시스템은 공개키로 모듈러스 과 블록 크기 의 기저 를 사용한다. 메시지 의 암호화는 임의의 에 대해 이다. 이 시스템은 모듈로 덧셈에 대해 준동형성을 가진다.
:
'''Paillier'''
Paillier 암호 시스템은 공개키로 모듈러스 과 기저 를 사용한다. 메시지 의 암호화는 임의의 에 대해 이다. 이 시스템은 덧셈에 대해 준동형성을 가진다.
:
즉, 두 암호문의 곱은 두 원본 메시지의 합을 암호화한 것과 같다.
'''기타 부분 동형 암호 시스템'''
위에서 설명한 시스템 외에도 다양한 부분 동형 암호 시스템이 존재한다.
- 오카모토-우치야마 암호
- 나카체-스턴 암호
- Damgård–Jurik 암호
- Sander–Young–Yung 암호 방식
- Boneh–Goh–Nissim 암호 시스템
- Ishai–Paskin 암호 시스템
- Joye-Libert 암호 시스템
- Castagnos–Laguillaumie 암호 시스템
6. 구현
2세대(BGV[19]/BFV[22]), 3세대(FHEW[48]/TFHE[49]) 및/또는 4세대(CKKS[35]) 완전 동형 암호(FHE) 방식을 구현하는 여러 오픈 소스 라이브러리가 존재한다.
2세대 및 4세대 FHE 방식 구현은 일반적으로 레벨 FHE 모드(부트스트래핑은 일부 라이브러리에서 지원)에서 작동하며, 효율적인 SIMD와 같은 데이터 패킹을 지원한다. 주로 암호화된 정수 또는 실수/복소수에 대한 계산에 사용된다. 반면, 3세대 FHE 방식 구현은 각 연산 후 부트스트래핑을 수행하는 경우가 많지만 패킹 지원은 제한적이다. 초기에는 암호화된 비트에 대한 부울 회로 계산에 사용되었으나, 정수 산술 및 단변량 함수 평가를 지원하도록 확장되었다. 어떤 세대의 방식을 사용할지는 입력 데이터 유형과 원하는 계산에 따라 결정된다.
이름 | 개발자 | BGV[19] | CKKS[35] | BFV[22] | FHEW[48] | CKKS 부트스트래핑[43] | TFHE[49] | 설명 |
---|---|---|---|---|---|---|---|---|
HElib[44] | IBM | 예 | 예 | 아니요 | 아니요 | 아니요 | 아니요 | GHS 최적화를 사용하는 BGV 방식. |
Microsoft SEAL[45] | 마이크로소프트 | 예 | 예 | 예 | 아니요 | 아니요 | 아니요 | |
OpenFHE | 듀얼리티 테크놀로지스, 삼성전자, 인텔, 매사추세츠 공과대학교, 캘리포니아 대학교 샌디에이고 외 | 예 | 예 | 예 | 예 | 예 | 예 | PALISADE의 후속 제품. |
PALISADE[46] | 뉴저지 공과대학교, 듀얼리티 테크놀로지스, 레이시온 BBN 테크놀로지스, 매사추세츠 공과대학교, 캘리포니아 대학교 샌디에이고 외 | 예 | 예 | 예 | 예 | 아니요 | 예 | 범용 격자 암호화 라이브러리. OpenFHE의 이전 버전. |
HEAAN[47] | CryptoLab | 아니요 | 예 | 아니요 | 아니요 | 예 | 아니요 | |
FHEW[48] | 레오 듀카스(Leo Ducas) 및 다니엘레 미키안치오(Daniele Micciancio) | 아니요 | 아니요 | 아니요 | 예 | 아니요 | 아니요 | |
TFHE[49] | 일라리아 칠로티(Ilaria Chillotti), 니콜라스 가마(Nicolas Gama), 마리야 게오르기에바(Mariya Georgieva) 및 말리카 이자바체네(Malika Izabachene) | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 | 예 | |
FV-NFLlib[50] | CryptoExperts | 아니요 | 아니요 | 예 | 아니요 | 아니요 | 아니요 | |
NuFHE[51] | NuCypher | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 | 예 | TFHE의 GPU 구현을 제공한다. |
REDcuFHE[52] | TwC Group | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 | 예 | TFHE의 멀티 GPU 구현. |
Lattigo[53] | EPFL-LDS, 튠 인사이트(Tune Insight) | 예 | 예 | 예 | 아니요 | 예[54] | 아니요 | Go로 구현되었으며, 분산 키 생성 변형[55]은 보안 다자간 연산을 가능하게 한다. |
TFHE-rs[56] | Zama | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 | 예 | TFHE-extended의 Rust 구현. 부울 연산, 정수 연산 및 단변량 함수 평가(프로그래밍 가능 부트스트래핑[57]을 통해) 지원. |
Liberate.FHE[58] | Desilo | 아니요 | 예 | 아니요 | 아니요 | 아니요 | 아니요 | CKKS의 멀티 GPU 구현. |
참조
[1]
웹사이트
Council Post: Everything You Wanted To Know About Homomorphic Encryption (But Were Afraid To Ask)
https://www.forbes.c[...]
2023-08-18
[2]
논문
A systematic review of homomorphic encryption and its contributions in healthcare industry
2022
[3]
논문
A Guide to Fully Homomorphic Encryption
https://eprint.iacr.[...]
2015
[4]
웹사이트
Homomorphic Encryption References
https://people.csail[...]
[5]
간행물
On data banks and privacy homomorphisms
Foundations of Secure Computation
1978
[6]
서적
40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039)
[7]
간행물
Evaluating 2-DNF Formulas on Ciphertexts
Theory of Cryptography Conference
2005
[8]
간행물
Evaluating branching programs on encrypted data
Theory of Cryptography Conference
2007
[9]
서적
Proceedings of the forty-first annual ACM symposium on Theory of computing
2009
[10]
학위논문
A Fully Homomorphic Encryption Scheme
http://crypto.stanfo[...]
Stanford University
[11]
서적
Advances in Cryptology – EUROCRYPT 2011
[12]
서적
Advances in Cryptology – EUROCRYPT 2010
[13]
서적
Public Key Cryptography – PKC 2008
2008
[14]
웹사이트
Simple Public Key Encryption
http://bramcohen.com[...]
[15]
서적
Advances in Cryptology – EUROCRYPT 2012
[16]
서적
Advances in Cryptology – CRYPTO 2011
http://eprint.iacr.o[...]
[17]
서적
Advances in Cryptology – EUROCRYPT 2013
[18]
서적
Public-Key Cryptography – PKC 2014
[19]
간행물
Fully Homomorphic Encryption without Bootstrapping
http://eprint.iacr.o[...]
ITCS 2012
[20]
간행물
Efficient Fully Homomorphic Encryption from (Standard) LWE
http://eprint.iacr.o[...]
FOCS 2011
[21]
간행물
On-the-Fly Multiparty Computation on the Cloud via Multikey Fully Homomorphic Encryption
https://eprint.iacr.[...]
STOC 2012
[22]
논문
Somewhat Practical Fully Homomorphic Encryption
https://eprint.iacr.[...]
2012
[23]
간행물
Fully Homomorphic Encryption without Modulus Switching from Classical GapSVP
http://eprint.iacr.o[...]
CRYPTO 2012
[24]
간행물
Improved Security for a Ring-Based Fully Homomorphic Encryption Scheme
https://eprint.iacr.[...]
IMACC 2013
[25]
간행물
A subfield lattice attack on overstretched NTRU assumptions
https://eprint.iacr.[...]
CRYPTO 2016
[26]
논문
An algorithm for NTRU problems and cryptanalysis of the GGH multilinear map without a low-level encoding of zero
2016
[27]
간행물
Fully Homomorphic Encryption with Polylog Overhead
http://eprint.iacr.o[...]
EUROCRYPT 2012
[28]
간행물
Better Bootstrapping in Fully Homomorphic Encryption
http://eprint.iacr.o[...]
PKC 2012
[29]
간행물
Homomorphic Evaluation of the AES Circuit
http://eprint.iacr.o[...]
CRYPTO 2012
[30]
논문
Fully Homomorphic SIMD Operations
http://eprint.iacr.o[...]
2014
[31]
간행물
Homomorphic Encryption from Learning with Errors: Conceptually-Simpler, Asymptotically-Faster, Attribute-Based
http://eprint.iacr.o[...]
CRYPTO 2013
[32]
간행물
Lattice-Based FHE as Secure as PKE
http://eprint.iacr.o[...]
ITCS 2014
[33]
간행물
Faster Bootstrapping with Polynomial Error
http://eprint.iacr.o[...]
CRYPTO 2014
[34]
간행물
Structural Lattice Reduction: Generalized Worst-Case to Average-Case Reductions and Homomorphic Cryptosystems
https://eprint.iacr.[...]
EUROCRYPT 2016
[35]
conference
Homomorphic encryption for arithmetic of approximate numbers
Springer, Cham
2017
[36]
논문
Approximate Homomorphic Encryption with Reduced Approximation Error
https://eprint.iacr.[...]
Springer
[37]
간행물
On the Security of Homomorphic Encryption on Approximate Numbers
https://eprint.iacr.[...]
2020
[38]
간행물
Remark on the Security of CKKS Scheme in Practice
https://eprint.iacr.[...]
2020
[39]
웹사이트
Security of CKKS
https://palisade-cry[...]
2021-03-10
[40]
간행물
Efficient cryptosystems from 2''k''-th power residue symbols
https://link.springe[...]
2017
[41]
conference
Topics in Cryptology – CT-RSA 2015, The Cryptographer's Track at the RSA Conference 2015, San Francisco, CA, USA, April 20–24, 2015. Proceedings
Springer
[42]
웹사이트
A First Glimpse of Cryptography's Holy Grail
http://cacm.acm.org/[...]
Association for Computing Machinery
2010-03-01
[43]
논문
Bootstrapping for Approximate Homomorphic Encryption
https://eprint.iacr.[...]
Springer
[44]
웹사이트
HElib: An Implementation of homomorphic encryption
https://github.com/h[...]
2014-12-31
[45]
웹사이트
Microsoft SEAL
https://www.microsof[...]
2019-02-20
[46]
웹사이트
PALISADE Lattice Cryptography Library
http://palisade-cryp[...]
2019-01-01
[47]
웹사이트
Homomorphic Encryption for Arithmetic of Approximate Numbers
https://github.com/s[...]
2016-05-15
[48]
웹사이트
FHEW: A Fully Homomorphic Encryption library
https://github.com/l[...]
2014-12-31
[49]
웹사이트
Faster Fully Homomorphic Encryption: Bootstrapping in less than 0.1 Seconds
https://tfhe.github.[...]
2016-12-31
[50]
웹사이트
FV-NFLlib
https://github.com/C[...]
2019-11-01
[51]
웹사이트
A GPU implementation of fully homomorphic encryption on torus
https://github.com/n[...]
2019-11-01
[52]
웹사이트
A Multi-GPU Implementation of the CGGI Cryptosystem
https://github.com/T[...]
2023-03-07
[53]
웹사이트
Lattigo v3.0.5
https://github.com/t[...]
2022-09-13
[54]
논문
Efficient Bootstrapping for Approximate Homomorphic Encryption with Non-Sparse Keys
https://eprint.iacr.[...]
Springer
[55]
논문
Multiparty Homomorphic Encryption from Ring-Learning-With-Errors
https://eprint.iacr.[...]
[56]
웹사이트
TFHE-rs
https://github.com/z[...]
2023-06-15
[57]
서적
Cyber Security Cryptography and Machine Learning
2022-11-17
[58]
웹사이트
Liberate.FHE
https://github.com/D[...]
2024-03-07
[59]
웹사이트
Concrete
https://github.com/z[...]
2022-05-20
[60]
웹사이트
Concrete Python
https://pypi.org/pro[...]
2023-06-15
[61]
웹사이트
Encrypt-Everything-Everywhere (E3)
https://github.com/m[...]
2019-07-24
[62]
웹사이트
SHEEP, a Homomorphic Encryption Evaluation Platform
https://github.com/a[...]
2019-11-01
[63]
웹사이트
T2: A cross compiler and standardized benchmarks for FHE computation
https://github.com/T[...]
2023-03-02
[64]
웹사이트
HELM: Navigating Homomorphic Evaluation through Gates and Lookups
https://github.com/T[...]
2024-07-29
[65]
웹사이트
Juliet: A Configurable Processor for Computing on Encrypted Data
https://github.com/T[...]
2024-06-25
[66]
문서
TrustworthyComputing/PEEV-verifiableFHE
https://github.com/T[...]
2024-07-18
[67]
웹사이트
Homomorphic Encryption Standardization Workshop
https://www.microsof[...]
Microsoft
2017-07-13
[68]
웹사이트
Intel, Microsoft Research and Duality Technologies Convene AI Community for Privacy Standards
https://newsroom.int[...]
Intel Newsroom
2019-08-16
[69]
웹사이트
Intel, Microsoft join DARPA effort to accelerate fully homomorphic encryption
https://www.csoonlin[...]
2021-03-08
[70]
문서
https://www.cs.cmu.e[...]
[71]
콘퍼런스
ON DATA BANKS AND PRIVACY HOMOMORPHISMS
1978
[72]
콘퍼런스
A new public-key cryptosystem as secure as factoring.
Springer, Berlin
1998
[73]
콘퍼런스
Public-key cryptosystems based on composite degree residuosity classes
Springer, Berlin
1999
[74]
논문
Fully Homomorphic Encryption without Bootstrapping
http://eprint.iacr.o[...]
[75]
논문
Efficient Fully Homomorphic Encryption from (Standard) LWE
http://eprint.iacr.o[...]
IEEE
[76]
논문
On-the-Fly Multiparty Computation on the Cloud via Multikey Fully Homomorphic Encryption
https://eprint.iacr.[...]
ACM
[77]
저널
Somewhat Practical Fully Homomorphic Encryption
https://eprint.iacr.[...]
2012
[78]
논문
Fully Homomorphic Encryption without Modulus Switching from Classical GapSVP
http://eprint.iacr.o[...]
Springer
[79]
논문
Improved Security for a Ring-Based Fully Homomorphic Encryption Scheme
https://eprint.iacr.[...]
Springer
[80]
콘퍼런스
Homomorphic encryption for arithmetic of approximate numbers
Springer, Cham
2017
관련 사건 타임라인
( 최근 20개의 뉴스만 표기 됩니다. )
글로벌 보안 전문가 4인이 얘기하는 ‘AI 시대, 사이버보안’ 방향성 – 바이라인네트워크
한국은행표 코인, 은행도 이용자 거래내역 못 본다 – 바이라인네트워크
라온시큐어, 각자대표에 이정아 사장…“글로벌 기업 도약하겠다” – 바이라인네트워크
라온시큐어, ‘양자보안’ 사업 박차…크립토랩과 업무협약 – 바이라인네트워크
“‘양자내성암호’ 뚫을 알고리즘 아직 없어...전환 시기 미리 정해야” – 바이라인네트워크
네이버, 클라우드 사업도 '플랫폼' 중심으로 고도화한다 – 바이라인네트워크
삼성SDS, 클라우드 보안 서비스 강화...‘동형암호’ 데이터 분석 서비스 연내 출시 – 바이라인네트워크
삼성SDS, 클라우드 보안 서비스 강화...보안관제·통합인증·SECaaS 제공 – 바이라인네트워크
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com