2010-03-16 1 views
0

암호화에 대해 너무 많이 알지 못합니다. 가장 좋은 결과 메시지를 얻을 수있는 방법은 무엇입니까?Java 암호화 : 어떤 방법을 사용하면 더 짧은 메시지를 얻을 수 있습니까?

예를 들어, 메시지가 다음과 같이 보입니다. "이것은 비밀 입력 메시지입니다."암호화 된 메시지가 위의 32 문자보다 짧을 수 있습니까? 어쩌면 "dfkfjkvf12"와 같은 것일 수 있습니다.

프랭크

+2

암호화가 _not_ 압축입니다. – SLaks

답변

1

그것은 암호문은 평문보다 짧게하기 위해 수학적으로 불가능하다.

일반적으로 긴 암호문은보다 안전한 cipers를 의미합니다.

+0

SLaks의 두 문장을 확장하고 결합하십시오 : 텍스트의 페이로드 크기를 줄이거 나 암호화하려는 경우 두 가지 별도의 작업을 수행하십시오. 일반 텍스트 압축 (zip 또는 gzip은 확실한 선택입니다) 결과를 암호화합니다. –

+0

Nitpick : 블록 암호의 경우 긴 키는 더 많은 보안을 의미하며 실제로는 암호문 길이와 보안 간의 관계가 없습니다. 그러나 요점은 길이의 감소에 관한 것입니다. –

+0

다릅니다. "ciphertext indentinguishability"를 원하면 암호문을 무작위로 추출해야합니다 (예 : IV 사용). 선택한 암호문 공격에 대한 보안을 원하면 MAC을 사용하여 암호문을 보호해야 할 수 있습니다. 따라서 데이터를 안전하게 보호한다는 것은 암호문에 여분의 바이트를 추가한다는 것을 의미합니다. – abc

2

출력을 입력보다 짧게하려면 암호화에 대해 실제로 말하는 것이 아닙니다. 무슨 말을하시는 건 압축 또는 더 많은 경우 해싱입니다. 알려진 텍스트와 암호 텍스트 (예 : 암호 교환)를 비교하는 안전한 방법을 원할 경우 사용할 수있는 해싱 스키마가 여러 개 있습니다. 가장 많이 알려진 것은 아마도 MD5 일 것입니다.

+0

MD5가 아닌 SHA2를 사용하십시오. – SLaks

관련 문제