정성훈
    Mini Project 1(텍스트 암호화)
C언어 XOR 암호복호.png [79 KB]    




[실행 결과]


[주의 사항]

1) 암호 대상 문자열의 문자와 암호화 key 문자열의 문자를 하나씩 XOR 해야 함 // C언어 XOR 연산자: ^ 

2) 암호화 key 문자열은 반복적으로 적용 (암호 대상 문자열은 길고 암호화 key 문자열은 짧음으로)

3) 암호화, 복호화된 문자열의 끝에  '\0' 넣어주어야 문자열의 끝을 확인 가능!!!

4) 아래 두 header 파일을 사용해야함

#include <stdio.h>
#include <stdlib.h>

5) 테스트 암호 대상 문자열 및 암호화 key 예)

    char text[] = "This is a house.";
    char key[] = "123456";
    int dataLen = strlen(text);
    int keyLen = strlen(key);
 
    // 암호화 결과와 복호화 결과를 담을 버퍼
    char cipherText[100];  // 충분히 큰 크기로 선언
    char plainText[100];
 
    XORCipher(text, key, dataLen, keyLen, cipherText);
    XORCipher(cipherText, key, dataLen, keyLen, plainText);

          * XORCipher() 함수로 구현하는 것임
          * 함수구현이 서툰 학생은 main 함수에 모두 구현 후 함수화 할 것!!!

 

[XOR 동작]

A ⊕ A = 0
A ⊕ 0 = A
A ⊕ 1 = A'


A: 암호 대상 문자열
B: 암호 key 문자열

암호화: (A ⊕ B) = C  (C: 암호화된 문자열)
복호화: (C ⊕ B) = A   (A: 복호화된 문자열)

※  XOR 는 교환법칙, 결합법칙이 성립 함

(C ⊕ B) = (A ⊕ B) ⊕ B = A ⊕ (B ⊕ B) = A ⊕ 0 = A

 

  등록일 : 2022-04-26 [00:46] 조회 : 1460 다운 : 446   
 
△ 이전글Mini Project 2(텍스트 압축 해제) 추가 구현
▽ 다음글Mini Project 1(텍스트 암호화) (모범 답안)
C프로그래밍(프로그래밍언어) 실습게시판
번호 ⓒ 제 목
Mini Project (어드벤처 게임 만들기) 추가 구현 // ★★★ 기말과제 게임...
실습 목차
252 └❶ lpointer_to_st.c (교재)
251 └❶ lvector.c (교재)
250 └❶ lmultiple_choice.c (교재)
249 └❶ larray_of_struct.c (교재)
248 └❶ lpoint.c (교재)
247 └❶ lstruct_init.c (교재)
246 └❶ lstudent1.c (교재)
245 (10장) 문자열
244 └❶ Mini Project 2(텍스트 압축)©
243    └❷ Mini Project 2(텍스트 압축) (모범 답안)
242       └❸ Mini Project 2(텍스트 압축 해제) 추가 구현
241 └❶ Mini Project 1(텍스트 암호화)©
240    └❷ Mini Project 1(텍스트 암호화) (모범 답안)
239 └❶ 도전문제
238    └❷ 도전문제 (모범 답안)
237 └❶ lstr_sort.c (교재)
236    └❷ 한글 이름 정렬 예제
235 └❶ ldic.c (교재)
234 └❶ larray_of_string.c (교재)
233 └❶ lanagram.c (교재)

[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15]