본문 바로가기

암호학

시저암호 소스

알파벳 소문자 a~z까지를 대상으로 시저암호를 통한 암호화, 복호화를 수행함.

int main(){
	int i = 0;
	int key = 0;
	int str_size = 0;
	char *str = (char *)malloc(sizeof(char)* 50);

	printf("평문, 암호문을 입력하세요 : ");
	gets(str);

	printf("키 값을 입력하세요 : ");
	scanf("%d", &key);

	str_size = strlen(str);

	for (i = 0; i < str_size; i++){
		if ((str[i] >= 'a') && (str[i] <= 'z')){
			str[i] -= 'a';
			if ((str[i] + key) < 0)
				str[i] += 26;

			str[i] = (str[i] + key) % 26;
			str[i] += 'a';
		}
	}

	printf("\n암호화, 또는 복호화된 결과 출력 : ");
	puts(str);

	free(str);
	return 0;
}

 

caesarcipher.zip

 

'암호학' 카테고리의 다른 글