1 |
1
AES(Advanced Encryption Standard) 알고리즘에 따라 입력 데이터를 암호화하는 장치에 있어서,룩-업 테이블을 이용하여 암호화를 위해 입력되는 평문의 대치 연산을 수행하거나, 키 생성을 위한 대치 연산을 수행하는 통합 블록;상기 통합 블록에 의해 대치 연산이 수행된 데이터의 행렬에서 행을 이동시키는 쉬프트로우(ShiftRows) 블록;상기 쉬프트로우 블록부에 의해 처리된 데이터를 추가 선형 변화시키는 믹스컬럼(MixColums) 블록;상기 암호화를 위한 라운드 처리 단계에 따라 상기 쉬프트로우 블록, 상기 믹스컬럼 블록 또는 데이터 입력부로부터 전달되는 데이터를 선별 수신하는 제1 먹스(Mux);키 입력부를 통해 입력되는 초기 라운드키 또는 상기 통합 블록에 의해 대치 연산 처리된 라운드키를 선별 수신하며, 상기 저장된 라운드키를 쉬프트(Shift)시켜 상기 통합 블록으로 전달하는 키 관리부;상기 암호화를 위해 전달되는 데이터 또는 상기 키 관리부로부터 전달되는 라운드키를 선별 수신하여 상기 통합 블록으로 전달하는 제2 먹스; 및상기 제1 먹스를 통해 선별된 데이터를 수신하고, 상기 키 관리부를 통해 선별된 라운드키를 수신하여, 상기 암호화를 위한 키 작업을 수행하는 라운드키 처리(AddRoundKey) 블록을 포함하는 AES 알고리즘 암호화 장치
|
2 |
2
제1항에 있어서, 상기 통합 블록은,상기 제2 먹스로부터 상기 암호화를 위한 데이터를 수신하면, 상기 데이터의 대치 연산을 수행하여 상기 쉬프트로우 블록으로 전달하는 서브바이트(SubBytes) 블록 기능을 수행하고,상기 제2 먹스로부터 상기 키 생성을 위한 라운드키를 수신하면, 상기 라운드키의 대치 연산을 수행하여 상기 키 관리부로 전달하는 서브워드(SubWord) 블록 기능을 수행하는 것을 특징으로 하는 AES 알고리즘 암호화 장치
|
3 |
3
제1항에 있어서, 상기 키 관리부는,상기초기 라운드키 또는 상기 통합 블록에 의해 대치 연산 처리된 라운드키를 선별 수신하는 제3 먹스;상기 제3 먹스에서 송출된 라운드키를 수신하여 저장하는 키 버퍼(Key Buffer);상기 키 버퍼에 저장된 라운드키를 쉬프트(Shift)시켜 상기 제3 먹스로 전달하는 순환워드(RotWord) 블록;상기 통합 블록으로부터 대치 연산된 라운드키에 XOR 연산되는 라운드 상수를 생성하는 Rcon 블록; 및상기 키 버퍼로부터 전달되는 라운드키 및 상기 통합 블록으로부터 전달되는 라운드키를 XOR 연산시키는 다수의 XOR 논리회로를 포함하는 것을 특징으로 하는 AES 알고리즘 암호화 장치
|
4 |
4
제1항에 있어서, 상기 제1 먹스는,초기 라운드 처리 단계에서는 상기 데이터 입력부로부터 전달되는 초기 데이터를 수신하고, 반복 라운드 처리 단계에서는 상기 믹스컬럼 블록으로부터 전달되는 데이터를 수신하고, 마지막 라운드 처리 단계에서는 상기 쉬프트로우블록으로부터 전달되는 데이터를 수신하는 것을 특징으로 하는 AES 알고리즘 암호화 장치
|
5 |
5
제1항에 있어서, 상기 라운드키 처리 블록으로부터 상기 암호화를 위한 키 작업이 수행된 데이터를 저장하여, 상기 암호화를 위한 라운드 처리 단계 진행시 상기 제2 먹스로 입력되는 데이터로 제공하는 데이터 버퍼를 추가로 포함하는 것을 특징으로 하는 AES 알고리즘 암호화 장치
|
6 |
6
AES(Advanced Encryption Standard) 알고리즘에 따른 입력 데이터의 암호화 방법에 있어서,(a) 상기 암호화를 위해 입력되는 평문 형식의 초기 데이터를 초기 라운드키를 이용하여 키 처리하는 단계;(b) 룩-업 테이블을 이용하여 상기 초기 라운드 키를 대치 연산시켜, 반복 라운드 처리를 위한 반복 라운드키를 생성하는 단계;(c) 상기 키 처리된 초기 데이터를 상기 반복 라운드키를 이용하여 키 처리하는 단계;(d) 상기 룩-업 테이블을 이용하여 상기 반복 라운드키를 대치 연산시켜, 마지막 라운드 처리를 위한 마지막 라운드키를 생성하는 단계; 및(e) 상기 반복 라운드키에 의하여 키 처리된 데이터를 상기 마지막 라운드키를 이용하여 키 처리함으로써 생성되는 암호문을 출력하는 단계를 포함하는 AES 알고리즘의 암호화 방법
|
7 |
7
제6항에 있어서, 상기 단계 (a)는,(a1) 제1 먹스를 통하여 상기 초기 라운드 키를 수신하는 단계; 및(a2) 제2 먹스를 통하여 상기 평문 형식의 초기 데이터를 수신하고 상기 초기 라운드 키를 이용하여 키 처리하는 단계를 포함하는 것을 특징으로 하는 AES 알고리즘의 암호화 방법
|
8 |
8
제6항에 있어서, 상승 레벨과 하강 레벨이 엇갈리게 구성되어 있는 제1 클럭 및 제2 클럭에 따라 상기 단계 (a) 내지 상기 단계 (e)에 따른 암호화가 진행되는 것을 특징으로 하는 AES 알고리즘의 암호화 방법
|
9 |
9
제7항 또는 제8항에 있어서,상기 제1 클럭의 상승 레벨 부분에 상기 단계 (a1)이 실행되고, 상기 제2 클럭의 상승 레벨 부분에 상기 단계 (a2)가 실행됨으로써, 한 클럭 동안 상기 단계 (a)에 따른 초기 라운드 처리가 실행되는 것을 특징으로 하는 AES 알고리즘의 암호화 방법
|
10 |
10
제8항에 있어서, 상기 단계 (b) 및 상기 단계 (c)는,상기 제1 클럭의 상승 레벨 부분에 상기 단계 (b)가 실행되고, 상기 제2 클럭의 상승 레벨 부분에 상기 단계 (c)가 실행됨으로써, 한 클럭 동안 상기 단계 (b) 및 상기 단계 (c)에 따른 반복 라운드 처리가 실행되는 것을 특징으로 하는 AES 알고리즘의 암호화 방법
|
11 |
11
제8항에 있어서, 상기 단계 (d) 및 상기 단계 (e)는,상기 제1 클럭의 상승 레벨 부분에 상기 단계 (d)가 실행되고, 상기 제2 클럭의 상승 레벨 부분에 상기 단계 (e)가 실행됨으로써, 한 클럭 동안 상기 단계 (d) 및 상기 단계 (e)에 따른 마지막 라운드 처리가 실행되는 것을 특징으로 하는 AES 알고리즘의 암호화 방법
|
12 |
12
제6항에 있어서, 상기 단계 (b)는,(b1) 상기 초기 라운드키를 이동시키는 쉬프트 작업을 수행하는 단계;(b2) 상기 룩-업 테이블을 이용하여 상기 쉬프트된 초기 라운드키를 대치 연산하는 단계; 및(b3) 상기 대치 연산된 초기 라운드키와 Rcon 블록에 의해 생성된 라운드 상수를 XOR 연산하여 상기 반복 라운드키를 생성하는 단계를 포함하는 것을 특징으로 하는 AES 알고리즘의 암호화 방법
|
13 |
13
제6항에 있어서, 상기 단계 (c)는,(c1) 상기 룩-업 테이블을 이용하여 상기 키 처리된 초기 데이터를 대치 연산하는 단계;(c2) 상기 대치 연산된 초기 데이터의 행렬에서 행을 이동시키는 쉬프트 작업을 수행하는 단계;(c3) 상기 쉬프트 작업이 수행된 데이터를 선형 변환하는 단계; 및(c4) 상기 선형 변환된 데이터를 상기 반복 라운드키를 이용하여 키 처리하는 단계를 포함하는 것을 특징으로 하는 AES 알고리즘의 암호화 방법
|
14 |
14
제6항에 있어서, 상기 단계 (d)는(d1) 상기 반복 라운드키를 이동시키는 쉬프트 작업을 수행하는 단계;(d2) 상기 룩-업 테이블을 이용하여 상기 쉬프트된 반복 라운드키를 대치 연산하는 단계; 및(d3) 상기 대치 연산된 반복 라운드키와 Rcon 블록에 의해 생성된 라운드 상수를 XOR 연산하여 상기 마지막 라운드키를 생성하는 단계를 포함하는 것을 특징으로 하는 AES 알고리즘의 암호화 방법
|
15 |
15
제6항에 있어서, 상기 단계 (e)는,(e1) 상기 룩-업 테이블을 이용하여 상기 반복 라운드키에 의하여 키 처리된 데이터를 대치 연산하는 단계;(e2) 상기 대치 연산된 데이터의 행렬에서 행을 이동시키는 쉬프트 작업을 수행하는 단계; 및(e3) 상기 쉬프트 작업이 수행된 데이터를 상기 마지막 라운드키를 이용하여 키 처리하여 생성되는 상기 암호문 출력하는 단계를 포함하는 것을 특징으로 하는 AES 알고리즘의 암호화 방법
|