스트림 암호와 블록 암호의 차이
스트림 암호와 블록 암호 | 상태 암호 대 블록 암호
암호 해독에서 스트림 암호와 블록 암호는 대칭 키 암호 제품군에 속하는 두 가지 암호화 / 암호 해독 알고리즘입니다. 일반적으로 암호는 일반 텍스트를 입력으로 사용하고 암호문을 출력으로 생성합니다. 블록 암호는 가변 길이 블록을 고정 변환 (unvarying transformation)을 사용하여 암호화합니다. 스트림 암호는 다양한 길이의 비트 스트림을 암호화하고 각 비트에서 다양한 변환을 사용합니다.
스트림 암호 란 무엇입니까?
스트림 암호는 대칭 키 암호 계열에 속한다. 스트림 암호는 XOR (배타적 논리합) 연산을 사용하여 일반 텍스트 비트와 의사 임의 암호 비트 스트림을 결합합니다. 스트림 암호는 연속 숫자에 대한 다양한 변환을 사용하여 일반 텍스트 숫자를 한 번에 하나씩 암호화합니다. 각 숫자의 암호화는 암호 엔진의 현재 상태에 따라 다르므로 스트림 암호는 상태 암호라고도합니다. 일반적으로 단일 비트 / 비트는 한 자리 숫자로 사용됩니다. 보안 문제를 피하려면 동일한 시작 상태가 두 번 이상 사용되지 않도록해야합니다. 가장 널리 사용되는 스트림 암호는 RC4입니다.
블록 암호 란 무엇입니까? 블록 암호는 또 다른 대칭 키 암호이다. 블록 암호는 고정 길이의 블록 (비트 그룹)에서 작동합니다. 블록 암호는 블록의 모든 자릿수에 고정 된 (변함없는) 변환을 사용합니다. 예를 들어, x 비트 블록의 일반 텍스트 (비밀 키와 함께)가 블록 암호 엔진에 대한 입력으로 제공되면 해당 x 비트의 암호문 블록을 생성합니다. 실제 변환은 비밀 키에 의존합니다. 유사하게 암호 해독 알고리즘은 암호문의 x 비트 블록과 위의 비밀 키를 입력으로 사용하여 원래의 x 비트 블록의 일반 텍스트를 복구합니다. 입력 메시지가 블록 크기에 비해 너무 길면 블록으로 나누어지며이 블록은 동일한 키를 사용하여 (개별적으로) 암호화됩니다. 그러나 동일한 키가 사용되므로 일반 텍스트의 각 반복 시퀀스는 암호 텍스트에서 동일한 반복 시퀀스가되어 보안 문제가 발생할 수 있습니다. 널리 사용되는 블록 암호는 DES (Data Encryption Standard) 및 AES (Advanced Encryption Standard)입니다.