Cryptography v3

Similar documents
본 강의에 들어가기 전

0. 들어가기 전

암호이론과 보안 고전적 암호시스템

PowerPoint Template

05 암호개론 (2)

Microsoft PowerPoint - chap06.ppt

슬라이드 1

공개키 암호 방식

public key private key Encryption Algorithm Decryption Algorithm 1

PowerPoint Template

1장 암호의 세계

Microsoft PowerPoint - 26.pptx

기초 암호화 기법

PowerPoint Template

A Study on the efficient mutual authentication mechanism using the agent server

hwp

chap06.hwp

Ⅰ. 들어가는 말 2005년 6월에 발생한 인터넷뱅킹 해킹 사건이 2005년 가장 기억에 남는 정보보호 뉴 스로 선정되었다고 한다. 해킹 등으로 인해 개인의 PC가 악의적인 해커에 의해 장악이 된 경우에는 어떤 보안시스템도 제 기능을 다하지 못함에도 불구하고, 해킹 사

정수론 - (Number Theory)

<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>

3.2 함수의정의 Theorem 6 함수 f : X Y 와 Y W 인집합 W 에대하여 f : X W 는함수이다. Proof. f : X Y 가함수이므로 f X Y 이고, Y W 이므로 f X W 이므로 F0이만족된다. 함수의정의 F1, F2은 f : X Y 가함수이므로

보안과 암호화의 모든 것

1장 암호의 세계

hwp

V. 통신망 기술

관용 암호 방식

Microsoft PowerPoint Relations.pptx

Microsoft PowerPoint - chap05.ppt

Python과 함께 배우는 신호 해석 제 5 강. 복소수 연산 및 Python을 이용한 복소수 연산 (제 2 장. 복소수 기초)

Microsoft PowerPoint - note01 [호환 모드]

Microsoft PowerPoint - note03 [호환 모드]

Sequences with Low Correlation

PowerPoint Template

FGB-P 학번수학과권혁준 2008 년 5 월 19 일 Lemma 1 p 를 C([0, 1]) 에속하는음수가되지않는함수라하자. 이때 y C 2 (0, 1) C([0, 1]) 가미분방정식 y (t) + p(t)y(t) = 0, t (0, 1), y(0)

발신자 목적지 발신자 목적지 발신자 목적지 공격자 발신자 목적지 발신자 목적지 공격자 공격자

Microsoft PowerPoint - 6.pptx

31. 을전개한식에서 의계수는? 를전개한식이 일 때, 의값은? 을전개했을때, 의계수와상수항의합을구하면? 을전개했을때, 의 계수는? 를전개했을때, 상수항을 구하여라. 37

제 5강 리만적분

1. 배경 업무 내용이나 개인정보가 담긴 청구서 등을 메일로 전달 시 중요한 정보가 유출되는 경우가 발생하고 있으며, 이에 따른 메일 암호화 솔루션을 도입하고 있으나 기존 ActiveX를 기반으로 한 플러그인 방식은 여러 가지 제약으로 인해 사용성이 저하되고, 고객 대

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

윈도우즈프로그래밍(1)

Microsoft PowerPoint - chap02.ppt

동양미래대학교규정집제 8 편정보보안 ~2 제4조 ( 책임사항 ) 1. 정보보안담당관 : 대학의전반적인보안계획을수립관리하는자로대학에서 1명을선정하여, 암호화기술및프로그램등암호와관련된모든사항들에대해서최종승인과총괄적인관리를담당한다. 그리고기술의발달에따라암호화기술및

목 차 1. 개요 1 2. 규격의구성및범위 1 3. 관련표준및규격 국외표준및규격 국내표준및규격 기타 2 4. 정의 전자서명법용어정의 용어의정의 용어의효력 2 5. 약어 3 6. 사용자인증 3 7. 전송채널

Microsoft PowerPoint - chap09.ppt

C# Programming Guide - Types

Microsoft PowerPoint - crypto [호환 모드]

PowerPoint Presentation

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

KISA-0149.hwp

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

KJME-2003-h.hwp

본 강의에 들어가기 전

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

텀블러514

PowerPoint Presentation

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

중간고사

프리미엄 디자인

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

제 12강 함수수열의 평등수렴

Microsoft PowerPoint - Java7.pptx

체의원소를계수로가지는다항식환 Theorem 0.1. ( 나눗셈알고리듬 (Division Algorithm)) F 가체일때 F [x] 의두다항식 f(x) = a 0 + a 1 x + + a n x n, a n 0 F 와 g(x) = b 0 + b 1 x + + b m x

Microsoft PowerPoint - chap06-2pointer.ppt

All your private keys are belong to us_번역중.doc

PowerPoint Presentation

1장. 유닉스 시스템 프로그래밍 개요

2. 개인키권한설정 보안경고개인키의유출방지를위해 group 과 other 의 permission 을모두제거한다. chmod 600 /etc/pki/tls/private/lesstif-rootca.key 3. CSR(Certificate Signing Request) 생

<B4EBC7D0BCF6C7D02DBBEFB0A2C7D4BCF62E687770>

제 3강 역함수의 미분과 로피탈의 정리

자바암호패키지 (JCA, JCE) 및실무활용방법 20soft 박대표 이글에서는자바암호패키지인 JCA(Java Cryptography Architecture) 와 JCE(Java Cryptography Extension) 에대해서알아보고, 실무활용방법에대해서알아보겠습니다

Microsoft PowerPoint - e pptx

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

Microsoft PowerPoint - chap-03.pptx

07.기업의 정보보호를 위한 암호 정책 수립 지침_KCS.KO hwp

(JBE Vol. 20, No. 1, January 2015) (Regular Paper) 20 1, (JBE Vol. 20, No. 1, January 2015) ISSN 228

법제코너 저자권의 이해 저작권의 의의 세계 각국은 보호의 정도에는 조금씩 차이가 있으나 일반적으 로 두 가지의 근거로서 저작권을 보호하고 있다. 하나는 저작권 을 창작자 개인의 인격적 경제적 권리로 인정하는 것이고 다른 하나는 지적 창작의 결과를 보호함으로써 사회적 경

금오공대 컴퓨터공학전공 강의자료

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

PowerPoint Presentation

OCW_C언어 기초

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

[2010 년디지털시스템설계및실험중간고사 2 답안지 ] 출제 : 채수익 1. (a) (10 pts) Robertson diagram Quotient 와 remainder 의 correction 을뒤로미루는것이 non-restoring division 이다. 즉, q =

PowerPoint 프레젠테이션

Microsoft Word - Crackme 15 from Simples 문제 풀이_by JohnGang.docx

1 경영학을 위한 수학 Final Exam 2015/12/12(토) 13:00-15:00 풀이과정을 모두 명시하시오. 정리를 사용할 경우 명시하시오. 1. (각 6점) 다음 적분을 구하시오 Z 1 4 Z 1 (x + 1) dx (a) 1 (x 1)4 dx 1 Solut

R

서론 공개키암호시스템 은대칭키암호시스템의키관리문제를 해결할수있는방안으로개인키와공개키쌍을이용하여주로데이터를암호화하거나디지털 서명을수행하는데사용된다 그러나공개키에대한인증이없으면중간자공격 과같은공격이가능하므로공개키에대한신뢰가전제되어야한다 현 재국내외에서는사용자들의공개키에대한

164 Daehak Kim 전자서명이필요하며동시에공인인증서로해당전자서명을생성한자의신원을확인하게된다. 전자금융거래의공인인증서적용흐름을살펴보면, 1998년은행들이인터넷뱅킹을시작하면서공개키방식의사설인증서를발행하여사용하기시작하였다. 인증서의서명을디지털서명이라한다. 이때는물론국

PowerPoint Presentation

말은 많은 Blockchain 2

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

<353220B0ADBFB5C1F82D DC0BB20C0A7C7D12E687770>

Microsoft PowerPoint - hw8.ppt [호환 모드]

Microsoft PowerPoint - ch07 - 포인터 pm0415

PowerPoint Template

Transcription:

Basic Cryptography 공개된암호화폐가안전한이유 Seokhwan Moon

Modular Arithmetic! 값을 " 로나눌경우아래와같은식이성립함! = " % + ' 이를아래와같이표현할수있음! ()* % = ' 여기서 % 은 modulus( 법, 모듈로 ) 라고불리우며 ' 는 residue( 나머지 ) 라고불리움 프로그래밍에서 % 기호와같은역할 >>> 10 % 7 3 모듈로 % 의세계에서가능한모든나머지값은아래와같음 Z - = {0, 1, 2,, (% 1)} 1

Modular Arithmetic 모듈로! 의세계에서두개의값이같은나머지를갖고있다면두수는 congruent ( 합동 ) 이라고하며아래와같이표현함 " $ (&'(!) 예 : 4 8 0 &'( 2 17 10 3 (&'( 7) Modular 연산은아래와같은성질을갖고있음 " + $ &'(! = " &'(! + $ &'(! &'(! " $ &'(! = " &'(! $ &'(! &'(! " $ &'(! = " &'(! $ &'(! &'(! 2

Modular Arithmetic Modular 연산에서도일반덧셈과곱셈연산처럼역수가있음 Additive Inverse ( 덧셈역원 ) a 와 b 가아래와같은성질을갖고있으면 a 와 b 는덧셈에서 ( 서로의 ) inverse 임 # + % 0 ()*+,) 일반덧셈에서 # + % = 0 이면 % = # 이며 b 는 a 의 additive inverse 라고함 Multiplicative Inverse ( 곱셈역원 ) a 와 b 가아래와같은성질을갖고있으면 a 와 b 는곱셈에서 ( 서로의 ) inverse 임 # % 1 )*+, 일반곱셈에서 # % = 1 이면 % = 2 3 = #42 이며 b 는 a 의 multiplicative inverse 이라고함 3

Caesar Cipher 각문자열을특정숫자만큼이동시켜서암호화 / 복호화 평문 : THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG 암호문 : QEB NRFZH YOLTK CLU GRJMP LSBO QEB IXWV ALD Plain text A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Value 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 이미지출처 4

Caesar Cipher Caesar 암호는 transition ( 치환 ) 암호의한종류로 modular 연산으로표현하면 +/- 연산으로표현할수있음 Plain-Text Plain-Text $ = & + ' ()* 26 k k $ = & ' ()* 26 Encryption Cipher-Text Decryption 5

One Time Pad 비슷하지만 더욱 안전한 암호화로 One Time Pad의 방식도 존재 이미지 출처 6

Symmetric Key Chipher Symmetric key( 대칭키 ) 암호를사용한암호방식에서는아래와같은특징을갖고있음 사전에키를나눔 암호및복호에사용하는키가같음 Secured channel 7

Modern Symmetric Key Cipher DES (Data Encryption Standard) IBM 에서개발되었으며 1977 년에미국에서공식적인보안표준으로지정 1999 년에 22 시간 15 분만에공개적으로암호를해독하는하드웨어를공개함 AES (Advanced Encryption Standard) DES 를보완하기위해개발되었으며 2001 년에미국에서공식적인보안표준으로지정 이미지출처 8

Asymmetric Key Cipher Asymmetric key( 비대칭키 ) 암호방식은공개키, 비밀키두개의키가존재함 Public key( 공개키 ) 암호방식이라고도불리움 공개키로암호화, 비밀키로복호화 Communication channel Public Key Private Key 9

Asymmetric Key Cipher 공개키는공개적으로배포 공개키배포자와통신을하고싶은자가이를이용해통신내용을암호화한뒤공개키배포자에게전송 공개키배포자는암호화된문서를비밀키를이용해복호화할수있음 10

Prime Number 양수 (positive integer) 는 1, 소수 (prime number), 그리고합성수 (composite number) 로이루어져있음 소수는 1 과자기자신만으로나누어떨어지는양수 예 : 2, 3, 5, 7, 11,... 두숫자 a 와 b 의최대공약수가 1 인경우서로소 (relative prime) 라고함 두숫자를모두나눌수있는양수는 1 밖에존재하지않음 특정양수가 (P 복잡도로 ) 소수인지를판단할수있는알고리즘 (AKS primality test) 이 2002 년에최초로발표됨 11

Fermat s Little Theorem 1640 년에수학자페르마가언급했음 1749 년에오일러에의해처음으로증명됨 정수론 (Number theory) 의기초에큰영향을줌 만약 p 가소수이고 a 와 p 가서로소이면 # $%& 1 )*+, # $ # )*+, 12

Euler s Theorem! " n 보다작으면서 n 과서로소인양수들의총개수 예 :! 12 = 4 1, 5, 7, 11 만약 m 과 n 이서로소이면! ) " =! )! " 만약 p 가소수면!, =, 1 Euler s Theorem 만약 a 와 n 이서로소일경우 / 0(2) 1 )56 " / 7 0 2 89 / )56 ", 오일러의정리는페르마의소정리를일반화함 13

RSA 비대칭키암호를쓴최초의암호중하나 속도가느린알고리즘이라많이쓰이기보다대칭키를서로주고받기위해많이쓰임 이미지출처 14

RSA 두개의서로다른큰소수 p 와 q 를지정한후 # = % ' 로정함 따라서 ( # = ( % ( ' = % 1 ' 1 RSA 에서는 p 와 q 는적어도 512bit, n 은적어도 1024bit 여야함 1 과 ( # 사이의자연수중 ( # 와서로소인 e 를지정 -. 1 01. ( # 를만족시키는 d 를지정 (e 의 multiplicative inverse) e 와 ( # 은서로소이기때문에 e 는 modulo ( # 의세계에서 multiplicative inverse 가무조건존재함 공개키 (public key) 를 (e, n) 으로지정하고비밀키 (private key) 를 d 로지정 비밀키는본인만갖고있고, 공개키는본인과통신하고싶은사람들이쓸수있도록공개함 15

RSA 보낼문자를 P, 암호화된문자를 C 라고하면, 암호화 # = % & '() * 복호화 % = # + '() * 16

Proof of RSA Decryption 복호화 :! "! " #$% & = ( ) #$% & " #$% & = ( ) " #$% & = ( )" #$% & 암호화정의 : C = ( ) #$% & Modular 연산특성 9 : #$% & = { 9 #$% & : #$% & } #$% & * % =, - & + 1 가성립하는자연수 k 가존재함 ( )" #$% & = 1 2 3 4 5 6 #$% & 1 2 3 4 5 6 #$% & ( #$% & 키의정의 : * % 1 #$% -(&) 오일러의정리 9 2 3 4 56 9 #$% & : ( =! " #$% & 17

Cracking RSA 컴퓨터로지수계산은빠르게처리할수있지만, 그의반대인로그계산 (log $ % &'( )) 은매우어려움 로그계산은자연수를인수분해하는방법만큼어려움 현재자연수를쉽게인수분해하는방법 (n 을가지고 p 와 q 를찾는것 ) 은존재하지않음 ( 복잡도 NP 에속함 ) 따라서공개된 (e, n) 으로문자를암호화시킬수는있으나비밀키없이이문자를복호화시키는것은매우어려움 RSA Factoring Challenge 에서상금을걸고 n 에서 p 와 q 를인수분해하는경연을 1991 ~ 2007 년까지진행 663 bit 으로된 n 을 2005 년 5 월에인수분해에성공했음 이를처리하는데사용한파워를싱글코어 2.2GHz 옵테론프로세서 (2003 년출시된서버용 CPU) 로환산했을시약 75 년이걸리는시간이필요 18

Semantic Security Perfect security 암호화된문자만가지고원래의문자에대한정보를전혀얻을수없는경우 Shannon 에의해 perfect security 를이루는것은불가능하다고증명됨 Perfect security 를이루기위해서는적어도암호키의숫자가만들어낼수있는모든문자열의길이보다많아야함 Semantic security (practically perfect security) 이론적으로완벽한암호알고리즘이아니라도컴퓨팅파워의한계에의해서공격자가실질적으로암호문을복호화시키는게어려울수있음 따라서 ( 특정암호알고리즘의취약점이암호키의크기뿐일때 ) 암호키의크기를늘림으로써알고리즘의복잡도를매우높일수있으면그알고리즘은현실적으로안전하다고정의함 19

Hash Function Hash function 은임의의크기를갖고있는데이터를일정한크기의데이터로변환시켜주는함수 특정데이터를 hash function 을이용해계산한값을 hash 또는 hash value 라고함 단암호학에서의 hash function은아래와같은특성을만족해야함 : h"#h $ = h라고했을때 h만가지고 m을알아내기어려워야함 $ ( 을가지고 h"#h $ ( = h"#h $ ) 를만족하는 $ ) 를알아내기어려워야함 h"#h $ ( = h"#h $ ) 를만족하는 $ ( 과 $ ) 를찾기어려워야함 이미지출처 이러한특성때문에 hash function 에값을넣으면랜덤한값이나오는것처럼보임 20

Wallet in Cryptocurrency 암호화폐의지갑주소는특이한글자로되어있음 예 : bc1qar0srrr7xfkvy5l643lydnw9re59gtzz wf5mdq 이는비대칭암호의공개키가포함된값 이공개키를이용하여 block 에기록되어있는화폐의주인임을증명 이공개키와페어를이루는비밀키가존재하며, 이비밀키를이용하여인증서를생성 공개키를이용하면인증서를증명할수는있지만비밀키를알아낼수는없음 이미지출처 21

Hash Function in Cryptocurrency Block chain 이라는말처럼각거래원장 (block) 은각각연결되어있음 Bitcoin 의경우는 Proof of Work 라는방식을통해새로생성할 block 을결정함 Bitcoin 에는지정된 target 이있음 새로운 block 을생성하려는사람은현재 block chain 에존재하는가장마지막 block 의 header 를이용해서 target 보다작은 hash 값을만들수있는값 (nounce) 를찾아내야함 이미지출처 22

Hash Function in Cryptocurrency 지정된값 ( 이전원장의헤더 ) 에 nounce 를추가해서특정값보다작은값을찾는일은간단하지않음 ( 랜덤값을만들어내는듯한 ) hash fucntion 의특성상집어넣은값과결과값에아무런관계가없어보임 하지만 nounce( 와이전원장의헤더 ) 를알고있으면이게맞는 nounce 인지확인하는작업은간단함 이렇게각 block 은그전 block 들의 header 를모두포함하고있기때문에, block chain 중간에있는 block 을수정하려면매우어려움 중간의 block 을수정하려면그이후에있는모든 block 들을수정해줘야함 하나의 nounce 를찾는것도어려운만큼, ( 수정할 block 이후에존재하는 ) 여러개의 block 들을수정하기전에원래의 block chain 은이미새로운 block( 들 ) 을추가함 23

Question 이미지출처 24