기사공부(알기사, AES와 기타 대칭키 암호)

반응형

AES

- 1997DES를 대체하기 위해 나옴

- 현재 사용하는 AES는 레인달(Rijndael)이고 레인달은 SPN 구조

- SubBytes(), Shift-Rows(), MixColumns(), AddRoundKey()로 나온다.

- AES128bit의 평문 128bit의 암호문, 128(10R), 192(12R), 256(14R)의 키 크기로 구성

- 하드웨어나 소프트웨어 구현 시 속도나 코드 압축성 며에서 효율적, 스마트 카드에 많이 사용

 

다양한 대칭키 암호 알고리즘

1. IDEA

- DES를 대체하기 위해 스위스 연방기술 기관에서 개발

- FeistelSPN의 중간 단계인 Lai-Massey Scheme 형태

- 8라운드로 구성(8.5라운드라고도 함)

- DES보다 안전하고 빠르기 때문에 PGP 알고리즘으로 채택

- 64bit의 블록길이 128bit의 키길이

2. RC5

- 1994년 미국 RSA 연구소에서 개발

- 비교적 간단한 연산으로 빠른 암복호화 기능 제공

- 속도는 DES보다 10배 빠름

- 32/64/128bit의 블록을 가지며 , 라운드 평문, 암호문 길이가 가변

3. SEED

- 1999년 한국정보 진흥원이 개발

- 2005년 국제 블록암호 알고리즘 표준으로 제정

- 128bit의 평문, 암호문 128, 256bit의 키(64개의 라운드 키 사용), 16,24Round

4. ARIA

- 2004년 국가보안기술 연구소 주도로 만듦

- ISPN구조로 128,192,256bit의 키 사용, 128bit의 암호문과 평문

5. HIGHT

- 2005KISA ETRI, 고려대가 공동개발한 64bit의 블록 암호

6. LEA

- AES 보다 1.5 ~ 2배 정도 빠름

- 저 전력 암호화에서 널리 쓸 수 있음

 

Feistel 구조와 SPN 구조 알고리즘

Feistel 구조 : DES, LOKI, CAST, Blowfisy, MISTY, RC5, RC6, CAST256, E2, Twofish, Mars, SEED

SPN 구조 : SAFER, SAFER+, SHARK, Square, Crypton, Rjindael,Sepent Present, ARIA

 

블록 암호의 종류

 

1.ECB

- 평문의 길이가 블록의 길이의 배수가 아니면 블록의 길이만큼 패딩을 해준다

- 블록간 독립적이므로 에러 전달이 없다.

-평문의 블록 패턴과 암호문의 블록 패턴이 동일 키가 동일시 모든 암호문이 해독 가능성이 있어 위험

 

 

2. CBC

- 평문이 암호화 되기전 이전의 암호문 블록과 XOR

- 만약 평문이 첫 번째일 경우 초기화 벡터(IV)를 사용하여 XOR

- 암호문 Ci에서 에러 발생시 Pi, Pi+1에게 에러가 발생한다.

- 암호문 Ci에서 에러 발생시 Ci+2는 정상적으로 복호화된다.

- 평문 블록 Pi의 오류는 전체 암호문에게 영향을 끼친다.

 

3. CFB

- 이전 암호문은 평문과 XOR 하기전에 암호화가 먼저 된다.

- 만약 평문이 첫 번째 일 경우 초기화 벡터가 암호화 된 후 평문과 XOR

- 블록암호를 스트림 암호로 변경할 수 있다.

- 비동기식 스트림 암호이다.

- 만약 암호문 Ci에서 발생할시 그 다음 평문에서 에러가 발생 할 수도 있다.

 

 

4. OFB

- ECB모드의 단점과 CBC,CFB의 단점을 개선해서 만든 블록 암호

- 초기치가 바뀌면 암호문은 모두 바뀐다.

- 전송 중 비트 오류가 전파되지 않는다.

- 암호 알고리즘 출력은 평문과 상관이 없다(이전 암호문을 암호화 한 값을 넘기기 때문에)

- 암호문 Ci에서 비트 손실 발생시 다음에 오는 모든 평문에서 에러가 발생

- 동기식 스트림 암호이다.

- 패딩이 필요 없음

- 에러 전파가 없다.

 

 

5. CTR

- 동기식 스트림 암호이다.

- 패딩이 필요 없다.

- 에러 전파가 없다.

- 다른 블록암호와 달리 카운터를 증가시켜 키 스트림을 생성한다.

 

반응형