암호화 기법(대칭키, 공개키)
- 최초 등록일
- 2007.11.02
- 최종 저작일
- 2007.10
- 18페이지/ 한컴오피스
- 가격 1,000원
소개글
암호화 알고리즘 (대칭키, 공개키)방법과 알고리즘등이요..
목차
(1) 대칭키 암호화 기법(블록 암호화)
1. 대칭키 암호방식
2. 블록암호 알고리즘 구조
1) Feistel 구조
2) SPN 구조
3. 블록암호의 사용방식
4. 블록암호 알고리즘 종류
(2) 대칭키 암호화 기법(스트림 암호화)
1. 개념
2. 스트림 암호 종류
3. 선형 귀환 시프트 레지스터(LFSR)
4. 키 수열의 안전성
(3) 공개키 암호화기법
<1> 인수분해 기반 공개키 암호
1. 공개키 알고리즘의 특징
2. 공개키 암호 암호방식
3. 소인수 분해를 이용한 공개키 암호
4. 효과적인 암호구현 알고리즘
<2> 확률적 공개키 암호
1. 확률적 공개키 암호의 안전성 개념
2. RSA-OAEP
<3> 이산대수 기반 공개키 암호
1. 유한체의 이산대수
2. 타원곡선 암호 (Elliptic Curve Cryptosystem)
(4) 전자서명 기법
1. 전자서명의 조건
2. 수기 서명과 전자서명의 차이점
3. X.509 인증서
본문내용
암호문을 만들기 위해 평문을 일정한 단위로 나누어서 각 단위마다 암호화 과정을 수행하 여 블록단위로 암호문을 얻는 대칭 암호화 방식이다.
1. 대칭키 암호방식 - 대칭키 암호방식 - 암호키 관계 암호화키 = 복호화키 - 암호화 키 비밀 - 복호화 키 비밀 - 암호 알고리즘 비밀/공개 - 비밀키 수 n C 2 - 안전한 인증 곤란 - 암호화 속도 고속
2. 블록암호 알고리즘 구조 블록암호 알고리즘은 비밀키를 이용하여 고정된 크기의 입력블록을 고정된 크기의 출력블록으로 변형하는 암호 알고리즘에 의해 암/복호화 과정을 수행하며, 이때 출력블록의 각 비트는 입력블록과 키의 모든 비트에 영향을 받는다. 블록 암호는 주로 단순한 함수를 반복적으로 적용함으로써 암호학적으로 강한 함수를 만드는 과정으로 개발된다. 이때 반복되는 함수를 라운드 함수라 하고 라운드 함수에 작용하는 키를 라운드 키라고 한다. 일반적인 경우 키를 입력하여 라운드 키를 발생하여 사용하는데 이러한 과정을 키 스케줄 이라 부른다. 키 스케줄은 입력된 키의 모든 비트를 균등하게 사용하여 라운드 키를 독립인 것처럼 발생시켜야 한다.
1) Feistel 구조 Feistel구조는 3라운드 이상이며, 짝수 라운드로 구성된다. 이러한 Feistel 구조는 라운드 함수와 관계없이 역변환이 가능하며(즉, 암/복호화 과정이 같음), 두 번의 수행으로 블록간의 완전한 확산(diffusion)이 이루어지며, 알고리즘의 수행속도가 빠르고, 하드웨어 및 소프트웨어구현이 용이하고, 아직 구조상에 문제점이 발견되고 있지 않다는 장점을 지니고 있다. Feistel 구조는 입력을 좌우 블록으로 분할하여 한 블록을 라운드 함수에 적용시킨 후의 출력 값을 다른 블록에 적용하는 과정을 좌우블록에 대해 반복적으로 시행하는 방식으로, 라운드 키가 역순으로 작용한다는 점을 제외하면 암/복호화 과정이 동일하고 라운드 함수에 대한 제약 조건이 없어 DES를 비롯한 대부분의 블록암호에 채택되어 사용되고 있다. Feistel 구조는 입력 n비트를 두개의 블록 ( L0 , R0 )으로 나누어 라운드 함수를 F, 라운드 키를 Ki라 할 때, i번째 라운드 과정이 다음과 같다. o Li = Ri o Ri = Li-1 . Fi(Ri-1, Ki)
2) SPN 구조 SPN 구조는 라운드 함수가 역변환이 되어야 한다는 등의 제약이 있지만 더 많은 병렬성(parallelism)을 제공하기 때문에 암/복호화 알고리즘의 고속화가 요구되고 최근의 컴퓨터 프로세스(CPU)가 더 많은 병렬성을 지원하는 등의 현 추세에 부응하는 방식이라 할 수 있다. SPN은 입력을 여러 개의 소블록으로 나누고 각 소블록을 S-box로 입력하여 대치시키고 S-box의 출력을 P-box로 전치하는 과정을 반복한다.
참고 자료
해킹, 보안 교제