암호 편집하기
최신판 | 당신의 편집 | ||
85번째 줄: | 85번째 줄: | ||
* '''[[블록암호]]'''(Block Cipher) : 블록암호는 평문을 고정된 크기의 블록단위로 암·복호화를 수행하며, 각 블록마다 동일한 키가 사용된다. 블록암호는 고정된 크기로 평문을 나누기 때문에, 원하는 길이를 맞추기 위하여 [[패딩]](padding)이라는 기법을 이용한다. 또한 하나의 키로 여러 [[블록]]을 안전하게 처리하기 위하여 [[운용 방식]](mode of operation)이라는 절차를 이용한다. [[섀넌]](Shannon)의 암호 이론에 의하면 [[전치]]와 [[치환]](대체, 환자)를 반복시켜 평문의 통계적 성질이나 암호 키와의 관계가 나타나지 않아 안전한 암호를 구성할 수 있다.<ref>멋징승현, 〈[https://kimseunghyun76.tistory.com/320 Cryptography, 암호 이용 활성화]〉, 《티스토리》, 2013-07-30</ref> 대표적인 블록암호 알고리즘으로는 국산 알고리즘인 [[SEED]](시드), [[HIGHT]](하이트), [[ARIA]](아리아), [[LEA]](레아)와 외산 알고리즘인 [[DES]](디이에스), [[AES]](에이이에스) 등이 있다.<ref name="정의"></ref> | * '''[[블록암호]]'''(Block Cipher) : 블록암호는 평문을 고정된 크기의 블록단위로 암·복호화를 수행하며, 각 블록마다 동일한 키가 사용된다. 블록암호는 고정된 크기로 평문을 나누기 때문에, 원하는 길이를 맞추기 위하여 [[패딩]](padding)이라는 기법을 이용한다. 또한 하나의 키로 여러 [[블록]]을 안전하게 처리하기 위하여 [[운용 방식]](mode of operation)이라는 절차를 이용한다. [[섀넌]](Shannon)의 암호 이론에 의하면 [[전치]]와 [[치환]](대체, 환자)를 반복시켜 평문의 통계적 성질이나 암호 키와의 관계가 나타나지 않아 안전한 암호를 구성할 수 있다.<ref>멋징승현, 〈[https://kimseunghyun76.tistory.com/320 Cryptography, 암호 이용 활성화]〉, 《티스토리》, 2013-07-30</ref> 대표적인 블록암호 알고리즘으로는 국산 알고리즘인 [[SEED]](시드), [[HIGHT]](하이트), [[ARIA]](아리아), [[LEA]](레아)와 외산 알고리즘인 [[DES]](디이에스), [[AES]](에이이에스) 등이 있다.<ref name="정의"></ref> | ||
− | * '''[[스트림 암호]]'''(Stream Cipher) : 스트림 암호는 평문과 동일한 | + | * '''[[스트림 암호]]'''(Stream Cipher) : 스트림 암호는 평문과 동일한 기리의 [[키스트림]](key stream) 수열을 생성하여, 평문과의 XOR 연산을 통하여 암·복호화를 수행한다. 키스트림 수열을 생성할 때, 평문과 독립적으로 생성하는 경우를 동기식 스트림 암호라고 하며, 반대로 평문이 키스트림 수열에 영향을 미치는 경우를 비동기식 혹은 자기동기 스트림 암호라고 한다. 구현 여건이 제약되는 환경에서 구현이 용이하며, 무선 통신 등의 환경에 주로 사용된다. 대표적인 스트림 암호 알고리즘으로 [[RC4]], [[A5/1]], [[A5/2]] 등이 있다.<ref name="정의"></ref> |
===비대칭키 암호=== | ===비대칭키 암호=== |