오늘 수업에서 매우 흥미로운 것을 배웠다.

비트 단위 xor을 이용해 암호화를 할 수 있다. xor의 특징은 결과만을 가지고는 인수를 추측할 수 없다.

다음은 코드이다

#include<stdio.h>
int main(void) {
	char m, k;
	printf("문자를 입력하세요\n");
	scanf("%c", &m); 
	printf("키를 입력하세요\n");
	scanf(" %c", &k);
	printf("암호화%c\n", m^k);
	printf("복호화%c\n", (m^k) ^ k);
	return 0;
}

※scanf의 입력버퍼 문제로 %c 앞에 공백을 추가해야 한다

공백을 넣지 않으면 씹히고 scanf가 무시된다

문자를 입력받고 그 문자를 ^키를 해서 xor암호화 한 후 다시 ^키로 복호화 할 수 있다.

카테고리:

업데이트: