1. 현대 대칭키 암호(블록 암호, 스트림 암호)
- 현대 블록 암호
- 개요
- 현대 블록 암호는 확산과 혼돈과 같은 성질을 만족 시키기 위해
- 전치 요소(P-박스)와 치환요소 (S-박스) 그리고 그 밖의 요소를 결합하여 설계.
- 개요
혼돈과 확산
확산(diffusion) : 평문의 통계적 성질을 암호문 전반에 퍼뜨려 숨김.(평문과 암호문 사이의 관계를 숨김)
혼돈(confusion) : 암호문과 키의 상관관계를 숨김.
-
- P-박스
- 문자 단위로 암호화를 수행했던 고전 전치 암호를 병렬적으로 수행한다.
- 현대 블록 암호에서는 단순(straight), 확장(expansion), 축소(compression) 세 가지 종류의 P-박스가 있다.
- 축소 P-박스 : n비트를 입력 받아 m 비트를 출력하는 P-박스로서 n>m을 만족한다. 입력 비트 중 특정 비트는 소실되어 출력되지 않는다. 비트를 치환하고, 동시에 다음 단계를 위한 비트의 수를 줄이고자 할 때 사용
- 확장 P-박스 : n비트를 입력 받아 m비트를 출력하는 P-박스로서 n<m을 만족한다. 입력 비트 중 특정 비트는 한 개 이상의 출력비트와 연결된다. 비트를 치환하고 동시에 다음 단계에서 비트의 양을 증가시키고자 할 때 사용
- 역함수의 존재성 : 단순 P-박스는 역함수가 존재한다. 축소와 확장 P-박스는 역함수가 존재하지 않는다.
- S-박스
- 치환 암호의 축소 모형으로 생각할 수 있다. 하지만 S-박스는 입력과 출력의 개수가 달라도 된다.
- 입력은 n비트 워드이고, 출력은 m비트 워드 일 때, n과 m이 서로 같을 필요는 없다.
- 역함수의 존재성 : 역함수가 존재할 수도 있고, 존재하지 않을 수도 있다. 입력 비트와 출력 비트의 개수가 동일한 S-박스는 역함수가 존재한다.
- 합성 암호(Product Ciphers)
- 개요
- Shannon이 합성 암호의 개념을 소개하였다.
- 합성 암호는 치환, 전치 그리고 그 밖의 구성요소를 겹할한 복합적인 암호이다.
- 확산(Diffusion)과 혼돈(Confusion)
- Shannon이 도입한 합성 암호의 주된 개념은 설계된 블록 암호가 확산과 혼돈이라는 두 가지 성질을 갖도록 하는 것
- 확산(Diffusion) : 암호문과 평문 사이의 관계를 숨기는 것, 암호문에 대한 통계 테스트를 통하여 평문을 찾고자 하는 공격자를 좌절시킨다.
- 혼돈(Confusion) : 암호문과 키의 관계를 숨기는 것, 암호문을 이용하여 키를 찾고자 하는 공격자를 좌절시킨다. (키의 단일 비트가 변하면 암호문의 거의 모든 비트가 변한다.)
- 라운드(Round) : 확산과 혼돈은 각 반복이 S-박스, P-박스 그리고 기타 구성요소의 결합을 의미하는 반복적 합성 암호를 사용하여 얻어짐, 반복적으로 사용되는 합성 암호를 라운드(Round) 라고 칭한다.
- 개요
- 두 가지 종류의 합성 암호
- Feistel 암호
- 페이스텔 구조에서 네트워크라는 이름은 그 구성도가 그물을 짜는 것과 같이 교환되는 형태로 구성됐기 때문에 붙여진 이름.
- Feistel 암호 방식의 암호 강도를 결정 짓는 요소 : 평문 블록의 길이, 키 K의 길이, 라운드의 수
- 충분한 안정성 보장을 위해서는 평문 블록의 길이는 64비트 이상, 키 K의 길이는 64비트 내외, 라운드 수는 16회 이상이어야 한다.(최근에는 128비트의 키 길이를 권장)
- 복호화 과정은 암호화 과정과 동일, 복호화 과정의 입력은 암호문과 보조키 Ki이며, 보조키 Ki의 입력 순서는 암호화 과정의 입력순서와 반대가 된다.
- 즉, 복호화 과정의 첫 라운드에 Kn-1, 마지막 라운드에 K1의 보조키를 입력한다.
- Feistel 암호 특징
- 페이스텔 네트워크는 많은 블록 암호 알고리즘에서 이용
- AES 최종 후보로 남은 5개 중에 3개의 알고리즘에서 사용
- 단, AES로 최종 선정된 레인달(Rindael)은 사용 안함.
- SPN 구조
- 대부분 블록 암호는 라운드 함수를 반복적으로 적용하는 방법에 따라 두 가지 형태로 구별된다.
- 바로 SP network와 Feistel 구조이다.
- SP Network는 "여러 개의 함수를 중첩하면 개별 함수로 이루어진 암호보다 안전하다"는 Shanon의 이론에 근거하여 고전 암호의 일종인 치환암호와 전치암화를 중첩하는 형태로 개발한 암호이다.
- 입력을 여러 개의 소블록으로 나누고 각 소블록을 S-box로 입력하여 대치(substitution)시키고, S-box의 출력을 P-box로 전치(permutation)하는 과정을 반복하는 방식
- Feistel 암호
- 블록 암호에 대한 공격
- 차분 분석
- 선형 분석
- 전수공격법
- 통계적 분석
- 수학적 분석
- P-박스
- 현대 스트림 암호
- 기본개념
- 현대 스트림 암호에서 암호화와 복호화는 한번에 r비트를 생성한다.
- 키 스트림을 어떻게 생성하는지가 현대 스트림 암호의 주된 관심사이며, 현대 스트림 암호는 동기식과 비동기식 두 가지 종류로 분류된다.
- 스트림 암호 설계 시 고려사항
- 암호화의 연속은 긴 주기를 가져야 한다.
- 키 스트림은 진 난수 스트림과 최대한 비슷해야 한다.
- 전사적 공격에 대응하기 위해서는 키가 충분히 길어야 한다.
- 동기식 스트림 암호
- 개요
- 암호문을 복호화하여 평문을 찾을 때 키 스트림과 암호문 사이에 동기가 필요한 동기식 암호 스트림.
- 키 스트림이 평문과 관계 없이 생성되는 것으로 암호문에 들어 있는 키 스트림과 암호문의 독립성으로 인해 인가자 이외에 불법 사용자에게 정보 유출 가능성이 적다.
- One-Time Pad
- 동기식 스트림 암호 중에서 가장 간단하고, 안전한 암호는 길버트 버냄(Gilbert Vernam)에 의해 서계되고 특허화된 one-time pad(Vernam)이다.
- 해독이 불가능 하다는 것이 샤논에 의해 1949년 수학적으로 증명
- 일회용 패드는 무조건 안전(unconditionally secure)하며, 이론적으로 해독 불가능(theoretically unbreakable)하다고 알려져 있다.
- 암호화 알고리즘과 복호화 알고리즘은 각각 배타적 논리합 연산을 사용
- 배타적 논리합 연산의 성질에 의해 암호화 알고리즘과 복호화 알고리즘은 서로 역관계.
- 배타적 논리합 연산을 한 번에 한 비트씩 적용
- 개요
- 기본개념
OTP 안정성을 위한 조건
패드는 한번만 사용 되어야 한다.
패드는 메시지 길이만큼 길어야 한다.
패드는 목적지로 안전하게 배포되고 보호되어야 한다.
패드는 순수하게 임의값으로 만들어져야 한다.
-
-
- 귀환 시프트 레지스터(FSR, Feedback Shift Register)
- one-time pad의 절충안은 귀환 시프트 레지스터(FSR)이다.
- 소프트웨어와 하드웨어 환경에서 모두 구현가능하지만 하드웨어 구현이 더욱 용이.
- 시프트(Shift) 레지스터와 귀환 함수(Feedback)로 구성.
- 선형 귀환 시프트 레지스터(LFSR, Liner Feedback Shift Register)
- LFSR은 하드웨어로 쉽게 구현되며 모든 스트림 암호는 아니지만 많은 스트림 암호가 LFSR을 이용
- 비선형 귀환 시프트 레지스터(NLFSR, Nonliner Feedback Shift Register)
- LFSR은 선형성 때문에 공격에 취약하다 NLFSR을 이용하여 LFSR보다 안전한 스트림 암호를 설계할 수 있다.
- 귀환 시프트 레지스터(FSR, Feedback Shift Register)
-
- 비동기식 스트림 암호(자기 동기식 스트림 암호)
- 키 스트림이 평문 또는 암호문과 관계를 갖는 자기 동기식 스트림 암호 시스템.
- 키 스트림이 평문 혹은 암호문으로부터 함수 관계에 의해 생성되는 방식
- 전송 중 암호문의 비트가 손실 또는 변경 되더라도 그 오류의 전파가 유한하게 된다.
- 오류 정정의 기능을 포함할 수는 있지만 키 스트림과 암호문의 종속성으로 인해 해독되기 쉽다.
- CFB 모드는 실제로 스트림 암호를 생성
2. DES(Data Encryption Standard)
- 개요
- 역사
- 미국 국립기술표준원(NIST) 1973년 국가적으로 사용할 대칭키 암호시스템의 제안 요청서 발표
- DES는 발표된 이후 가장 널리 사용되는 대칭키 블록 암호가 되었다.
- 후에 DES를 세 번 반복하는 3중 DES의 사용을 권고하는 새로운 표준(FIPS 46-3)을 발표
- 최신 블록암호 표준인 AES는 DES를 대체하기 위해 표준으로 제정된 알고리즘
- 개관
- 역사
- DES의 구조
- 개요
- 라운드 함수
- DES 함수
- 암호화 알고리즘 복호화 알고리즘
- 개요
- 키 생성
- DES 분석
- 설계기준
- DES의 취약점
- 다중 DES
- 3중 DES
- 개요
- 3중 DES 현황
- 두 개의 키를 갖는 3중 DES
- 세 개의 키를 갖는 3중 DES
- DES와의 호환성
- 3중 DES
3. AES(Advanced Encryption Standard)
- 개요
- 역사
- 선정 기준
- 라운드
- 암호
- 개요
4. 기타 대칭키 암호 알고리즘
- 국제 암호 알고리즘
- IDEA
- RC5
- 국내 암호 알고리즘
- SEED
- ARIA
- HIGHT
- LEA
5. 현대 대칭키 암호를 이용한 암호화 기법
- 블록 암호의 사용 방식
- 개요
- ECB 모드
- CBC 모드
- CFB 모드
- OFB 모드
- CTR 모드
- 블록 암호 모드 비교
O / X 퀴즈
1. 전자서명은 비밀키 암호화 알고리즘만으로 보장하기는 어렵다.
> O
> 비밀키(대칭키) 암호는 부인방지 개념이 포함된 전자서명을 단독으로 제공하기 어렵다. 대칭키 암호로 부인방지 서비스를 제공하기 위해서는 제3의 인증기관이 필요
2. 공개키 암호 알고리즘은 비밀키 암호 알고리즘보다 연산 속도가 빠르다.
> X
> 연산 속도가 빠른 순서 : 비밀키(대칭키, 관용키) > 공개키(비대칭키)
> 관용 암호 알고리즘이 상대적으로 실행 속도가 빠르기에 데이터 암호에 적합
3. 비밀키 암호화 방식 중 암호강도를 향상시키기 위해 대치(Substitution) 암호와 전치 암호르 혼합한 혼합변환식 암호 방식을 이용한 알고리즘은 DES이다.
> O
4. 카운터(CTR) 모드는 암호화 알고리즘과 복호화 알고리즘이 다르다.
> X
> CTR 모드의 암호화와 복호화는 완전히 같은 구조, 프로그램 구현이 매우 간단
'정보보안기사' 카테고리의 다른 글
접근통제 보안 모델 (0) | 2022.12.26 |
---|---|
대칭키 암호 키 배송 문제 (1) | 2022.12.25 |
암호학 개요 (0) | 2022.12.20 |
정보보호관리의 개념 (0) | 2022.12.19 |
비대칭키 암호 (0) | 2022.12.16 |