2008-09-08 4 views
5

적어도 128 비트 키를 사용하여 중요한 데이터를 암호화하여 저장해야합니다. javax.crypto 패키지를 조사한 결과 PBEWithMD5AndDES 또는 56 비트 및 80 비트 (http://en.wikipedia.org/wiki/DESede)까지 암호화를 제공하는 PBEWithSHA1AndDESede와 같은 특정 Cipher 이름이 있음을 확인했습니다.Java를 사용하는 128 비트 데이터 암호화

나는 다른 사람들의 게시물을 참조했으나 주로 RSA를 사용하고 있으며 RSA는 일반적으로 개인 데이터와 공개 키를 암호화하는 데 적합합니다. 내 필요가 다르다, 그냥 데이터를 저장하고 그것을 해독하여 다시 검색 싶습니다. 따라서 개인 키와 공개 키 쌍이 필요하지 않습니다.

의견이 있으면 알려 주시기 바랍니다.

답변

8

Advanced Encryption Standard (AES)을 사용하십시오. 128, 192 또는 256 비트의 키 길이를 지원합니다.

algorithm은 간단합니다. Sun Java 웹 사이트는 Java에서 section explaining how to do AES 암호화를 사용합니다. 위키

...

는 ... 또한 Rijndael을로 알려진 고급 암호화 표준 (AES)는, 미국 정부에 의해 암호화 표준으로 채택 블록 암호이다. 그것은 광범위하게 분석되었으며 현재 전 세계적으로 사용되어, 그 이전, 데이터 암호화 표준 (DES)의 경우를이었다로 은 ...

은 그래서 엄지 손가락의 규칙으로 당신이 아니 었나요 DES 또는 그 변종을 단계적으로 사용하고 있기 때문에이를 사용하십시오.

현재로서는 AES를 사용하는 것이 좋습니다. Twofish, Blowfish 등과 같은 다른 옵션도 있습니다. Twofish는 Blowfish의 고급 버전으로 간주 될 수 있습니다.

3

JDK 용 무제한 JCE 정책 파일을 다운로드하여 설치해야합니다. JDK 6의 경우 맨 아래에 http://java.sun.com/javase/downloads/index.jsp에 있습니다.

+0

AES-192 또는 256에만 필요하지 않습니까? 나는 AES-128이 무제한의 JCE 정책 파일을 요구하지 않는다고 생각한다. – halluc1nati0n

0

나는 어떤 방법 으로든 암호 전문가가 아니기 때문에 (소금으로이 제안을하십시오), 전에 Blowfish을 사용 했으므로 필요로하는 용도로 사용할 수 있다고 생각합니다. 동일한 사람에 의해 Twofish이라는 새로운 알고리즘이 있습니다.

여기에 website with a Java implementation이 있지만 라이센스에주의하십시오 (비상업적 용도로는 무료). 이 링크는 Bruce Schneier's website (두 알고리즘의 작성자)에서도 찾을 수 있습니다.

+0

"자바 구현 웹 사이트"의 링크가 작동하지 않습니다. plz 업데이트 ... – vettipayyan

2

3 가지 회신을 조합하면 정답이라고 생각합니다.

Bouncycastle에서 암호화 라이브러리를 다운로드 한 다음 Oracle에서 "무제한 강도 관할 정책"을 다운로드해야합니다 (파일은 다운로드 페이지의 맨 아래에 있음). 설치 방법에 대한 Readme 파일을 반드시 읽으십시오.

이 작업을 수행하고 Bountycastle 패키지와 함께 제공된 샘플 코드를 사용하면 데이터를 암호화 할 수 있어야합니다. 112 비트 키 (종종 128 비트라고 부르지 만 그 중 112 비트 만 실제로 안전함)를 제공하거나 이전에 언급 한 것처럼 AES를 사용할 수있는 triple DES 구현으로 갈 수 있습니다. 내 돈은 AES가 될거야.

+0

헤드 업 : BounCycastle이 아니고 BounTycastle입니다. – lImbus

0

JCE에서 많은 것을 시도한 후 Michael이 마침내 bouncycastle로 정착했습니다.

JCE는 암호화를위한 AES와 패스워드 기반 암호화를위한 PBE를 지원하지만 둘의 조합은 지원하지 않습니다. 나는 똑같은 것을 원했고 나는 bouncycastle에서 발견했다.

예는 다음 위치에 있습니다. http://forums.sun.com/thread.jspa?messageID=4164916

관련 문제