암호학 썸네일형 리스트형 비즈네르 암호 소스 알파벳 소문자 a~z까지를 대상으로 비즈네르 암호를 통한 암호화, 복호화를 수행함. int main(){ int i = 0; int j = 0; int key_size = 0; int str_size = 0; int select = 1; char *str = (char *)malloc(sizeof(char) * 50); char *key = (char *)malloc(sizeof(char) * 16); printf("암호문 또는 평문을 입력 : "); gets(str); printf("암호는 1번, 복호는 2번을 선택 : "); scanf("%d",&select); fflush(stdin); printf("키 값을 입력 : "); gets(key); str_size = strlen(str); key_si.. 더보기 비즈네르 암호 (Vigenere Cipher) 비즈네르 암호(Vigenere Cipher) 프랑스의 암호학자 B. Vigenere가 고안한 다중 문자 대치 암호 이다. 다중 문자 대치 암호는 하나의 평문 문자가 여러 개의 암호 문자로 대치 될 수 있다. 비즈네르 암호는 평문에 길이가 d인 비밀키를 조합하여 Modulo 연산을 통해 암,복호화 한다. 키 길이 이상 평문을 암호화, 복호화 할 때 키를 반복하여 사용한다. 2.1. 평문 “secret” 과 비밀키 “hello” 를 연산한 결과 3. 비즈네르 암호 해독법으로는 카지스키와 프리드만 암호 공격으로 해독 할 수 있다. 더보기 시저암호 소스 알파벳 소문자 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 = 'a') && (str[i] 더보기 시저 암호 (Caesar Cipher) 시저 암호(Caesar Cipher) 1. 가장 오래된 암호로서 로마의 유명한 군인이자 정치가였던 줄리어스 시저(Julius Caesar, B.C. 100~44)가 사용하여 그 이름이 유래 되었다. 시저 암호는 하나의 평문 문자를 다른 하나의 암호문 문자로 대치하는 방식인 단일 대치 암호 기법을 사용한다. 2. 시저암호는 영문 문자에 0~25까지 번호를 부여 이 문자를 비밀키(26보다 작은 하나의 숫자)와 조합하여 Modulo 연산을 통해 암,복호화 한다 2.1. K가 3일 경우 ‘a’ 에 대한 암호문을 구할 때 C = 0 + 3 mod 26, C = 3, 3에 해당하는 문자는 ‘d’ 이다. 복호화의 경우 -3을 키값으로 사용해 원래 문자로 복호 할 수 있다. 3. 단일 대치 암호 기법은 하나의 문자가 .. 더보기 이전 1 다음