대칭알고리즘 AES ▪ 발표자 : 최명현.

Slides:



Advertisements
Similar presentations
3 학년 문제가 남느냐, 내가 남느냐 1. ( 아씨방 일곱 동무 ) 아씨의 방에는 바느질을 위한 친구가 몇 명이 있었나요 ? 정답은 ? 일곱.
Advertisements

2009 년 행정안전부 공직설명회 년 행정안전부 공직설명회 2 목 차 I. 개 요 II. 기능직 개편원칙 III. 정보통신현업 개편방안 IV. 주요 이슈.
교수님 영상 제 2 장 관세법 일반 제 1 절 통칙 제 2 절 법 해석의 원칙 등 제 3 절 기한과 기간 제 4 절 서류의 송달 등 제 5 절 관세의 부과 및 징수 제 6 절 납세의무의 소멸 등.
7.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 7 Advanced Encryption Standard (AES)
(목) 심형석 영산대학교 부동산∙금융학과 교수 영산대학교 부동산연구소 소장
목 차 I 방위산업의 정의 II 방위산업의 특성 III 방위산업의 현황.
SEED,AES표준 곽인범.
홍보출판 위원회 출판국 2010년 사역 계획서 발표자 : 출판국 국장 / 박수만권사 일시: 2010년 01월 17일(일) 1.
경주 3코스 양반문화와 전통 다크호스 백 지연 다크호스 백지연 4학년.
2015년도 건축사시험 구조계획 문제풀이반 ㈜ 한솔아카데미.
국가기술 자격증 사이버강좌 운영 제안 ㈜유엠투엠.
예수의 제자들 담당교수 : 김동욱.
역대 정부개편의 교훈과 새로운 정부조직개편의 방향
해시 함수.
박 종 혁 3장. 블록 암호 및 DES 박 종 혁
제 7 강 자기 신학화.
3 순차 자료구조와 선형 리스트.
김종찬 김정석 이상미 임성규 담당 교수님 최병수 교수님
체위변경과 이동 요양보호 강사 : 이윤희.
암호 이야기 - 보이지 않는 전쟁 -.
제 5 장 암호학의 수학기초 Network Security Lab Mun Hyung Jin.
1.정보보호 개론(1).
자료 구조: Chapter 3 배열(1) 순천향대학교 컴퓨터공학과 하 상 호.
수학 I 2. 방정식과 부등식.
Chapter 3 Symmetric Key Crypto
대칭알고리즘 AES ▪ 발표자 : 최명현.
+ 가상 메모리 -> 물리 메모리 Selector Offset DIR Page Segmetatation
with 신 동 면 교수님 임지영 장영태 조재영 황선희 황예빈
암호에 대한 이해 정보 보안 개론 7장.
대칭알고리즘 AES.
전자상거래 보안 (암호학과 네트워크보안) Chul Ho Rhee
2009년 3월 30일 (5주차) 유 승 상용 관용 암호 방식 2009년 3월 30일 (5주차) 유 승
DES를 이용한 GPS 위치 정보 암호화 송신 2조 김민수 문형진 안인석 조우람.
8086 프로세서의 구조 및 동작 방식 시스템 프로그래밍 - Lecture #2 신라대학교 컴퓨터공학과 시스템 프로그래밍.
Chap 4. 대칭 키 알고리즘 CS&AI Labs 7월 20일 신승목
제3장 8086 프로세서의 내부구조.
제 11장 교락법과 일부실시법.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
순천향대학교 정보보호연구회 민성의 AES 순천향대학교 정보보호연구회 민성의
쉽게 풀어쓴 C언어 Express 제1장 프로그래밍의 개념 C Express.
올바른 이메일 사용법
[ 포털 사이트 연관검색어/자동완성 등록 서비스 ]
Sequence Logic.
과학 탐구 토론 대회 1학년 2반 박승원 1학년 5반 권민성.
물류단지 총량제 폐지 이후 물류시설 공급정책 방향 국 토 교 통 부.
신 윤 호 ㈜엘림에듀 초등사업본부장, 중앙대학교 체육학박사
AES(Advanced Encryption Standard)
Chaper 02 코드설계.
■ 화성공장 산학인턴 버스 노선 확인 안내 문의 전화 : 안내페이지 접속 1
고객님! 장수시대 필수 상품 준비하셨나요? 간 병 보 험 무배당 무배당 상품특징!! ~3등급 2 구분
C언어 응용 제 15 주 검색.
지적재조사 홍보컨텐츠 개발현황 브랜드 네임 심볼마크 슬로건.
쉽게 풀어쓴 C언어 Express 제1장 프로그래밍의 개념 C Express.
장애인단체 간담회 마스터 제목 스타일 편집 마스터 제목 스타일 편집 장애인 단체 간담회 마스터 부제목 스타일 편집
GMCC(글로벌 진출 퍼블리싱 지원사업) 3차 참가 신청서
2017학년도 학력인정 문해교육 운영 기관 현황 행정구별 기관수 현황 초등학력 프로그램 운영기관 중학학력 프로그램 운영기관
계수 조정형 샘플링 검사 [ 계수 조정형 샘플링 검사 설계의 순서 ] 1. 검사로트 구성 2. AQL 지정
I. 티볼리 UNDER COVER 구형 공급 불가에 따른 적용 방안
선천이상 (congenital anomalies)
토지보상과 세금 2007년 7월 김 형 록.
교육기부 진로체험기관 인증제와 지역 센터 운영 방안 한국직업능력개발원 김승보.
제안 제도 운영방안.
제9주 예산 수립과 집행.
수학 8나 대한 64쪽 II.도형의 성질 2. 사각형의 성질 §1. 평행사변형 (17/24) 평행사변형이 되는 조건.
Chapter 08. 암호에 대한 이해 : 숨기고자 하는 이들의 싸움
양초 한 자루의 과학 과학영재교육 전공 김 연 주 류 은 희 이 상 희.
정보보호 개론 Chapter 04 암호화 기술.
보험대리점 전국 순회교육 보험모집질서 위반∙제재 사례와 보험대리점 상시감시체계 구축계획 등
Instruction to Computer
사전연명의료의향서 등록기관 지정 신청 안내 (재) 국가생명윤리정책원 연명의료관리센터 ( )
Presentation transcript:

대칭알고리즘 AES ▪ 발표자 : 최명현

DES challenge DES Challenge 일자 해독시간 수상자 비고 I 1997년1월 96일 R.Verser -DESHALL 팀구성 -인터넷의 위력 입증 -약 24.6%의 키 공간 조사 II 1998년1월 41일 Distributed.Net -약 22,000명 참여 -약 50,000 CPU 링크 II-2 1998년7월 56시간 EFF -DES Cracker 라는 칩사용($250,000) -초당 880억개의 키를 조사하는 속도 III 1999년1월 22시간 15분 & Distrubuted.Net -Deep Crack 사용 -약 10만대의 PC 이용 -초당 2,450억개의 키 조사속도

AES (Advanced Encryption Standard) 1997 Aes 알고리즘 공모 • 대칭키 블록 암호 알고리즘 • 입출력 크기 : 128비트 • 키 크기 : 128/192/256비트 1998 15개 후보 알고리즘 선정 1999 다섯개 알고리즘 최종후보 • MARS ,RC6 ,Rijndael ,Serpent , Twofish 2001 Rijndael 채택 • 개발자: J.Daemen, v.Rijmen

AES Pseudo AES(in,out,key) { KeyExpansion(Key,RoundKey) state = in AddRoundKey (state,RoundKey[0]) for round=1 step 1 to Nr-1 SubBytes(stats) ShiftRows(stats) MixColumns(stats) AddRoundKey(stats,RoundKey[i] end for AddRoundKey(stats,RoundKeyp[Nr]) out = stats }

Smplified Rijndael Scheme 암호화 복호화

Rijndeal Structure • 블록사이즈 : 128 비트 , 키 사이즈 : 128/192/256 비트 • 구조 : 10 / 12 / 14 라운드의 SPN 구조 - Byte 단위의 연산을 이용 - 세개의 layer로 구성 14 Nk=8 12 Nk=6 10 Nk=4 Nb=8 Nb=6 Nb=4 Nr Nr : rounds Nb : block size / 32bit Nk : key size / 32bit ► Linear mixing layer 여러 라운드에 걸친 높은 확산 ShiftRow(state) , MixColumn(state) ► Non-linear Layer S-box의 병렬 적용 ByteSub(state) ► Key Addition Layer 중간 state에 라운드 키의 EXOR AddRoundKey(state)

Nb =4 일때의 block state 와 Nk = 4 일때의 key state Rijndael 연산들은 상태(state)라고 하는 2차원 바이트배열에 수행된다 State는 2차원 배열로 구성된다.행은 4행으로 구성되고 , 각 행은 Nb 바이트로 구성된다 . A0,0 A0,1 A0,2 A0,3 A1,1 A1,2 A1,3 A2,0 A2,1 A2,2 A2,3 A3,0 A3,1 A3,2 A3,3 K0,0 K0,1 K0,2 K0,3 K1,1 K1,2 K1,3 K2,0 K2,1 K2,2 K2,3 K3,0 K3,1 K3,2 K3,3 Nb =4 일때의 block state 와 Nk = 4 일때의 key state ex) 128비트 입력 : EA 83 5C F0 04 45 33 2D 65 5D 98 AD 85 96 B0 C5 EA 04 65 85 83 45 5D 96 5C 33 98 B0 F0 2D AD C5

GF(28)에서 곱셈에 대한 역원 ◈곱셈에 대한 역원 찾기 만약 GCD(d,f)=1이라면 그때 d는 modulo f 상에서 곱셈에 대한 역원을 갖는다. 양의 정수 d<f에 대해, dd-1=1 mod f인 d-1<f가 존재 • Extended Euclid(d,f) 1. (X1, X2, X3)<-(1,0,f);(Y1, Y2, Y3)<-(0,1,d) 2. If X3= 0 return X3=GCD(d,f); no inverse 3. If X3 = 1 return Y3=GCD(d,f); Y2=d-1 mod f 4. Q = X3 / Y3 5. (T1, T2, T3) <- (X1-QY1, X2-QY2, X3-QY3) 6. (X1, X2, X3) <- (Y1, Y2, Y3) 7. (Y1, Y2, Y3) <- (T1, T2, T3) 8. Goto 2

GF(28)에서 곱셈에 대한 역원 ex) GF(28) 에서 95의 곱셈에 대한 역구하기 GCD(95,m(x))=1 m(x)=x8 +x4 +x3+x+1 b(x)=x7 +x4 +x2+1 A1(x)=1 , A2(x)=0 , A3(x) = x8 +x4 +x3+x+1 B1(x)=0 , B2(x)=1 , B3(x) = x7 +x4 +x2+1 1.Q(x)=(x8 +x4 +x3+x+1) /(x7 +x4 +x2+1) = x [T1,T2,T3]<-[1-x·0 ,0-x·1 , (x8 +x4 +x3+x+1) –x·(x7 +x4 +x2+1)] A1(x)=0 A2(x)=1 A3(x)=x7 +x4 +x2+1 B1(x)=1 B2(x)=x B3(x)=x5 +x4+1 2.Q(x)= (x7 +x4 +x2+1) / (x5 +x4+1) = x2 +x+1 [T1,T2,T3]<-[0-(x2 +x+1)·1 ,1-(x2 +x+1)·x , (x7 +x4 +x2+1) –(x2 +x+1)·(x5 +x4 +1)] A1(x)=1 A2(x)=x A3(x)=x5 +x4 +1 B1(x)=x2 +x+1 B2(x)=x3+x2 +x+1 B3(x)=x 3.Q(x)=(x5+x4 +1) / x = x4 +x3 [T1,T2,T3]<-[1-(x4 +x3)·(x2 +x+1) ,x-(x4 +x3)·(x3+x2 +x+1) , (x5 +x4 +1) –(x4 +x3)·x] <-[x6 +x3 , x7+x3 +x ,1] A1(x)=x2 +x+1 A2(x)=x3+x2 +x+1 A3(x)=x B1(x)=x6 +x3 B2(x)=x7+x3 +x B3(x)=1 B3(x)=1 이므로 B2(x)=B(x)-1 mod m(x) B2(x)=x7+x3 +x = 8A ∴ 95-1 = 8A

Substitute Bytes Transformation ◈ state 의 각 바이트를 치환 • 각 바이트를 16x16 s-box를 이용하여 치환 • 8비트를 상위 4비트가 행, 하위 4비트가 열로 사용.

Substitute Bytes Transformation • S-box()는 기약다항식 m(x) = x8 +x4 +x3+x+1을 사용하여 구성한다. • 구성방법 • 먼저 s-box()에 00,01,...,FF 순으로 초기화 한다. • 이 값들을 GF(28)에서 곱셈에 대한 역원으로 매핑한다. 00 -> 00 • 한 항의 값이 b7b6b5b4b3b2b1b0 이면 다음 식에 의해 변형된다. bi ’ =bi ⊕ b(i+4)mod 8 ⊕ b(i+6)mod 8 ⊕ b(i+7)mod 8 ⊕ ci i 를 0 ~ 7까지 대입하여 정리하면 아래식이 나온다 . 그리고 뒤에 63은 임의로 주어진 1 바이트 수 이다 . 95 = 95-1 = 8A

S-box

Inverse Substitute Bytes Transformation • Inverse s-box 는 s-box()의 bi ’ =bi ⊕ b(i+4)mod 8 ⊕ b(i+6)mod 8 ⊕ b(i+7)mod 8 ⊕ ci 의 역을 적용한 다음 GF(28)에서 곱셈에 대한 역원으로 구성한다. 역변환은 bi ’ = b(i+2)mod 8 ⊕ b(i+5)mod 8 ⊕ b(i+7)mod 8 ⊕ di 이며 바이트 d는 63의 곱셈에 대한 역원인 05 이다. b´0 b´1 b´2 b´3 b´4 b´5 b´6 b´7 b0 b1 b2 b3 b4 b5 b6 b7 0 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 = + 1

Inverse S-box

Shift row Transformation • 각행을 행의 index 만큼 왼쪽으로 circular shift 함 .

Mix Column • Mix column에서는 state의 column이 GF()에서의 다항식 a(x)가 고정된 다항식 c(x)에 대해 a(x) ⊕ c(x) mod (x4+1) 연산을 행한다. • c(x) = ’03’ x3 + ’01’ x2 + ’01’ x + ’02’ • d(x) = ’0B’x3 + ’0D’x2 + ’09’x + ’0E’ • m(x) = x4+1 최고차항이 4차 보다 작은 두 다항식 a(x) b(x)가 있다고 가정하면 a(x)= a3x3 +a2x2 +a1x+a0 , b(x)= b3x3 +b2x2 +b1x+b0 이다 c(x)= a(x)b(x) 하면 c(x)= c6x6 +c5x5 +c4x4 +c3x3 +c2x2 +c1x1+c0 c0 = a0•b0 c1 = a1•b0  a0 •b1 c2 = a2•b0  a1•b1  a0•b2 c3 = a3•b0  a2•b1  a1•b2  a0•b3 c4 = a3•b1  a2•b2  a1•b3 c5 = a3•b2  a2•b3 c6 = a3•b3

Mix Column b0 b1 b2 b3 d0 d1 d2 d3 = a0 a3 a2 a1 a1 a0 a3 a2 c(x)의 최고차항이 4보다 크기때문에 mod m(x) 연산을 해주면 그값은 아래와 같다. c(x)mod m(x)= d(x) = d3x3 +d2x2 +d1x+d0 = c3x3 +c2x2+c6x2 +c1x+c5x+c4 +c0 d0 = a0•b0  a3•b1  a2•b2  a1•b3 d1 = a1•b0  a0•b1  a3•b2  a2• b3 d2 = a2•b0  a1•b1  a0•b2  a3• b3 d3 = a3•b0  a2•b1  a1•b2  a0• b3 위 식을 간단히 하면 아래와 같이 된다. b0 b1 b2 b3 d0 d1 d2 d3 = a0 a3 a2 a1 a1 a0 a3 a2 a2 a1 a0 a3 a3 a2 a1 a0 02 03 01 01 01 02 03 01 01 01 02 03 03 01 01 02 d0 d1 d2 d3 = b0 b1 b2 b3

Mix Column 02 03 01 01 01 02 03 01 01 01 02 03 03 01 01 02 87 6E 46 A6 47 37 94 ED =

The round key addition • 라운드 키는 키 스케줄에 의해 생성된 키들과 state의 EXOR 이다.

Key expansion Pseudo code

Key expansion •128 비트 키를 4Nr+4 개의 32비트 워드로 확장