KR100546375B1 - 자체 오류 감지 기능을 강화한 상호 의존적 병렬 연산방식의 하드웨어 암호화 장치 및 그 하드웨어 암호화 방법 - Google Patents

자체 오류 감지 기능을 강화한 상호 의존적 병렬 연산방식의 하드웨어 암호화 장치 및 그 하드웨어 암호화 방법 Download PDF

Info

Publication number
KR100546375B1
KR100546375B1 KR1020030060204A KR20030060204A KR100546375B1 KR 100546375 B1 KR100546375 B1 KR 100546375B1 KR 1020030060204 A KR1020030060204 A KR 1020030060204A KR 20030060204 A KR20030060204 A KR 20030060204A KR 100546375 B1 KR100546375 B1 KR 100546375B1
Authority
KR
South Korea
Prior art keywords
ciphertext
cipher text
engine
final
encryption
Prior art date
Application number
KR1020030060204A
Other languages
English (en)
Other versions
KR20050022623A (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 KR1020030060204A priority Critical patent/KR100546375B1/ko
Priority to FR0409062A priority patent/FR2860364B1/fr
Priority to CN2004100682863A priority patent/CN1592190B/zh
Priority to DE102004042826A priority patent/DE102004042826B4/de
Priority to US10/928,404 priority patent/US7779272B2/en
Publication of KR20050022623A publication Critical patent/KR20050022623A/ko
Application granted granted Critical
Publication of KR100546375B1 publication Critical patent/KR100546375B1/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
    • 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/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • 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)
  • Storage Device Security (AREA)
  • Pinball Game Machines (AREA)

Abstract

자체 오류 감지 기능을 강화한 상호 의존적 병렬 연산 방식의 하드웨어 암호화 장치 및 그 하드웨어 암호화 방법이 개시된다. 상기 상호 의존적 병렬 연산 방식의 하드웨어 암호화 장치는, 2개 이상의 하드웨어 암호문 엔진을 사용하여 DES와 같은 대칭 알고리즘에 의한 병렬 암호화 연산을 수행하는 과정에서, 동일 위치에 동일한 오류가 발생하는 경우까지도 최종 암호화 결과를 출력하기 전에 그 오류를 감지하여 비밀 정보의 유출을 방지할 수 있다. 따라서, 오류 공격에 강하고, 그 암호화 연산을 2회 이상 반복 수행하지 않으므로 동작 스피드가 빠른 효과가 있다.

Description

자체 오류 감지 기능을 강화한 상호 의존적 병렬 연산 방식의 하드웨어 암호화 장치 및 그 하드웨어 암호화 방법{Interdependent parallel processing hardware cryptographic engine providing for enhanced self fault-detecting and hardware encryption processing method thereof}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 종래의 병렬 연산 방식의 하드웨어 암호화 장치의 일례를 나타내는 블록도이다.
도 2는 오류 공격에 의한 비밀 정보 유출을 설명하기 위한 도 1의 라운드 블록들 중 일부를 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 하드웨어 암호화 장치의 블록도이다.
도 4는 중간 암호문 입출력 관계를 설명하기 위한 도 3의 암호문 엔진들의 일부에 대한 구체적인 블록도이다.
도 5는 다른 중간 암호문 입출력 관계를 설명하기 위한 도 3의 암호문 엔진들의 일부에 대한 구체적인 블록도이다.
도 6은 또 다른 중간 암호문 입출력 관계를 설명하기 위한 도 3의 암호문 엔진들의 일부에 대한 구체적인 블록도이다.
도 7은 본 발명의 다른 실시예에 따른 하드웨어 암호화 장치의 블록도이다.
본 발명은 하드웨어 암호화 장치(cryptographic engine)에 관한 것으로, 특히 병렬 연산 방식의 하드웨어 암호화 장치에 관한 것이다.
오늘날 스마트 카드, IC 카드 등을 통한 통신이나 인터넷 통신, 무선 랜(LAN) 통신 등에서, 유저(user)가 전송하는 정보에는 보안이 유지되어야 하는 비빌 정보가 상당히 많이 존재한다. 따라서, 유저(user)가 전송할 비밀 정보를 암호문으로 만들어 전송함으로써, 비밀 정보가 해킹(hacking)에 의하여 유출되는 것을 방지하기 위하여 하드웨어 암호화 장치가 필요하다. 최근까지 암호 알고리즘 자체의 이론적 취약성에 따른 공격 방법이 이루어졌으나, 이와 같은 방법에서 실제 공격에는 암호 연산을 공격자가 마음대로 수행할 수 있어야 한다든지 임의의 평문과 키를 사용할 수 있다든지 하는 매우 제한적인 조건이 있었다. 그러나, 최근에는 이러한 이론적인 접근 방법이 아닌 키 관련된 연산에 의해 발생되는 전력 소모량의 차이, 연산 시간의 차이 등과 같은 정보를 이용한 공격 방법들이 나오고 있으며, 이와 같은 공격 방법들은 이론적 공격에 비해 매우 적은 시간과 노력으로 키를 획득할 수 있는 것으로 알려져 있다.
암호화 연산은 일반적으로 속도가 느리기 때문에, 스마트 카드와 같은 적용에서 하드웨어로 구현하는 경우가 많다. RSA, ECC등과 같은 공개키 알고리즘 뿐만 아니라 DES(Data Encryption Standard), AES(Advanced Encryption Standard)와 같은 대칭키 알고리즘도 하드웨어로 구현된다.
도 1은 종래의 병렬 연산 방식의 하드웨어 암호화 장치의 일례를 나타내는 블록도이다. 이와 같은 종래의 하드웨어 암호화 장치는 주로 서로 독립적으로 동작하는 2개의 암호문 엔진들(100, 200)이 병렬 연산 방식으로 암호화 처리하는 DES 알고리즘을 사용한다. 도 1을 참조하면, DES 방식의 하드웨어 암호화 장치는 전송 데이터(TXD)를 동일한 2개의 암호문으로 만드는 2개의 병렬 암호문 엔진들(100, 200)을 구비한다. 암호문 엔진들(100, 200) 각각은 16 라운드(round)에 걸쳐서 전송 데이터(TXD)를 암호문(CRYPTA)으로 만든다. 암호문(CRYPTA)을 생성하는 라운드 블록들(라운드1~라운드16) 각각은 소정 키(key)를 이용하여 DES 알고리즘에 따른 암호화 동작을 수행한다. 여기서 라운드 블록들(라운드1~라운드16) 각각에 사용되는 키들은 키 스케쥴이라는 별도의 키 생성 알고리즘을 통해 생성된다. 이때, 8바이트의 DES 키를 사용하면, 라운드1 ~ 라운드16까지의 키가 생성된다
보통 서로 다르지만, 이들은 모두 같을 수도 있고 그 중 일부는 비밀키이거나 공개키일 수 있다. 이와 같은 암호화 동작에 의하여 2개의 병렬 암호문 엔진들(100, 200) 각각에서 출력되는 암호문(CRYPTA)이 같으면, 그 암호문(CRYPTA)은 소정 송신 모듈(transmission module)을 통해 목적하는 상대방 노드(node)로 전송된다. 만일 위와 같은 암호화 동작 중에 오류(fault)가 발생하면 2개의 병렬 암호문 엔진들(100, 200) 각각에서 출력되는 암호문(CRYPTA)은 서로 다르게 되고, 이때에는 비밀 정보의 유출을 방지하기 위해 그 암호문(CRYPTA)이 상대방 노드(node)로 전송되지 않는다. 이와 같은 하드웨어 암호화 장치에 대하여 미국 특허, "US6,278,783"에 잘 나타나 있다.
도 2는 오류 공격에 의한 비밀 정보 유출을 설명하기 위한 도 1의 라운드 블록들 중 일부를 나타낸 도면이다. 도 2를 참조하면, 도 1의 제1 암호문 엔진(100) 및 제2 암호문 엔진(200) 각각에 구비되는 라운드 블록들(라운드1~라운드16) 각각은 암호화 수행부(120, 220)와 XOR(exclusive OR) 로직(110, 210)으로 구성된다. 이와 같이 구성되는 도 1의 제1 암호문 엔진(100) 및 제2 암호문 엔진(200) 각각이 16 라운드에 걸쳐서 전송 데이터(TXD)를 암호화한 결과, 동일한 암호문(CRYPTA)을 출력하면, 후속하는 회로는 오류가 없는 것으로 판단된 암호문(CRYPTA)을 상대방 노드로 전송한다. 이때, 암호화 동작 중에 기계적인 오류가 자연적 또는 비자연적으로 발생하였다면, 2개의 병렬 암호문 엔진들(100, 200) 각각에서 출력되는 암호문(CRYPTA)은 서로 다르게 되고, 이때에는 비밀 정보의 유출을 방지하기 위해 그 암호문(CRYPTA)이 상대방 노드(node)로 전송되지 않는다. 그런데, 도 1과 같은 종래의 하드웨어 암호화 장치에서는, 도 2와 같은 구조를 가지는 라운드 블록의 좌우, 즉, 제1 암호문 엔진(100) 및 제2 암호문 엔진(200) 각각의 동일한 위치에 오류가 발생한 경우(좌우에서 원래 암호문 A가 오류에 의하여 A'로 변형됨)에도 2개의 병렬 암호문 엔진들(100, 200) 각각에서 출력되는 암호문(CRYPTA)이 일치하므로, 그 암호문(CRYPTA)이 상대방 노드(node)로 전송되고, 이에 따라 비밀 정보가 유출되는 사태가 발생한다. 하드웨어 암호화 장치에 가해진 기계적 오류가 해커(hacker)에 의하여 무단 발생된 것이라면, 이에 따라 해커는 오류가 있는 암호 문(CRYPTA)을 분석하여 알고리즘에 사용된 키를 알아 낼 수 있기 때문이다.
이와 같은 해커의 오류 공격(fault attack) 가능성에 대한 이론적 연구가 꾸준히 진행되어 오고 있으며, 실제로 인피니온(INPINEON) 사에서는 최근에 이러한 사례를 발표한 바 있다. 이와 같은 오류 공격 중에 DFA(Differential Fault Attack)가 있으며, 이러한 DFA는 DES와 같은 대칭 알고리즘에서 오류가 있는 암호문(fault message)을 통하여 키를 획득하려는 해커에 의하여 비밀 정보 습득 수단으로 악용된다.
이와 같은 DFA에 의한 비밀 정보의 유출을 막기 위하여, 동일한 암호화 연산을 2회 수행하고, 그 2회 결과 값들이 동일한지 비교하여, 서로 다른 값이 나오면 재 연산을 수행하도록 함으로써, 오류를 방지할 수 있다. 이는 미국 특허, "US6,108,419" (Differential fault analysis hardening apparatus and evaluation method)에 잘 나타나 있다. 또한, 통신로를 통해 입력받은 암호문을 저장하고 복호화 한 다음, 복호화한 데이터를 다시 암호화하여 통신로를 통해 입력받은 암호문과 서로 일치하는지를 비교하는 방식이 있다. 이는 유럽 특허, "EP1237322"(Fault detection method for cryptographic process)에 잘 나타나 있다. 그러나, 이와 같이 2회의 연산 결과를 비교하는 종래의 방식은 연산 시간이 두 배 이상 소요되므로 시스템의 동작 스피드를 저하시키는 문제점이 있다.
따라서, 본 발명이 이루고자하는 기술적 과제는, 2개 이상의 하드웨어 암호문 엔진을 사용하는 DES와 같은 대칭 알고리즘을 이용하여 병렬 암호화 연산을 수 행하는 과정에서, 동일 위치에 동일한 오류가 발생하는 경우까지도 최종 암호화 결과를 출력하기 전에 그 오류를 감지하여 비밀 정보의 유출을 방지하므로 오류 공격에 강하고, 그 암호화 연산을 2회 이상 반복 수행하지 않으므로 동작 스피드가 빠른, 상호 의존적 병렬 연산 방식의 하드웨어 암호화 장치를 제공하는 데 있다.
본 발명이 이루고자하는 다른 기술적 과제는, 2개 이상의 하드웨어 암호문 엔진을 사용하는 DES와 같은 대칭 알고리즘을 이용하여 병렬 암호화 연산을 수행하는 과정에서, 동일 위치에 동일한 오류가 발생하는 경우까지도 최종 암호화 결과를 출력하기 전에 그 오류를 감지하여 비밀 정보의 유출을 방지하므로 오류 공격에 강하고, 그 암호화 연산을 2회 이상 반복 수행하지 않으므로 동작 스피드가 빠른, 상호 의존적 병렬 연산 방식의 하드웨어 암호화 방법을 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 하드웨어 암호화 장치는, 전송 입력 정보에 대하여 암호화 연산에 의하여 중간 암호문들 각각을 생성하는 2개 이상의 암호문 엔진들 각각이, 이웃하는 암호문 엔진으로부터 출력된 중간 암호문을 입력받아 자체의 중간 암호문을 생성하고, 상기 중간 암호문들 각각이 동일할 경우에만, 최종 암호문을 출력하는 것을 특징으로 하는 하드웨어 암호화 장치로서, 제1 암호문 엔진, 제2 암호문 엔진, 비교부, 및 암호화 데이터 출력부를 구비한다.
상기 제1 암호문 엔진은 전송 입력 정보에 대하여 암호화 연산을 수행하는 과정에서, 제2 암호문 엔진으로부터 출력된 제2 중간 암호문을 입력받아 자체의 제1 중간 암호문을 생성하고, 상기 제1 중간 암호문을 이용하여 제1 최종 암호문을 생성하여 출력한다. 상기 제2 암호문 엔진은 암호화 연산에 의하여 상기 제2 중간 암호문을 출력하고, 상기 제2 중간 암호문을 이용하여 제2 최종 암호문을 생성하여 출력한다. 상기 비교부는 상기 제1 최종 암호문 및 상기 제2 최종 암호문이 동일한가 또는 동일하지 않은가에 따라 서로 다른 논리 상태를 가지는 출력 제어 신호를 발생시켜 출력한다. 상기 암호화 데이터 출력부는 상기 출력 제어 신호의 논리 상태에 응답하여, 상기 제1 최종 암호문과 상기 제2 최종 암호문이 동일할 경우에만, 최종 암호문을 출력한다.
상기 제2 암호문 엔진도, 상기 제1 암호문 엔진으로부터 출력된 상기 제1 중간 암호문을 입력받아 상기 제2 중간 암호문을 생성하는 것을 특징으로 한다. 상기 제1 암호문 엔진 및 상기 제2 암호문 엔진 각각은, 다수개의 라운드 블록들로 구성되고, 상기 제1 암호문 엔진의 라운드 블록들 각각은 상기 제1 중간 암호문을 생성하고, 상기 제2 암호문 엔진의 라운드 블록들 각각은 상기 제2 중간 암호문을 생성하며, 상기 제1 중간 암호문, 및 상기 제2 중간 암호문을 입력으로 하는 로직회로를 구비한다. 상기 제1 중간 암호문 및 상기 제2 중간 암호문은, 오류가 발생하지 않은 경우라면 동일한 것을 특징으로 한다. 상기 로직회로는, 상기 제2 암호문 엔진에서 상기 제2 중간 암호문과 동일한 다른 중간 암호문들, 및 상기 제1 암호문 엔진에서 상기 제1 중간 암호문과 동일한 다른 중간 암호문들을 더 입력으로 하는 것을 특징으로 한다. 상기 로직회로는, 입력되는 중간 암호문들의 개수가 홀수인 것을 특징으로 한다. 상기 로직회로는, 상기 라운드 블록마다 구비되는 것을 특징 으로 한다. 상기 로직회로는, 이웃하는 두 개의 암호문 엔진들 각각의 라운드 블록들에, 최소한 한 번 이상 구비되는 것을 특징으로 한다.
상기의 다른 기술적 과제를 달성하기 위한 본 발명에 따른 다른 하드웨어 암호화 방법은, 전송 입력 정보에 대하여 암호화 연산을 수행하는 과정에서, 제2 중간 암호문을 입력받아 자체의 제1 중간 암호문을 생성하고, 상기 제1 중간 암호문을 이용하여 제1 최종 암호문을 생성하여 출력하는 제1 암호화 단계; 암호화 연산에 의하여 상기 제2 중간 암호문을 출력하고, 상기 제2 중간 암호문을 이용하여 제2 최종 암호문을 생성하여 출력하는 제2 암호화 단계; 상기 제1 최종 암호문 및 상기 제2 최종 암호문이 동일한가 또는 동일하지 않은가에 따라 서로 다른 논리 상태를 가지는 출력 제어 신호를 발생시켜 출력하는 비교 단계; 및 상기 출력 제어 신호의 액티브 상태에 응답하여, 상기 제1 최종 암호문과 상기 제2 최종 암호문이 동일할 경우에만, 최종 암호문을 출력하는 암호화 데이터 출력 단계를 구비하는 것을 특징으로 한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 3은 본 발명의 일실시예에 따른 하드웨어 암호화 장치의 블록도이다.
도 3을 참조하면, 본 발명의 일실시예에 따른 하드웨어 암호화 장치는, 제1 암호문 엔진(310), 제2 암호문 엔진(320), 비교부(330), 및 암호화 데이터 출력부(340)를 구비한다.
상기 제1 암호문 엔진(310)은 전송 입력 정보(TXD)에 대하여 암호화 연산을 수행하는 과정에서, 제2 암호문 엔진(320)으로부터 제2 중간 암호문을 입력받아 제1 중간 암호문을 생성하고, 상기 제1 중간 암호문을 이용하여 제1 최종 암호문(CRYPTA)을 생성하여 출력한다.
상기 제2 암호문 엔진(320)은 상기 전송 입력 정보(TXD)에 대하여 암호화 연산을 수행하여, 각 라운드에서 생성된 제2 중간 암호문을 상기 제1 암호문 엔진(310)으로 입력하고, 또한, 다음 라운드로 입력하여 제2 최종 암호문(CRYPTB)을 생성하여 출력한다.
상기 비교부(330)는 상기 제1 최종 암호문(CRYPTA) 및 상기 제2 최종 암호문(CRYPTB)이 동일한가 또는 동일하지 않은가에 따라 서로 다른 논리 상태를 가지는 출력 제어 신호(SAMD)를 발생시켜 출력한다.
상기 암호화 데이터 출력부(340)는 상기 출력 제어 신호(SAMD)의 논리 상태에 응답하여, 상기 제1 최종 암호문(CRYPTA)과 상기 제2 최종 암호문(CRYPTB)이 동일할 경우에만, 최종 암호문(CRYPTD)을 출력한다. 예를 들어, 상기 출력 제어 신호(SAMD)의 액티브 상태(예를 들어, 로직 하이 상태)에 응답하여, 상기 암호화 데이터 출력부(340)는 상기 최종 암호문(CRYPTD)을 출력한다. 도 3에서는 편의상 제 2 암호문 엔진의 각 라운드에서 출력된 중간 암호문이 제 1 암호문 엔진의 해당 라운드로 입력되는 것으로 도시되어 있으나 실제로는 다양하게 변형될 수 있다.
도 4는 중간 암호문 입출력 관계를 설명하기 위한 도 3의 암호문 엔진들의 일부에 대한 구체적인 블록도이다. 도 4에서, 좌측에는 도 3의 제1 암호문 엔진(310)에 구비되는 라운드 블록들이 반복적으로 도시되어 있고, 우측에는 도 3의 제2 암호문 엔진(320)에 구비되는 라운드 블록들이 반복적으로 도시되어 있다. 예를 들어, 도 4에서 제1 XOR 로직(318), 제2 XOR 로직(319), 및 제1 암호화 수행부(313)가 제1 암호문 엔진(310)에서 하나의 라운드 블록을 구성하고, 제3 XOR 로직(328), 및 제2 암호화 수행부(323)가 제2 암호문 엔진(320)에서 하나의 라운드 블록을 구성한다. 이러한 라운드 블록들 각각은 보통 암호문 엔진들 각각에서 반복적으로 구비되지만, 설계자에 따라서 다르게 설계되는 것도 가능하다. 보통 DES 알고리즘 구조에서 라운드 블록들은 16 라운드에 걸쳐 반복적으로 암호화 동작을 수행하고, 도 4에서 F로 표시된 암호화 수행부들(313, 323 등)은 이러한 DES 알고리즘에 따른 소정 키를 입력받아 데이터를 암호화하여 출력한다. 도 4에 도시된 바와 같이, 제1 암호문 엔진(310)에는 제2 암호문 엔진(320)과는 달리, 라운드 블록에 하나의 XOR 로직(예를 들어, 316)이 더 추가되지만, 이것은 본 발명에 따른 오류 감지 기능을 강화하기 위하여 마련된 것으로서, 아래에서 기술하는 바와 같이, 제1 암호문 엔진(310)에 추가된 XOR 로직(예를 들어, 318)과 상관없이, 제1 암호문 엔진(310)과 상기 제2 암호문 엔진(320) 각각은 정상적인 경우라면(즉, 오류가 없는 경우)같은 로직 위치에서 대칭적으로 동일한 값을 가지는 연산을 수행하여 제1 최종 암호문(CRYPTA) 및 제2 최종 암호문(CRYPTB)을 생성하여 출력한다.
이와 같이, 상기 제1 암호문 엔진(310)은 다수개의 라운드 블록들을 구비한다. 상기 제1 암호문 엔진(310)의 다수개의 라운드 블록들은 상기 제2 암호문 엔진(320)의 제2 중간 암호문(예를 들어, C) 이외에, 상기 제1 암호문 엔진(310) 자체에서 상기 제2 중간 암호문(C)과 동일한 암호문을 가지는 다른 제1 중간 암호문들(예를 들어, A 및 B)을 더 취하여, 상기 제2 중간 암호문(C)을 포함하는 3개 이상 홀수개의 동일한 중간 암호문들을 XOR 로직(예를 들어, 318) 입력으로 한다. 이에 따라 상기 XOR 로직(예를 들어, 318) 출력(D)은 정상적인 경우라면(즉, 오류가 없는 경우) 상기 제2 중간 암호문(C)과 로직 연산 위치가 동일하고 그 암호문도 동일하다. 예를 들어, 도 4에서, 상기 제2 중간 암호문(예를 들어, C)에 오류가 없을 경우, C 와 상기 XOR 로직(예를 들어, 318) 출력(D) 동일하다. 왜냐하면, 3개 이상 홀수개의 동일한 중간 암호문들을 XOR 로직(예를 들어, 318) 입력으로 하는 경우에, [수학식 1]과 같은 관계가 성립하기 때문이다. [수학식 1]에서 m은 중간 암호문의 디지털 데이터 값이고,
Figure 112003032250278-pat00001
은 XOR 로직 연산자이다. 결국, 위의 예에서, A, B, C, D는 모두 같은 로직 연산 위치에 있고, 오류가 없는 한 동일한 암호문들이다.
Figure 112003032250278-pat00002
이와 같이, 상기 3개 이상 홀수개의 동일한 중간 암호문들을 입력받는 XOR 로직(예를 들어, 318)은, 상기 라운드 블록들마다 구비될 수 있지만, 설계자에 따라서는 목적과 회로의 복잡도를 상호 고려하여 최소한 한 번 이상 구비되도록 설계 될 수 있다.
이에 따라, 제2 암호문 엔진(320)으로부터 상기 제2 중간 암호문을 입력받는 제1 암호문 엔진(310)은, 상기 제2 중간 암호문의 로직 연산 위치에서 오류 발생 시, 상기 제1 암호문 엔진(310)에서 상기 로직 연산 위치와 동일한 위치에 오류가 발생하여도, 상기 제2 암호문 엔진(320)과 서로 다른 최종 암호문(CRYPTA)을 출력한다. 즉, 이때에는 제1 암호문 엔진(310)의 최종 암호문(CRYPTA)과 제2 암호문 엔진(320)의 최종 암호문(CRYPTB)은 서로 다르다. 예를 들어, 도 4에서, 제2 중간 암호문 C와 같은 로직 연산 위치에 해당하는 제1 중간 암호문 A 모두, 동일한 위치에서 오류가 발생하여 그 위치들에서 암호문 m이 m'로 바뀌었다면, D는 [수학식 2]와 같이 원래의 암호문 m을 유지하지만, C는 m'이다. 따라서, 제1 암호문 엔진(310)에서 중간 암호문 m으로 후속 암호화하여 출력하는 제1 최종 암호문(CRYPTA)과 제2 암호문 엔진(320)에서 중간 암호문 m'으로 후속 암호화하여 출력하는 제2 최종 암호문(CRYPTB)은 서로 다르게 되어, 오류가 발생했음을 알 수 있다.
Figure 112003032250278-pat00003
도 5는 다른 중간 암호문 관계를 설명하기 위한 도 3의 암호문 엔진들의 일부에 대한 구체적인 블록도이다. 도 5를 참조하면, 제2 암호문 엔진(320)의 제2 중간 암호문(예를 들어, D5) 이외에, 상기 제1 암호문 엔진(310) 자체에서 상기 중간 암호문과 동일한 다른 제1 중간 암호문들(예를 들어, D1~D4)을 더 취하여, XOR 로직(예를 들어, 511) 입력으로 하는 경우가 도시되어 있다. 이와 같이 5개의 동일한 중간 암호문들을 XOR 로직(예를 들어, 511) 입력으로 하는 경우에, [수학식 3]과 같은 관계가 성립한다.
Figure 112003032250278-pat00004
위에서 기술한 바와 같이, 상기 제2 암호문 엔진(320)도 다수개의 라운드 블록들을 구비한다. 상기 제2 암호문 엔진(320)에 구비되는 상기 다수개의 라운드 블록들 각각은 제2 중간 암호문을 출력한다.
도 6은 또 다른 중간 암호문 관계를 설명하기 위한 도 3의 암호문 엔진들의 일부에 대한 구체적인 블록도이다.
도 6을 참조하면, 도 3의 제2 암호문 엔진(320)도, 전송 입력 정보(TXD)에 대하여 암호화 연산을 수행하는 과정에서, 상기 제1 암호문 엔진(310)으로부터 제1중간 암호문(예를 들어, F2)을 입력받아 제2 중간 암호문(F4)을 생성하고, 상기 제2 중간 암호문(F4)을 이용하여 상기 제2 최종 암호문(CRYPTB)을 생성하여 출력할 수 있다. 이때, 상기 제1 중간 암호문(예를 들어, F2) 이외에, 자체에서 상기 제1 중간 암호문(F2)과 동일한 암호문을 가지는 제2 중간 암호문들(예를 들어, F1 및 F3)을 더 취한 3개 이상 홀수개의 동일한 중간 암호문들을 XOR 로직(641) 입력한다. 이에 따라 상기 XOR 로직(641) 출력(F4)은 상기 제1 중간 암호문(F2)과 로직 연산 위치가 동일하고 그 암호문도 동일하다.
도 7은 본 발명의 다른 실시예에 따른 하드웨어 암호화 장치의 블록도이다.
도 7을 참조하면, 본 발명의 다른 실시예에 따른 하드웨어 암호화 장치는, 다수개의 암호문 엔진들(710~730), 비교부(740), 및 암호화 데이터 출력부(750)를 구비한다. 상기 암호문 엔진들(710~730) 각각은, 도 4내지 도 6과 같은 구조를 가지는 다수개의 라운드 블록들을 구비한다.
상기 다수개의 암호문 엔진들(710~730)은 각각에서 전송 입력 정보(TXD)에 대하여 암호화 연산을 수행하는 과정에서, 다른 엔진으로부터 중간 암호문을 입력받아 처리하여 상기 다른 엔진과 로직 연산 위치가 동일하고 그 암호문도 동일한 중간 암호문을 생성하고, 그와 같이 생성된 상기 중간 암호문을 이용하여 대칭적으로 동일한 값을 가지는 연산으로 최종 암호문들(CRYPT1~CRYPTN)을 생성하여 출력한다. 여기서, 상기 암호문 엔진들(710~730) 각각에 구비되는 라운드 블록들은, 상기 다른 엔진의 중간 암호문 이외에 상기 중간 암호문과 동일한 암호문을 가지는 다른 중간 암호문들을 더 취하여, 상기 다른 엔진에서 취해진 상기 중간 암호문을 포함하는 3개 이상 홀수개의 동일한 중간 암호문들을 XOR 로직 입력으로 하고, 이에 따라 상기 XOR 로직 출력은 상기 다른 엔진의 상기 중간 암호문과 로직 연산 위치가 동일하고 그 암호문도 동일하다. 여기서, 상기 3개 이상 홀수개의 동일한 중간 암호문들을 입력받는 XOR 로직은, 상기 라운드 블록들마다 구비될 수 있다. 또는 상기 3개 이상 홀수개의 동일한 중간 암호문들을 입력받는 XOR 로직은, 이웃하는 두 개의 암호문 엔진들 각각의 라운드 블록들에, 최소한 한 번 이상 구비될 수 있다.
상기 비교부(740)는 상기 최종 암호문들 모두가 동일한가 또는 동일하지 않은가에 따라 서로 다른 논리 상태를 가지는 출력 제어 신호(SAMD)를 발생시켜 출력한다.
상기 암호화 데이터 출력부(750)는 상기 출력 제어 신호(SAMD)의 논리 상태에 응답하여, 상기 최종 암호문들(CRYPT1~CRYPTN)이 동일할 경우에만, 상기 최종 암호문들(CRYPT1~CRYPTN) 중 어느 하나를 정상적인 최종 암호문(CRYPTD)으로서 출력한다. 예를 들어, 상기 출력 제어 신호(SAMD)의 액티브 상태에 응답하여, 상기 암호화 데이터 출력부(750)는 상기 최종 암호문들(CRYPT1~CRYPTN) 중 어느 하나를 출력한다.
따라서, 도 7과 같은 하드웨어 암호화 장치에서도, 다른 엔진으로부터 상기 중간 암호문을 입력받는 엔진은, 상기 다른 엔진의 상기 중간 암호문의 로직 연산 위치에서 오류 발생 시, 상기 로직 연산 위치와 동일한 위치에 오류가 발생하여도, 상기 다른 엔진과 서로 다른 최종 암호문을 출력한다.
위에서 기술한 바와 같이, 본 발명의 일실시예에 따른 하드웨어 암호화 장치는, 다수개의 암호문 엔진들(710~730) 각각이, 다른 엔진에서 취해진 중간 암호문을 포함하는 3개 이상 홀수개의 동일한 중간 암호문들을 XOR 로직 입력으로 하고, 상기 XOR 로직 출력이 상기 다른 엔진의 상기 중간 암호문과 로직 연산 위치가 동일하고 그 암호문도 동일한 중간 암호문이 되는 다수개의 라운드 블록들을 구비한다. 따라서, 다수개의 암호문 엔진들(710~730)의 동일 위치에 동일한 오류가 발생하는 경우까지도 최종 암호화 결과를 출력하기 전에 그 오류를 감지할 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사 용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 상호 의존적 병렬 연산 방식의 하드웨어 암호화 장치는, 2개 이상의 하드웨어 암호문 엔진을 사용하여 DES와 같은 대칭 알고리즘에 의한 병렬 암호화 연산을 수행하는 과정에서, 동일 위치에 동일한 오류가 발생하는 경우까지도 최종 암호화 결과를 출력하기 전에 그 오류를 감지하여 비밀 정보의 유출을 방지할 수 있다. 따라서, 오류 공격에 강하고, 그 암호화 연산을 2회 이상 반복 수행하지 않으므로 동작 스피드가 빠른 효과가 있다.

Claims (20)

  1. 전송 입력 정보에 대하여 암호화 연산에 의하여 중간 암호문들을 생성하는 2개 이상의 암호문 엔진들을 구비하고,
    상기 각각의 암호화 엔진은, 이웃하는 암호문 엔진으로부터 출력되는 중간 암호문에 응답하여 자체의 중간 암호문을 생성하고, 상기 중간 암호문들 각각이 동일할 경우에만 최종 암호문을 출력하는 것을 특징으로 하는 하드웨어 암호화 장치.
  2. 제 1항에 있어서, 상기 중간 암호문들은,
    오류가 발생하지 않은 경우라면 동일한 것을 특징으로 하는 하드웨어 암호화 장치.
  3. 전송 입력 정보에 대하여 암호화 연산을 수행하는 과정에서, 제2 암호문 엔진으로부터 출력된 제2 중간 암호문에 응답하여 자체의 제1 중간 암호문을 생성하고, 상기 제1 중간 암호문에 응답하여 제1 최종 암호문을 생성하여 출력하는 제1 암호문 엔진;
    암호화 연산에 의하여 상기 제2 중간 암호문을 출력하고, 상기 제2 중간 암호문에 응답하여 제2 최종 암호문을 생성하여 출력하는 제2 암호문 엔진;
    상기 제1 최종 암호문 및 상기 제2 최종 암호문이 동일한가 또는 동일하지 않은가에 따라 서로 다른 논리 상태를 가지는 출력 제어 신호를 발생시켜 출력하는 비교부; 및
    상기 출력 제어 신호의 논리 상태에 응답하여, 상기 제1 최종 암호문과 상기 제2 최종 암호문이 동일할 경우에만, 최종 암호문을 출력하는 암호화 데이터 출력부를 구비하는 것을 특징으로 하는 하드웨어 암호화 장치.
  4. 제 3항에 있어서, 상기 제2 암호문 엔진은,
    상기 제1 암호문 엔진으로부터 출력된 상기 제1 중간 암호문에 응답하여, 상기 제2 중간 암호문을 생성하는 것을 특징으로 하는 하드웨어 암호화 장치.
  5. 제 4항에 있어서, 상기 제1 암호문 엔진 및 상기 제2 암호문 엔진 각각은,
    다수개의 라운드 블록들로 구성되고, 상기 제1 암호문 엔진의 라운드 블록들 각각은 상기 제1 중간 암호문을 생성하고, 상기 제2 암호문 엔진의 라운드 블록들 각각은 상기 제2 중간 암호문을 생성하며,
    상기 제1 중간 암호문, 및 상기 제2 중간 암호문을 입력으로 하는 로직회로를 구비하는 것을 특징으로 하는 하드웨어 암호화 장치.
  6. 제 5항에 있어서, 상기 제1 중간 암호문 및 상기 제2 중간 암호문은,
    오류가 발생하지 않은 경우라면, 서로 동일한 것을 특징으로 하는 하드웨어 암호화 장치.
  7. 제 5항에 있어서, 상기 로직회로는,
    상기 제2 암호문 엔진에서 상기 제2 중간 암호문과 동일한 다른 중간 암호문들, 및 상기 제1 암호문 엔진에서 상기 제1 중간 암호문과 동일한 다른 중간 암호문들을 더 입력으로 하는 것을 특징으로 하는 하드웨어 암호화 장치.
  8. 제 5항에 있어서, 상기 로직회로는,
    입력되는 중간 암호문들의 개수가 홀수인 것을 특징으로 하는 하드웨어 암호화 장치.
  9. 제 5항에 있어서, 상기 로직회로는,
    상기 라운드 블록마다 구비되는 것을 특징으로 하는 하드웨어 암호화 장치.
  10. 제 5항에 있어서, 상기 로직회로는,
    이웃하는 두 개의 암호문 엔진들 각각의 라운드 블록들에, 최소한 한 번 이상 구비되는 것을 특징으로 하는 하드웨어 암호화 장치.
  11. 전송 입력 정보에 대하여 암호화 연산에 의하여 중간 암호문들을 생성하는 2개 이상의 암호문 엔진들 각각이,
    이웃하는 암호문 엔진으로부터 출력된 중간 암호문에 응답하여 자체의 중간 암호문을 생성하고, 상기 중간 암호문들 각각이 동일할 경우에만 최종 암호문을 출력하는 것을 특징으로 하는 하드웨어 암호화 방법.
  12. 제 11항에 있어서, 상기 중간 암호문들은,
    오류가 발생하지 않은 경우라면 동일한 것을 특징으로 하는 하드웨어 암호화 방법.
  13. 전송 입력 정보에 대하여 암호화 연산을 수행하는 과정에서, 제2 중간 암호문에 응답하여 자체의 제1 중간 암호문을 생성하고, 상기 제1 중간 암호문에 응답하여 제1 최종 암호문을 생성하여 출력하는 제1 암호화 단계;
    암호화 연산에 의하여 상기 제2 중간 암호문을 출력하고, 상기 제2 중간 암호문에 응답하여 제2 최종 암호문을 생성하여 출력하는 제2 암호화 단계;
    상기 제1 최종 암호문 및 상기 제2 최종 암호문이 동일한가 또는 동일하지 않은가에 따라 서로 다른 논리 상태를 가지는 출력 제어 신호를 발생시켜 출력하는 비교 단계; 및
    상기 출력 제어 신호의 액티브 상태에 응답하여, 상기 제1 최종 암호문과 상기 제2 최종 암호문이 동일할 경우에만, 최종 암호문을 출력하는 암호화 데이터 출력 단계를 구비하는 것을 특징으로 하는 하드웨어 암호화 방법.
  14. 제 13항에 있어서, 상기 제2 암호화 단계도,
    상기 제1 중간 암호문에 응답하여 상기 제2 중간 암호문을 생성하는 것을 특징으로 하는 하드웨어 암호화 방법.
  15. 제 14항에 있어서, 상기 제1 암호화 단계 및 상기 제2 암호화 단계 각각은,
    상기 제1 중간 암호문을 생성하는 제1 암호문 엔진에 포함된 다수개의 라운드 블록들 및 상기 제2 중간 암호문을 생성하는 제2 암호문 엔진에 포함된 다수개의 라운드 블록들에서 수행되고,
    상기 제1 암호문 엔진 및 상기 제2 암호문 엔진 각각은,
    상기 제1 중간 암호문, 및 제2 중간 암호문을 입력으로 하는 로직을 이용하는 것을 특징으로 하는 하드웨어 암호화 방법.
  16. 제 15항에 있어서, 상기 제1 중간 암호문 및 상기 제2 중간 암호문은,
    오류가 발생하지 않은 경우라면 서로 동일한 것을 특징으로 하는 하드웨어 암호화 방법.
  17. 제 15항에 있어서, 상기 로직은,
    상기 제2 암호문 엔진에서 상기 제2 중간 암호문과 동일한 다른 중간 암호문들, 및 상기 제1 암호문 엔진에서 상기 제1 중간 암호문과 동일한 다른 중간 암호문들을 더 입력으로 하는 것을 특징으로 하는 하드웨어 암호화 방법.
  18. 제 15항에 있어서, 상기 로직은,
    입력되는 중간 암호문들의 개수가 홀수인 것을 특징으로 하는 하드웨어 암호화 방법.
  19. 제 15항에 있어서, 상기 로직은,
    상기 라운드 블록마다 이용되는 것을 특징으로 하는 하드웨어 암호화 방법.
  20. 제 15항에 있어서, 상기 로직은,
    이웃하는 두 개의 암호문 엔진들 각각의 라운드 블록들에서, 최소한 한 번 이상 이용되는 것을 특징으로 하는 하드웨어 암호화 방법.
KR1020030060204A 2003-08-29 2003-08-29 자체 오류 감지 기능을 강화한 상호 의존적 병렬 연산방식의 하드웨어 암호화 장치 및 그 하드웨어 암호화 방법 KR100546375B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020030060204A KR100546375B1 (ko) 2003-08-29 2003-08-29 자체 오류 감지 기능을 강화한 상호 의존적 병렬 연산방식의 하드웨어 암호화 장치 및 그 하드웨어 암호화 방법
FR0409062A FR2860364B1 (fr) 2003-08-29 2004-08-24 Moteur cryptographique materiel et procede de chiffrement de donnees
CN2004100682863A CN1592190B (zh) 2003-08-29 2004-08-27 硬件加密引擎和加密方法
DE102004042826A DE102004042826B4 (de) 2003-08-29 2004-08-27 Verfahren und Vorrichtung zur Datenverschlüsselung
US10/928,404 US7779272B2 (en) 2003-08-29 2004-08-30 Hardware cryptographic engine and encryption method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030060204A KR100546375B1 (ko) 2003-08-29 2003-08-29 자체 오류 감지 기능을 강화한 상호 의존적 병렬 연산방식의 하드웨어 암호화 장치 및 그 하드웨어 암호화 방법

Publications (2)

Publication Number Publication Date
KR20050022623A KR20050022623A (ko) 2005-03-08
KR100546375B1 true KR100546375B1 (ko) 2006-01-26

Family

ID=34214745

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030060204A KR100546375B1 (ko) 2003-08-29 2003-08-29 자체 오류 감지 기능을 강화한 상호 의존적 병렬 연산방식의 하드웨어 암호화 장치 및 그 하드웨어 암호화 방법

Country Status (5)

Country Link
US (1) US7779272B2 (ko)
KR (1) KR100546375B1 (ko)
CN (1) CN1592190B (ko)
DE (1) DE102004042826B4 (ko)
FR (1) FR2860364B1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050087271A (ko) * 2004-02-26 2005-08-31 삼성전자주식회사 가변 키 길이를 가지는 초기 라운드 키에 대응하는 암호라운드 키와 복호 라운드 키를 선택적으로 발생하는 키스케쥴 장치
DE102004062825B4 (de) * 2004-12-27 2006-11-23 Infineon Technologies Ag Kryptographische Einheit und Verfahren zum Betreiben einer kryptographischen Einheit
US20070028088A1 (en) * 2005-08-01 2007-02-01 Coskun Bayrak Polymorphic encryption method and system
KR100658990B1 (ko) * 2005-08-10 2006-12-21 주식회사 이노라임 다중 세션을 통한 일괄 암호화 처리를 하는 방법 및 장치
DE102006036165B3 (de) * 2006-08-01 2008-06-26 Nec Europe Ltd. Verfahren zur Etablierung eines geheimen Schlüssels zwischen zwei Knoten in einem Kommunikationsnetzwerk
US8826011B2 (en) * 2008-05-29 2014-09-02 Lg Electronics Inc. Method of encrypting control signaling
JP2012519414A (ja) * 2009-02-26 2012-08-23 エルエスアイ コーポレーション 暗号化ハードウェアサービスのための暗号独立型のインターフェース
EP2367316B1 (en) * 2010-03-12 2017-07-05 STMicroelectronics (Rousset) SAS Method and circuitry for detecting a fault attack
CN101908963B (zh) * 2010-08-09 2012-02-22 飞天诚信科技股份有限公司 一种摘要引擎的实现方法
CN102055759B (zh) * 2010-06-30 2013-06-19 飞天诚信科技股份有限公司 一种硬件引擎的实现方法
CN101820342B (zh) * 2010-03-31 2012-02-15 飞天诚信科技股份有限公司 硬件加密引擎的实现方法
US8683275B2 (en) 2011-11-16 2014-03-25 International Business Machines Corporation Controlling IPSec offload enablement during hardware failures
JP6502945B2 (ja) * 2013-12-20 2019-04-17 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 安全なデータ変換
CN106919810B (zh) * 2017-02-22 2020-04-07 广州广电运通金融电子股份有限公司 注册码生成方法及装置、软件注册方法及装置
CN107220551B (zh) * 2017-04-21 2020-12-25 上海海加网络科技有限公司 一种基于双卡校验的多线程组加解密调度方法及***
CN109361507B (zh) * 2018-10-11 2021-11-02 杭州华澜微电子股份有限公司 一种数据加密方法及加密设备
US11909857B2 (en) * 2019-12-23 2024-02-20 Intel Corporation Functionally safe encryption for vehicle to anything communication

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US627878A (en) * 1898-09-29 1899-06-27 Cullin W Reed Reversible plow.
NL8203737A (nl) * 1982-09-27 1984-04-16 Nederlanden Staat Inrichting voor vercijfering van digitale signalen met een of meer des-schakelingen.
US6108419A (en) * 1998-01-27 2000-08-22 Motorola, Inc. Differential fault analysis hardening apparatus and evaluation method
JP2002519722A (ja) * 1998-06-03 2002-07-02 クリプターグラフィー リサーチ インコーポレイテッド スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス
US20010031050A1 (en) * 2000-02-14 2001-10-18 Lateca Computer Inc. N.V. Key generator
US7685423B1 (en) * 2000-02-15 2010-03-23 Silverbrook Research Pty Ltd Validation protocol and system
US7142671B2 (en) * 2000-12-13 2006-11-28 Broadcom Corporation Methods and apparatus for implementing a cryptography engine
JP2002261751A (ja) 2001-03-02 2002-09-13 Hitachi Ltd 暗号処理方法
US7318160B2 (en) * 2002-02-01 2008-01-08 Hewlett-Packard Development Company, L.P. Cryptographic key setup in queued cryptographic systems
FR2838262B1 (fr) * 2002-04-08 2004-07-30 Oberthur Card Syst Sa Procede de securisation d'une electronique a acces crypte
EP1387519A3 (fr) * 2002-07-09 2004-02-18 Cp8 Procédé de sécurisation d'un ensemble électronique contre des attaques par introduction d'erreurs
KR100574945B1 (ko) 2003-08-08 2006-04-28 삼성전자주식회사 겹침 연산 방식과 변동 클럭 방식을 이용한 암호화 방법

Also Published As

Publication number Publication date
US7779272B2 (en) 2010-08-17
US20050050340A1 (en) 2005-03-03
DE102004042826A1 (de) 2005-03-31
KR20050022623A (ko) 2005-03-08
DE102004042826B4 (de) 2010-06-17
FR2860364A1 (fr) 2005-04-01
CN1592190A (zh) 2005-03-09
FR2860364B1 (fr) 2006-08-04
CN1592190B (zh) 2011-06-29

Similar Documents

Publication Publication Date Title
KR940000297B1 (ko) 통신기기
Barenghi et al. Fault injection attacks on cryptographic devices: Theory, practice, and countermeasures
KR100546375B1 (ko) 자체 오류 감지 기능을 강화한 상호 의존적 병렬 연산방식의 하드웨어 암호화 장치 및 그 하드웨어 암호화 방법
EP2290872B1 (en) Device for generating a message authentication code for authenticating a message
US8300828B2 (en) System and method for a derivation function for key per page
Biham et al. Differential cryptanalysis in stream ciphers
JPH10154976A (ja) タンパーフリー装置
JP2012516094A (ja) その暗号変換により特に情報漏洩観測攻撃から保護される暗号回路
US20150365424A1 (en) Cryptographic method for securely exchanging messages and device and system for implementing this method
US9847879B2 (en) Protection against passive sniffing
Aldaya et al. AES T-Box tampering attack
EP3698262B1 (en) Protecting modular inversion operation from external monitoring attacks
Reyad et al. Key-based enhancement of data encryption standard for text security
US20060153372A1 (en) Smart card and method protecting secret key
JPH0227389A (ja) 暗号化方法及び該暗号方法を用いた暗号化装置/復号化装置
US20200076594A1 (en) Key update for masked keys
WO2021176242A1 (en) Scrambler apparatus and method in particular for cryptographic applications, and descrambler apparatus and method therefor
US20210266175A1 (en) Device for data encryption and integrity
MAQABLEH Analysis and design security primitives based on chaotic systems for ecommerce
Lu et al. Related-key rectangle attack on 42-round SHACAL-2
Erondu et al. An encryption and decryption model for data security using vigenere with advanced encryption standard
Oku et al. A robust scan-based side-channel attack method against HMAC-SHA-256 circuits
Ghosh et al. Isomorphic cipher reduction
JP6631989B2 (ja) 暗号化装置、制御方法、及びプログラム
Qahur Al Mahri et al. Fault analysis of AEZ

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111229

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130102

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee