Title |
[공통] 암호화 결과값에 대한 길이 계산법 | Product |
Plug-In |
---|---|---|---|
Phenomenon |
* OS : ALL
* DB : ALL * CubeOne Server : ALL * CubeOne Manager : ALL DB 암호화 시에 평문값 보다 암호화 결과값의 길이가 증가한다. |
||
Cause |
평문값을 블럭알고리즘을 이용하여 암호화하면 결과값은 16배수로 길이가 증가합니다. |
||
Solution |
평문값에 대하여 블럭알고리즘을 이용한 암호화 결과값에 대한 길이는 다음과 같은
계산법으로 계산할 수 있습니다. 1. Binary : (몫(평문길이/16)*16)*16 2. ASCII : Banary * 2 3. BASE64 : 올림(몫((Banary)/3)*4 또는 암호화길이/3 = 0 이면, 몫*4 이나 암호화길이/3 !=0 이면, (몫+1)*4 만약에 주민번호 13자리를 암호화하면, 1. Binary (RAW) : 16 byte로 약 1.2배 증가. 2. ASCII (VC2) : 32 byte로 약 2.5배 증가. 3. BASE64 (VC2) : 24 byte로 약 1.8배 증가. [ORACLE에서 SQL로 검증하기] select &col_len as col_len ,((trunc(&col_len/16)*16)+16) as binary_enc ,(((trunc(&col_len/16)*16)+16)*2) as ascii_enc ,ceil(((trunc(&col_len/16)*16)+16)/3)*4 as base64_enc ,((trunc(&col_len/16)*16)+16)+4 as binary_iv ,(((trunc(&col_len/16)*16)+16)*2)+8 as ascii_iv ,(ceil(((trunc(&col_len/16)*16)+16)/3)*4)+4 as base64_iv ,(((trunc(&col_len/16)*16)+16)*2)*2 as ascii_nchar ,(ceil(((trunc(&col_len/16)*16)+16)/3)*4)*2 as base64_nchar from dual; 암호화 결과값에 대한 길이 계산법.pdf |