스트림 암호 란 무엇입니까?

스트림 암호는 암호화해야 할 소스가 무작위로 나타나는 키 시퀀스에 대해 처리되는 데이터 암호화에 사용되는 알고리즘 유형입니다. 이 유형의 암호는 텍스트가 처리 될 때 암호화가 달라질 수 있다는 점에서 다소 융통성이 있습니다. 암호화는 작업의 현재 상태에 의존하기 때문에 상태 암호라고도합니다. 한 번에 64 비트의 데이터 청크에서 작동하는 블록 암호와 달리 스트림 암호는 단일 비트에서 작동 할 수 있습니다. 이러한 이유로, 처리 능력이 거의없이 스트림을 고속으로 처리 할 수있다.

첫 번째 스트림 암호는 1917 년 Gilbert Vernam에 의해 고안되었습니다. 이후 Vernam은 일회용 키라고하는 암호를 생성하는 데 도움을주었습니다.이 암호는 일회용 키를 사용하여 데이터를 암호화하는 일종의 스트림 암호입니다. 일회용 패드에서 생성 된 키는 암호화해야하는 데이터와 길이가 동일하고 완전히 임의적이며 다른 곳에서는 다시 사용되지 않으므로 이름이 지정됩니다.

암호화 할 데이터 (일반적으로 일반 텍스트라고 함)에 대해 처리 할 때 결과 암호문은 키없이 해독 할 수 없습니다. 일회용 패드는 대부분의 시나리오에서 다루기가 어렵 기 때문에 매우 독점적 인 상황에서만 사용됩니다. 여전히 스트림 암호는 일반적으로 유용한 것으로 간주되므로 키가 짧아지고 의사 난수로 만들어져 통계적으로 무작위이지만 실제로는 그렇지 않습니다.

스트림 암호는 즉시 암호화 할 수 있습니다. 이러한 방식으로, 간단한 스트림 암호는 사람들이 펜과 종이로 쉽게 수행 할 수있는 반면, 블록 암호는 일반적으로 컴퓨터를 사용하여 처리해야합니다. 평문은 키를 구성하는 의사 난수 시퀀스 인 키 스트림과 함께 암호화 프로세스를 통해 변환되며, 여기서 키는 변환되어 다른 쪽 끝은 암호문으로 나옵니다.

일반적으로이 암호화는 암호를 통과 할 때 개별 비트에 대한 배타적 (XOR) 작업을 통해 발생합니다. 간단한 XOR 암호는 논리 분리 유형을 기본으로 사용하는데, 이는 피연산자 중 하나만 참이더라도 결과가 참일 수 있지만 본질적으로 둘다는 아니라는 결과입니다. 예를 들어, 암호화 프로세스를 통해 이동하는 비트가 0 또는 1이고 짝을 이룬 키 스트림 비트가 일치하지 않으면 결과 출력은 1입니다. 비트와 짝을 이루는 키 스트림 비트가 일치하면 둘 다 1이거나 둘 다 0 인 경우 결과는 0입니다. 그런 다음 동일한 키 스트림을 사용하여 전송의 다른 쪽 끝에서 암호화 된 1과 0의 스트림을 해독하여 비트를 원래의 일반 텍스트로 다시 변환합니다.

스트림 암호에는 두 가지 유형이 있습니다. 동기식 방법을 사용하면 키 스트림이 일반 텍스트 또는 암호 텍스트와 별도로 생성 된 다음 병합되어 암호화 또는 암호 해독을 제공합니다. 이 방법을 사용하면 전송의 송신 및 수신 끝이 동일한 키와 키의 동일한 위치에서 작동 할 때 동기화 상태를 유지해야합니다. 문제가 발생하면 암호 해독을 다시 시작하거나 암호문 전체에 새 시작 지점을 나타내는 플래그가 간헐적으로 배치 될 수 있습니다. 반면에 자체 동기화 암호는 암호문의 이전 숫자 몇 개를 기반으로 키 스트림을 업데이트합니다.

RC4라는 가장 자주 사용되는 스트림 암호 중 하나가 RSA Data Security®에 의해 작성되었습니다. 이 소프트웨어는 다양한 인터넷 제품에 사용되며 보안 인터넷 통신에 사용되는 SSL (Secure Socket Layer) 프로토콜과 무선 장치에 사용되는 WEP (Wired Equivalent Privacy) 암호화에 사용이 허가되었습니다. 자주 사용되는 또 다른 암호는 ORYX로 알려져 있으며 암호화해야하는 휴대폰 데이터 전송에서 사용됩니다. IBM®은 하드 디스크 암호화에 사용되는 SEAL이라는 스트림 암호화 방법도 개발했습니다.

다른 언어

이 문서가 도움이 되었나요? 피드백 감사드립니다 피드백 감사드립니다

어떻게 도와 드릴까요? 어떻게 도와 드릴까요?