마지막 업데이트:
**동형 암호(Homomorphic encryption)**는 암호화된 데이터를 먼저 복호화하지 않고도 수학적 연산 및 분석을 수행할 수 있게 해주는 암호화 기술입니다. 결과물을 복호화하면 원본 데이터에 대해 해당 연산을 수행한 결과와 일치합니다. 이를 통해 서비스 제공자가 평문을 신뢰할 수 없는 클라우드 컴퓨팅과 같은 환경을 포함하여, 서비스가 기본 정보를 보지 않고도 소유자를 위해 데이터를 처리할 수 있게 해줍니다.[1][2]
동형 암호의 아이디어는 1978년 Rivest, Adleman, Dertouzos에 의해 구상되었습니다. 2009년, 컴퓨터 과학자 Craig Gentry가 최초의 완전 동형 암호 체계를 구축했습니다.[2]
Gentry는 이 기술을 특수 장갑을 사용하여 잠긴 상자 안의 물체를 조작하는 것에 비유했습니다. 내용물에 대해 연산을 수행할 수는 있지만, 비밀 키 소유자만이 상자를 열고 결과를 추출할 수 있습니다.[2]
“동형(Homomorphic)”은 “같은 구조”를 의미하는 그리스어에서 유래되었습니다. 수학에서 군 준동형(group homomorphism)은 군 연산을 보존하는 군 사이의 사상입니다. 동형 암호에서 관련 속성은 암호문에 대한 연산이 기본 평문에 대한 연산에 대응한다는 것입니다.[1]
데이터 소유자는 암호화된 데이터를 서버로 보낼 수 있으며, 서버는 암호문에서 연산을 수행하고 소유자가 로컬에서 복호화할 수 있도록 암호화된 결과를 반환합니다. 기존의 암호화 데이터 처리와 달리, 이 방식은 서버가 데이터를 분석하거나 처리하기 전에 복호화할 필요가 없습니다.[2]
체계는 지원하는 연산과 적용할 수 있는 연산의 수에 따라 다릅니다. 부분 동형 암호(PHE)는 덧셈 또는 곱셈 중 하나만 지원하지만 둘 다는 지원하지 않으며, 지원되는 연산을 제한 없이 반복할 수 있도록 허용합니다. 다소 동형 암호(SHE)는 덧셈과 곱셈을 모두 지원하지만, 제한된 횟수의 연산에 대해서만 지원합니다. 연산이 누적됨에 따라 정확도가 저하될 수 있습니다.[1][2]
층별 완전 동형 암호(Leveled fully homomorphic encryption)는 연산 순서가 미리 지정된 경우 임의의 횟수의 연산을 허용합니다. 완전 동형 암호(FHE)는 미리 정의된 순서 없이 평문에서 수행될 수 있는 연산을 포함하여 무제한의 연산을 허용합니다.
이러한 기능은 PHE나 SHE보다 더 복잡한 작업을 지원할 수 있지만, FHE의 계산 비용으로 인해 애플리케이션이 비실용적일 수 있습니다.[2]
RSA는 곱셈에 대한 부분 동형성을 보여줍니다. 설명된 체계에서 메시지 (m)은 (C = m^e \bmod n)으로 암호화되며, 여기서 (e)는 공개 암호화 지수이고 (n)은 적절하게 선택된 두 개의 큰 소수의 곱입니다. 메시지 (m_1)과 (m_2)에 대한 암호문을 곱하면 그 곱의 암호화 결과가 생성됩니다.
[ (m_1^e \bmod n)(m_2^e \bmod n) = ((m_1m_2)^e \bmod n). ]
따라서 암호문을 곱하는 것은 평문 메시지를 곱하고 결과를 암호화하는 것에 대응합니다.[1]
동형 암호를 통해 조직은 연산을 수행하는 서비스에 원시 정보를 공개하지 않고도 민감한 데이터를 분석할 수 있습니다.
제안된 용도로는 암호화된 유전자 데이터로부터 질병 위험 평가, 의학 연구를 위한 병원 기록 분석, 민감한 기록에 대한 인공지능 및 머신러닝 알고리즘 훈련 또는 실행 등이 있습니다.[2]
다른 제안된 응용 분야로는 암호화된 검색, 클라우드 서비스로의 안전한 연산 아웃소싱, 일반 데이터 보호 규정(GDPR)과 같은 프라이버시 요구 사항을 기업이 충족하는 데 도움이 될 수 있는 방식의 데이터 분석 등이 있습니다.
투표에서 암호화된 선택은 비공개로 유지되면서 제3자가 합계를 확인할 수 있습니다. 부분 동형 Paillier 체계는 암호화된 투표를 합산할 수 있습니다. 공급망 참여자들은 계약업체나 벤더에게 민감한 원시 정보를 노출하지 않고 암호화된 데이터를 사용하여 백엔드 시스템을 통해 협업할 수도 있습니다.[1][2]
Chainlink는 또한 인공지능 알고리즘이 블록체인에 저장된 암호화된 데이터를 안전하고 신뢰할 수 있으며 탈중앙화된 방식으로 연산할 수 있도록 하는 오라클 네트워크의 잠재적 역할을 설명했습니다.[2]
동형 암호는 기존 암호화보다 계산 오버헤드가 높고 처리 시간을 늘릴 수 있으며 더 큰 암호문을 생성할 수 있습니다.
Splunk 기사는 RSA를 AES(Advanced Encryption Standard)보다 느리고 비용이 많이 드는 것으로 설명하며, RSA는 일반적으로 큰 데이터 블록보다는 키와 같은 작은 데이터 조각에 사용된다고 언급합니다. 더 광범위하게는 알고리즘, 하드웨어 가속 및 오픈 소스 라이브러리의 발전으로 동형 암호가 더욱 실용화되고 있지만, 이 기술은 여전히 계산 집약적이며 더 넓은 채택을 향해 계속 발전하고 있습니다.[1]
FHE의 계산 비용은 여전히 많은 응용 분야에 장벽으로 남아 있습니다. 비용 효율성과 확장성은 추가 연구가 필요한 분야입니다.[2]