#include <stdio.h>
#define ABS(a) a<0?26+a:a
void UpperCase(char* str);
void encryption(char* plaintext, char* ciphertext, char* key);
/*void decryption(char* plaintext, char* ciphertext, char* key);*/
void main(void)
{
char key[15]="kim";
char ciphertext[1024], plaintext[1024];
printf("¾ÏÈ£ÈÇÒ ¹®ÀåÀ» ÀÔ·ÂÇϼ¼¿ä: ");
gets(plaintext);
UpperCase(plaintext);
encryption(plaintext, ciphertext, key);
printf("¾ÏÈ£¹® : %s\n", ciphertext);
/*decryption(plaintext, ciphertext, key);*/
/*printf("º¹È£¹® : %s\n", plaintext);*/
}
void UpperCase(char* str)
{
for(int i=0;str[i];i++)
{
if(str[i]>='a' && str[i]<='z')
str[i] = str[i]-'a' + 'A';
}
}
void encryption(char* plaintext, char* ciphertext, char* key)
{
int keylen=0, keycnt=0;
while(key[keylen++]); //¾ÏȣŰ ±æÀ̸¦ ±¸ÇÔ
keylen--;
for(int i=0;plaintext[i];i++)
{
if(plaintext[i] == ' ')
ciphertext[i] = ' ';
else
ciphertext[i] = (plaintext[i]+key[keycnt++%keylen])%65 %26 + 'A';
}
ciphertext[i]='\0';
}
|