본문 바로가기

Crypto

블록 암호의 원리

두 개 이상의 기본 암호 연속적 수행(치환, 순열 번갈아 수행,S-P 생성원리)

 

치환(S-Box, 혼돈)

평문의 각 원소 또는 원소의 그룹을 다른 원소에 사상

암호문의 통계적 구조와 암호 키 값 사이의 관계 복잡

키를 이용한 암호문 생성 방법 복잡(키 추론 어려움)

s-box는 비선형 구조

 

순열(P-Box, 환산)

평문원소의 순서는 순열의 순서대로 재배치

평문의 통계적 구조가 암호문에 광범위하게 분산

평문과 암호문 관계 복잡

각 평문 숫자가 다수의 암호문 숫자 값에 영향

p-box는 선형 구조

 

 

 

Feistal 암호 구조

처리구조

길이 2word 비트인 평문 블록(L, R)분할 처리

k로부터 유도된 n개의 서브키 사용

n회의 동일한 반복 구조 실행(n라운드)

오른 쪽 반(R)에 반복 함수(F) 적용

왼쪽 반(L)과 XOR

좌우 양쪽 결과를 교환(순열 적용)

 

EX)DES

출처:https://www.youtube.com/watch?v=Y61qn_SQl40
출처:https://www.youtube.com/watch?v=Y61qn_SQl40

 

Feistal 암호 설계의 고려사항

빠른 소프트웨어 암/복호화

-어플리케이션 또는 유틸리티 함수에 내재

-알고리즘의 실행속도가 중요

분석의 용이성

-암호 해독의 취약성에 대한 알고리즘의 분석이 쉬움

-고도의 신뢰성과 보안 강도를 위한 개발 용이

 

설계 특성

블록크기(64비트)

큰 블록은 보안 강화, 하지만 암/복호화 속도 저하

암/복호 속도를 고려해서 64비트가 일반적

키크기(128비트)

큰 키는 보안 강화, 하지만 암/복호화 속도 저하

암/복호 속도를 고려해서 128비트가 일반적

반복 수

다중 반복과정은 보안성 강화

16회 반복이 일반적

서브키 생성 알고리즘

서브키 생성 방법이 복잡할 수록 강력

'Crypto' 카테고리의 다른 글

Side Channel Attack(부채널 공격)  (0) 2020.05.04
블록 암호 운용 모드  (0) 2020.05.03
블록암호 VS 스트림 암호  (0) 2020.05.02
의사 난수 생성의 원리  (0) 2020.05.02
스트림 암호  (0) 2020.05.02