이러한 권고치는 전수검색을 위한 특수 하드웨어의 설계에 투자해야 할 비용을 근거로산정된 것이며, 이는 충분한 자금을 보유한 대규모의 기업체나정보기관을 기준으로한 것이다.
예를들어 약 3억달러를 투자할 수 있는 정보기관의 경우 56비트 키는대략12초 이내에 찾을 수 있으며, 75비트 키의 경우 약 70일 정도가 소요될 것으로 예상하고 있다. 이러한 예측은 미국의 새로운 연방 표준 EES(EscrwedEncryption Standard)에서 80비트의 비밀키 알고리듬들은 128비트의 비밀키를 사용하고 있으므로 알고리듬 자체에 결함이 없다면(이를 보장하는 것이가장 어려운 문제이지만) 이 정도의 키는 충분한 안전성을 제공하고도 남는다.
반면 공개키 암호시스템은 근본적으로 비밀키 암호시스템과 전혀 다른 바탕위에서 설계되므로 안전성의 측도 또한 다르다.
대부분의 공개키 암호시스템은 계산상 풀기 어려운 문제를 이용해 설계된다. 예를들어 RSA의 경우 큰 합성수(1024비트정도 크기의)를 소인수분해하는 것이 계산상 불가능하다는 사실을 이용한다.
즉 RSA에서 사용하는 합성수를 소인수분해할 수 있다는 것은 곧 RSA를깰수 있다는 것을 의미한다.
합성수의 소인수분해와 같이 복잡한 그리고 큰 수의 연산이 필요한 공개키암호시스템의 암호해독에는 특수 하드웨어보다는 분산처리 기법을 이용해네트웍상의 유휴 계산력을 빌려쓰는 방법이 가장 널리 이용되고 있다.
94년 현재 세계에 존재하는 컴퓨터를 바탕으로 기술발전을 고려해 10년후의 세계의 계산력을 산정하고 이 계산력의 약 0.1%를 이용할 수 있다고 가정할때 2004년이면 768 비트 정도의 합성수는 충분히 소인수분해가 가능하다는계산이 나온다.
따라서 전문가들은 공개키 암호시스템의 키 길이는 1024비트는 돼야한다고권고한다. 현재 가장 널리 사용되는 512비트 합성수는 현재의 이용 가능한계산력만으로도 소인수분해가 가능하므로 대부분의 응용에서 충분한 안전성을 제공할 수 없다는 사실을 상기할 필요가 있다.
현재 암호학계에서는 확립된 이론을 바탕으로보다 체계적인 설계를 통해안전성 증명이 가능한 암호시스템을 만드는 것이 하나의 흐름이 되고 있다. 즉 비밀키 암호시스템에서는 전수검색에 의해 비밀키를 찾는 것, 그리고 공개키 암호시스템에서는 기반으로 하고 있는 어려운 문제를 푸는 것보다 더나은 암호해독법이 없다는 것을 수학적으로 증명하고자 하는 것이다.
그러나 대부분의 암호시스템들은 안전성이 증명된 시스템이라 하더라도 충분한 계산력만 있으며 해독이 가능하다는 근본적인 문제점이 존재한다.
따라서 무한한 계산력을 가진 자라해도 깰수 없는 무조건적인 안전성을 제공할 수 있는 암호시스템을 설계하려는 노력도 경주되고 있다.
그러나 많은 경우 이러한 이론적 접근은 기존의 시스템들에 비해 효율성이떨어지므로 상용화에는 아직 더 많은 연구가 이루어져야 할 것으로 보인다.
<임채훈 백두정보기술 암호기술연구센터장>