본문 바로가기
자격증/정보보안기사 필기

정보보안기사 필기) 암호학_2_대칭키

by _miiiiiin_zzang_ 2020. 10. 22.

대칭키 암호

P-박스,  S-박스,  Feistel 암호,  SPN 구조,  차분 분석,  선형 분석, 전수 공격법,  통계적 분석, 수학적 분석, 현대 스트림 암호, 동기식 스트림 암호, DES, AES, IDEA, SEED, ARIA, HIGHT, LEA, ECB, CBC, CFB, OFB, CTR

Feistel 암호

평문 블록의 길이(64비트 이상), 키의 길이(64비트 내외 혹은 128비트 권장), 라운드 수(16회 이상)로 암호 강도 결정

최종 라운드에서는 좌우 블록을 한 번 더 교환 필요

MARS, RC6, Twofish에서 사용, Rijndael은 사용 안함

*대칭 블록 암호 구현*

블록크기 : 클수록 강한 보안, 암복호화 속조 저하

키 길이 : 길수록 강한 보안, 속도 저하

라운드 수 : 많을 수록 보안 강화

서브키 생성 알고리즘 : 이 알고리즘이 복잡할수록 해독 어렵

라운드 함수 : 복잡할수록 해독 어렵

SPN 구조

입력을 여러 개의 소블록으로 나누기 -> 대치 -> 전치하는   과정을 반복

 

블록 암호에 대한 공격 : 차분 분석, 선형 분석, 전수공격법, 통계적 분석, 수학적 분석

차분 분석

평문이 한 비트라도 달라지면 암호문은 전혀 다른 비트 패턴으로 변화하게 되는 것을 이용한 분석법

선형 분석

평문과 암호문 비트를 몇 개 정도 XOR해서 0이 되는 확률을 조사

선택 평문 공격

전수 공격법

암호화할 때 일어날 수 있는 가능한 모든 경우에 대하여 조사하는 방법

통계적 분석

빈도와 통계적인 자료를 이용하여 해동

수학적 분석

수학적 이론을 이용하여 해독

현대 스트림 암호

암호화와 복호화는 한번에 r비트를 생성

동기식과 비동기식으로 분류

동기식 스트림 암호

키 스트림은 평문 혹은 암호문 스트림과 독립적

One-Time Pad

동기식 스트림 암호 중에서 가장 간단하고 안전한 암호

암호화를 수행할 때마다 랜덤하게 선택된 키 스트림을 사용

비동기식 스트림 암호

키 스트림의 각 비트는 이전의 평문이나 암호문에 종속적으로 결정

블록 암호에서 다른 운영 모드를 생성하기 위해 사용되는 방법인 CFB 모드는 실제로 스트림 암호를 생성 

DES

평문 길이 : 64비트

키 길이 : 56비트

라운드 횟수 : 16

feistel 형태, 생성된 서브키는 각 라운드에서 사용

평문이나 키의 작은 변화가 암호문에 큰 변화를 만드는 쇄도 효과가 매우 크고 암호문의 각 비트가 평문의 많은 비트에 의존하는 완비성이 높은 것으로 증명되어 암호문으로부터 평문을 추론하기가 어려움

전사공격에 안전하지 못함

3중 DES

현재 사용중이나 처리 속도는 느림

2개의 키를 갖는 3DES

3개의 키를 갖는 3DES (기지평문공격의 가능성 때문에)

 

 

AES (Rijndael)

평문 길이 : 128비트

암호문 길이 : 128비트

라운드 : 10, 12, 14회

라운드 키 크기 : 128, 192, 256비트

non-feistel 알고리즘, SPN 구조

IDEA

스위스 개발, 128비트 키, 64비트 블록암호, Feistel 구조, 8.5라운드, PGP의 데이터 암호 알고리즘으로 사용

SEED

한국, 128비트 비밀키, 16 라운드, 128비트 평문 블록, 암호문 블록, feistel 구조

ARIA

한국, SPN 구조, 128비트 블록 암호, 128/192/256비트 키

HIGHT

한국(고려대), 기밀성 제공

LEA

한국, AES보다 빠름

현대 대친키 암호를 이용한 암호화 기법

ECB(전자 부호표 모드)

가장 간단한 모드, 블록 간의 독립성, 암호화와 복호화를 병렬적으로 수행 가능, 블록에서 발생하는 오류가 다른 블록에 영향을 주지 않음

BUT 평문의 블록 패턴과 암호문의 블록 패턴이 동일하게 유지되는 문제점 존재

데이터베이스를 암호화할 때 병렬적으로 처리 가능

CBC(암호 블록 연쇄 모드)

평문 블록은 암호화 되지 전에 이전 암호문 블록과 XOR 됨, 주어진 평문에 대하여 초기백터 생성에 앞서 초기벡터는 반드시 양쪽 모두가 알고 있어야 함

한 블록의 비트 오류는 모든 암호문에 영향을 끼침

IPSec에서 통신의 기밀성을 지키기 위해 사용

CFB(암호 피드백 모드)

어떤 블록 암호도 스트림 암호로 바꿀 수 있음

패딩 필요 없으며 실시간 사용 가능

비동기식 스트림 암호

OFB(출력 피드백 모드)

ECB(평문 블록이 동일하면 암호문이 같은 단점)와 CBC, CFB(오류 전파)의 단점을 개선한 동작 모드

EX-OF하여 암호문을 생성하여 오류 전파가 발생하지 않음

전송중인 암호문의 비트 손실이나 삽입에 유의

초기벡터 사용

초기치가 바뀌면 암호문은 모두 바뀜, 암호 알고리즘의 출력은 평문과 무관, 비트 오류 없음 

CTR(카운터 모드)

이전 암호문 블록과 독립적인 키 스트림을 생성하지만 피드백을 사용하지 않음

암호화때마다 다른 값을 기초로 해서 만듦

 

2.암호학_2.pdf
0.22MB

댓글