KR101614331B1 - 이동 통신 시스템에서 aes 알고리즘을 이용한 암호화 장치 및 방법 - Google Patents

이동 통신 시스템에서 aes 알고리즘을 이용한 암호화 장치 및 방법 Download PDF

Info

Publication number
KR101614331B1
KR101614331B1 KR1020090096257A KR20090096257A KR101614331B1 KR 101614331 B1 KR101614331 B1 KR 101614331B1 KR 1020090096257 A KR1020090096257 A KR 1020090096257A KR 20090096257 A KR20090096257 A KR 20090096257A KR 101614331 B1 KR101614331 B1 KR 101614331B1
Authority
KR
South Korea
Prior art keywords
aes
mode
key
algorithm
block
Prior art date
Application number
KR1020090096257A
Other languages
English (en)
Other versions
KR20110039009A (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 KR1020090096257A priority Critical patent/KR101614331B1/ko
Priority to US12/900,842 priority patent/US8908861B2/en
Publication of KR20110039009A publication Critical patent/KR20110039009A/ko
Application granted granted Critical
Publication of KR101614331B1 publication Critical patent/KR101614331B1/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/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/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 이동 통신 시스템에서 고급 암호 표준(AES; Advanced Encryption Standard) 블록 알고리즘을 이용하여 데이터를 암호화하는 장치 및 그를 수행하는 방법에 관한 것으로, AES(Advanced Encryption Standard) 블록 알고리즘을 통해 수행되는 AES 모드를 확인하는 모드 확인부와, 상기 확인된 AES 모드에서 공통적으로 사용할 수 있는 공유 하드웨어 및 상기 AES 모드로 암호화/암호해독을 수행하기 위한 키를 생성하는 키 제어부로 구성된 공유 로직을 포함한다. 이와 같은 방법을 통해, AES 블록 알고리즘을 사용하는 암호화 장치에서, AES 블록 알고리즘을 수행하던 하드웨어가 유동성있게 사용될 수 있다.
AES, 공유 로직, 암호화, 파이프 라인

Description

이동 통신 시스템에서 AES 알고리즘을 이용한 암호화 장치 및 방법{APPARATUS AND METHOD FOR ENCRYPTING USING ADVANCED ENCRYPTION STANDARD ALGORITHM IN MOBILE COMMUNICATION SYSTEM}
본 발명은 AES(Advanced Encryption Standard) 알고리즘을 이용하여 데이터를 암호화하는 장치 및 그를 수행하는 방법에 관한 것으로, 특히 데이터 암호화를 위해 다수개의 하드웨어별로 처리되는 AES 블록 알고리즘을 수행하기 위한 AES 모드들을 하나의 하드웨어에서 처리하는 방법 및 그를 수행하는 장치에 관한 것이다.
인터넷 및 이동 통신망을 이용한 데이터 송수신이 활발해지면서 개인 정보의 보안이 매우 중요해지고 있다. 종래에는 56비트 암호화 방식인 DES(Data Encryption Standard)를 이용하여 개인 정보가 보안되었다. 그러나 인터넷 및 이동 통신망의 기술 발전에 따라 개인 정보를 유출할 수 있는 해킹 기술이 발전하여, DES 방식의 안전성이 위협받고 있다. 그래서 128비트의 블록과 128, 192, 및 256 비트의 암호 키를 이용하여 데이터를 암호화 및 암호해독화하는 AES 블록 알고리즘이 제안되었다.
AES(Advanced Encryption Standard) 블록 알고리즘은 LTE(Long Term Evolution) 또는 Wimax와 같은 이동 통신 시스템에서 데이터를 암호화하는데 사용된다. 특히 AES 블록 알고리즘은 AES_CMAC(AES Cipher Based Message Authentication), AES_CTR(AES in CounTeR), AES_CCM(AES Counter with Cipher block Change Message authentication) 모드로 구분되며, 각 모드별로 데이터를 암호화 및 복호화한다. AES 블록 알고리즘으로 데이터를 암호화 및 암호해독화하기 위해서 기지국과 같은 이동 통신 시스템은 AES 엔진을 포함한다.
AES 엔진은 각각의 AES_CMAC, AES_CTR, AES_CCM 모드에 대응되는 하드웨어로 구성된다. 따라서 하드웨어가 유동성있게 사용될 수 없다는 문제점이 발생한다. 또한 소프트웨어로 수행될 수 있는 여러 과정이 하드웨어를 통해 수행됨으로써, 하드웨어를 프로그램화 할 수 없다는 문제점이 발생한다. 그리고 좀더 높은 보안 기술이 제공되기 위해 하드웨어의 보안 모듈이 유동성있게 변경되어야 한다. 그러기 위해 AES 블록 알고리즘을 위한 하드웨어에 대한 연구가 필요하다.
상기와 같은 문제점을 해결하기 위해 본 발명은 이동 통신 시스템에서 AES 블록 알고리즘을 이용한 암호화 장치 및 방법을 제안한다.
상기와 같은 목적을 달성하기 위해 본 발명의 실시예에 따른 암호화 방법은 AES(Advanced Encryption Standard) 블록 알고리즘을 통해 수행되는 AES 모드를 확인하는 과정과, 상기 AES 모드에서 공통적으로 사용되는 공유 하드웨어를 통해 상기 확인된 AES 모드를 수행하는 과정과, 상기 수행되는 AES 모드로 암호화/암호해독을 수행하기 위한 키를 생성하는 과정을 포함한다.
또한 상기와 같은 목적을 달성하기 위해 본 발명의 실시예에 따른 암호화 장치는 AES(Advanced Encryption Standard) 블록 알고리즘을 통해 수행되는 AES 모드를 확인하는 모드 확인부와, 상기 확인된 AES 모드에서 공통적으로 사용할 수 있는 공유 하드웨어 및 상기 AES 모드로 암호화/암호해독을 수행하기 위한 키를 생성하는 키 제어부로 구성된 공유 로직을 포함한다.
본 발명에 따르면, AES 블록 알고리즘을 이용한 암호화/복호화 과정에서 각각 AES 모드별로 필요하던 하드웨어들이 공유된다. 이에 따라 하드웨어가 유동성 있게 사용된다. 또한 하드웨어를 통해 수행되던 AES 블록 알고리즘이 소프트웨어를 통해 수행될 수 있다.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
도 1는 본 발명의 실시예에 따른 암호화 장치의 구성을 개략적으로 도시한 도면이다.
도 1을 참조하면, AES(Advanced Encryption Standard) 블록 알고리즘을 수행할 수 있는 암호화 장치(100)는 모드 확인부(110), 공유 로직(120), 공유 로직(120)을 구성하는 공유 하드웨어(Shard Hardware; 130), 키 제어부(140), 키 제어부(140)에 포함된 키 설정 모듈(150) 및 엑스트라 하드웨어(Extra Hardware; 160)로 구성된다.
모드 확인부(110)는 AES 블록 알고리즘을 통해 수행되는 AES 모드를 확인하는 기능을 수행한다. 특히 AES_CTR_BASE 모드 또는 AES_128_ENC 모드면, 모드 확인부(110)는 mode 0(111)으로 판단한다. 그리고 AES_Counter_ENC 모드면, 모드 확인부(110)는 mode 1(112)로 판단한다. 또한 AES_Counter_DEC 모드이면, 모드 확인부(110)는 mode 2(113)로 판단한다.
AES_CCM_Gen 모드이면, 모드 확인부(110)는 mode 3(114)으로 판단한다. 그리고 AES_CCM_Ver 모드면, 모드 확인부(110)는 mode 4(115)로 판단한다. 또한 AES_CMAC_Gen 모드면, 모드 확인부(110)는 mode 5(116)로 판단한다. 그리고 AES_CMAC_Ver 모드면, 모드 확인부(110)는 mode 6(117)으로 판단한다. 마지막으로 AES_CBC_BASE 모드 또는 AES_128_DEC 모드면, 모드 확인부(110)는 mode 7(118)로 판단한다.
공유 로직(120)은 모드 확인부(110)에서 확인된 AES 모드를 수행한다. 그러기 위해 공유 로직(120)은 AES 블록 알고리즘을 수행하기 위한 공유 하드웨어(AES for Shared Hardware; 130) 및 AES 블록 알고리즘을 수행하기 위한 키를 제어하는 키 제어부(140)를 포함한다. 그리고 키 제어부(140)는 키를 설정하기 위한 키 설정 모듈(150)을 포함한다. 공유 로직(120)은 확인된 AES 모드를 수행하기 위해 공유 하드웨어(130)에서 필요한 영역만을 활성화시킬 수 있다.
공유 하드웨어(130)는 AES Counter Base 블록(135)과 AES CBC Base 블록(137)을 포함한다. 여기서 AES Counter Base 블록(135)과 AES CBC Base 블록(137)은 도 2 내지 도 3을 참조하여 설명한다.
도 2은 본 발명의 실시예에 따른 AES 암호화 장치를 도시한 도면이다.
도 2를 참조하면, 공유 하드웨어(130)에 구성된 AES Counter Base 블록(135)은 도 2에서 도시된 바와 같이 알고리즘으로 이루어져 있다. 여기서 AES Counter Base 블록(135)은 AES 블록 알고리즘에서 counter 모드를 수행하기 위한 일부분의 알고리즘이다. 그리고 AES Counter Base 블록(135)은 모드 확인부(110)에서 확인된 mode 0 내지 모드 7이 각각 수행될 때, 공통적으로 사용되는 블록이다.
도 3는 본 발명의 실시예에 따른 AES Counter Base 블록을 도시한 도면이다.
도 3을 참조하면, 공유 하드웨어(130)에 구성된 AES CBC Base 블록(137)은 도 3에서 도시된 바와 같이 알고리즘으로 이루어져 있다. 여기서 AES CBC Base 블록(137)은 AES 블록 알고리즘에서 CBC 모드를 수행하기 위한 일부분의 알고리즘이다. 그리고 AES CBC Base 블록(137)은 모드 확인부(110)에서 확인된 mode 3 내지 6이 각각 수행될 때, 공통적으로 사용되는 블록이다.
여기서 AES Counter Base 블록(135)과 AES CBC Base 블록(137)은 AES 블록 알고리즘의 일부분이므로 상세한 설명은 생략한다.
공유 로직(120)은 공유 하드웨어(130)의 AES Counter Base 블록(135)과 AES CBC Base 블록(137)을 통해 모드 확인부(110)에서 확인된 각 AES 모드를 수행할 수 있다. 예를 들어 AES 모드가 AES_Counter 모드일 경우, 공유 로직(120)은 공유 하드웨어(130)의 AES Counter Base 블록(135)을 통해 AES_Counter 모드, AES_CCM 모드 및 AES_CMAC 모드를 수행한다.
또는 AES 모드가 AES_CCM 모드이거나, AES_CMAC 모드일 경우, 공유 로직(120)은 공유 하드웨어(130)의 AES Counter Base 블록(135)과 AES CBC Base 블록(137)을 통해 AES_CCM 모드 또는 AES_CMAC 모드를 수행한다.
키 제어부(140)는 AES 모드에서 암호화/암호해독을 수행하기 위해 필요한 키를 설정하는 기능을 수행한다. 그리고 키 제어부(140)는 설정된 키를 이용해 AES 모드시 생성되는 블록들을 암호화/암호해독을 수행하는 기능을 수행한다. 그러기 위해 키 제어부(140)는 키 설정 모듈(150)을 포함한다.
키 설정 모듈(150)은 AES 모드에서 데이터를 암호화/암호해독하기 위한 키를 설정하는 기능을 수행한다. 키 설정 모듈(150)은 AES 암호화 키 설정 모듈(AES Encryption Key Set Up 모듈; 153), AES 암호해독 키 설정 모듈(AES Decryption Key Set Up 모듈; 155)로 구성된다.
AES 암호화 키 설정 모듈(153)은 AES 블록 알고리즘으로 데이터를 블록 단위로 반복하여 암호화하기 위한 키를 생성하는 기능을 수행한다. AES 암호해독 키 설정 모듈(155)은 AES 블록 알고리즘으로 데이터 암호해독을 수행하기 위한 키를 생성하는 기능을 수행한다.
그리고 키 제어부(140)는 6 스테이지 파이프 라인 AES 암호화(6-staged Pipelined Encryption) 모듈(157) 및 6 스테이지 파이프 라인 AES 암호해독(6-staged Pipelined Decryption) 모듈(159)을 포함한다.
6 스테이지 파이프 라인 AES 암호화 모듈(157)은 AES 암호화 키 설정 모듈에서 생성된 키를 이용하여 암호화된 블록을 생성한다. 6 스테이지 파이프 라인 AES 암호해독 모듈(159)은 AES 암호해독 키 설정 모듈에서 생성된 키를 이용하여 블록을 암호해독한다. 6 스테이지 파이프 라인 AES 암호화 모듈(157) 및 6 스테이지 파이프 라인 AES 암호해독 모듈(159)은 도 4 내지 도 5를 참조하여 후술하도록 한다.
엑스트라 하드웨어(160)는 AES_CCM 모드에서 CCM 포맷 및 패이딩을 수행하는 CCM 수행 모듈(163) 및 AES_CMAC 모드에서 CMAC 서브키와 마지막 블록(Last block)을 생성하는 CMAC 생성 모듈(165)로 구성된다.
이와 같이 구성된 암호화 장치(100)에서 AES 모드를 수행하기 위하 공유 로직(120)을 활용하는 방법은 다음과 같을 수 있다.
예를 들어 AES 모드가 Counter 모드일 때, 기지국은 AES 모드를 모드 1 또는 모드 2로 판단한다. 그리고 기지국은 공유 하드웨어(130)를 구성하는 AES Counter Base(135)및 키 설정 모듈(150)를 활성화하여 Counter 모드를 수행한다.
만약 AES 모드가 CMAC 모드일 때, 기지국은 AES 모드를 모드 5 또는 모드 6으로 판단한다. 그리고 기지국은 엑스트라 하드웨어(160)를 통해 CMAC 서브키를 생성한다. 다음으로 기지국은 공유 하드웨어(130)를 구성하는 AES Counter Base(135) 및 AES CBC Base(137), 키 설정 모듈(150)을 활성화하여 CMAC 모드를 수행한다.
만약 AES 모드가 CCM 모드이면, 기지국은 AES 모드를 모드 3 또는 모드 4로 판단한다. 그리고 기지국은 엑스트라 하드웨어(160)를 통해 CCM을 포맷 및 패이딩한다. 다음으로 기지국은 공유 하드웨어(130)를 구성하는 AES Counter Base(135) 및 AES CBC Base(137), 키 설정 모듈(150)을 활성화하여 CCM 모드를 수행한다.
6 스테이지 파이프 라인 AES 암호화 모듈(157) 및 6 스테이지 파이프 라인 AES 암호해독 모듈(159)에 대하여 도 4 내지 도 5을 참조로 하여 상세히 설명한다.
먼저 파이프 라인 방식에 대하여 설명한다.
파이프 라인 방식은 하나의 프로세서를 서로 다른 기능을 가진 여러 개의 서브 프로세서로 나누어 각각의 서브 프로세서가 동시에 다른 데이터를 처리하는 방식이다. 파이프 라인 방식은 명령어 파이프 라인과 연산 파이프 라인 두 종류로 구분된다. 명령어 파이프 라인은 명령어가 프로세서를 통해 움직이는 방식을 의미한다. 연산 파이프 라인은 중복으로 수행될 수 있는 산술 연산 방식을 의미한다.
여기서 6 스테이지 파이프 라인 AES 암호화 모듈(157) 및 6 스테이지 파이프 라인 AES 암호해독 모듈(159)에서 파이프 라인은 6단계로 구성된다. 그리고 6 스테 이지 파이프 라인 AES 암호화 모듈(157) 및 6 스테이지 파이프 라인 AES 암호해독 모듈(159)은 AES 암호화 키 설정 모듈(153) 및 AES 암호해독 키 설정 모듈(155)에서 생성된 각각의 키를 6단계별로 공유하여 데이터의 암호화/암호해독을 처리한다.
도 4는 본 발명의 실시예에 따른 6 스테이지 파이프 라인 AES 암호화 모듈을 도시한 도면이다.
도 4를 참조하면, 6 스테이지 파이프 라인 AES 암호화 모듈(157)은 AES 암호화 키 설정 모듈(153)에서 설정된 키(210)를 이용하여 평문(plain)(220)을 암호화한다. 이때 6 스테이지 파이프 라인 AES 암호화 모듈(157)은 6단계로 구성된 파이프 라인 방식을 이용한다. 즉 6 스테이지 파이프 라인 AES 암호화 모듈(157)은 설정된 하나의 키(210)를 각각의 암호화 1(Encryption 1)(231), 암호화 2(Encryption 2)(232), 암호화 3(Encryption 3)(233), 암호화 4(Encryption 4)(234), 암호화 5(Encryption 5)(235), 암호화 6(Encryption 6)(236) 단계에서 중복적으로 사용한다. 각각의 암호화 단계에 적용되는 키를 통해 평문(220)은 사이퍼(240)로 암호화된다.
도 5은 본 발명의 실시예에 따른 6 스테이지 파이프 라인 AES 암호해독 모듈을 도시한 도면이다.
도 5를 참조하면, 6 스테이지 파이프 라인 AES 암호해독 모듈(159)은 AES 암호해독 키 설정 모듈(155)에서 설정된 키(310)를 이용하여 사이퍼(cipher)(320)를 암호해독한다. 이때 6 스테이지 파이프 라인 AES 암호해독 모듈(159)은 6단계로 구성된 파이프 라인 방식을 이용한다. 즉 AES 암호해독 모듈(159)은 설정된 하나의 키(310)를 각각의 암호해독 1(Decryption 1)(330), 암호해독 2(Decryption 2)(331), 암호해독 3(Decryption 3)(332), 암호해독 4(Decryption 4)(333), 암호해독 5(Decryption 5)(334), 암호해독 6(Decryption 6)(335) 단계에서 중복적으로 사용한다. 그리고 각각의 암호해독 단계에 적용되는 키를 통해 사이퍼(320)은 평문(340)으로 암호해독된다.
이와 같은 구성으로 이루어진 암호화 장치(100)에서 AES 모드별로 사용되는 하드웨어가 하나의 공유 로직(120)으로 구성된다. 그리고 6 스테이지 파이프 라인 AES 암호화/복호화 모듈(157, 159)에서 파이프 라인 방식을 통해 하나의 키가 여러 단계에서 중복적으로 사용된다.
다음으로 암호화 장치에서 AES 블록 알고리즘을 통해 암호화를 수행하는 방법에 대하여 도 6 내지 도 9를 참조하여 설명한다. 여기서 암호화 장치(100)는 기지국에 구성된 것으로 가정하여 설명하며, AES 블록 알고리즘을 통해 데이터를 암호화하는 모든 단말기에 적용될 수 있다.
도 6는 본 발명의 실시예에 따른 암호화 방법을 나타낸 흐름도이다. 도 7는 본 발명의 실시예에 따른 AES_CCM 모드 수행 과정을 나타낸 흐름도이다. 도 8는 본 발명의 실시예에 따른 AES_CMAC 모드 수행 과정을 나타낸 흐름도이다. 도 9는 본 발명의 실시예에 따른 AES_CTR 모드 수행 과정을 나타낸 흐름도이다.
도 6를 참조하면, 우선 기지국은 410단계에서 AES 블록 알고리즘을 통해 수행될 AES 모드를 확인한다. 즉 기지국은 미리 설정된 mode 0 내지 모드 7에서 AES 모드에 해당하는 모드를 확인한다. 여기서 AES 모드는 mode 0으로 판단되는 AES_CTR(AES in CounTeR)_BASE 모드 및 AES_128_ENC(Encryption) 모드, mode 1로 판단되는 AES_Counter_ENC 모드, mode 2로 판단되는 AES_Counter_DEC 모드, mode 3으로 판단되는 AES_CCM(AES Counter with Cipher block Change Message authentication)_Gen(Generation) 모드, mode 4로 판단되는 AES_CCM_Ver(Verification) 모드, mode 5로 판단되는 AES_CMAC(AES Cipher Based Message Authentication)_Gen 모드, mode 6으로 판단되는 AES_CMAC_Ver 모드, mode 7로 판단되는 AES_CBC(Cipher Block Changing)_BASE 모드 및 AES_128_DEC 모드로 구분될 수 있다.
각 AES 모드는 다음과 같은 기능을 수행할 수 있다.
AES_CTR_BASE 모드는 AES 모드를 수행하기 위한 기본 로직이며, AES_128_ENC 모드는 128 비트 키를 이용하여 데이터를 128 비트 블록으로 암호화를 수행하는 모드이다.
AES_Counter_ENC 모드는 카운터 모드에서 페이로드 암호화를 수행하는 모드이다. 그리고 카운터 모드는 1씩 증가하는 카운터를 암호화해서 키스트림을 생성하는 모드를 의미한다. 또한 AES_Counter_DEC 모드는 카운터 모드에서 사이퍼의 복호화를 수행하는 모드이다.
AES_CCM_Gen 모드는 AES_CCM 모드에서 페이로드의 암호화 및 태그를 생성하는 모드이다. 그리고 AES_CCM_Ver 모드는 사이퍼의 암호해독과 태그를 확인하는 모드이다. AES_CMAC_Gen 모드는 AES_CMAC 모드를 이용하여 MAC(Message Authentication Code)를 생성하는 모드이며, AES_CMAC_Ver 모드는 AES_CMAC 모드를 이용하여 MAC를 확인하는 모드이다. 그리고 AES_CBC_BASE 모드는 AES 모드를 수행하기 위한 기본 로직을 활성화하는 모드이다. 또한 AES_128_DEC 모드는 128 비트 키를 이용하여 128 비트 블록을 암호해독하는 모드이다.
그리고 AES_CCM_Gen 모드와 AES_CCM_Ver 모드를 포함하는 AES_CCM 모드 및 AES_CMAC_Gen 모드와 AES_CMAC_Ver 모드를 포함하는 AES_CMAC 모드는 데이터를 관리하는 동안에 수행되는 모드이다. 그리고 AES_Counter_ENC 모드와 AES_Counter_DEC 모드를 포함하는 AES_CTR 모드는 데이터가 전송되는 동안에 수행되는 모드이다.
기지국은 415단계에서 확인된 AES 모드를 수행하기 위한 레지스터를 설정한다. 다음으로 기지국은 420단계에서 버퍼에 AES 블록 알고리즘을 통해 출력되는 결과물 작성을 위한 페이로드를 전송한다.
430단계에서 확인된 AES 모드가 모드 3 또는 모드 4에 해당하는 440단계의 AES_CCM 모드이면, 기지국은 445단계에서 엑스트라 하드웨어(160)를 제어하여 CCM 포맷 및 패이딩을 수행한다. 그리고 기지국은 470단계를 수행한다.
만약 430단계에서 확인된 AES 모드가 모드 5 또는 모드 6에 해당하는 450단계의 AES_CMAC 모드이면, 기지국은 455단계에서 엑스트라 하드웨어(160)를 제어하여 CMAC 서브키를 생성한다. 그리고 기지국은 470단계를 수행한다.
그리고 430단계에서 확인된 AES 모드가 모드 0, 1 또는 2에 해당하는 460단계의 AES_CTR 모드이면, 기지국은 470단계를 수행한다.
470단계는 기지국에서 암호화 장치(100)를 구성하는 공유 로직(120)을 이용 하여 각 AES 모드별로 결과물을 출력하는 과정이다. 각 AES 모드별로 공유 로직을 이용한 결과물 출력 과정은 도 7 내지 도 9를 참조로 하여 상세히 설명한다.
도 7는 본 발명의 실시예에 따른 AES_CCM 모드 수행 과정을 나타낸 흐름도이다.
도 7을 참조하면, 확인된 AES 모드가 AES_CCM 모드인 경우, 기지국은 710단계에서 엑스트라 하드웨어(160)을 통해 CCM을 포맷 또는 패이딩한다. 그리고 기지국은 720단계에서 공유 로직(120)의 AES Counter Base 모듈(135) 및 AES CBC Base모듈(137)을 이용하여 태그를 생성한다. 다음으로 기지국은 730단계에서 공유 로직(120)의 키 제어부(140)을 통해 데이터를 암호화 또는 암호해독을 수행한다. 그리고 기지국은 도 4로 돌아간다.
도 8는 본 발명의 실시예에 따른 AES_CMAC 모드 수행 과정을 나타낸 흐름도이다.
도 8을 참조하면, 확인된 AES 모드가 AES_CMAC 모드인 경우, 기지국은 810단계에서 엑스트라 하드웨어(160)을 이용하여 CMAC 서브 키를 생성한다. 그리고 기지국은 815단계에서 공유 로직(120)의 AES Counter Base 모듈(135) 및 AES CBC Base모듈(137)을 이용하여 MAC를 생성한다. 그리고 기지국은 도 4로 돌아간다.
도 9는 본 발명의 실시예에 따른 AES_CTR 모드 수행 과정을 나타낸 흐름도이다.
도 9를 참조하면, 확인된 AES 모드가 AES_CTR 모드인 경우, 기지국은 910단계에서 공유 로직(120)의 AES Counter Base 모듈(135)을 이용하여 카운터를 암호화 한다. 그리고 기지국은 915단계에서 암호화된 카운터를 평문과 함께 배타적 논리합(exclusive or; Xor)을 수행한다. 그리고 기지국은 도 4로 돌아간다.
도 7 내지 도 9를 통해 설명한 바와 같이 각 AES 모드별로 결과물이 출력되면, 기지국은 475단계에서 결과물을 버퍼에 작성한다. 그리고 기지국은 480단계에서 레지스터 등록을 위한 인터럽트를 전송한다.
이상에서는 본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고, 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기서 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
도 1은 본발명의 실시예에 따른 암호화 장치의 구성을 개략적으로 도시한 도면이다.
도 2은 본 발명의 실시예에 따른 AES Counter Base 블록을 도시한 도면이다.
도 3는 본 발명의 실시예에 따른 AES CBC Base 블록을 도시한 도면이다.
도 4는 본 발명의 실시예에 따른 AES 암호화 모듈을 도시한 도면이다.
도 5는 본 발명의 실시예에 따른 AES 암호해독 모듈을 도시한 도면이다.
도 6는 본 발명의 실시예에 따른 암호화 방법을 나타낸 흐름도이다.
도 7는 본 발명의 실시예에 따른 AES_CCM 모드 수행 과정을 나타낸 흐름도이다.
도 8는 본 발명의 실시예에 따른 AES_CMAC 모드 수행 과정을 나타낸 흐름도이다.
도 9는 본 발명의 실시예에 따른 AES_CTR 모드 수행 과정을 나타낸 흐름도이다.

Claims (10)

  1. AES(Advanced Encryption Standard) 블록 알고리즘을 통해 수행되는 AES 모드를 확인하는 모드 확인부와,
    상기 확인된 AES 모드에 대응하여 데이터를 처리하는 비공유 엑스트라 하드웨어와,
    상기 처리된 데이터를 사용하여 상기 확인된 AES 모드를 수행하기 위한 상기 AES 알고리즘을 수행하며, 상기 확인된 AES 모드에서 공통적으로 사용할 수 있는 공유 하드웨어, 및
    상기 AES 모드로 암호화/암호해독을 수행하기 위한 키를 생성하는 키 제어부로 구성되는 공유 로직을 구비한 암호화 장치.
  2. 제1항에 있어서, 상기 키 제어부는
    상기 키를 설정하는 키 설정 모듈과,
    상기 생성된 키를 이용하여 파이프 라인 방식으로 암호화하는 AES 암호화 모듈과,
    상기 생성된 키를 이용하여 파이프 라인 방식으로 암호해독하는 AES 암호해독 모듈을 구비함을 특징으로 하는 암호화 장치.
  3. 제1항에 있어서, 상기 공유 하드웨어는
    상기 AES 블록 알고리즘에서 counter 모드를 수행하는 알고리즘의 일부분인 AES Counter Base 블록과,
    상기 AES 블록 알고리즘에서 CBC(Cipher Block Changing) 모드를 수행하는 알고리즘의 일부분인 AES CBC Base 블록을 구비함을 특징으로 하는 암호화 장치.
  4. AES(Advanced Encryption Standard) 블록 알고리즘을 통해 암호화하는 방법에 있어서,
    상기 AES(Advanced Encryption Standard) 블록 알고리즘을 통해 수행되는 AES 모드를 확인하는 과정과,
    비공유 엑스트라 하드웨어를 통해 상기 확인된 AES 모드에 대응하여 데이터를 처리하는 과정과,
    상기 AES 모드에서 공통적으로 사용되는 공유 하드웨어를 통해 상기 처리된 데이터를 사용하여 상기 확인된 AES 모드를 수행하기 위한 상기 AES 알고리즘을 수행하는 과정과,
    상기 수행되는 AES 모드로 암호화/암호해독을 수행하기 위한 키를 생성하는 과정을 포함하는 암호화 방법.
  5. 제4항에 있어서, 상기 키를 생성하는 과정은
    상기 키를 설정하는 과정과,
    상기 생성된 키를 이용하여 파이프 라인 방식으로 암호화 또는 암호해독하는 과정을 포함함을 특징으로 하는 암호화 방법.
  6. 제4항에 있어서, 상기 AES 모드를 수행하는 과정은
    상기 확인된 AES 모드별로 상기 AES 블록 알고리즘에서 counter 모드를 수행하는 알고리즘의 일부분인 AES Counter Base 블록과 상기 AES 블록 알고리즘에서 CBC(Cipher Block Changing) 모드를 수행하는 알고리즘의 일부분인 AES CBC Base 블록을 이용하여 상기 AES 모드를 수행하는 과정을 포함함을 특징으로 하는 암호화 방법.
  7. 제1항에 있어서, 상기 비공유 엑스트라 하드웨어는
    상기 확인된 AES 모드가 AES-CCM 모드일 때, CCM 포맷 및 패이딩을 수행하는 CCM 수행모듈을 포함하는 것을 특징으로 하는 암호화 장치.
  8. 제1항에 있어서, 상기 비공유 엑스트라 하드웨어는
    상기 확인된 AES 모드가 AES-CMAC 모드일 때, CMAC 서브키를 생성하는 서브키 생성 모듈을 포함하는 것을 특징으로 하는 암호화 장치.
  9. 제4항에 있어서, 상기 데이터를 처리하는 과정은
    상기 확인된 AES 모드가 AES-CCM 모드일 때, CCM 포맷 및 패이딩을 수행하는 과정을 포함하는 것을 특징으로 하는 암호화 방법.
  10. 제4항에 있어서, 상기 데이터를 처리하는 과정은
    상기 확인된 AES 모드가 AES-CMAC 모드일 때, CMAC 서브키를 생성하는 과정을 포함하는 것을 특징으로 하는 암호화 방법.
KR1020090096257A 2009-10-09 2009-10-09 이동 통신 시스템에서 aes 알고리즘을 이용한 암호화 장치 및 방법 KR101614331B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090096257A KR101614331B1 (ko) 2009-10-09 2009-10-09 이동 통신 시스템에서 aes 알고리즘을 이용한 암호화 장치 및 방법
US12/900,842 US8908861B2 (en) 2009-10-09 2010-10-08 AES algorithm-based encryption apparatus and method for mobile communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090096257A KR101614331B1 (ko) 2009-10-09 2009-10-09 이동 통신 시스템에서 aes 알고리즘을 이용한 암호화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20110039009A KR20110039009A (ko) 2011-04-15
KR101614331B1 true KR101614331B1 (ko) 2016-04-21

Family

ID=43854848

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090096257A KR101614331B1 (ko) 2009-10-09 2009-10-09 이동 통신 시스템에서 aes 알고리즘을 이용한 암호화 장치 및 방법

Country Status (2)

Country Link
US (1) US8908861B2 (ko)
KR (1) KR101614331B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10594491B2 (en) * 2015-12-24 2020-03-17 Intel Corporation Cryptographic system memory management

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198531A1 (en) 2004-03-02 2005-09-08 Marufa Kaniz Two parallel engines for high speed transmit IPSEC processing
US20070192594A1 (en) 2005-01-11 2007-08-16 Ji-Cheol Lee Apparatus and method for ciphering/deciphering a signal in a communication system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060126847A1 (en) * 2004-11-12 2006-06-15 Jin-Meng Ho System and method for establishing secure communications between devices in distributed wireless networks
US8156318B2 (en) * 2008-06-04 2012-04-10 Intel Corporation Storing a device management encryption key in a network interface controller
US8284933B2 (en) * 2009-03-19 2012-10-09 Ca, Inc. Encrypting variable-length passwords to yield fixed-length encrypted passwords

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198531A1 (en) 2004-03-02 2005-09-08 Marufa Kaniz Two parallel engines for high speed transmit IPSEC processing
US20070192594A1 (en) 2005-01-11 2007-08-16 Ji-Cheol Lee Apparatus and method for ciphering/deciphering a signal in a communication system

Also Published As

Publication number Publication date
US8908861B2 (en) 2014-12-09
KR20110039009A (ko) 2011-04-15
US20110085660A1 (en) 2011-04-14

Similar Documents

Publication Publication Date Title
US8121284B2 (en) Information processing system, information processing method, and information processing program
JP5779434B2 (ja) セキュリティ装置及びセキュリティシステム
JP6138333B2 (ja) 鍵回復攻撃を妨害する対抗手段としての送信機および受信機のペアリングのためのマスタ鍵暗号化関数
US7978851B2 (en) Keystream encryption device, method, and program
US9515818B2 (en) Multi-block cryptographic operation
US20090279697A1 (en) Ciphertext key chaining
US20100111298A1 (en) Block cipher decryption apparatus and method
US10122690B2 (en) Data encryption and authentication using a mixing function in a communication system
CA2465270A1 (en) Secure communication with a keyboard or related device
US8699702B2 (en) Securing cryptographic process keys using internal structures
US9565018B2 (en) Protecting cryptographic operations using conjugacy class functions
KR101608815B1 (ko) 폐쇄형 네트워크에서 암복호화 서비스 제공 시스템 및 방법
JP2021114698A (ja) 通信データの暗号化方法、データ通信方法、および、データ通信システム
US9571273B2 (en) Method and system for the accelerated decryption of cryptographically protected user data units
WO2020078804A1 (en) Puf based securing of device update
US8804953B2 (en) Extensive ciphertext feedback
EP2717511A1 (en) Method and device for digital data blocks encryption and decryption
US8774402B2 (en) Encryption/decryption apparatus and method using AES rijndael algorithm
US9542537B2 (en) Method and system for confidentially providing software components
KR101614331B1 (ko) 이동 통신 시스템에서 aes 알고리즘을 이용한 암호화 장치 및 방법
JP6167721B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法及びプログラム
KR101934899B1 (ko) 인증 암호 장치 및 방법
JP2001177518A (ja) 暗号化方法、復号化方法及び装置
KR100933312B1 (ko) 데이터 암호화와 인증이 가능한 아리아 암호화 방법 및이를 수행하기 위한 시스템
CN111740818A (zh) 一种数据处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
LAPS Lapse due to unpaid annual fee