Park, Geon (re-st)

Abstract

RSA는 정수론을 기반으로 한 대표적인 공개키 암호화 방식이다. RSA를 사용하여 암호화된 메시지들을 곱하면, 이는 평문의 곱을 암호화한 결과와 같다. 이러한 특성은 암호화된 데이터의 연산을 외부에 안전하게 위탁할 수 있는 장점을 제공한다. 이는 특히 클라우드 컴퓨팅 환경에서 유용하게 활용될 수 있다.

본문

RSA는 정수론에 기반을 둔 대표적인 공개키 암호화 방식이다. 이 방식은 두 개의 소수 $p$와 $q$를 이용하여 공개키와 개인키를 생성한다. 공개키는 $n = pq$와 $e$로 구성되며, 개인키는 $d$로 이루어져 있다. RSA의 암호화 과정은 $c = m^e$ mod $n$ ($m$은 평문, $c$는 암호문)이고 복호화는 $m = c^d$ mod $n$으로 수행된다. 복호화 결과가 원래의 평문 $m$이 될 $e$와 $d$는 정수론의 오일러 정리를 활용해 찾을 수 있다. 개인키 $d$는 $n$과 $e$에 기반하여 결정되지만, $n$의 소인수 $p$와 $q$ 없이는 유도하기 어렵다. 두 소수의 곱을 소인수분해하기는 매우 어렵다는 소수의 특성 때문에 RSA는 매우 안전하다고 알려져 있다.

RSA를 사용하여 암호화된 메시지들을 곱하면 그 결과가 평문들의 곱을 암호화한 것과 같다. 이러한 특성은 암호화된 데이터를 이용한 곱셈 연산을 가능하게 하여, 데이터의 해독키를 소유한 상태에서 곱셈 연산만을 외주에 맡길 수 있게 한다. 어떤 연산에 대해 이 특성을 가지는 암호를 동형암호라고 한다.

클라우드 컴퓨팅에 동형암호는 매우 유용하다. 클라우드 회사는 고객의 데이터를 염탐하지 않기 위해 데이터를 암호화시켜 보관하는데, 매 연산마다 데이터를 해독하고 다시 암호화하는 것은 비효율적이다. 따라서 데이터의 연산을 바로 처리할 수 있으면서 보안을 보장하기 위한 기술이 중요하다.

보통 쓸모있는 연산은 덧셈과 곱셈이 필수적이지만, 이 둘이 모두 가능한 동형암호 개발은 이제 막 가파르게 발전하고 있다. 30여년간 난제였던 기간을 거쳐 2009년에 최초로 개발된 방식은 비트 하나의 연산, 그것도 매 연산마다 보안을 보장하기 위한 인위적 잡음이 쌓여 최대 연산 횟수가 제한되는 수준이었다. 그러던 것이 2016년에 와서는 실수 연산과 반올림이 가능한 암호가 발표되었다. 이러한 동형암호 기술의 발전은 미래 보안 분야에서의 실용성을 높일 것으로 기대된다. 아, 2016년에 발표되었다는 그 암호가 한국인 천정희 박사의 주도 하에 개발되었다는 사실이 더욱 자랑스럽다.

#Essay