2011-09-26 3 views
-1

일반 텍스트와 키를 제공하는 Java 프로그램을 만들고 싶습니다. 출력은 일반 텍스트와 동일한 길이 여야합니다. 동일한 키를 사용하여 암호화 된 텍스트의 암호를 해독합니다. 그러니 계속 진행하는 방법을 제안 해주세요.일반 텍스트에서 동일한 legnth의 암호화 된 텍스트를 생성

감사합니다.

+0

암호문은 일반적으로 평문과 길이가 같고 블록 크기에 도달하기 위해 약간의 여백을 더한 것입니다. 그게 충분히 좋을까요? 아니면 정확히 같은 길이가되어야합니까? (나는 블록시 = 1을 의미한다고 가정) – Thilo

+0

정확히 같은 길이 – Ankur

답변

1

어떤 종류의 암호화 체계를 원하십니까? Vigenère 암호는 평문과 동일한 길이의 암호문을 제공하지만 키가 무작위가 아닌 경우 암호문은 Kasiski 검사와 같은 다양한 주파수 공격에 취약합니다.

달성하려는 목표는 무엇입니까?

+0

보안 관련 응용 프로그램이 아닙니다. 난 그냥 평범한 텍스트와 키를 입력 할 프로그램을 만들고 싶어. 나는 암호문을 얻을 것이고 같은 열쇠로 해독 할 수있다. – Ankur

+0

또한 서로 다른 키에 대해 다른 암호 텍스트를 생성하려고합니다 – Ankur

+1

키가 메시지보다 짧거나 키를 두 번 사용하면 Vigenere가 위험합니다 (키를 한 번만 사용하면됩니다). 메시지보다 길면 완벽하게 안전한 일회용 암호화가 가능합니다. – Thilo

1

카운터 모드에서 AES와 같은 RC4 나 블록 암호와 같은 스트림 암호를 사용하면 원하는 것을 할 수 있습니다. 그러나 이것들은 여전히 ​​각 메시지마다 임의의 IV가 필요하므로 어떻게 든 관리해야합니다.

+0

RC4 또는 AES-CTR과 같은 스트림 사이퍼의 경우 IV는 종종 "넌스"(한 번 사용 된 번호)라고하며 IV보다 짧을 수 있습니다. – rossum

관련 문제