블록암호 block cipher
# 대칭키 암호방식 = 비밀키 암호방식
- 암복호화에 동일한 (하나의) 키를 사용하며, 이 키를 안전하게 전송, 보관해야 함
- 알고리즘과 암호문은 모두에게 주어짐, 알고리즘과 키로 암호문을 풀어서 평문을 알아냄
정보 교환 전에 “비밀리에” 키 분배 필요
& 과정 : 송신자가 평문을 암호화하여 수신자에게 보내면 수신자가 암호문을 복호화하여 평문을 얻는다.
♥ 암호화 속도가 빠르고, 키의 크기가 작다.
# 대칭키 암호방식을 암호화 단위로 분류
스트림 vs. 블록 암호
∘블록암호 : 한 번에 한 블록의 원소를 입력 처리하여 각 입력블록마다 출력블록을 생성 (block 단위로)
∘Stream 암호 : 입력 요소를 연속적으로 처리하여 한 번에 하나씩 출력 (들어오는대로)
스트림 암호의 잠재적 장점: 일반적으로 블록 암호보다 빠르고 훨씬 적은 코드 사용(최근에는 AES의 도입으로 인해 감소)
∘블록암호의 장점 : 키를 재사용할 수 있음
〇 스트림 암호의 경우, 암호해석은 상당히 간단한 경우가 많다.
# 블록 암호
: 자료 블록을 처리하는 핵심 알고리즘과 운영 모드의 조합으로 구성된 암호의 한 종류
∘블록암호의 장점 : 키를 재사용할 수 있음
* 혼돈 (confusion) :
+ 키와 암호문의 관계를 감추는 성질
+ ex) DES, AES의 substitution
* 확산 (diffusion) :
+ 평문과 암호문의 관계를 감추는 성질 (주로 둘의 통계적 성질을 감춤)
+ 평문의 1bit의 변화가 암호문의 모든 bit에 확산 되어야 함
+ ex) DES – permutation, AES - MixColumn
# 적용들
스트림 암호
∘ 데이터 통신 채널 또는 브라우저/웹 링크 등 데이터 스트림의 암호화/암호 해독
블록 암호
∘파일 전송, 이메일, 데이터베이스 등 데이터 블록 처리
# 암호화 방법으로 분류
[치환] : 문자를 1:1대응으로 치환하여 암호화
[전치] : 평문의 순서를 일정한 규칙에 따라 재배치
[ 적 ] : 치환 + 전치 (현대 비밀키 암호의 대다수가 이거)
알고리즘과 암호문을 가지고 평문이나 키를 알아낼 수 없을 때 secure가 강력하다고 함
암호알고리즘은 모두가 알ㅇㅏ 근데 키를 몰라서 못쓰는거지
알고리즘은 어렵다고만 좋은 게 아님, 알고리즘을 이해하기 쉬우면서 해독하기 어려운 게 강력한 거고 좋은 거
더 강력한 것은 일부러 어떠한 평문을 가지고 있음
키를 짧게 하면 빨리 해독할 수 있음. 암튼 알고리즘은 모두가 알지만, 키는 모른다. (키의 비밀성)
# cryptography (암호작성법)
크게 세가지로 분류가능
1. transformation
2. 키의 개수
3. plaintext가 처리되는 방법 (block || stream)
(= ATTACK)
*cryptanlysis(암호해독) : 정당한 사용자가 아닌 제3자가 암호문으로부터 평문을 복원하려는 시도 (≠복호화)
∘평문이나 키를 발견하려는 시도 과정
∘일반적인 접근방법:
+ cryptanalytic(암호분석)
+ brute-force attack(전수조사):모든 키의 경우를 다 대입해 보는 거, 이걸 막으려면 키가 더 복잡하고 길어야
∘암호분석기가 사용하는 전략은 다음에 따라 달라진다.
+ 암호화 방식 특성
+ 암호분석학자가 이용할 수 있는 정보
-cryptanalytic attacks의 경우
(암호해독에서의 공격)
밑으로 갈수록 해독자에게 알려진 정보의 양이 많아짐)-해독이 더 쉬워짐
-cyphertext only
알고리즘 및 암호문만 알고 있음 (해독자에게는 작은 양의 정보임) : 공격하기 가장 어려움
-known plaintext
하나 이상의 일반 텍스트-암호 텍스트 쌍 알기
알고리즘과 추측이 가능한 평문과, 암호문
-chosen plaintext (Probable-word 공격)
일반 텍스트 선택 및 암호 텍스트 가져오기
어떤 정보가 어디쯤에 있을지 추측가능 (정보의 양이 많지만 정확하지 않음)
-chosen ciphertext
암호문을 선택하고 일반 텍스트 가져오기
-chosen text
암호화 해제할 일반 텍스트 또는 암호 텍스트 선택
==일반적으로 위의 두가지 방식을 많이 사용함, 일반적으로 두번째까지 커버할 수 있도록 알고리즘을 설계함)
# 암호화된 메시지에 대한 공격 유형 암호화 분석
∘암호문서가 다음 기준 중 하나 또는 두 가지를 모두 충족하는 경우 암호화 체계가 계산적으로 안전하다.
∘암호파괴비용은 암호화된 정보의 가치를 초과함
∘암호 해독에 소요되는 시간이 정보의 내용연수를 초과함
∘암호문 ryptanalyzing 성공에 필요한 노력의 양을 추정하기 어려움
{-암호문을 해독할 때 비용이 실제 얻고자 하는 정보의 가치를 넘어선다 (블럭체인 채굴과 같은 느낌)
-걸리는 시간이 정보의 생존기간보다 오래걸릴떄 (다 풀고나면 정보가 리뉴얼되어있응께)
(근데 비용과 시간을 미리 예측ㄱ하는게 쉬운건 아님)}
# Brute Force approach (역시 노가다)
-모든 경우의 수 의 반만큼만 시도한다
ppt표에 방법의 가지와 뜻을 표현하는 표있음
성공할 때까지 가능한 모든 키를 사용해 보십시오.
평균적으로 모든 가능한 키의 절반은 성공을 위해 시도되어야 함
'about Security > 암호' 카테고리의 다른 글
[현대암호기초] (0) | 2020.10.30 |
---|---|
[현대암호기초] #05 block cipher / DES + AES (0) | 2020.10.29 |
[현대암호기초] #03. 무작위성 (0) | 2020.10.12 |
[현대암호기초] #02. OTP + 공격모형 + 암호화 응용 (0) | 2020.10.12 |
[현대암호기초] #01. 암호화 + 고전암호 (0) | 2020.10.11 |
댓글