암호 알고리즘을 이용한 “ 단문 암호화 프로그램 ” 제작 주제탐구학습발표대회 발표자료 2014. 10. 교과영역학교학년성명 수학하안초등학교 6 윤승환 지도교사 : 김 지 민 선생님 경기도광명교육지원청부설영재교육원.

Slides:



Advertisements
Similar presentations
정보의 공유와 보호 정보의 공유와 관리 2. 정보 보호 기술과 지식 재산권.
Advertisements

프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
1/29 키보드로 직접 입력할 수 없는 다양한 기호와 한자를 입력하는 방법을 알아 보자. 또한 블록으로 영역을 설정하는 여러 가지 방법에 대해 살펴본 후 블록 으로 설정된 내용을 복사하여 붙여넣거나, 잘라내고 이동하는 방법에 대해서 도 알아보자. 02_ 문서의 입력과 편집.
을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
I. 프로젝트 동기 II. 프로젝트 목표 III. 파일시스템 IV. 암호화 및 복호화 V. 인터페이스 VI. FBR READ/WRITE VII. 프로그램 흐름도 VIII. 미 구현 사항 IX. 프로젝트 기대효과 X. 프로그램 요구사항 및 팀원 역할분담 XI. 시연 XII.
문자코드 1 박 2 일 (4 조 ) 이경도 이준집 이수연 엄태규. 문자코드란 ? 문자나 기호를 컴퓨터로 다루기 위하여, 문자나 기호 하나하나에 할당 시키는 고유의 숫자를 말하는 것이다.
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
1. 에이전트 설치 및 인증 방법 아래와 같은 절차에 의해 에이전트 배포 및 설치를 진행하고, 에이전트 로그인성공 이후 에이전트 기능이 활성화되어 개인정보 점검 및 관리가 가능합니다. 에이전트 배포 웹을 통해 에이전트 설치 - 사용자는 지정된 웹에서 에이전트 설치 에이전트.
목차 Contents 무선인터넷용 비밀번호 설정방법 Windows 7 Windows 8 Windows XP MAC OS.
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++로 프로그래밍한다는 것의 의미 세상에서 가장 간단한 C++ 프로그램
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
新 연구관리 프로그램 SAP 설치 안내 1. SAP GUI 7.3 설치 2전자증빙 솔루션 설치 배포 :
Image & Video processing
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
무들(moodle) 온라인 교육지원 시스템 학생 매뉴얼
교과목 소개 정보보호.
File Depender 중간 발표.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
프로젝트 최종 발표 컴퓨터 공학과 4학년 박기웅.
Visual Basic .NET 처음 사용하기.
1. C++ 시작하기.
Error Detection and Correction
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
보고서 #5(제출기한: 10/14) 다음 문제를 해결하시오.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
프로그래밍 개요
어서와 C언어는 처음이지 제14장.
공인인증서 신청 및 발급 제일 먼저 은행에 직접 방문하여 인터넷뱅킹 신청.
소마큐브로 3*3*3(정육면체)만드는 방법 탐구하기
홀인원2.0 설치 메뉴얼.
WZC 무선 연결 방법 (Windows XP Ver.).
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
컴퓨터소프트웨어설계및실험 년 1학기 실험계획 -.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
KELS 영어능력향상프로그램 이용 방법 KETS 영어교육실 KETS 영어교육실
NFC를 이용한 데이터 수집 및 분석t 디자인 3조 [Bos]- 강윤중 고은미 김영택 이수민.
3D 프린팅 프로그래밍 05 – 반복패턴 만들기 강사: 김영준 목원대학교 겸임교수.
보고서 (due 5/8) 다음과 같은 방식으로 문제를 해결하시오. 문제 분석 알고리즘 작성 프로그램 작성 테스트 및 검증
보안컨텐츠 활성화 설정 호환성 설정 교육 수료 가이드
자바 5.0 프로그래밍.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
1. 스크립트 작성 마법사 2. NSIS 스크립트 컴파일
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
Java , 안드로이드를 이용한 ‘사천성’ Game
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
S-Work 2.0 DRM 신규 버전 설치 가이드 SOFTCAMP
컴퓨터공학실험 (I) 년 1학기 실험계획 -.
알고리즘 알고리즘이란 무엇인가?.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
05. General Linear List – Homework
Flow Diagram IV While.
공인인증로그인 매뉴얼.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
1. 인터넷 보안 옵션 레지스트리 등록 Config Setup 클릭.
실습 UBLAB.
정삼각형을 정사각형으로 바꾸는 원리 탐구 하귀초등학교 6학년 고지상.
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
공인인증로그인 매뉴얼.
IPC 펌웨어 업그레이드 방법 안내 ** 반드시 IPC를 NVR POE 포트 연결 전에 작업 하시기 바랍니다. IPC를 NVR POE 포트에 연결 하실 경우 IP 대역폭을 마추셔야 하는 작업이 필요합니다. **
동적메모리와 연결 리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
채팅 및 파일전송 프로그램 권 경 곤 김 창 년.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
CCIT 네트워크 발표 정보보호학과 평문 사이트와 SSL 사이트, SSL strip과 데이터 변조를 이용한 로그인 취약점
6 객체.
공인인증로그인 매뉴얼.
Presentation transcript:

암호 알고리즘을 이용한 “ 단문 암호화 프로그램 ” 제작 주제탐구학습발표대회 발표자료 교과영역학교학년성명 수학하안초등학교 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. 더 연구하고 싶은 것 끝.끝