2011-07-28 3 views
1

대학 프로젝트의 경우 디지털 파일을 암호화하는 Java 프로그램을 작성합니다. 기본 대체 암호 및 공개 키와 개인 키를 사용하는 고급 알고리즘을 설명하는 암호화에 대한 소개를 읽었습니다.암호 프로젝트에 대한 조언

그런 다음 Truecrypt 및 PGP와 같은 소프트웨어를 사용하여 그들이 사용한 알고리즘의 구현을 확인했습니다. AES와 대칭 키 암호화와 같은 일부는 들어 보지 못했지만 이러한 종류의 작업을 수행하는 데는 여러 가지 방법이있는 것으로 보입니다.

그래서 나는 지금 내가 뭘 연구해야하는지에 관해 올바른 방향으로 나를 지적 할 사람을 찾고 있습니다. 필자가 작성하고자하는 프로그램은 안전해야하며, 대부분은 스스로 수행해야합니다 (작업은 인터페이스를 만들고 기존의 소프트웨어를 사용하여 암호화를 수행하는 것이 아닙니다. 예를 들어, RSA 알고리즘, 코드를 작성해야합니다).

+0

정확히 무엇을하려고합니까? 응용 프로그램은 사용할 암호화 유형을 정의합니다. – Jonah

+0

나는 많은 학습이 특정 목적을 위해 기존의 암호화 라이브러리를 올바르게 적용함으로써 증명 될 수 있다고 생각합니다. 사실, 알려진 레시피를 따르는 코드를 작성하는 것은 수식이없는 무언가를 수행하는 비판적 사고보다 흥미롭지 않습니다. 그냥 생각. –

+0

아직 정확하게 알지는 못했지만 일반적인 생각은 디지털 파일을 개인 용도로 안전하게 암호화하는 것입니다. TruCrypt를 사용하면 전체 파티션을 암호화 할 수 있지만, 그렇게 할 수 있을지는 모르겠지만 마음에있는 점은 비슷한 프로그램입니다. – Laon

답변

0

프로젝트의 교육 목적이 무엇인지 확실하지 않으므로 여기에서 내 의견을 말하십시오.

내가 직면 한 문제를 이해하는 데있어 좋은 점은 선택한 알고리즘을 직접 코딩하는 것입니다. 실제로 실제로 스스로 해독하거나 알고리즘에 금이가는 방식에 대한 분석을 재생하는 것입니다. 이벤트를 개선하는 데는 여러 가지 방법이 있습니다. 일반적으로 모든 단일 솔루션을 시도 할 필요가있는 무차별 균열 기법이 있습니다. 알고리즘이 약한 경우에는 잡힌 메시지 몇 개를 사용하여이를 깨뜨리는 영리한 방법입니다.

프로젝트의 경우 한 쪽에서 데이터를 암호화하는 방법과 다른 쪽에서 데이터를 해독하는 방법과 누군가가 데이터를 가로 채고 해독 할 수있는 방법을 보여줄 수 있습니다.

알고리즘을 깰 일부 쉽지는 다음과 같습니다

가장 유명한 알고리즘의 좋은하지만이 아닌 완전한 목록입니다

또한 디지털 서명을 살펴볼 수 있으며 누군가를 사칭하는 방법과 다른 사람으로 문서에 서명 할 수있는 방법을 알 수 있습니다.

+0

(표준) TEA가 깨졌지만 그렇게하는 초보 프로젝트가 아닙니다. –

1

암호화 대상이 상당히 커서이 사이트의 범위에서 대부분을 다루지는 않습니다. 그러나 여기에 몇 가지 기본 지침이 있습니다.

일반적으로 암호화는 대칭 키 또는 공개/개인 키 모델을 사용할 수 있습니다. 대칭 키 모델에서는 암호화와 암호 해독이 모두 동일한 키를 사용합니다. 이러한 알고리즘은 상당히 안전하고 성능이 뛰어나지 만 발신자와 수신자간에 키를 교환하는 방법에 큰 문제가 있습니다.

공개 키/개인 키 암호화는 다른 한편으로는 두 개의 개별 키를 사용합니다. 하나는 개인 키 전용 수신기에서 알 수 있고 다른 하나는 공개 키입니다. 속임수는 메시지 암호화를 원할 경우 공개 키를 사용하지만 해독은 수신자의 개인 키에서만 가능합니다 (공개 키는 사용할 수 없기 때문에 이러한 알고리즘이 대칭이 아닙니다). 공개 키/개인 키 시스템은 컴퓨팅 리소스가 더 많이 필요하지만 키 교환의 문제는 해결됩니다.많은 경우 공개 키/개인 키 암호화를 사용하여 대칭 키를 암호화하므로 쉽게 수신자에게 전송할 수 있습니다.

AES는 매우 우수한 품질의 대칭 키 암호화의 예입니다. RSA는 공용/개인 키 시스템입니다.

당신을위한 선택은 당신이 성취하려는 것으로 정의 될 것입니다. 디지털 파일을 암호화하려고한다고하셨습니다. 서버 또는 개인용 컴퓨터에서 암호화 및 암호 해독이 모두 발생하면 AES와 같은 대칭 암호화를 사용하여 서버의 어딘가에 키를 저장할 수 있습니다.

관련 문제