작성자 | 낙원의새 | ||
---|---|---|---|
작성일 | 2010-11-24 17:43:58 KST | 조회 | 398 |
제목 |
암호화 기법에 관해서 주절주절.
|
단순한 치환 암호는 비교적으로 쉽게 풀릴 수 있다는 단점이 있습니다.
A 가 41 로 변경될때 AA 가 4141 로 변환되니까요.
이것은 최근에 올라온 예제맵이 그러한 경우인데 좀더 복잡하게 단순히 문자 치환 방식이 아니라
그룹 치환이나 배열 치환이 혼합되어 있는 경우도 치환 암호는 단순하게 이루어질 수 밖에 없습니다.
단지 찾아내야 할 치환값이 치환 그룹 수와 배열 치환 수 만큼 늘어날 뿐, 보안성은 매우 떨어지는 것이죠.
(알아내기 쉽다는 것은 아니지만 보안성이 매우 떨어지는 방식이라는 겁니다.)
(그룹치환의 예제 ex:
A 가 41 이지만 AA 가 4141 이 아닌 5462 과 같이 치환됨
그러나 치환 암호의 한계점으로 AAA 는 546241 이 되고 AAAA 는 54625462 이 되는 단순 조합.
(배열치환의 예제 ex:
1234 -> 2413
(첫번째 수를 세번째로),(두번째 수를 첫번째로),(세번째 수를 네번째로),(네번째 수를 두번째)로 배치 변경.
만일 이 게시물을 읽는 누군가가 공개적으로 사용할 암호화를 구현하신다면
이미 구현되어 있는 유명한 암호화 방식을 라이브러리로 만들어내는게 더 좋다고 생각합니다.
8자리 정도까지 다 다른 그룹 치환할 수 있는 트리거를 구현하는게 아니라면 큰 의미는 없기 때문이죠.
만일 RSA 암호처럼 전자상거래 등에서 활용되고 있는 방식을 라이브러리로 만들어낸다면
누구나 사용할 수 있어도 누구든 쉽게 풀지는 못할 것 입니다. 만드는 제작자 측면에도
이미 알려진 방식을 트리거로 구현하는 것이기 때문에 구현하는 방법에 대한 응용이
어려운 것이지 새로운 방식을 찾기 위해 고생할 필요가 없죠.
아래 링크를 따라가시면 RSA 암호화 방식에 대한 설명과
키의 생성 방법, 암호화 방법, 복호화 방법이 모두 나와있습니다.
문제는 과연 누가 이것을 구현할 수 있는가? 라는 것과
과연 트리거로 구현이 가능한가? 입니다.
http://ko.wikipedia.org/wiki/RSA_%EC%95%94%ED%98%B8#.EC.95.94.ED.98.B8.ED.99.94
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
© PlayXP Inc. All Rights Reserved.