누군가는 암호를 만들고, 누군가는 그 암호를 해석 내지는 해독하기 위한 과정에서 암호는 역사적으로 1세대부터 현재의 4세대까지 발전하게 됩니다. 그 과정에서 수학에서 순수하게 발전 또는 발명했던 것으로 보이는 타원곡선이 암호의 발전에 큰 도움을 주었던 것처럼 수학이 현실과 마주할때 빛나는 모습은 때로 놀랍기까지 합니다. 이제 AI시대에 이르러 4세대 동형암호는 때로는 사람들이 AI의 활용에 갖고 있는 막연한 두려움을 해소하고, AI를 보다 능동적으로 활용할 수 있도록 수학이 가지고 있는 힘을 기반으로 AI와 발맞추어 발전하고 있습니다.
3세대 암호는 암호화하는 키와 복호화 하는 키가 따로 있다. 암호화 키를 공개적으로 뿌리게 되면 누구나 암호화를 할 수 있다. 복호화는 공개키를 뿌린 오직 한 사람만 할 수 있다. 그렇기 때문에 누군가에게 비밀 정보를 전달하고 싶으면 상대의 공개키로 암호화를 해서 보내면 된다. 3세대 암호 덕분에 물리적으로 접촉해 비밀키를 공유할 필요가 없기 때문에 통신에서 보완을 높일 수 있다. 하지만 결국에 데이터를 활용해 계산이 필요하면 복호화를 해야 하는데, 이 과정에서 정보가 유출이 될수 있다. 그렇기 때문에 암호화 되어있는 상태에서도 연산을 할 수 있어야 정보 유출을 막을 수 있다. 그 방법이 동형암호 4세대 암호이다. 즉, a, b, c를 암호화 하면 A, B, C가 된다고 할때 a+b=c가 성립하면 A+B=C 또한 성립한다는 것이다.
궁금한 점이 있습니다. 암호화는 일반적으로 랜덤성에 바탕을 두고 있기 때문에 데이터를 암호화하면 그 데이터가 가지고 있던 패턴이 깨질 것으로 예상이 됩니다. 반면, AI가 데이터를 학습할 때는 데이터안에 숨어 있는 패턴을 찾으려고 합니다. 그런데 암호화된 데이터는 랜덤성으로 인해 패턴이 깨졌을 것 같은데, 암호화된 데이터로 AI를 학습시키면 과연 쓸만한 출력값을 내는 AI가 될 수 있을까 하는 의문이 듭니다.