'SEED'에 해당되는 글 1건

  1. 2006.08.07 암호의 이해
engineering/Network Eng.2006. 8. 7. 14:41
DES

DES는 개인키를 사용하여 데이터를 암호화하는 방법으로서 널리 사용되며, 미국 정부는 이 알고리즘을 해독하기 어렵다고 판정하고 다른 나라들에 수출하는 것을 금지하고 있다. DES에는 72,000,000,000,000,000 (72천조)개 이상의 암호 키가 사용되는 것이 가능하다. 주어진 각 메시지를 위한 키는, 이렇게 막대한 량의 키 중에서 무작위로 선택된다. 다른 개인키 암호화 방법과 마찬가지로, 송신자수신자 둘 모두는 동일한 개인키를 알고, 사용해야만 한다.

DES는 각 64 비트 데이터 블록에, 56 비트 길이의 키를 적용한다. 이 과정은 여러 가지 모드에서 실행될 수 있으며, 16번의 연산이 수반된다. 비록 DES가 강력한 암호화이라고 판단되고는 있지만, 많은 회사들은 세 개의 키가 잇달아 적용되는 "트리플 DES"를 사용한다. 그렇다고 해서 DES로 암호화된 메시지가 해독될 수 없다고 말하는 것은 아니다. 1997년 초에, 다른 암호화 방식의 소유자인 RSA가 DES 메시지 해독에 10,000 달러의 상금을 걸었다.인터넷 상에서 14,000명 이상의 사용자들이 다양한 키들을 시험하는 공동 노력으로 결국 그 메시지를 해독하였는데, 가능한 72천조 개의 키 중에서 고작 18천조 개의 시험을 통해 그 키가 발견되었다. 그러나, 오늘날 DES 암호화로 발송되는 것 중, 이러한 종류의 코드 해독 노력에 영향을 받을 것 같은 메시지는 거의 없다.

DES는 1977년에 IBM에서 발명하였으며, 미국 국방부에 의해 채택되었다. 이것은 ANSI X3.92와 X3.106 표준 및 미국 연방정부 FIPS 46과 81 표준에 정의되어 있다. 이 암호화 알고리즘이 비우호적인 국가에 의해 사용될 수 있다는 염려 때문에, 미국 정부는 암호화 소프트웨어의 수출을 막고 있다. 그러나, 이 소프트웨어의 프리버전은 BBS나 웹사이트 등에서 어렵잖게 입수할 수 있다. 이 암호화 알고리즘이 깨지지 않고 비교적 오래 남아있을 것이라는 일부 관심 때문에, NIST는 DES를 대체하기 위한 표준이나 대안을 다시 인증하지는 않을 것이라고 지적했다. 다음번 표준은 AES (Advanced Encryption Standard)가 될 것이라고 알려지고 있다.



IDEA

IDEA는 스위스에서 개발된 block cipher알고리즘의 하나로서 비밀키의 길이가 128 비트이고 입력 데이타의 길이는 64 비트이다. 비밀키의 길이가 128 비트이므로 매우 안전한 알고리즘으로 알려져 있다
(비밀키의 길이가 더 긴 알고리즘이라고 해서 항상 더 안전한 것은 아니지만 일반적으로 그렇다).

특히 IDEA는 differential cryptoanalysis에 매우 안전한 것으로 알려져 있다. 또한 알고리즘의 구조 자체가 소프트웨어뿐만이 아니라 하드웨어로도 구현이 매우 용이하게 되어 있다. 소프트웨어로 구현했을 때의 프로세싱 속도는 DES와 거의 비슷하다. 이는 비록 DES에서 채택한 비밀키의 길이가의 비밀키의 길이에 반밖에 되지 않지만 DES에서는 내부적으로 똑같은 연산을 16번 반복수행하는데 비해 IDEA는 8번 수행하기 때문이다.

(스위스에서 만들어진 IDEA(International Data Encryption Algorithm)은 초당 177Mbit의 처리가 가능한 빠른 암호화 방법이다. IDEA은 128-bit key, 8-round, 64-bit block cipher이며 주된 연산은 XOR, add mod 216, multiply mod 216+1이다. RSA와 더불어 PGP에 사용되는 방식이기도 하다.



Rijndael

정보의 기밀성을 유지하기 위한 블록 암호인 DES는 미국에서 연방 표준으로 제정된 이래 가장 널리 사용되어온 알고리듬이다. 그러나 앞에서도 설명하였듯이 여러 가지 암호학적 공격들이 행해지면서 그 안전성에 문제가 생기기 시작하고 컴퓨터의 급속한 발달로 인해 완전히 신뢰할 수 없는 알고리듬으로 전락하고 말았다. 암호라는 특성상 초기 민간 보다는 정부 주도로 개발됨으로 인해 미국 정부에서는 backdoor를 가지고 있을 것이라는 소문이 무성하였다. 또한 민간 제품에서도 암호의 중요성이 부각됨에 따라 정부 주도가 아닌 민간 주도의 표준화의 필요성이 제기되고 이를 실현하기 위해 공모의 형태를 띄고 사업을 추진하게 되었다. DES가 64 비트 블록에 56 비트 키를 사용하여 안전성에 문제가 제기되었던 바 AES는 향후 20~30년간 이용 가능한 안전성을 제공하여야 하며 128 비트의 블록 길이에 128, 196, 256 비트의 다양한 키 길이를 제공하여야 한다. 또한 DES의 후속 버전인 triple DES 보다 안전하고 고속이며 로열티가 없어야 한다는 조건으로 공모를 하게 되었다. 1997년 AES 선정 계획을 발표하고 1997년 9월부터 1998년 4월까지 알고리듬 공모를 받았으며 12개국에서 총 15개의 알고리듬이 제안되었다. 1998년 8월 까지 제 1라운드 평가가 이루어져 구현상의 문제점을 검증하였고 1999년 3월 까지 효율성 평가를 거쳐 미국 IBM의 MARS, 미국 RSA의 RC6, 역시 미국의 Twofish, 벨기에의 Rijndael, 영국, 이스라엘, 덴마크 연구자의 합작인 Serpent가 최종 라운드에 들어가는 알고리듬으로 선정되었다. 최종 라운드에서는 공개적으로 암호학적 안전성 분석을 하였으며 이 중 벨기에 Rijmen과 Daemen의 Rijndael 알고리듬이 2000년 10월 최종 AES로 선정되었다. AES 선정을 위한 평가의 기준은 각 알고리듬이 안전한지, 효율적으로 구현되었는지, 유연성을 가지고 있는지에 중점을 두어 이루어졌다. 이의 결과로 Rijndael은 미국 연방 정부의 표준으로 제정되는 단계에 있으며 국제 사회에서 미국의 영향력이나 DES의 사용 전력으로 볼 때 앞으로의 국제 사회에서 가장 많이 사용되는 블록 알고리듬이 될 것으로 보인다.



SEED

가. 전체구조

데이터 처리단위 : 8, 16, 32비트 모두 가능
암ㆍ복호화 방식 : 블록 암호방식
입ㆍ출력문의 크기 : 128비트
입력키의 크기 : 128비트
안전성 : DC/LC에 대하여 안전하도록 설계.
구조 : Feistel 구조
내부함수 : SPN 구조이며, 비선형함수를 Look-up 테이블로 변형하여 사용.
- 2개의 안전성이 입증된 S-Box 사용
- DC, LC에 대한 이론적 안전성 증명 가능
- 내부함수 F의 구조는 DES, MISTY 등과 비교하여 우수함.
라운드 수 : 안전성은 키전수 조사공격에 필요한 계산복잡도 및 평문ㆍ암호문 쌍(2128)이하가 되지 않아야 하며, 효율성 요구조건을 만족하여야 함.
키생성 알고리즘 : 알고리즘의 라운드 동작과 동시에 암ㆍ복호화 라운드 키가 생성될 수 있도록 설계.

나. 안전성에 대한 설계조건

안전성이 증명 가능한 구조로 설계
차분해독법(Differential Cryptanalysis, DC)에 대하여 안전하여야 한다.
선형해독법(Linear Cryptanalysis, LC)에 대하여 안전하여야 한다.
기타 공격방식(Higher Order DC 등)이 적용되기 어렵게 한다.

- Higher Order DC에 강하기 위하여 대수적 차수가 3이상인 부울함수를 사용한다.
- Related Key Attack에 강하기 위하여 Key Schedule에 비선형 함수를 사용한다.

다. 효율성에 대한 설계조건

S/W로 구현시 3중 DES보다 고속이어야 한다.


■활용 분야

기본적으로 SEED는 민간분야의 암호사용을 촉진하기 위하여 개발된 암호알고리즘이다. 따라서, 개인 및 기업에서의 중요정보를 보호하기 위하여 필요한 경우 SEED 사용과 관련해서는 아무런 제약이 없다.

가장 대표적인 활용 분야로는 현재 활발히 추진되고 있는 인터넷을 이용한 전자상거래 분야이다. 특히, 전자서명법과 관련하여 1999년 7월 1일부터 공인인증기관의 운영 및 전자서명의 법적 효력이 부여될 예정으로 전자상거래가 매우 활발히 촉진될 것으로 기대된다. 그러나 전자서명법에는 직접적으로 암호사용과 관련한 부분이 없으며, 전자상거래의 안전성ㆍ신뢰성 확보를 위해서는 공개키 인증과 더불어 암호사용이 필수적으로 수반되어야 할 것이다. 이 경우 중요 정보의 보호를 위해 표준 암호알고리즘인 SEED를 사용하도록 권고하고 있는 것이다. 구체적인 사용 예로는 전자상거래 이용시 전자거래 내용 및 계좌번호 등의 노출방지를 위한 암호화 등이 있을 것이다. 한편 전자화폐나 전자지불시스템 구현시에도 아무런 제약없이 필요한 데이터 암호화에도 적용이 가능하다.

또한 전자상거래외에 대표적인 활용분야는 다음과 같다.

- 전자우편시스템에서의 메시지 암호화
- PC의 저장된 데이터의 암호화
- 가상교육 시스템
- 유료 수업 내용의 보호
- 개인별 성적표 내용 등의 보호
- 위성방송사업과 연관된 한정수신시스템(CAS : Conditional Access System)
- 유료 방송 내용의 암호화


내용출처 : [직접 서술] 본인지식
(출처 : '암호의 이해' - 네이버 지식iN)
Posted by theYoungman