2010-08-22 8 views
3

자바 또는 C#에서 IDEA (국제 데이터 암호화 알고리즘)를 사용하여 텍스트 파일을 암호화하고 해독 할 수있는 응용 프로그램을 만들어야합니다. Java에서 inbuilt JCE (Java Cryptography Extension)가 있지만 더 진행하는 방법을 알고 있습니다. 누군가 제게 제안 해 주시겠습니까?IDEA를 구현하는 방법은 무엇입니까?

감사합니다.

+0

감사합니다. :). – Supereme

답변

2

Java 및 C#에서 사용할 수있는 BouncyCastle을 사용해 볼 수 있습니다. 릴리스 1.40 IDEA 암호화 알고리즘의 구현 에서

가 가에서 정규 jar 파일에서 제거 : 그러나이 note에 따라, IDEA 지원에 대한 올바른 항아리 (가정 자바)를 얻을해야합니다 여러 사용자 요청 문형 이름이 -ext- 인 여전히 은 IDEA 구현을 포함합니다.

편집 (예 추가 포인터) : 나는 시도하지 않은,하지만 난 DESExample 아마로 DESedeEngine를 대체하여 당신이 원하는 일을하기에 적합 할 수 있다고 생각 IDEAEngine 오전 (와 비슷 다른 클래스들).

+0

유권자는이 답변에 무엇이 잘못되었는지 설명해 주시겠습니까? (나는 틀린 것을 받아 들일 마음이 없지만, 왜 그런지 알고 싶어합니다.) – Bruno

4

아무 이유없이 댓글을 쓸 수 없으므로 답장으로 게시하고 있습니다.

IDEA는 특허 알고리즘이며 특허는 2011 년 및 2012 년에만 만료됩니다 (국가에 따라 다름). 또한 전혀 성과가 좋지 않습니다. 따라서 IDEA를 사용하지 않는 한 AES 또는 RC4 (ARCFOUR, RC4 이름은 등록 상표 임) 알고리즘을 살펴 보는 것이 좋습니다. RC4는 빠르지 만 암호화 키의 품질에 크게 의존합니다.

4

유진은 IDEA와 관련하여 적합합니다. 그것이 당신의 선택하에 있다면, IDEA를 사용하지 않고 다른 알고리즘을 선택하는 것이 합리적 일 것입니다. 특허 문제로 인해 IDEA는 매우 드물게 사용되기 때문에 암호 분석자는 IDEA를 덜 조사합니다. 게다가, IDEA 키의 길이는 상대적으로 조만간 불충분하게 될 가능성이있는 128 비트로 제한됩니다.

대부분의 (전부는 아니지만) 개발 프레임 워크에는 표준 암호화 알고리즘에 대한 지원이 포함됩니다. 사실, 암호 알고리즘에 의해 가장 잘 연구되기 때문에 항상 표준화 된 알고리즘을 사용하는 것이 좋습니다. AES128/256이 선호됩니다. IDEA 키뿐만 아니라 RC4 키의 최대 1/10은 128 비트입니다. 게다가, 그것은 또한 일종의 이국적이며 일부 프레임 워크에서는 지원되지 않을 수 있습니다.

관련 문제