공통 운영 모드 ( Mode of Operation )

황제낙엽 2013.03.07 13:49 조회 수 : 347

sitelink1  
sitelink2  
sitelink3  
sitelink4  
extra_vars5  
extra_vars6  
운영 모드 ( Mode of Operation )
 
스트림 사이퍼의 경우에는 비트 혹은 바이트 단위의 평문을 곧바로 처리하지만 블록 사이퍼의 경우에는 블록 단위로 처리하므로 몇 가지 고려할 점이 생기게 됩니다.
 
1) 패딩 ( Padding )
평문이 반드시 블록 비트 수의 배수 길이로 존재하지는 않으므로 마지막 블록을 처리할 때는 블록 비트 수보다 적은 경우가 많습니다.
(예) DES에서 입력 평문의 비트 수가 100비트라면 첫 블록 64비트를 처리한 후 36비트가 남게 됨
 
이런 경우 64비트를 맞추어 주기 위해 보통 100000000000... 과 같은 형태로 비트를 첨가하여 주는데 이렇게 비트열을 첨가하여 블록 길이를 맞추는 것을 패딩(padding)이라고 합니다.  대부분의 암호 알고리즘 표준에서는 여러 가지 패딩 방법을 명시해 둡니다.
 
2) 모드 ( Mode )
기본 암호화 연산 단위를 연결하여 큰 길이의 평문을 처리하는 방법을 모드(mode)라고 하며 암호 알고리즘에 따라 여러 가지 방법이 정의되어 있습니다. 여기에서는 일반적으로 대칭키 암호에 많이 활용되는 DES의 운용 모드(mode of operation) 네 가지를 살펴보도록 하겠습니다.

█ ECB(Electronic Code Book)
► 가장 기본적인 운용 방법으로 입력 평문 X1 X2 ... Xn에 대하여 각각의 대응되는 암호문 Y1 Y2 ... Yn을 생성하는 방법
► 앞뒤 블록 간에 아무런 연관이 없으므로 병렬 처리가 가능하고 속도가 빠름
► 평문-암호문의 상관 관계가 쉽게 드러나 known-plaintext attack이나 블록의 일부를
다른 것으로 바꾸는 블록 재생 공격(replay attack)에 대하여 매우 취약
 
█ CBC(Cipher Block Chaining)
► 이전 블록의 암호문을 평문 블록과 XOR한 후 암호화 하는 방법으로 가장 많이 사용되는 모드
► 최초 평문 블록에 대해서는 초기화 벡터(Initialization Vector)가 필요하며, 평문-암호문의 패턴이 감추어지고 평문의 첫 블록이 암호문의 마지막 블록까지 영향을 주므로 known-plaintext attack이나 재생 공격에 대해 강함
► 암호화 용도 뿐 아니라 인증을 위한 MAC을 생성할 때 많이 사용됨
 
█ CFB(Cipher Feedback)
► 이전 블록의 암호문을 암호화한 후 평문 블록과 XOR하는 것으로 블록 사이퍼를 스트림 사이퍼처럼 구현하는 방법
► 최초 평문 블록에 대해서는 초기화 벡터가 필요하며, 평문-암호문의 패턴이 감추어지고 평문의 첫 블록이 암호문의 마지막 블록까지 영향을 주는 특성을 갖고 있음
 
█ OFB(Output Feedback)
► 초기화 벡터로부터 반복적으로 암호화하면서 매 결과 블록을 평문 블록과 XOR하여 암호문을 구하는 것으로 역시 블록 사이퍼를 스트림 사이퍼처럼 구현하는 방식
► 암호화를 시작하기 전에 미리 초기화 벡터를 암호화한 비트 열을 계산해 둘 수 있어 효율적인 연산이 가능함


번호 제목 sitelink1 글쓴이 날짜 조회 수
공지 [계속 추가중] SBOM 용어 정의   황제낙엽 2025.04.10 52
공지 [계속 추가중] Keycloak 용어 및 설정 옵션 정의   황제낙엽 2024.02.02 631
45 무료 SSL/TLS 인증서 Let's Encrypt(Linux+Apache) secret https://letsencrypt.org/docs/rate-limits/  황제낙엽 2020.04.05 17
44 SNI 기반 HTTPS 사이트 차단 file https://blog.naver.com/aepkoreanet/221465526990  황제낙엽 2020.03.04 170
43 사설인증서 공인인증서 구분 방법 file   황제낙엽 2019.07.16 186
42 Convert Certificate Format SSL 인증서 변환 가이드 https://www.securesign.kr/guides/SSL-Cer...ert-Format  황제낙엽 2019.03.29 199
41 *.key와 *.crt를 PKCS#12(*.pfx, *.p12)로 형식으로 변환하기 https://www.eznbiz.co.kr/help/qna/content/3  황제낙엽 2019.03.29 213
40 HOWTO: DER vs. CRT vs. CER vs. PEM Certificates and How To Convert Them http://info.ssl.com/article.aspx?id=12149  황제낙엽 2019.03.29 869
39 How to convert a certificate file from .crt to .cer? file https://www.sonicwall.com/support/knowle...597576961/  황제낙엽 2019.03.29 678
38 국내(KOREA) IP 사용 대역 file http://www.domain.kr  황제낙엽 2019.02.21 360
37 서버 보안 관리를 위한 백업과 점검 절차   황제낙엽 2017.05.30 201
36 정보 보안 개론 : 네이버 지식백과 http://terms.naver.com/list.nhn?cid=5843...ryId=58437  황제낙엽 2017.05.19 191
35 개발용 tomcat 운용시 tomcat-users.xml 의 관리 주의   황제낙엽 2017.04.07 391
34 윈도우 원격데스크톱(RDP) 접근 이력 조회 file http://skylit.tistory.com/196  황제낙엽 2017.04.06 243
33 SSL, TLS, OpenSSL 관련 http://kin.naver.com/qna/detail.nhn?d1id...K9fw%3D%3D  황제낙엽 2015.12.31 217
» 운영 모드 ( Mode of Operation )   황제낙엽 2013.03.07 347
31 암호화 알고리즘 스크랩   황제낙엽 2012.08.28 3076
30 미연방 표준 암호 알고리즘 http://rustican.com/board/zboard.php?id=paper&no=140  황제낙엽 2010.05.21 285
29 blowfish java source file http://www.angelfire.com/moon/dmp/  황제낙엽 2010.05.16 507
28 파일 해쉬 알고리즘 CRC   황제낙엽 2009.12.01 409
27 해쉬 알고리즘의 종류   황제낙엽 2009.12.01 406
26 Ajax 보안 관련 문서 (Attacking AJAX Web Applications) file   황제낙엽 2009.02.12 176