2013-06-24 4 views
12

Java에서 TripleDES 암호화를 사용하려고합니다. Keying Options 아래의 Wikipedia article에서 옵션 1을 사용하고 싶습니다. 여기서는 All three keys are independent입니다.cipher.getInstance()에 대한 DESede와 TripleDES의 차이점

Cipher docs에서 이것은 reference guide here으로 이동한다고하지만 여전히 나에게 명확하지 않습니다.

내가 실행 예를 받고 일하고, 다른 프로젝트에이 라인을 모두 사용

Cipher c = Cipher.getInstance("DESede"); 

Cipher cipher = Cipher.getInstance("TripleDES/ECB/PKCS5Padding"); 

을 모두, 그래서 차이점은 무엇 벌금을의 컴파일 할? 다른 하나를 사용해야합니까? 이 두 가지가 세 개의 개별 키를 사용하여 작동합니까?

답변

22

"TripleDES"는, Sun JCE 프로 바이더의 "DESede"의 별명입니다. 양쪽 모두 똑같은 암호를 돌려줍니다. "DESede"는 모든 Java 플랫폼에서 작동해야하는 표준 이름이지만 실제로 "TripleDES"도 지원됩니다.

this page 따르면, SunJCE 프로 트리플 DES 구현 옵션 # 1, # 2를 지원

키 사이즈가 112 또는 168

(112)의 키 사이즈는 트리플 DES 키를 생성 같아야

2 개의 중간 키가 있고 168의 키 크기는 3 개의 중간 키가있는 트리플 DES 키를 생성합니다.

의도를 분명히하기 위해 암호를 인스턴스화 할 때는 항상 작동 모드와 패딩을 지정해야합니다. 그렇지 않으면 구현이 자유 롭다. 혼란을 줄 수있다.