|
안녕하세요.
파일/폴더 암호화 및 복호화를 하시겠다구요. ㅡ.ㅡ;; 그것만 2년을 넘게 해온 사람입니다.
코드를 보여줄수 없는 점은 양해하시구요.
우선 구현 방법론만 갈쳐드리겠습니다.
다른님이 얘기한것처럼 암호화 알고리즘을 공부하는것도 좋겠지만, 제가 보기에는 그럴필요는 없구요, 많이 쓰이는 알고리즘을 갖다 쓰는것도 괜찮은 방법이라 생각됩니다.
특히, 파일은 사이즈가 크기때문에 SSL과 같은 비대칭키 방식의 암호화 알고리즘은 쓰지 않는것이 좋겠습니다. 대칭키 암호화와 비대칭키 암호화에 대한 설명은 간단히 해드리겠습니다.
*대칭키 암호화는 말 그대로 대칭이 되는 것으로 암호화할 키와 복호화할 키가 동일한 것입니다.
흔히 사람들이 비밀번호를 쓴다는 것이 이런 것이구요.(예 : DES, 3DES, SEED, BlowFish...etc)
*비대칭키 암호화는 통신용으로 많이 쓰이는데 128bit이상을 써야지만 보안상 안전합니다. 왜냐하면 쉽게 해킹이 가능하기 때문입니다. 그러나 속도가 느리기때문에 인증서와 같은 정보만 암호화를 합니다.(예 : RSA ...etc)
이제 본격적인 구현방법을 설명해 드리죠. 별로 어려운것은 없구요.
파일에 있는 데이타를 사용하려는 암호화 알고리즘에서 요구하는 블럭만큼 읽어서 암호화를 해서, 마지막 데이타에 암호화를 했다는 플래그 값을 넣어주어서 파일을 만들면 바로 파일 암호화가 되는 것입니다.
폴더 암호화는 명칭상으로만 폴더 암호화지, 구현되어 있는 여타 프로그램들을 보면 파일암호화와 다를 것이 없습니다. 단지, 해당 폴더 안의 모든 파일의 키가 같다는 것입니다. 그러니까 같은 키로 해당 폴더 안에 있는 파일들을 전부 암호화 하는 것입니다.
님께서 초보라고 생각되시면, 다른 알고리즘 갖다 쓰시지 마시고, 간편하게 XOR로 암호화 하는 법을 익히시기 바랍니다.
그럼....
--- Change World ---
|