Pages

2014년 3월 19일 수요일

[ SECURITY ] 암호화 알고리즘

 블록 암호화
- 크기가 고정된 블록을 위한 암호화 함수
- 일정한 크기의 평문을 암호화해서 만들어 냄
- 블록 암호화 방법은 되돌리는 것이 가능. 일정한 암호문을 복호화하여 원래의 평문을 얻을 수 있음
- 평문과 암호문은 항상 같은 크기를 가지는데, 이것을 블록 암호화의 블록 크기라 함

* 대칭키 암호화
- 하나의 키를 사용하여 암호화와 복호화를 진행하는 방법
- 대표적인 알고리즘에는 AES, DES, 3DES, SEED 등이 있음
- 송신자와 수신자가 암호화에 사용된 키만 공유하면 손쉽게 사용할 수 있다는 장점이 있음
- 대칭키가 외부에 유출되었을 경우에는 안전성을 보장받지 못하며 이러한 대칭키를 안전하게 관리하기 위해서 많은 비용과 노력이 필요하다는 단점이 있음

* 비대칭키 암호화
- 공개키(Public Key)와 개인키(Private Key)라는 두 개의 서로 다른 키를 이용하여 암호화와 복호화를 진행하는 방법
- 대표적인 알고리즘에는 RSA, PKCS 등이 있음
- 공개키는 외부에 공개되는 키이고, 개인키는 해당 개인만 가지고 있는 키를 의미
- 공개키로 암호화된 메시지는 개인키로만 복호화할 수 있으며, 개인키로 암호화된 메시지는 공개키로만 복호화될 수 있음
- 비대칭키 암호화 방식은 대칭키 암호화 방식보다 높은 안전성과 보안성을 제공하지만 암복호화에 소용되는 시간이 상대적으로 오래 걸린다는 단점이 있음

1) DES (Data Encryption Standard)

- 64비트 단위로 나뉘어 진 데이터 블록을 56비트의 비밀키를 이용하여 암호화하는 대칭키 암호 알고리즘
- 64비트 블록과 56비트 키를 바탕으로 만든 16개의 보조키가 총 16번이 혼돈과 확산을 거쳐 완료
- 56비트라는 짧은 키 길이로 인해 더 이상 안전하지 않다고 판단되어 DES를 3회 반복하는 3DES를 사용하도록 권고

2) AES (Advanced Encryption Standard)

- DES의 안전성에 대한 여러가지 공격 방법들이 발표되면서 미국의 NIST에서는 1998년에 차세대 블록 암호 알고리즘인 AES를 공모함
- 2000년 10월에 Rijindael이 AES 알고리즘으로 선정되었으며, 2001년 11월 FIPS-197로 등록
- 처음에 개발된 Rijindael 알고리즘은 암호화에 사용하는 키의 길이와 입력 평문의 길이가 128비트, 196비트, 256비트 중 하나를 선택할 수 있었으나 FIPS-197에 등록된 AES 알고리즘은 입력 평문의 길이는 128비트로 고정시키고, 사용하는 암호화 키의 길이만 128비트, 192비트, 256비트 중에서 선택할 수 있도록 정의
- AES는 지금까지 알려진 블록 암호 알고리즘에 대한 모든 공격 방법들에 대해 안전하도록 설계되었으며, 하드웨어나 소프트웨어 구현시 속도나 코드 compactness 면에서 효율적이므로 스마트 카드와 같은 응용에 적합하다는 장점이 있음

3) SEED

정보통신 및 정보보호의 비밀성 서비스를 제공하기 위하여 한국정보보호 진흥원이 주관하여 1998년 개발, 공개하여 한국 표준 암호 방식으로 선정한 128비트 블록 암호 방식
- 평문 128비트와 암호화 키 128비트가 입력되어 128비트의 암호문을 출력

4) ARIA (Academy, Research Institute, Agency)

- 국가보안기술연구소 주도로 학계, 국가정보원 등의 암호기술 전문가들이 공동 개발한 128, 192, 256비트 암호알고리즘
- 지난 2004년 한국 산업 규격 KS 표준으로 제정
- ARIA는 민간 암호 알고리즘 SEED와 함께 전자정부의 대국민 행정 서비스용으로 보급되고 있으며, 스마트 카드 등의 초경량 환경 및 고성능 서버 환경 등에서 SEED에 비하여 상대적으로 장점을 가지고 있음
- 국가기관 표준알고리즘(KS표준, KSX-1312)으로 모든 공공기관 및 산하기관은 ARIA로 암호화해야 함

5) RSA (Rivest Shamir Adleman)

- 서로 연관성이 있는 상이한 두 개의 키를 각각 암호화와 복호화에 이용하는 비대칭키 암호화 방식 
- RSA 는 최초로 공개키 암호화의 개념을 구현 
- 현재 공개키 암호화에서 가장 널리 쓰이고 있는 공개키 알고리즘
- 안정성이 십 여년 이상을 통해 검증이 되었고그 동안 발표 되어온 공개키 암호화 알고리즘 중에서 이해와 구현이 쉬움



[출처] 암호화 알고리즘|작성자 유즈

댓글 없음:

댓글 쓰기