1 2.1 대칭암호원리 제 2 장. 대칭암호와메시지기밀성
2
3 기본용어 평문 (Plaintext) - original message 암호문 (Ciphertext) - coded message 암호화 (Cipher) - algorithm for transforming plaintext to ciphertext 키 (Key) - info used in cipher known only to sender/receiver 암호 (Encipher (encrypt)) - converting plaintext to ciphertext 복호 (Decipher (decrypt)) - recovering ciphertext from plaintext 암호학 (Cryptography) - study of encryption principles/methods 암호해독 (Cryptanalysis (code breaking)) - study of principles/methods of deciphering ciphertext without knowing key Cryptology - field of both cryptography and cryptanalysis
4 대칭암호원리 (1) 대칭암호구조의 5가지요소 평문 (Plaintext) 암호알고리즘 (Encryption algorithm) 비밀키 (Secret key) 암호문 (Ciphertext) 복호알고리즘 (Decryption algorithm)
대칭암호원리 (2) 5
6 대칭암호원리 (3) 안전한대칭키암호사용필수요건 강한암호알고리즘 알고리즘을알고, 암호문몇개를가지고있어도암호문을해독하거나키를알아낼수없어야함 안전한비밀키공유 송신자와수신자는공유하는비밀키를안전한방법에의해획득하고, 안전하게보관해야함 대칭암호의보안은키의비밀성에의해서지켜지는것이지알고리즘을모르게해서지켜지는것이아니다 알고리즘은공개 키만비밀
7 암호시스템분류 평문을암호문으로전환하는연산유형 대체 (substitution) 치환 (transposition) 생성 (product) 사용되는키의수 단일키 (symmetric, single-key, secret-key, conventional encryption) 쌍키 (asymmetric, two-key, or public-key encryption) 평문처리방법 블록암호 (block cipher) 스트림암호 (stream cipher)
8 암호해독 (Cryptanalysis) (1) 암호해독 (cryptanalysis) 암호화된메시지의평문이나그것을복호화하기위한키를찾으려는시도 암호화된메시지공격유형 암호화시스템이용이어려운경우 Type of attack Ciphertext only Known plaintext Known to Cryptoanalyst Encryption algorithm Ciphertext to be decoded Encryption algorithm Ciphertext to be decoded One or more plaintext-ciphertext pairs formed with the secret key
9 암호해독 (Cryptanalysis) (2) 암호화된메시지공격유형 ( 계속 ) 암호화시스템이용가능시 Type of attack Chosen plaintext Chosen ciphertext Chosen text Known to Cryptoanalyst Encryption algorithm Ciphertext to be decoded Plaintext message chosen by cryptanalyst, together with its corresponding ciphertext generated with the secret key Encryption algorithm Ciphertext to be decoded Purported ciphertext chosen by cryptanalyst, together with its corresponding decrypted plaintext generated with the secret key Encryption algorithm Ciphertext to be decoded Plaintext message chosen by cryptanalyst, together with its corresponding ciphertext generated with the secret key Purported ciphertext chosen by cryptanalyst, together with its corresponding decrypted plaintext generated with the secret key
암호화된메시지공격유형 10
계산적안전 (1) 계산적안전 (Computational Security) 암호문을깨는데드는비용이암호화된정보의가치보다더 크다. 암호문을깨는데걸리는시간이해당정보의수명보다더 길다. 암호문을깨는데드는비용 ( 노력 ) 을어떻게정량화할것인가? 전수공격방법 (Brute-Force Approach) 키공간의모든키를시도해보는방법으로키를찾는공격법 평균적으로가능한모든키의절반정도시도해야성공 전수공격외에다른방법은없는가? 11
계산적안전 (2) 전수공격방법 키크기에따른평균탐색시간 필요한지식 기대하는평문에대한지식 자동으로쓰레기와의미있는평문을구별하는수단 12
Feistel 암호구조 (1) 1973 년 IBM 의 Horst Feistel 이제안한구조 입력으로길이 2ω 인평문블록과키 K 평문블록을 2 조각으로나눈후 각각 n 번의라운드를거친후다시 합쳐짐 각라운드에서는이전라운드의결과블록과 K로부터생성된서브키 K i 를입력으로이용 라운드함수 F를오른쪽에적용한후그결과와왼쪽데이터와 XOR 시행 이후서로교체하는치환수행 13
Feistel 암호구조 (2) 14
Feistel 암호구조 (3) 15
Feistel 암호구조 (4) 대칭블록암호설계요소 블록크기 (Block size): 키크기 (Key size): 라운드수 (Number of rounds): 서브키생성알고리즘 (Subkey generation algorithm): 라운드함수 (Round function): Fiestel 구조알고리즘설계시추가고려사항 빠른소프트웨어암호 / 복호 (Fast software encryption/decryption) 용이한분석 (Ease of analysis) Fiestel 암호의복호과정은암호과정과동일 16