260 likes | 483 Views
2004 년도 여름방학 영재교육 C 프로그래밍 과정. 발표자 : 김 진성. Contents. C 언어 기초 암호화 시스템 암호화 시스템의 종류 전자문서 암호화 및 복화화 과정 C 언어의 비트 연산자 XOR C 언어를 이용한 전자문서 암호화 C 언어를 이용한 전자문서 복화화. 1.2 첫 프로그램. Visual C 실행 시키기. 4. 마우스 클릭. 3. 마우스 포인트 위치시킴. 2. 마우스 포인트 위치시킴. 1. 마우스 클릭. 1.2 첫 프로그램.
E N D
2004년도 여름방학 영재교육C프로그래밍 과정 발표자 : 김 진성
Contents C 언어 기초 암호화 시스템 암호화 시스템의 종류 전자문서 암호화 및 복화화 과정 C 언어의 비트 연산자 XOR C 언어를 이용한 전자문서 암호화 C 언어를 이용한 전자문서 복화화
1.2 첫 프로그램 • Visual C 실행 시키기 4 마우스 클릭 3 마우스 포인트 위치시킴 2 마우스 포인트 위치시킴 1 마우스 클릭
1.2 첫 프로그램 메뉴 툴바 • Visual C 실행 화면 문서 창 프로그램 작성 프로젝트 창 (프로젝트가 포함하고 있는 File 보여줌) 결과 창 컴파일 및 디버깅 결과 보여줌
1.2 프로젝트 만들기 1 <- 새 프로젝트 열기 파일 메뉴 – New 선택(클릭) 5 프로젝트 이름 입력 (작성 프로그램 이름) 2 마우스 클릭 4 마우스 클릭하여 작성 프로그램 폴더 선택 (컴퓨터의 파일 위치) 3 마우스 클릭 6 마우스 클릭
1.2 첫 프로그램 • 프로젝트 작성과정 완료 마우스 클릭
1.2 첫 프로그램 • Visual C에서 프로젝트(작성을 위한 프로그램)가 열린 상태 마우스 클릭 소스파일 표시 (편집 위함) 해더파일 표시 (편집 위함)
1.2 소스 파일 만들기 1 <- 새 소스파일 만들기 파일 메뉴 – New 선택(클릭) 4 체크 확인 2 마우스 클릭 5 소스파일(hello.c) 이름 입력하기(5) 3 마우스 클릭 6 마우스 클릭
1.2 소스파일(hello.c) 편집 4 소스파일 저장 1 마우스 클릭 2 마우스 더블클릭 (빠르게 두번 연속) 3 소스 코드 편집
소스파일 컴파일 마우스 클릭
소스파일 컴파일 컴파일 완료 컴파일 과정에서 컴파일 에러 발생하면 소스코드 수정함 Hello.obj 파일 만들어짐
프로그램 실행시키기 1 마우스 클릭 2 마우스 클릭
프로그램 실행 결과 하면 중요 다음 작업을 하기 전에 반드시 실행창을 닫을 것 실행창이 활성화된 상태에서 키보드의 아무키나 누르면 됨 실행창 활성화란 요 부분의 색이 파란색임 First Program End
배열 • 배열 이란? • 메모리에 순차적으로 임시 기억장소를 지정함. • 배열의 각 원소들은 인덱스(index)라고도 부르는 첨자를 사용 • int grade[3]; • grade[0], grade[1], grade[2] : 세 개의 저장 공간 확보됨 • grade[3] = 3; /* ERROR 배열의 범위 벗어남 */
배열 • 배열a에 값이 저장된 모습 • a[0]의 시작 주소는 1000번 에 저장됨 • a[0] = 7 • a[1] = 8 • a[2] = 11 • a[3] = 16 • a[4] = 23
포인터 선언 및 할당 • 포인터 변수 와 &연산자 • 주소를 저장할 수 있는 변수. • 변수의 주소 값을 얻을 수 있음. • 예)) 포인터 변수 선언 int *p; int month=3; p = &month; 포인터 변수 p에 month의 메모리 주소 저장
포인터 연산자 • 포인터 연산자 • 포인터 변수 선언을 위한 *와는 다른 의미 • 포인터 변수가 가르키는 값을 의미 • 예 포인터 변수 선언 int month=3; int *p; p = &month printf(“month = %d”, *p); 수식에서 사용된 포인트 연산자 p가 month의 주소 값을 가지고 있으므로 *p는 p가 가르키는 month의 값 3을 의미
a 7 b 7 포인터 선언 및 할당 • 예 1 • 예 2 • 예 3 int a, b; int*p; ? printf("*p = %d\n", *p); : 실행 결과로 7이 출력 a = b = 7; p = &a; *p = 3;
암호화 시스템 암호화 란 ? 암호화란 전자문서의 내용을 정당한 권한이 없는 자가 볼 수 없도록 암호키를 사용하여 암호문을 만드는 과정을 말합니다. 복호화 란 ? 정당한 권한을 가진 자가 암호키를 사용하여 전자문서의 내용을 복원하는 과정을 말합니다.
암호화 시스템의 종류 단일 키 암호화 암호화와 복호화 과정에서 동일한 키를 사용. 공개 키 암호화 암호화와 복호화 과정에서 서로 다른 키를 사용. (개인키/공개키)
암호 문서 전자 문서 인터넷 (송신자) 단일 키 맞으면 문서 내용 해독가능 암호 문서 암호 키 암호 키 전자 문서 문서 내용 해독불가능 (수신자) 틀리면 전자문서 암호화 및 복호화 과정
원문 e d c b 1110 1101 1100 1011 ^ ^ 키값 1 2 3 4 0001 0010 0011 0100 = = f f f f 1111 1111 1111 1111 암호 암호 f f f f 1111 1111 1111 1111 ^ ^ 키값 1 2 3 4 0001 0010 0011 0100 = = e d c b 원문 1110 1101 1100 1011 C 언어의 비트 연산자 XOR • 비트연산자 XOR를 이용한 암호화 원리 • 비트 연산자 XOR를 이용한 복호화 원리
C 언어의 비트 연산자 XOR • 비트연산자 XOR를 이용한 암호화 원리