이중 단순 대체 암호기법의 안전성 분석 (JAVA 소스코드포함)
- 최초 등록일
- 2015.03.24
- 최종 저작일
- 2014.06
- 7페이지/ 한컴오피스
- 가격 2,500원
소개글
아핀 암호의 개념과 아핀 암호를 이중 적용하였을 시 실질적 안전성 증대를 가져오지 못하는 이유 그리고 아핀암호의 Java 코드 구현을 제공합니다.
목차
1. 아핀 암호에 대한 간략한 이해
2. 안전성 증대를 가져오지 못하는 이유 분석
3. 이를 응용한 간략한 프로그래밍 설계(Java 사용)
본문내용
저는 컴퓨터 보안의 첫 번째 과제인 단순 대체 암호 중 아핀 암호를 이중 적용하였을 시 실질적 안전성 증대에 대한 결과를 도출 하기 위해 1. 아핀 암호에 대한 간략한 이해를 시작으로 2. 안전성 증대를 가져오지 못하는 이유를 분석하고 3. 이를 응용한 간략한 프로그래밍 설계(Java 사용)를 해 보고자 합니다.
[ 아핀 암호에 대한 이해 < 참고 서적 : 암호의 세계(최병문․이영환 저) >]
아핀 암호를 이해하기 위해 곱셈 암호의 특성을 먼저 알아보자. 문자(해당하는 숫자) x에 어떤 수 t를 곱한 다음 26으로 나눈 나머지를 구하면 대응하는 암호 문자가 된다. 수식으로는 tx mod 26으로 표현한다. 예를 들어 각 문자에 3을 곱하는 암호를 생각해보자. 평문 K는 숫자로 10에 해당한다. 3x10 mod 26=4이며 4에 대응하는 문자는 E이므로, 평문의 K는 E로 암호화 된다. 하지만 곱하기 암호의 한 가지 주의할 사항이 있다. 다음 예를 살펴 보자.
<중략>
이 경우 암호문 부분을 보면 특이한 형태가 나타남을 알 수 있다. B, D, F,…등의 암호 문자는 전혀 나타나지 않고 있으며 A, C, E,…등이 두 번씩 반복해서 대응되고 있다. 이러한 대응은 암호에 사용하기 곤란하다. 어떤 암호라도 복호화할 때(암호 문자를 평문자로 바꿀 때)는 반드시 한 문자에 한 문자씩 대응 되어야 한다.
곱하는 수가 3일 경우는, 한 문자에 한 문자씩 중복되지 않은 채 대응되므로 실제로 사용할 수 있는 단일문자암호이다. 하지만 곱하는 수가 2일 때는 암호로 사용할 수가 없다. 그러면 암호에 사용하기 적절한 곱하기 수는 무엇일까? 약간 더 생각해 보면 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25이 적절한 수임을 알 수 있다. 이유는 ? 조금 수학적이기는 하지만 mod 26에서 곱셈에 대한 역원을 가지는 수들만 곱하기 수로 자격이 있다.
이제 더하기와 곱하기를 적절히 결합하면 조금 더 복잡한 암호를 만들 수 있다. 우선 평문자 P에 적절한 수 t(26과 서로 소인 수)를 곱한 다음 다시 그 결과에 s를 더하여 암호 문자 C를 얻는다.
참고 자료
암호의 세계(최병문․이영환 저)