KR101150289B1 - 복합 암호 시스템과 이를 이용한 복합 암호 알고리즘 구성 방법 - Google Patents

복합 암호 시스템과 이를 이용한 복합 암호 알고리즘 구성 방법 Download PDF

Info

Publication number
KR101150289B1
KR101150289B1 KR1020100060048A KR20100060048A KR101150289B1 KR 101150289 B1 KR101150289 B1 KR 101150289B1 KR 1020100060048 A KR1020100060048 A KR 1020100060048A KR 20100060048 A KR20100060048 A KR 20100060048A KR 101150289 B1 KR101150289 B1 KR 101150289B1
Authority
KR
South Korea
Prior art keywords
cryptographic
algorithm
encryption
algorithms
block
Prior art date
Application number
KR1020100060048A
Other languages
English (en)
Other versions
KR20110139925A (ko
Inventor
유영갑
조태원
조경록
이상진
김연호
Original Assignee
충북대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 충북대학교 산학협력단 filed Critical 충북대학교 산학협력단
Priority to KR1020100060048A priority Critical patent/KR101150289B1/ko
Publication of KR20110139925A publication Critical patent/KR20110139925A/ko
Application granted granted Critical
Publication of KR101150289B1 publication Critical patent/KR101150289B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

복합 암호 시스템은 각각의 다른 암호 알고리즘을 포함한 복수개의 암호칩과, 각 암호칩에서의 각각의 암호 알고리즘에서 암호화 중 각 라운드의 결과값과 복호화 중 각 라운드의 결과값이 일치하는 일치 기능 블록을 각각의 암호 알고리즘마다 찾고, 혼합하고자 하는 암호 알고리즘들을 선택하여 선택된 암호 알고리즘들의 각 일치 기능 블록을 이용하여 암호 알고리즘 간의 데이터 패스를 연결하며, 연결된 데이터 패스를 기초로 복수개의 암호 알고리즘을 혼합하여 암, 복호화 과정을 수행하는 제어부를 포함한다.

Description

복합 암호 시스템과 이를 이용한 복합 암호 알고리즘 구성 방법{Hybrid Cryptographic System and Method for Constructing Hybrid Cryptographic Algorithms Using the Same}
본 발명은 복합 암호 시스템으로서, 특히 복수의 에스피엔(Substitution Permutation Network, SPN) 구조의 암호 알고리즘을 혼합한 복합 암호 시스템과 이를 이용한 복합 암호 알고리즘 구성 방법에 관한 것이다.
최근 컴퓨터 네트워크의 급속한 발전으로 각종 정보의 공유가 네트워크를 통하여 유통되고 있다.
네트워크가 발전함에 따라 보안에 대한 필요성이 증대되어 왔고 네트워크의 보안을 증가시키기 위해 많은 보안 알고리즘들을 사용하게 되었다.
네트워크 프로세서(Network Processor)를 반도체 칩으로 만드는 과정은 하나의 칩 속에 여러 가지의 암호화 알고리즘을 하드웨어적으로 탑재시키는 것이 보편적인 경향이 되고 있다.
반도체 칩의 암호화 알고리즘 모듈은 하나 이상의 암호화 알고리즘이 탑재되며 용도에 따라 각 모듈에 대한 사용 빈도가 달라진다. 하나의 칩은 복수의 보안 알고리즘을 탑재하고 있다.
컴퓨터 기술의 발달과 공격 방법의 다양화는 하나의 보안 알고리즘만으로 암호 안전성이 불충분하며 해킹으로 인한 개인 정보 유출의 위험이 있었다.
이와 같은 문제점을 해결하기 위하여, 본 발명은 복수의 SPN 구조의 암호 알고리즘을 라운드 연산 단위로 혼합하여 복합 암호 알고리즘을 구현하는 복합 암호 시스템과 이를 이용한 복합 암호 알고리즘 구성 방법을 제공하는데 그 목적이 있다.
이러한 기술적 과제를 달성하기 위한 본 발명의 특징에 따른 복합 암호 알고리즘은 각각의 다른 암호 알고리즘을 포함한 복수개의 암호칩과 상기 각 암호칩을 제어하는 제어부를 구비하는 복합 암호 시스템에서 동작하는 복합 암호 알고리즘 구성 방법에 있어서,
각각의 다른 암호 알고리즘을 포함한 복수개의 암호칩과 상기 각 암호칩을 제어하는 제어부를 구비하는 복합 암호 시스템에서 동작하는 복합 암호 알고리즘 구성 방법에 있어서, 상기 제어부는 상기 각 암호칩에 탑재된 각각의 암호 알고리즘에서 암호화 중 각 라운드의 결과값과 복호화 중 각 라운드의 결과값이 일치하는 복수개의 일치 기능 블록을 상기 각각의 암호 알고리즘마다 찾는 단계 및 상기 제어부는 상기 각각의 암호 알고리즘 중 혼합하고자 하는 암호 알고리즘들을 선택하고 상기 선택된 암호 알고리즘들의 각각의 라운드 블록 중 일치 기능 블록을 이용하여 암호 알고리즘 간의 데이터 패스를 재구성하며 상기 연결된 데이터 패스를 기초로 암, 복호화 과정을 수행하는 단계를 포함한다.
본 발명의 특징에 따른 복합 암호 시스템은 각각의 다른 암호 알고리즘을 포함한 복수개의 암호칩; 및 상기 각 암호칩에서의 각각의 암호 알고리즘에서 암호화 중 각 라운드의 결과값과 복호화 중 각 라운드의 결과값이 일치하는 일치 기능 블록을 상기 각각의 암호 알고리즘마다 찾고, 혼합하고자 하는 암호 알고리즘들을 선택하여 상기 선택된 암호 알고리즘들의 각 일치 기능 블록을 이용하여 암호 알고리즘 간의 데이터 패스를 연결하며, 상기 연결된 데이터 패스를 기초로 복수개의 암호 알고리즘을 혼합하여 암, 복호화 과정을 수행하는 제어부를 포함한다.
삭제
전술한 구성에 의하여, 본 발명은 두 개 이상의 다른 암호 알고리즘을 혼합하여 보다 높은 안정성을 갖는 암호 알고리즘을 구현하는 효과가 있다.
본 발명은 복합 암호 알고리즘을 같은 암호칩에서 파이프라인 구조의 라운드를 사용하여 회로 크기의 증가를 최소화하고 차분 공격과 같은 암호 공격에 강한 시스템을 구현하는 효과가 있다.
본 발명은 복수의 SPN 구조의 암호 알고리즘을 단일 반도체 칩에 탑재하여 추가 비용의 증가 없이 라운드 혼합만으로 높은 암호 안전성을 가지는 효과가 있다.
도 1은 에스피엔(Substitution Permutation Network, SPN) 구조를 나타낸 도면이다.
도 2는 AES의 암호화와 복호화 과정을 나타낸 도면이다.
도 3은 ARIA의 암호화와 복호화 과정을 나타낸 도면이다.
도 4는 ARIA의 치환 계층과 확산 계층을 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 복합 암호 시스템의 내부 구성을 간략하게 나타낸 블록도이다.
도 6은 본 발명의 실시예에 따른 ARIA 암호 알고리즘의 암호화, 복호화 과정에서의 일치 기능 블록을 찾는 과정을 나타낸 도면이다.
도 7은 본 발명의 실시예에 따른 AES 암호 알고리즘의 암호화, 복호화 과정에서의 일치 기능 블록을 찾는 과정을 나타낸 도면이다.
도 8은 본 발명의 실시예에 따른 복합 암호 시스템을 이용한 AES-ARIA의 암호화 블록도이다.
도 9는 본 발명의 실시예에 따른 복합 암호 시스템을 이용한 AES-ARIA의 복호화 블록도이다.
도 10은 본 발명의 실시예에 따른 SPN 구조를 갖는 복합 암호 알고리즘의 암호화 구조의 하나의 라운드 구조를 나타낸 도면이다.
도 11은 본 발명의 실시예에 따른 SPN 구조를 갖는 복합 암호 알고리즘의 복호화 구조의 하나의 라운드 구조를 나타낸 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명은 기존의 블록 암호 알고리즘인 AES(Advanced Encrypytion Standard)와 ARIA(Acamemy Research Institute Agency)를 이용한 복합 암호 시스템에 관한 것이다.
도 1은 에스피엔(Substitution Permutation Network, SPN) 구조를 나타낸 도면이다.
AES는 SPN 구조로 되어 있고, ARIA는 Involution-SPN 구조를 가지고 있다.
AES와 ARIA의 혼합된 복합 암호 알고리즘은 두 암호 알고리즘의 혼합을 위해 라운드 블록 내부의 연결에 특징이 있다.
복합 암호 알고리즘은 128비트의 키 길이를 갖는 AES 10라운드 암호 알고리즘과 128비트의 키 길이를 갖는 ARIA 12라운드 암호 알고리즘의 각 라운드의 내부 블록들 간의 데이터 흐름을 재배열하여 구성한다.
암호 알고리즘은 안정성을 보장하기 위한 혼돈(Confusion)과 확산(Diffusion) 이론이 있다.
혼돈은 평문과 암호문 사이의 관계를 알기 어려워야 한다는 것을 의미하고 확산은 평문을 구성하는 각각의 비트들의 정보가 여러 개의 암호문 비트에 영향을 미쳐야 한다는 의미를 나타낸다.
AES는 SubBytes 연산이 혼돈을, ShiftRows와 MixColumns 연산이 확산을 위해 존재한다.
ARIA는 Substitution Layer가 혼돈을 Diffusion Layer가 확산을 위해 존재한다.
SPN 구조는 치환(Substitution)과 전치(Permutation)를 이용하여 혼동과 확산을 만족시켜주는 구조이다.
도 2는 AES의 암호화와 복호화 과정을 나타낸 도면이다.
AES의 입출력 데이터 크기는 128- 비트이고, 키 크기는 128-,192-,256- 비트이다. 라운드 수는 키 크기에 따라 달라지는데 각각 10, 12, 14 라운드이다.
라운드 키 크기는 128-비트이다. AES 암호 알고리즘은 암호화 초기 라운드, 암호화 반복 라운드 및 암호화 마지막 라운드로 구성된다.
암호화 초기 라운드는 암호화를 위한 입력 데이터와 라운드 키의 Exclusive-OR 연산을 위한 AddRoundKey 블록으로 구성된다.
암호화 반복 라운드는 각 바이트 상에서 대치 연산을 수행하기 위한 SubBytes 블록, AES의 각 데이터 구성 요소의 행렬에서 행을 이동시키는 ShiftRows 블록, ShiftRows 블록에 의해 이동된 행렬의 추가 선행 변환을 수행하는 MixColumns 블록 및 AddRoundKey 블록을 포함한다.
암호화 마지막 라운드는 SubBytes 블록, ShiftRows 블록 및 AddRoundKey 블록을 포함한다.
AES 암호 알고리즘은 암호화 작업이 수행될 평문이 입력되면, 암호화 초기 라운드, 암호화 반복 라운드 및 암호화 마지막 라운드의 암호 알고리즘을 통과하여 암호문으로 출력된다.
AES는 SubBytes 블록, ShiftRows, MixColumns 및 AddRoundKey로 구성되어 있다. SubBytes와 ShiftRow/MixColumn은 각각 치환(Substitution)과 전치(Permutation)의 특성을 가지는 SPN 구조로 되어 있다.
AES의 암, 복호화 구조는 암호화에서 SubBytes, ShiftRows, MixColumns 및 AddRoundKey 순으로 적용되고 복호화에서 Inverse ShiftRow, Inverse SubBytes, Inverse AddRoundKey 및 Inverse MixColumns 순으로 적용된다. 즉, AES의 암, 복호화 구조는 기능 블록의 순서가 다르다.
도 3은 ARIA의 암호화와 복호화 과정을 나타낸 도면이다.
ARIA의 입출력 데이터 크기는 128- 비트이고, 키 크기는 128-,192-,256- 비트이다. 라운드 수는 키 크기에 따라 달라지는데 각각 12, 14, 16 라운드이다.
라운드 키 크기는 128-비트이다. ARIA 암호 알고리즘은 라운드 키 덧셈(AddRoundKey), 치환 계층(Substitution Layer), 확산 계층(Diffusion Layer)으로 구성된다.
AddRoundKey는 128-비트 라운드 키를 라운드 입력 128-비트와 비트별 Exclusive-OR 연산을 한다.
Substitution Layer는 두 유형의 치환 계층이 있으며 각각 2종의 8비트 입, 출력 S-box와 그들의 역변환으로 구성된다.
Diffusion Layer는 16×16 Involution 이진 행렬을 사용한 바이트 간의 확산 함수로 구성되어 있다.
도 4는 ARIA의 치환 계층과 확산 계층을 나타낸 도면이다.
ARIA 암호 알고리즘은 라운드 키 덧셈(AddRoundKey), 치환 계층(Substitution Layer), 확산 계층(Diffusion Layer)으로 구성된다.
치환 계층과 확산 계층은 각각 치환(Substitution)과 전치(Permutation)의 특성을 가지는 SPN 구조로 되어 있다.
ARIA의 암, 복호화 구조는 동일한 형태를 가진다.
ARIA의 치환 계층과 확산 계층는 Involution 구조로 되어 있다.
도 4를 참조하면, ARIA의 치환 계층과 확산 계층의 구조를 나타내었다.
ARIA의 치환 계층1과 치환 계층2는 서로 역의 형태를 취하고 있으며 짝수 라운드와 홀수 라운드에 서로 다른 치환 계층이 사용된다.
ARIA의 확산 계층은 Involution 이진 행렬을 사용하여 16바이트의 입력에 대하여 바이트 단위의 행렬 곱을 수행하여 16바이트를 출력한다.
다음, 도 5를 참조하여 복합 암호 시스템의 내부 구성을 상세하게 설명한다.
도 5는 본 발명의 실시예에 따른 복합 암호 시스템의 내부 구성을 간략하게 나타낸 블록도이다.
본 발명의 실시예에 따른 복합 암호 시스템(100)은 복수개의 암호칩(110) 및 제어부(120)를 포함한다.
복수개의 암호 알고리즘(110)은 각각의 서로 다른 암호 알고리즘을 포함한다.
본 발명의 복수개의 암호 알고리즘(110)은 설명의 편의를 위해 AES 암호 알고리즘을 탑재한 제1 암호 알고리즘(112)과 ARIA 암호 알고리즘을 탑재한 제2 암호 알고리즘(114)을 예시하고 있지만, 이에 한정하지 않는다.
제어부(120)는 혼합하고자 하는 암호 알고리즘들을 선택하고 선택된 암호 알고리즘들의 각 라운드 블록 중 일치 기능 블록을 이용하여 암호 알고리즘 간의 데이터 패스를 재구성하며 상기 연결된 데이터 패스를 이용하여 암, 복호화 과정을 수행한다.
삭제
제어부(120)는 용도에 따라 AES 암호 알고리즘과 ARIA 암호 알고리즘을 각각의 암, 복호화 과정을 수행하거나 AES 암호 알고리즘과 ARIA 암호 알고리즘을 라운드 연산 단위로 혼합하여 암, 복호화 과정을 수행한다.
제어부(120)는 암호 알고리즘 간 라운드를 하나 이상 교대로 데이터 패스를 연결하여 암, 복호화 과정을 수행할 수 있다.
도 6은 본 발명의 실시예에 따른 ARIA 암호 알고리즘의 암호화, 복호화 과정에서 라운드 블록의 데이터 패스를 재구성하는 과정을 나타낸 도면이고, 도 7은 본 발명의 실시예에 따른 AES 암호 알고리즘의 암호화, 복호화 과정에서 라운드 블록의 데이터 패스를 재구성하는 과정을 나타낸 도면이다.
ARIA의 암, 복호화 구조는 동일한 형태를 가지며, Involution SPN 구조이기 때문에 암호화의 각 라운드의 결과값의 역순이 복호화의 각 라운드의 결과값과 일치하지 않는다.
AES의 암, 복호화 구조는 다른 형태를 가지며, 암호화의 각 라운드의 결과값의 역순이 복호화의 각 라운드의 결과값과 일치한다. 그러나 AES의 암, 복호화 구조는 암호와와 복호화의 적용되는 기능 블록의 순서가 다르기 때문에 이를 같게 해주기 위한 Equivalent 모드를 제공한다.
Equivalent 모드를 사용하면, AES 암호 알고리즘은 복호화에서도 암호화와 같은 순서로 Inverse 기능을 적용할 수 있고, 암호화의 각 라운드의 결과값의 역순이 복호화의 각 라운드의 결과값과 일치하지 않는다.
다시 말해, ARIA와 AES의 Equivalent 모드인 경우, 암호화의 각 라운드의 결과값의 역순이 복호화의 각 라운드의 결과값과 일치하지 않는다.
AES 암호 알고리즘과 ARIA 암호 알고리즘의 혼합을 위해서는 각 암호 알고리즘의 확산(Confusion) 역할을 하는 기능 블록(ShiftRow, MixColumn, Diffusion Layer)의 영향을 받지 않도록 데이터 패스를 선택해야 한다.
이를 위해, 도 6은 ARIA 암호 알고리즘의 암호화, 복호화 과정에서의 일치 기능 블록은 암호화의 각 라운드의 결과값(200~250)과 복호화의 각 라운드의 결과값(300~350)이 일치하는 기능 블록(AddRoundKey, Substitution Layer)이 있다.
예를 들어, 도 6을 참조하면, 암호화의 2라운드의 AddRoundKey(210)의 결과값과 복호화의 11라운드의 Substitution Layer(310)의 결과값이 일치하므로 AddRoundKey(210)와 Substitution Layer(310)가 일치 기능 블록이 된다.
이러한 ARIA의 일치 기능 블록은 AES 암호 알고리즘과 데이터 패스를 연결하는데 사용된다.
도 7은 AES 암호 알고리즘의 암호화, 복호화 과정에서의 일치 기능 블록은 암호화의 각 라운드의 결과값(400~450)과 복호화의 각 라운드의 결과값(500~550)이 일치하는 기능 블록(ShiftRow, AddRoundKey)이 있다.
일치 기능 블록 이외의 기능 블록은 암호화의 각 라운드의 결과값과 복호화의 각 라운드의 결과값이 일치하지 않으며, 혼돈 역할을 하는 기능 블록의 영향을 받는 구간이다.
따라서, 제어부(120)는 혼돈 역할을 하는 기능 블록의 영향을 받지 않도록 일치 기능 블록을 이용하여 AES 암호 알고리즘과 ARIA 암호 알고리즘 간의 혼합을 위한 데이터 패스를 선택한다.
전술한 일치 기능 블록은 ARIA의 라운드 간의 입, 출력과 AES의 라운드 간의 입, 출력 부분에 해당한다.
도 8은 본 발명의 실시예에 따른 복합 암호 시스템을 이용한 AES-ARIA의 암호화 블록도이고, 도 9는 본 발명의 실시예에 따른 복합 암호 시스템을 이용한 AES-ARIA의 복호화 블록도이다.
제어부(120)는 AES 암호 알고리즘의 일치 기능 블록들과 ARIA 암호 알고리즘의 일치 기능 블록들을 이용하여 도 8 및 도 9와 같이, AES 암호 알고리즘와 ARIA 암호 알고리즘 간 암, 복호화시 데이터 패스를 연결한다.
이러한 복합 암호 알고리즘을 구성하면, AES의 라운드별 기능 블록의 순서가 암호화의 경우, MixColumns 블록, AddRoundKey 블록, SubBytes 블록, ShiftRows 블록의 순서로, 복호화의 경우, SubBytes 블록, ShiftRows 블록, MixColumns 블록, AddRoundKey 블록의 순서로 재구성된다.
또한, ARIA의 라운드별 기능 블록의 순서가 암호화의 경우, Substitution Layer, Diffusion Layer, AddRoundKey 순서로, 복호화의 경우, Diffusion Layer, AddRoundKey, Substitution Layer 순서로 재구성된다.
도 6에 도시된 바와 같이, ARIA 암호화의 2라운드의 AddRoundKey의 결과값(210)과 ARIA 복호화의 11라운드의 Substitution Layer의 결과값(310)이 일치한다.
따라서, 도 8에서 2라운드의 AddRoundKey에서 데이터를 출력하고, 도 9에서 11라운드의 Substitution Layer에서 데이터를 출력하게 되는 것이다.
이와 같은 방법으로 일치 기능 블록은 AES 암호 알고리즘와 ARIA 암호 알고리즘 간 데이터 패스를 연결하는데 사용된다.
도 8 및 도 9를 참조하면, ARIA 암호화는 AddRoundKey에서 데이터가 출력되고 Substitution Layer에서 데이터가 수신되며, ARIA 복호화는 Substitution Layer에서 데이터가 출력되고, Diffusion Layer에서 데이터가 수신된다.
AES 암호화는 ShiftRow 블록에서 데이터가 출력되고 MixColumns 블록에서 데이터가 수신되며, AES 복호화는 AddRoundKey에서 데이터가 출력되고 SubBytes 블록에서 데이터가 수신된다.
도 10은 본 발명의 실시예에 따른 SPN 구조를 갖는 복합 암호 알고리즘의 암호화 구조의 하나의 라운드 구조를 나타낸 도면이고, 도 11은 본 발명의 실시예에 따른 SPN 구조를 갖는 복합 암호 알고리즘의 복호화 구조의 하나의 라운드 구조를 나타낸 도면이다.
도 8 및 도 10을 참조하면, AES에 입력된 데이터는 AES의 SubBytes와 ShiftRow를 거쳐 ARIA로 전송된다.
AES로부터 입력된 데이터는 ARIA의 Substitution Layer, Diffusion Layer, AddRoundKey의 순서대로 연산을 마친 다음, AES의 MixColumns로 전송된다.
데이터를 전송받은 AES는 남아있는 라운드 과정을 거쳐 데이터를 출력하게 된다.
도 9 및 도 11을 참조하면, AES에 입력된 데이터는 AddRoundKey를 거쳐 ARIA로 전송된다. AES로부터 입력된 데이터는 ARIA의 Diffusion Layer, AddRoundKey, Substitution Layer의 순서대로 연산을 마친 다음, AES의 MixColumns로 전송된다. 데이터를 전송받은 AES는 이미 처리된 AddRoundKey를 제외한 나머지 라운드 과정을 거쳐 데이터를 출력하게 된다.
AES와 ARIA의 AddRoundKey에 사용되는 키 값은 각 암호 알고리즘의 키 확장 방식에 따라 확장되며 각각 암호 알고리즘에 사용되는 키 값은 서로 다르다.
이상에서 설명한 본 발명의 실시예는 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (11)

  1. 각각의 다른 암호 알고리즘을 포함한 복수개의 암호칩과 상기 각 암호칩을 제어하는 제어부를 구비하는 복합 암호 시스템에서 동작하는 복합 암호 알고리즘 구성 방법에 있어서,
    상기 제어부는 상기 각 암호칩에 탑재된 각각의 암호 알고리즘에서 암호화 중 각 라운드의 결과값과 복호화 중 각 라운드의 결과값이 일치하는 복수개의 일치 기능 블록을 상기 각각의 암호 알고리즘마다 찾는 단계; 및
    상기 제어부는 상기 각각의 암호 알고리즘 중 혼합하고자 하는 암호 알고리즘들을 선택하고 상기 선택된 암호 알고리즘들의 각각의 라운드 블록 중 일치 기능 블록을 이용하여 암호 알고리즘 간의 데이터 패스를 재구성하며 상기 연결된 데이터 패스를 기초로 암, 복호화 과정을 수행하는 단계를 포함하는 것을 특징으로 하는 복합 암호 알고리즘 구성 방법.
  2. 제1항에 있어서,
    상기 복수개의 암호 알고리즘이 제1 암호 알고리즘과 제2 암호 알고리즘으로 이루어지며, 상기 제1 암호 알고리즘은 AES(Advanced Encrypytion Standard)이고, 상기 제2 암호 알고리즘은 ARIA(Acamemy Research Institute Agency)인 것을 특징으로 하는 복합 암호 알고리즘 구성 방법.
  3. 제2항에 있어서,
    상기 암, 복호화 과정을 수행하는 단계는,
    상기 제1 암호 알고리즘과 상기 제2 암호 알고리즘 간의 데이터 패스를 연결하는 경우, 상기 AES의 라운드별 기능 블록의 순서가 암호화의 경우, MixColumns 블록, AddRoundKey 블록, SubBytes 블록, ShiftRows 블록의 순서로, 복호화의 경우, 상기 SubBytes 블록, 상기 ShiftRows 블록, 상기 MixColumns 블록, 상기 AddRoundKey 블록의 순서로 재구성되는 것을 특징으로 하는 복합 암호 알고리즘 구성 방법.
  4. 제2항에 있어서,
    상기 암, 복호화 과정을 수행하는 단계는,
    상기 제1 암호 알고리즘과 상기 제2 암호 알고리즘 간의 데이터 패스를 연결하는 경우, 상기 ARIA의 라운드별 기능 블록의 순서가 암호화의 경우, Substitution Layer, Diffusion Layer, AddRoundKey 순서로, 복호화의 경우, 상기 Diffusion Layer, 상기 AddRoundKey, 상기 Substitution Layer 순서로 재구성되는 것을 특징으로 하는 복합 암호 알고리즘 구성 방법.
  5. 각각의 다른 암호 알고리즘을 포함한 복수개의 암호칩; 및
    상기 각 암호칩에서의 각각의 암호 알고리즘에서 암호화 중 각 라운드의 결과값과 복호화 중 각 라운드의 결과값이 일치하는 일치 기능 블록을 상기 각각의 암호 알고리즘마다 찾고, 혼합하고자 하는 암호 알고리즘들을 선택하여 상기 선택된 암호 알고리즘들의 각 일치 기능 블록을 이용하여 암호 알고리즘 간의 데이터 패스를 연결하며, 상기 연결된 데이터 패스를 기초로 복수개의 암호 알고리즘을 혼합하여 암, 복호화 과정을 수행하는 제어부를 포함하는 것을 특징으로 하는 복합 암호 시스템.
  6. 제5항에 있어서,
    상기 데이터 패스는 확산(Confusion) 역할을 하는 기능 블록의 영향을 받지 않는 지점인 것을 특징으로 하는 복합 암호 시스템.
  7. 제5항에 있어서,
    상기 각각의 암호 알고리즘은 에스피엔(Substitution Permutation Network, SPN) 구조인 것을 특징으로 하는 복합 암호 시스템.
  8. 제5항에 있어서,
    상기 복수개의 암호 알고리즘은 제1 암호 알고리즘과 제2 암호 알고리즘으로 이루어지며, 상기 제1 암호 알고리즘은 AES(Advanced Encrypytion Standard) 암호 알고리즘이고, 상기 제2 암호 알고리즘은 ARIA(Acamemy Research Institute Agency) 암호 알고리즘인 것을 특징으로 하는 복합 암호 시스템.
  9. 제8항에 있어서,
    상기 제어부는 용도에 따라 상기 AES 암호 알고리즘과 상기 ARIA 암호 알고리즘을 각각의 암, 복호화 과정을 수행하거나 상기 AES 암호 알고리즘과 상기 ARIA 암호 알고리즘을 라운드 연산 단위로 혼합하여 암, 복호화 과정을 수행하는 것을 특징으로 하는 복합 암호 시스템.
  10. 제8항에 있어서,
    상기 제어부는 상기 AES 암호 알고리즘과 상기 ARIA 암호 알고리즘 간의 라운드를 하나 이상 교대로 데이터 패스를 연결하여 암, 복호화 과정을 수행하는 것을 특징으로 하는 복합 암호 시스템.
  11. 제8항에 있어서,
    상기 제어부는 상기 AES 암호 알고리즘와 상기 ARIA 암호 알고리즘 간 혼합하여 암, 복호화 과정을 수행하는 경우, 상기 AES 암호 알고리즘가 Equivalent 모드인 경우와 상기 Equivalent 모드가 아닌 경우를 포함하는 것을 특징으로 하는 복합 암호 시스템.

KR1020100060048A 2010-06-24 2010-06-24 복합 암호 시스템과 이를 이용한 복합 암호 알고리즘 구성 방법 KR101150289B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100060048A KR101150289B1 (ko) 2010-06-24 2010-06-24 복합 암호 시스템과 이를 이용한 복합 암호 알고리즘 구성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100060048A KR101150289B1 (ko) 2010-06-24 2010-06-24 복합 암호 시스템과 이를 이용한 복합 암호 알고리즘 구성 방법

Publications (2)

Publication Number Publication Date
KR20110139925A KR20110139925A (ko) 2011-12-30
KR101150289B1 true KR101150289B1 (ko) 2012-05-24

Family

ID=45505236

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100060048A KR101150289B1 (ko) 2010-06-24 2010-06-24 복합 암호 시스템과 이를 이용한 복합 암호 알고리즘 구성 방법

Country Status (1)

Country Link
KR (1) KR101150289B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030062914A (ko) * 2002-01-21 2003-07-28 주식회사 엘지이아이 다단계 암호화/복호화 시스템
KR20050015857A (ko) * 2003-08-08 2005-02-21 삼성전자주식회사 겹침 연산 방식과 변동 클럭 방식을 이용한 암호화 방법
KR20070086509A (ko) * 2004-12-09 2007-08-27 인텔 코오퍼레이션 암호 작성 프로세싱의 스피드를 증가시키는 방법 및 장치
US20090129585A1 (en) 2007-12-28 2009-05-21 Lewis James M Exclusive encryption system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030062914A (ko) * 2002-01-21 2003-07-28 주식회사 엘지이아이 다단계 암호화/복호화 시스템
KR20050015857A (ko) * 2003-08-08 2005-02-21 삼성전자주식회사 겹침 연산 방식과 변동 클럭 방식을 이용한 암호화 방법
KR20070086509A (ko) * 2004-12-09 2007-08-27 인텔 코오퍼레이션 암호 작성 프로세싱의 스피드를 증가시키는 방법 및 장치
US20090129585A1 (en) 2007-12-28 2009-05-21 Lewis James M Exclusive encryption system

Also Published As

Publication number Publication date
KR20110139925A (ko) 2011-12-30

Similar Documents

Publication Publication Date Title
EP1005191B1 (en) Encryption/decryption unit and storage medium
US8966279B2 (en) Securing the implementation of a cryptographic process using key expansion
JP5646612B2 (ja) 中間データ変更を使用する構成可能な鍵を用いるホワイトボックス暗号システム
US10333702B2 (en) Updating key information
US8130946B2 (en) Iterative symmetric key ciphers with keyed S-boxes using modular exponentiation
Dunkelman et al. A practical-time attack on the A5/3 cryptosystem used in third generation GSM telephony
Biryukov et al. Cryptanalysis of Feistel networks with secret round functions
US8718280B2 (en) Securing keys of a cipher using properties of the cipher process
Andreeva et al. PRIMATEs v1
WO2011029753A1 (en) A method of diversification of a round function of an encryption algorithm
Tunstall Improved``Partial Sums"-based Square Attack on AES
JP2012215813A (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
Patranabis et al. Using Tweaks To Design Fault Resistant Ciphers (Full Version)
Li et al. Related-tweak statistical saturation cryptanalysis and its application on QARMA
Lu Cryptanalysis of block ciphers
Lu et al. Meet-in-the-middle attack on reduced versions of the Camellia block cipher
Rawal Advanced encryption standard (AES) and it’s working
Isa et al. AES: Current security and efficiency analysis of its alternatives
Murtaza et al. Fortification of aes with dynamic mix-column transformation
Pethe et al. A survey on different secret key cryptographic algorithms
Quist-Aphetsi et al. Node to node secure data communication for IoT devices using Diffie-Hellman, AES, and MD5 cryptographic schemes
KR101150289B1 (ko) 복합 암호 시스템과 이를 이용한 복합 암호 알고리즘 구성 방법
KR20190049875A (ko) 테이블 기반 구현에서의 차수 2 이상의 dca 공격에 대응하는 방법
Lu et al. Related-key attacks on the full-round Cobra-F64a and Cobra-F64b
Azzawi Enhancing the encryption process of advanced encryption standard (AES) by using proposed algorithm to generate S-Box

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150430

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160504

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee