암호 알고리즘을 이용한 “ 단문 암호화 프로그램 ” 제작 주제탐구학습발표대회 발표자료 교과영역학교학년성명 수학하안초등학교 6 윤승환 지도교사 : 김 지 민 선생님 경기도광명교육지원청부설영재교육원
연구 목적 연구 기간 연구 과정 연구 결과 알게 된 점 더 연구하고 싶은 것 연구 목적 연구 기간 연구 과정 연구 결과 알게 된 점 더 연구하고 싶은 것 I. I. II. II. III. III. IV. IV. V. V. VI. VI.
암호 알고리즘을 이용한 “ 단문 암호화 프로그램 ” 제작 ‘2014 년 주제탐구학습발표대회 발표 I. 연구 목적 작년 주제탐구학습 목표인 “ 암호의 역사와 안전한 패스워 드 만들기 ” 과정을 통해 엑셀을 이용한 문자, 숫자, 특수문 자가 포함된 16 자리 안전한 난수 패스워드를 생성하였다. 이렇게 생성된 난수 패스워드는 “HOW SECURE IS MY PASSWORD?” 사이트를 통해 데스크탑 PC 로 2trillion years 즉 2^120 년이 소요되어야만 해독이 가능한 수준을 만들었고 이를 통해 전산 기술을 활용한 보안 분야에 많은 관심을 갖는 기회가 되었다 암호 알고리즘을 이용한 “ 단문 암호화 프로그램 ” 개발 전산을 이용한 보안 기술에 대한 관심은 작년 주제탐구학습이 완료된 이후에도 지속되어 최근 은행, 카드, 보험, 쇼핑 등 고객 정보를 관리하고 있는 사이트에 개인정보가 암호화되어 있는 않을 경우 정보가 유출되어 많은 피해가 발생되는 것을 뉴스를 통해 알게 되었다. 또한, 전산기술의 발전으로 컴퓨터 메시징 서비스와 카카오톡과 같은 스마트폰 앱을 통해 많은 사람들이 단문 문자를 통해 의사소통을 하는데 암호화되어 있는 않을 경우 누군가에 의해 내용을 가로채기 당한다면 보안을 유지하기 어렵게 된 다. 이에 “ 부모님이나 친구들과 주고받는 문자나 숫자 등 간단한 문장을 안전하 게 암호화하고 복호화할 수 있는 방법이 없을까 ?” 고민하게 되었다.
암호 알고리즘을 이용한 “ 단문 암호화 프로그램 ” 제작 ‘2014 년 주제탐구학습발표대회 발표 II. 연구 기간 구 분구 분 3월3월 4월4월 5월5월 6월6월 7월7월 8월8월 9월9월 10 월 암호 알고리즘에 대한 이해 암호화 알고리즘 검토 및 분석 프로그램 개발 C 언어 학습 및 이해 단문 암호화 프로그램 개발 단문 암호화 프로그램 시험 진행 보고서 작성 및 제출 암호알고리즘을 이용한 “ 단문 암호화 프로그램 ” 제작
암호 알고리즘을 이용한 “ 단문 암호화 프로그램 ” 제작 ‘2014 년 주제탐구학습발표대회 발표 III. 연구 과정 암호 알고리즘의 이해와 C 언어 기반의 프로그램 개발 진행 C:> C 언어 기반 프로그램 개발을 위한 필요한 정 보 학습 및 프로그램 직접 개발 진행 C:> Microsoft Visual C Express 개발툴 을 사용하여 단문 암호화 프로그램 개발 C:> KISA 암호이용활성화 사이트를 통해 SEED 알고리즘 확보 및 학습 C:> SEED 는 현재 128bit 와 256bit 가 개발되어 있는데 단문 암호화 프로그램 개발은 256bit 적 용하여 안정성 강화
암호 알고리즘을 이용한 “ 단문 암호화 프로그램 ” 제작 ‘2014 년 주제탐구학습발표대회 발표 III. 연구 과정 블록 암호 알고리즘 Mode 의 이해 1 긴 문장의 평문을 암호화하기 위해서는 블록 암호 알고리즘을 반복 사용하고 긴 문 장의 평문 전부를 암호화할 때 반복하는 방법을 블록 암호의 Mode 라고 한다.
암호 알고리즘을 이용한 “ 단문 암호화 프로그램 ” 제작 ‘2014 년 주제탐구학습발표대회 발표 III. 연구 과정 블록 암호 알고리즘 Mode 의 이해 2 취약점 발견 개발 초기 소스코드 비교적 간단한 ECB 를 통해 단 문 암호화 프로그램을 개발하였으나, 개발 후 시험 과정에서 ECB 모드의 단점인 평문속에 반복문이 암 호문에서도 반복되는 취약점을 발견 초기 개발이후 취약점 점검을 진행하는 과정에서 ECB 모드의 패턴이 반복되는 취약점을 발견하여 이 를 개선하기 위해 평문속의 반복문이 암호문에서 다른 게 나오도록 CBC 모드를 학습하여 직접 구현
암호 알고리즘을 이용한 “ 단문 암호화 프로그램 ” 제작 ‘2014 년 주제탐구학습발표대회 발표 III. 연구 과정 HASH 알고리즘 이해를 통한 나만의 S-HASH 만들기 S1 함수는 평문을 암호화하는 과정에 사 용되는 키 값을 유추하기 어렵게 하기 위 한 방법으로 암호화 시 메모리에서 처리 되는 암호키 배열을 섞어 그 값에 3 을 더 하여 짝수이면 반전 (0->1, 1->0) 시키고, 홀수이면 그대로 대입하여 추가로 암호 키의 비트를 섞어 보안성을 강화 ※ S-HASH 의 2 가지 의미 : ① S( 승환 )- HASH ② S-HA(Secure Hash Algorithm)SH( 승환 )
암호 알고리즘을 이용한 “ 단문 암호화 프로그램 ” 제작 ‘2014 년 주제탐구학습발표대회 발표 III. 연구 과정 단문 암호 프로그램 “Y-SED” 개발 및 구현 암호키, 평문 처리방법은 16 진수로 처리하는 방법을 검토하여 암호키는 S-HASH 를 이용하여 16Byte 로 처리 ▷ 단문 암호프로그램 암호화 처리 구현 절차 ① 개발 초기 암호문을 “*.sed” 파일을 이용해 암호화할 수 있도록 하였다. ② 이후 프로그램 시험 및 성능개선 과정에서 SEED128 를 SEED256 으로 전환하면 서 *.nsed(New Seed EncrypteD file) 로 바꾸었다. 암호키, 평문 처리방법은 16 진수로 처리하는 방법을 검토하여 암호키는 S-HASH 를 이용하여 16Byte 로 처리 ▷ 단문 암호프로그램 암호화 처리 구현 절차 ① 개발 초기 암호문을 “*.sed” 파일을 이용해 암호화할 수 있도록 하였다. ② 이후 프로그램 시험 및 성능개선 과정에서 SEED128 를 SEED256 으로 전환하면 서 *.nsed(New Seed EncrypteD file) 로 바꾸었다.
암호 알고리즘을 이용한 “ 단문 암호화 프로그램 ” 제작 ‘2014 년 주제탐구학습발표대회 발표 III. 연구 과정 단문 암호 프로그램 “Y-SED” 개발 및 구현 – 단문 암호화 ① 초기 화면에서 아무 키나 누른 후 “ 암호화 ” 를 선택 ② 암호화 시 단문과 암호키 값을 입력 ③ 입력한 단문은 암호문 파일로 생성되어 단문 암호 프로그램과 같이 폴더 위치에 자 동 생성된다. ( 생성 파일명 : encrypt.nsed) 암호화 성공
암호 알고리즘을 이용한 “ 단문 암호화 프로그램 ” 제작 ‘2014 년 주제탐구학습발표대회 발표 III. 연구 과정 단문 암호 프로그램 “Y-SED” 개발 및 구현 – 단문 복호화 ① 복호화할 파일을 “Y-SED” 과 같은 경로로 두고 “Y-SED” 를 실행 ② “ 복호화 ” 를 선택 ③ 암호화 시 입력한 key 값을 입력하면 암호문 파일에서 평문이 복호화되어 화면에 출력된다. 복호화 성공
암호 알고리즘을 이용한 “ 단문 암호화 프로그램 ” 제작 ‘2014 년 주제탐구학습발표대회 발표 IV. 연구 결과 블록암호 알고리즘에도 여러 종류가 존재한다는 것을 알았다. 전 세계 모든 언어를 지원하기 위해 유니코드를 사용한다는 것을 알았다. GUI 에서 사용자 편의를 위해 방향키로 색깔을 조정하여 선택하게 하는 것이 굉장 히 수학적이라는 것을 깨달았다. 우리 생활 주변에서도 개인정보, 금융정보, 국가정보 등을 지키기 위해 많은 암호 화 방법을 통해 정보를 보호한다는 것을 알았고 나도 나와 내 주변의 사람들이 손쉽 게 쓸 수 있는 단문 암호화 프로그램 Y-SED 를 직접 만들고 성공하였다. Y-SED 프로그램은 기회가 된다면 보다 나은 성능 개선 및 화면 구성을 보완하여 사람들이 안전하게 쓸 수 있는 단문 암호화 프로그램을 무상으로 배포하고 싶다. 다양한 암호화 방법 학습을 통한 단문 암호화 프로그램 제작 완료
암호 알고리즘을 이용한 “ 단문 암호화 프로그램 ” 제작 ‘2014 년 주제탐구학습발표대회 발표 V. 알게 된 점 암호화 알고리즘의 중요성 개인정보를 보호하기 위해 국가에 서도 국산 암호화 알고리즘들을 별도로 만들어 관리한다는 것을 알았다. 기술응용 우리 주변에서 많이 사용하는 은행 거래 시 고객과 은행간에 자료를 구간 암호화하거나 문서 자료의 대 부분도 문서암호화 솔루션인 “DRM” 등을 통해 암호화가 기반이 된다는 것을 알게 되었다
암호 알고리즘을 이용한 “ 단문 암호화 프로그램 ” 제작 ‘2014 년 주제탐구학습발표대회 발표 VI. 더 연구하고 싶은 것 끝.끝