블록 암호 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
8번째 줄: | 8번째 줄: | ||
* 메시지의 길이가 n비트보다 작다면 n비트 블록을 만들기 위해 패딩(padding)이 추가 | * 메시지의 길이가 n비트보다 작다면 n비트 블록을 만들기 위해 패딩(padding)이 추가 | ||
== | == 치환(Substitution)과 전치(Transposition) == | ||
* 블록 암호는 비트단위의 치환 혹은 전치 암호로 동작된다. | * 블록 암호는 비트단위의 치환 혹은 전치 암호로 동작된다. | ||
* 치환암호에서 평문과 암호문의 0과 1의 비트 개수는 다르다. | * 치환암호에서 평문과 암호문의 0과 1의 비트 개수는 다르다. | ||
27번째 줄: | 26번째 줄: | ||
* 치환 암호의 축소 모형으로 입력 비트와 출력 비트가 같은 경우에만 역함수가 존재한다. | * 치환 암호의 축소 모형으로 입력 비트와 출력 비트가 같은 경우에만 역함수가 존재한다. | ||
== 합성 암호 == | == 합성 암호(Product Ciphers) == | ||
; | ; Shannon은 치환, 전치, 그리고 기타 요소를 결합한 합성 암호를 소개 | ||
* 혼돈(confusion)은 암호문과 키의 관계를 숨기는 것 | * 혼돈(confusion)은 암호문과 키의 관계를 숨기는 것 | ||
* 확산(diffusion)은 평문의 통계적 성질을 숨기는 것, 평문과 암호문의 관계를 숨기는 것 | * 확산(diffusion)은 평문의 통계적 성질을 숨기는 것, 평문과 암호문의 관계를 숨기는 것 | ||
43번째 줄: | 41번째 줄: | ||
* [[HIGHT]] | * [[HIGHT]] | ||
* [[LEA]] | * [[LEA]] | ||
== | == 구현 방식 == | ||
* ECB : 간단, 고속, 위험 | * ECB : 간단, 고속, 위험 | ||
* CBC : 한 블록 내에서 에러 전파, 다른 블록에 1비트 영향 | * CBC : 한 블록 내에서 에러 전파, 다른 블록에 1비트 영향 | ||
52번째 줄: | 49번째 줄: | ||
* CTR : 스트림 모드, 권장됨 | * CTR : 스트림 모드, 권장됨 | ||
== | == 공격 == | ||
; 블록 암호의 키를 찾기 위한 공격 기법들 | ; 블록 암호의 키를 찾기 위한 공격 기법들 | ||
* 차분 공격(Differential Cryptanalysis) | * 차분 공격(Differential Cryptanalysis) |