스트림 암호 편집하기
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
[[파일:스트림 암호.png|400픽셀|섬네일|오른쪽|스트림 암호: 암호키는 보통 컴퓨터가 생성한 의사난수열이다.]] | [[파일:스트림 암호.png|400픽셀|섬네일|오른쪽|스트림 암호: 암호키는 보통 컴퓨터가 생성한 의사난수열이다.]] | ||
[[파일:RC4스트림 암호의 구조.png|400픽셀|섬네일|오른쪽|RC4스트림 암호의 구조]] | [[파일:RC4스트림 암호의 구조.png|400픽셀|섬네일|오른쪽|RC4스트림 암호의 구조]] | ||
− | |||
'''스트림 암호'''(stream cipher)는 이진 수열로 변환된 평문을 비트 단위로 암호화하는 암호이다. 스트림 암호(stream cipher)는 대칭 키 암호의 구조 중 하나로, 유사난수를 연속적(스트림)으로 생성하여 암호화하려는 자료와 결합하는 구조를 가진다. 일반적인 스트림 암호는 유사난수를 1비트 단위로 생성하고, 생성된 값과 암호화하려는 각 값을 XOR하여 1비트의 암호화된 자료를 얻는다. | '''스트림 암호'''(stream cipher)는 이진 수열로 변환된 평문을 비트 단위로 암호화하는 암호이다. 스트림 암호(stream cipher)는 대칭 키 암호의 구조 중 하나로, 유사난수를 연속적(스트림)으로 생성하여 암호화하려는 자료와 결합하는 구조를 가진다. 일반적인 스트림 암호는 유사난수를 1비트 단위로 생성하고, 생성된 값과 암호화하려는 각 값을 XOR하여 1비트의 암호화된 자료를 얻는다. | ||
31번째 줄: | 30번째 줄: | ||
자기 동기 스트림 암호의 한 예는 블록 암호에 CFB 운용 모드를 결합한 것이다. | 자기 동기 스트림 암호의 한 예는 블록 암호에 CFB 운용 모드를 결합한 것이다. | ||
− | |||
== 블록암호와 비교 == | == 블록암호와 비교 == | ||
[[파일:스트림 암호와 블록 암호의 차이점.png|썸네일|800픽셀|가운데|스트림 암호와 블랙암호의 차이점]] | [[파일:스트림 암호와 블록 암호의 차이점.png|썸네일|800픽셀|가운데|스트림 암호와 블랙암호의 차이점]] | ||
− | |||
== 활용 == | == 활용 == | ||
스트림 암호는 [[블록 암호]]만큼 일반적으로 사용되지 않는다. 사례로는 LFSR, MUX generator, RC4, A5/1, A5/2, A5/3 등이 있다. 가장 유명한 알고리즘은 Vernam cipher(One time Pad)가 있다. | 스트림 암호는 [[블록 암호]]만큼 일반적으로 사용되지 않는다. 사례로는 LFSR, MUX generator, RC4, A5/1, A5/2, A5/3 등이 있다. 가장 유명한 알고리즘은 Vernam cipher(One time Pad)가 있다. | ||
54번째 줄: | 51번째 줄: | ||
* 각 단계에서 현재 룩업 테이블 요소들을 교환/테이블에서 키스트림 바이트를 선정 | * 각 단계에서 현재 룩업 테이블 요소들을 교환/테이블에서 키스트림 바이트를 선정 | ||
* RC4의 각 단계는 한 Byte을 생산하여 S/W에서 효율적(A5/1의 각 단계는 1bit를 생산-H/W의 효율)<ref>CODEHELPER, 〈[https://blog.naver.com/jsky10503/221258852189 스트림 암호(Stream Cipher)]〉, 《네이버블로그》, 2018-04-22</ref> | * RC4의 각 단계는 한 Byte을 생산하여 S/W에서 효율적(A5/1의 각 단계는 1bit를 생산-H/W의 효율)<ref>CODEHELPER, 〈[https://blog.naver.com/jsky10503/221258852189 스트림 암호(Stream Cipher)]〉, 《네이버블로그》, 2018-04-22</ref> | ||
− | |||
[[파일:RC4.png|썸네일|800픽셀|가운데|'''RC4''']] | [[파일:RC4.png|썸네일|800픽셀|가운데|'''RC4''']] | ||
− | |||
− | |||
== 참고자료 == | == 참고자료 == | ||
65번째 줄: | 59번째 줄: | ||
== 같이 보기 == | == 같이 보기 == | ||
− | * [[ | + | * [[블록 암호]] |
* [[배타적 논리합]] | * [[배타적 논리합]] | ||
− | |||
{{암호 알고리즘|검토 필요}} | {{암호 알고리즘|검토 필요}} |