제목 | Encrypt 객체 관련 의문점 | ||
---|---|---|---|
글쓴이 | 내일은 | 작성시각 | 2011/03/21 14:23:16 |
|
|||
ci 2.0 소스 분석중에 궁금한점이있습니다. CI_Encrypt 객체의 암호화방식중에 _xor_encode 의 인코딩 방식을 보면 램덤 문자열을 끼워 넣어서 xor 연산을 하는듯합니다 원문이 S 라고 할때 . 랜덤키값 R 키값 K (R^K ).(S^R^K) 방식의 암호화 알고리즘을 가지고 있는데 ..문자열을 잘라서 R^K 의 값을 알아낸다면 랜덤 키와 암호화키를 따로 알지못하더라도 for ($i = 0; $i < strlen($encode_str); $i += 2)
{
$dec .= substr($encode_str, $i, 1) ^ substr($encode_str, $i+1, 1);
}
비트연산의 특성으로 미뤄 봤을때 접근방식만 올바르게 제시를 하면 키값을 알지못하더라도 복호화가 가능한게 아닌가요? 고수님들의 답글을 기다립니다 .. |
|||
다음글 | CI환경에서 노프레임으로 배경음악이 계속 유지되게하려면... (1) | ||
이전글 | 뷰에 모델이나 컨트롤러에 쓰이는 함수쓸 수 있나요?? (1) | ||
변종원(웅파)
/
2011/03/21 14:35:34 /
추천
0
|
내일은
/
2011/03/21 14:38:15 /
추천
0
제가 비트 연산을 잘못 이해했을수도있습니다 .
(R^K ).(S^R^K) 이부분에 _xor_merge() 부분이 포함된것이 아닌가요? (R).(S^R) 로 이어진 문장에 ^K 연산을 해서 결과 값이 (R^K ).(S^R^K)이렇게 나온다고 생각했는데 잘못된걸까요? ;; 말씀하신데로 키값을 알지못해도 복호화가 되지 않을까 해서 테스트중입니다 ㅎ; |
변종원(웅파)
/
2011/03/21 18:30:31 /
추천
0
|
내일은
/
2011/03/21 18:52:14 /
추천
0
답변 감사합니다 ..
문자열 길이가 일정하지 않은 이유와 같은 이유인듯하네요 . 웅파님 같은 사수한분 계시면 일할맛날것같은데 .. ㅎㅎ 즐거운 하루 되세요 .^^ |
_xor_merge()이 없다면 말씀하신 대로 결과값이 나올테지요.
키값을 알지못해도 복호화가 가능하면 암호화를 할 필요가 없지 않을까요? ^^