[차례]  [함수색인] Wel 도움말 문서 [이전]  [다음]
대분류: 내장함수
소분류: Wel의 암호 체계
Wel의 암호 체계 작성일: 1999/12/26
수정일: 2002/07/05

1. Wel의 암호 체계 Wel의 암호화 기법은 관용암호방식(Conventional Cryptosystem)이며 Wesoft에 서 자체 제작한 암호화 알고리즘을 사용한다. Wel의 암호 체계는 decode 함수를 이용하면 누구나 원문을 얻어낼 수 있는 암호화 키와 암호문을 해독할 때 이것을 알지 못하면 해독하지 못하는 복호화 키의 두 종류 키를 이용하여 암호화 및 복호화를 할 수 있다. 암호화 키만 사용하면 보안성의 보장을 받을 수 없으며 암호화 키와 복호화 키를 모두 사용하면 복호화 키를 알지 못하고는 절대 암호문 을 해독할 수 없다. 2. Wel의 암호 생성 요소 암호문= 암호 대상 문자열(N bytes) + 암호화 키 + 난수 키 + 복호화 키 -. 암호 대상 문자열: 암호화할 대상 문자열을 의미한다. -. 암호화 키: 시스템 암호화 함수의 salt인자와 같은 의미이다. -. 난수 키: 1 byte의 난수이다. -. 복호화 키: 암호문을 풀때 사용하는 문자열로 적당히 긴 것이 좋다. 3. Wel의 암호화된 문자열의 구조

암호화 키 난수 문자열 난수 키 암호화된 문자열
2 bytes 1 ~ 5 bytes 1 bytes (N+1) x 2 bytes

※ 위의 구조에서 Wel에 적용된 순서는 다를 수 있음 암호화된 문자열의 길이= (N+1) x 2 bytes + 2 bytes (암호화 키) + 1 byte (난수 키) + ( 1 에서 5 byte ) 암호화된 문자열의 최저길이= 12 bytes ( 보안성을 위한 최소 크기임 ) ※ 4개의 문자로 구성된 암호 대상 문자열을 암호화 하면 암호문의 문자수는? 암호문의 길이= 최소 (4+1) x 2 + 2 + 1 + 1 , 최대 (4+1) x 2 + 2 + 1 + 5 = 최소 14 bytes 에서 최대 18 bytes 4. 암호 문자의 종류 및 경우의 수 (1) 문자의 종류: 총 64종류 1) 숫 자: 0 ~ 9 ( 10종류 ) 2) 영문 대문자: A ~ Z ( 26종류 ) 3) 영문 소문자: a ~ z ( 26종류 ) 4) 기 호: '.' 과 '/'( 2종류 ) (2) 암호화 키의 경우의 수: 64 x 64 = 4096종류 (3) 난수 키의 경우의 수: 64종류 (4) 난수의 경우의 수: 64 x 64 x 64 x 64 x 64 = 1,073,741,824 종류 5. 암호문의 원리 및 조합 수 (1) 한문자의 암호화 원리 1 byte ( 8 bit )의 한 문자를 12 bit ( 3bit는 난수임 )의 암호 코드로 변환된다. 예를 들어 'A'란 문자가 암호화 되는 것은 각종 암호키에 따라서 서로 다른 4096종류의 암호 코드로 변환 된다. 코드값의 부여 규칙은 난수 의 성격이며 이 암호 코드가 2개의 암호 문자로 변환된다. (2) 동일한 문자열에 대한 서로 다른 암호문이 생성되는 경우의 수 경우의 수 = 암호화 키(4096) x 난수 키(64) x 난수 최저 경우의 수= 4096 x 64 x 64 = 16,777,216 종류 최대 경우의 수= 4096 x 64 x 64 ^ 5 = 281,474,976,710,656 종류 ※ 위의 경우의 수에서는 각 문자별 3bit의 난수에 대한 경우의 수는 계산 되지 않았다. 즉, 8 ^ (원문의 문자수)는 계산에서 제외되어 있다. (3) 복호화 키 암호화된 문자열에서 복호화 키를 사용했는지 여부는 알 수 없으며 만일 복호화 키를 사용 했었다면 그 키값이 아닌 다른 값으로는 암호문을 풀이 할 수 없으며 이를 풀이할 확률는 1 / 255 ^ (복호화 키 문자수)이다. -. 복호화 키의 문자수에 따른 암호 해독 확률 o. 1 문자일 때 = 1 / 255 <-- Wel 프로그램으로 해독 가능 o. 2 문자일 때 = 1 / 65025 <-- 노력하면 해독 할 수 있음 o. 3 문자일 때 = 1 / 16581375 <-- 안전할까? o. 4 문자일 때 = 1 / 4228250625 o. 5 문자일 때 = 1 / 1078203909375 o. 6 문자일 때 = 1 / 274941996890625 ※ 따라서 복호화 키는 적당히 긴것이 좋다.

Wel Version 1.0
[차례]  [함수색인] [이전]  [다음]