[질문]C언어 간단한 암호화 함수?

gostop의 이미지

C언어로 만든 프로그램을 strings 명령어로 봤을때 내부에 있는 문자열을 알아볼수 없게 하고자 합니다.
예를들어
char str[]="invisible";
여기서 invisible이란 문자열이 안보이도록 하고자 합니다.
대신 저문자열을 처리해야 하므로 복호화가 불가능하면 안됩니다.
또 대부분의 리눅스 배포본에 디폴트로 설치되는 라이브러리 이외의 라이브러리가 필요해서도 안되구요..
어떤 방법들이 있을까요?

답변에 미리 감사드립니다.

saxboy의 이미지

시저는 어떨까요. 너무 간단한가요 ;-)

k2hyun의 이미지

저도 얼마전에 똑같은 일로 고민을 많이 해 봤는데 상당히 난해하더군요.

먼저 mod 나 bit shifting을 하시면 데이터 손실이 일어나서 안됩니다.(bit rotation은 상관 없지만요)

암호화된 후에 binary가 나와도 상관 없다면 bit shift를 이용하길 추천합니다.

더 이상 없다.

totohero의 이미지

str[]의 각 character를 특정 key character를 이용하여 xor하면 encrypt, 같은 key character로 다시 한번 xor하면 decrypt되지요.