KR101324351B1 - 암호 기반 메시지 인증 코드를 생성하는 방법 - Google Patents

암호 기반 메시지 인증 코드를 생성하는 방법 Download PDF

Info

Publication number
KR101324351B1
KR101324351B1 KR1020117006313A KR20117006313A KR101324351B1 KR 101324351 B1 KR101324351 B1 KR 101324351B1 KR 1020117006313 A KR1020117006313 A KR 1020117006313A KR 20117006313 A KR20117006313 A KR 20117006313A KR 101324351 B1 KR101324351 B1 KR 101324351B1
Authority
KR
South Korea
Prior art keywords
bytes
state array
message
authentication code
rows
Prior art date
Application number
KR1020117006313A
Other languages
English (en)
Other versions
KR20110055671A (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 엔엑스피 비 브이
Publication of KR20110055671A publication Critical patent/KR20110055671A/ko
Application granted granted Critical
Publication of KR101324351B1 publication Critical patent/KR101324351B1/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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • 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
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

암호 기반 메시지 인증 코드를 생성하는 방법에서, 전송될 메시지에 기초하여, 바이트(s'0-s'15)의 행(31-34) 및 바이트(s'0-s'15)의 열(41-44)로 구성된 상태 어레이(25)가 생성된다. 암호 기반 메시지 인증 코드는 상태 어레이(25)의 적어도 하나의 행(32, 34)의 바이트(29, 30)를 유지함으로써 생성된다.

Description

암호 기반 메시지 인증 코드를 생성하는 방법{METHOD FOR GENERATING A CIPHER-BASED MESSAGE AUTHENTICATION CODE}
본 발명은 암호 기반 메시지 인증 코드(cipher-based message authentication code)를 생성하는 방법에 관한 것이다.
메시지 인증 코드(MAC)는 메시지를 인증하는데 사용되는 정보이다. MAC를 생성하는 알고리즘에 대한 입력은 비밀 키(secret key) 및 인증될 메시지이다. 암호-기반 MAC(CMAC)은 블록 암호 기반 메시지 인증 코드이고, 예를 들면, 2005년 5월, NIST(The National Institute of Standards and Technology) 특별판 800-38B에 기재되어 있다.
메시지 상의 CMAC는 근본적인 암호의 블록 크기와 동일한 크기, 예를 들면, AES(Advanced Encryption Standard), CBC(Cipher Block Chaining)- 메시지를 암호화하고(요구되면, 최종 블록 내의 패딩으로), 최종 블록 암호화의 결과(전부 또는 일부)를 계산된 MAC 값으로 유지함 - 의 경우에 128 비트로 분할함으로써 구성된다.
특정 클래스의 공격을 회피하기 위해, 암호화 전에, 사용 시에 키 하에서 제로 벡터의 암호화로부터 유도된, 항상 K1 또는 K2로서 표기되는 2 개의 가능한 "서브키" 값들 중 하나에 배타적 논리합(XORing)이 최종 블록에 행해진다. 사용할 서브키의 선택은, 최종 메시지 블록이 패딩을 포함하는지 여부에 의해 결정된다. 서브키 값들은 사용 시에 암호 키를 부분적으로 구별하는 상대방에 의해 계산될 수 있다.
MAC가 암호 블록 크기보다 더 짧다면, 그후 표준은 계산된 MAC가 요구된 수의 최상위 비트(most significant bits)를 유지함으로써 트런케이팅(truncated)되어야 한다는 것을 지시한다.
MAC가 암호 블록 크기 이하의 크기의 메시지 상에서 계산되면, 그후 최종 블록은 또한 제 1 블록이고, 그래서 서브키 배타적 논리합(XORing)에 의한 수정이 이러한 단일의 블록 상에서 수행된다. 이것은, 이러한 MAC 계산 동안에 암호의 블록 연산에 대한 직접적인 입력이 외부 관찰자에게 알려지지 않는다는 것을 의미한다.
도 1은 2001년, 11월 26일, FIPS(Federal Information Processing Standard) 공개 197에 개시된 AES에 따른 상태 어레이(1) 및 그 바이트 넘버링을 도시한다.
AES 암호는 바이트들의 상태 어레이(1) 상에서 동작하고, 상태 어레이(1)는 4 개의 바이트 x 4 개의 바이트 크기이고, 바이트 엔트리 Sr ,c를 갖고, 인덱스 "r"은 관련 행(row)을 표시하고, 인덱스 "c"는 상태 어레이(1)의 관련 열(column)을 표시한다. AES 암호 연산의 출력을 비트 스트링(bit-string)으로서 나타낼 때, 바이트는 다음과 같이 정렬된다.
Figure 112011019955117-pct00001
후속으로, 이러한 비트 스트링의 바이트는, s15가 제일 좌측 또는 최상위 바이트이고, s0가 제일 우측 또는 최상위 바이트인 관례에 따라 넘버링되어, 다음과 같다.
Figure 112011019955117-pct00002
상술된 NIST 표준에 따른 MAC의 트런케이션을 위한 표준 방법은, 최상위 비트의 요구된 수를 유지하는 것이다. 따라서, 8 개의 바이트로의 AES-기반 MAC의 트런케이션은 최종 상태 바이트 s15부터 s8까지의 유지에 대응한다.
도 2는 상기 표준에 따른 MAC 계산의 최종 라운드 동안에 16-바이트 AES 상태를 예로서 도시한다. 소위 암호의 시작에서, 초기 라운드 키(21)는 상태 어레이(22)(AddRoundKey 연산)를 생성하기 위해 도 1의 상태 어레이(1)에 부가된다. 제 1 변환된 상태 어레이(23)를 생성하기 위해 상태 어레이(22)에는 ShiftBytes 변환이 행해지고, 제 2 변환된 상태 어레이(24)를 생성하기 위해 제 1 변환된 상태 어레이(23)에는 ShiftRow 변환이 행해진다. 그후, 부가적인 라운드 키(26)는, 행(31-34) 및 열(41-44)로 구성된 출력 상태 어레이(25)를 생성하기 위해, 키 스케줄로부터의 워드와 제 2 변환된 상태 어레이(24)의 상태의 각각의 열의 배타적 논리합(XORing)에 의해 제 2 변환된 상태 어레이(24)에 부가된다. 트런케이션 후에, 상태 어레이(25)는 8 개의 최상위 바이트(s15 내지 s8)를 유지함으로써 상기 표준에 따라 CMAC를 계산하도록 활용되고, 나머지 바이트가 폐기된다. 8 개의 최상위 바이트(27)(s15 내지 s8)는 어둡게 예시된다.
어레이(22-24)는 최종 라운드의 ShiftRows 및 SubBytes 연산의 실시 전에 대응하는 바이트를 도시한다. 그래서, 최종 라운드 키(26) 어레이 내의 어두운 출력 바이트의 관찰 및 대응하는 위치에 관한 가설에 기초하여, DPA(Differential Power Analysis) 공격자는 라운드 키(21, 26)의 일부 바이트를 복구할 수 있다.
이러한 단계에서, 공격자는 2번째 최종 라운드 키에 관한 부가적인 정보를 수집할 수 있는데, 그/그녀가 역순으로 AES 키 확장을 계산할 수 있기 때문이다.
AES 키 확장 알고리즘은 다음과 같은 형태로 쓸 수 있다.
Figure 112011019955117-pct00003
여기서, wn는 라운드 키(21, 26) 어레이의 열에 대응하는 32-비트 워드이고, "<+>"는 "배타적-OR" 연산을 나타내고, T()는 다음과 같은 조건부 변환이다.
Figure 112011019955117-pct00004
<<<8은 8 비트 위치만큼 좌로 회전을 나타내고, S()는 SubBytes의 바이트와이즈 적용을 나타내고, Rconst는 라운드마다 변동하지만 알려져 있는 라운드 상수이다.
이러한 바이트의 조합으로, 키 확장 알고리즘 포워드를 실행하는 것은 다시 부가적인 최종 라운드 키 바이트를 산출한다. 이러한 지점에서, 공격자는 상당한 어려움 없이는 더 진행할 수 없다. 2번째 최종 라운드 키 삽입 전의 연산은 MixColumns이고, SubBytes에 대한 입력에서 이용 가능한 단지 2 개의 바이트/열에 의해, 초기 바이트에 기초하여 DPA 선택 함수를 구성하는데 요구되는 방정식은 결정되지 않는다. 그러나, 그/그녀는 단지 240으로 공격 복잡성을 이미 감소시키고(최종 라운드 키의 5 개의 바이트만이 미지 상태로 남아있기 때문에), 이러한 레벨에서 나머지 키 바이트는 무차별 대입 공격(brute force attack)에 의해 용이하게 복구될 수 있다.
본 발명의 목적은 DPA 공격을 어렵게 하는 암호 기반 메시지 인증 코드를 생성하는 방법을 제공하는 것이다.
상기 목적은 암호 기반 메시지 인증 코드를 생성하는 방법에 의해 본 발명에 따라 성취되고, 상기 방법은:
전송될 메시지에 기초하여 바이트의 행 및 바이트의 열로 구성된 상태 어레이를 생성하는 단계, 및
상기 상태 어레이의 적어도 하나의 행의 바이트를 유지함으로써 상기 메시지에 대한 암호 기반 메시지 인증 코드를 계산하는 단계를 포함한다.
도입부에서 논의된 바와 같이, 암호 기반 메시지 인증 코드(CMAC)는 메시지를 인증하는데 사용되는 정보이다. CMAC를 생성하기 위한 하나의 입력은 인증될 메시지이다. CMAC를 생성하는 동안에, 전송될 메시지에 기초하여 상태 어레이가 생성된다.
종래의 CMAC 생성은 또한 이러한 상태 어레이에 기초하지만, CMAC에 대한 이러한 상태 어레이의 8 개의 최상의 바이트를 유지한다. 그러나, 본 발명의 방법에 따라, CMAC는 상태 어레이의 적어도 하나의 행으로부터의 바이트를 활용하여 계산된다. 나머지 행의 바이트는 폐기된다. 이것은, 본 발명의 방법에 대해 차분 전력 공격이 수행되기에 더 어렵다는 결과를 가질 수 있다.
본 발명의 방법의 하나의 실시예에 따라, 2 개의 행의 바이트가 활용되고, 나머지 행의 바이트가 폐기된다. 특히, 바이트가 폐기되는 하나의 행은 본 발명의 CMAC 계산에서 바이트가 유지되는 2 개의 행 사이에 있다. 상태 어레이가 4 개의 행 및 4 개의 열로 구성되면, 본 발명의 CMAC 계산에서 바이트가 유지되는 2 개의 행은 상태 어레이의 2 개의 짝수 또는 2 개의 홀수 행일 수 있다.
또한, 상태 어레이의 적어도 하나의 행의 바이트를 유지함으로써 CMAC를 계산하기 위해, 메시지에 대한 암호 기반 메시지 인증 코드는, 메시지의 적어도 2 개의 바이트 또는 사전 처리된 메시지의 2 개의 바이트에 "배타적-OR" 연산을 행함으로써 계산될 수 있다. 메시지의 바이트는, 예를 들면, 메시지에 기초하여 바이트의 행 및 바이트의 열로 구성된 상태 어레이를 생성하기 위해 사전 처리될 수 있다. 그후, 상태 어레이의 적어도 2 개의 바이트에는 "배타적-OR" 연산이 행해질 수 있다. "배타적-OR" 연산은 통상 "XOR" 연산으로 지칭된다.
암호 기반 메시지 인증 코드는, 상기 메시지의 절반에 대응하는 바이트와 상기 메시지의 나머지 절반에 대응하는 바이트에 "배타적-OR" 연산이 행해짐으로써 생성될 수 있다. 메시지가 상태 어레이를 생성하기 위해 사전 처리되면, 그후, 암호 기반 메시지 인증 코드는 상태 어레이의 절반에 대응하는 바이트와 상태 어레이의 나머지 절반에 대응하는 바이트에 "배타적-OR" 연산이 행해짐으로써 계산될 수 있다. 그후, 메시지의 모든 바이트 또는 상태 어레이의 모든 바이트는 성공적인 DPA 공격의 가능성을 완화하는데 사용된다. 그러한 접근법을 공격하기 위해, 차분 전력 분석(DPA)(공격)은 한번에 최종 라운드 키로부터의 2 개의 키 바이트에 관한 가설을 구성 및 테스트할 필요가 있을 것이다. 공격자의 상관 분석은 각각의 라운드 키 바이트 쌍에 관한 가설을 지원하는 내부 바이트 신호의 쌍을 검색할 필요가 있을 것이다. 그래서, 초기 DPA 분석은 표준에 따라 종래의 CMAC 계산을 활용하는 것과 비교하여 더욱 어려워진다.
상태 어레이는 특히, 예를 들면, 2001년 11월 26일 FIPS(Federal Information Processing Standard) 공개 197에 개시되고, 도입부에 간략히 기재된 AES(Advanced Encryption Standard)에 따라 생성될 수 있다. 그후, 본 발명의 방법에 따라 암호 기반 메시지 인증 코드(CMAC)를 계산하는데 사용되는 상태 어레이는 정확히 4 개의 바이트의 행 및 정확히 4 개의 바이트의 열을 포함한다.
상태 어레이는 AES 표준에 따라 계산될 필요가 없고, 따라서 4 개의 행 및 4 개의 열을 반드시 포함하지는 않는다. 일반적으로, 임의의 수의 행 또는 열이 사용될 수 있다. 더욱 일반적인 개념은 레인달(Rijndael)로서 지칭된다. 특히, 상태 어레이는 정확히 4 개의 바이트의 행 및 6 개의 바이트의 열, 또는 4 개의 바이트의 행 및 8 개의 바이트의 열을 포함할 수 있다.
CMAC가 계산되는 메시지는 단일의 블록 메시지일 수 있다. 그후, 메시지는, 예를 들면, AES 표준에 기초할 때 단일의 상태로 표시될 수 있다. 다시 말해서, 메시지의 크기는 암호 블록 크기 이하이다. 이러한 변동은 차분 전력 분석 공격에 대한 개선된 내성을 가질 수 있다.
본 발명은 비제한적인 예의 방법으로 도면에 도시된 실시예를 참조하여 이후에 더욱 상세히 설명될 것이다.
본 발명은 DPA 공격을 어렵게 하는 암호 기반 메시지 인증 코드를 생성하는 방법을 제공한다.
도 1은 단일의 블록 메시지를 나타내는 상태 어레이를 도시한 도면.
도 2는 AES 표준에 따른 MAC 계산의 최종 라운드를 예시한 도면.
도 3 내지 도 6은 잠재적인 DPA 공격을 포함하는 본 발명의 CMAC 계산의 최종 라운드를 예시한 도면.
도 7은 또 다른 본 발명의 CMAC 계산의 최종 라운드를 예시한 도면.
도 1 및 도 2는 도입부에서 논의되었다.
도 3 내지 도 5는 본 발명의 방법에 따라 계산되는 CMAC에 대한 잠재적인 차분 전력 공격을 예시한다.
예시적인 실시예에서, CMAC를 계산하는데 사용되는 상태 어레이(25)는 도입부에서 논의된 바와 같이 획득된다. 상태 어레이(25)는 4 개의 행(31-34) 및 4 개의 열(41-44)로 구성된다. 또한, 상태 어레이(25)에 기초하는 메시지는 도 1에 도시된 상태 어레이(1)에 의해 표시된 바와 같은 단일의 블록 메시지이다.
예시적인 실시예에서, CMAC는 상태 어레이(25)의 4 개의 행(31-34) 중 2 개의 행의 바이트(29, 30)를 유지함으로써 계산된다. 나머지 행들의 바이트는 폐기된다. 도시된 예에서, 도 3 내지 도 5에서 어두운 행(32) 및 행(34)의 바이트(29, 30)가 유지되고, 나머지 행(31, 33)의 바이트가 폐기된다. 따라서, 예시적인 실시예에서, CMAC를 계산하기 위해 상태 어레이(25)의 짝수 바이트가 유지된다.
잠재적인 차분 전력 분석은 다음과 같이 산출한다.
도입부의 이전 설명과 유사한 메카니즘에 의해, ShiftRows 및 SubBytes의 연산은 선택된 행들 내의 바이트(이들의 대응하는 바이트가 어둡다)만을 DPA-공격자에게 노출시키도록 볼 수 있지만, 그/그녀가 복구할 수 있는 최종 라운드 키 바이트가 이러한 동일한 2 개의 행으로 한정된다. 동일한 공격 전략으로, 그/그녀는 도 4에 도시된 바와 같이 2번째 최종 라운드 키의 다수의 바이트를 획득하기 위해 키 확장 백워드(key expansion backwards)를 실행할 수 있다(여전히 선택된 행으로 한정됨).
도시된 개별 예에서, 순수하게 계산적인 프로세스로서 이것을 적용하는 것은 2번째 최종 라운드 키(21)의 어둡게 도시된 6 개의 바이트를 공격자가 복구하도록 허용할 것이다. 이것은, n = 0 mod 4일 때 바이트 회전을 포함하는 조건부 변환의 실시로 인한 것이다.
이를 명확히 하기 위해, 2번째 최종 라운드 키(21)의 제일 좌측 열에 영향을 주는 반복 관계의 바이트들은 도 6에 도시된 바와 같이 A, B, C 및 D(공지된 바이트들에 대해)로 라벨링되고, "?"는 미지의 바이트를 표기한다. 열(n-4) 계산 시에, 조건부 변환 T()이 작동하기 시작하고, 우리는 어떠한 바이트도 계산적으로 이용 가능하지 않다는 것을 도 6으로부터 알 수 있다.
도 6의 표에서, 도 6은 반복 관계를 도시한다.
Figure 112011019955117-pct00005
T(wn -1) 내의 알려진 바이트들이 조건부 변환 T() 내에서 수행되는 회전으로 인해 wn 내의 미지의 바이트와 정렬하고 그 역도 가능하여, 어떠한 부가적인 2번째 최종 라운드 키(21) 바이트도 계산에 의해 이용 가능하지 않다는 것을 인식해야 한다. T(wn -1)를 제공하는 도 6의 표의 열에 도시된 16진수 값들은 적절한 Rconst 값의 바이트이다.
도 5에 예시된 바와 같이, 공격자는 그/그녀의 DPA 분석을 확장함으로써 2번째 최종 라운드 키(21)의 부가적인 바이트(27, 28)를 여전히 복구할 수 있는데, 그/그녀가 수집한 모든 추적에서 대응하는 상태 위치들 내의 바이트를 그/그녀가 알기 때문이다.
그럼에도 불구하고, 임의의 라운드 키(21, 26)의 기껏해야 8 개의 바이트가 복구되기 때문에, 이러한 부가적인 프로세싱은 공격자의 위치를 개선하지 않는다. 공격의 남아있는 복잡성은, 표준화된 MAC 트런케이션 접근법의 사용으로부터 발생하는 남아있는 내성에 대한 상당한 개선인 264이다. 초기 라운드 키 바이트(예를 들면, 3번째 최종)가 계산될 수 있지만, 이것은 공격자에게 어떠한 이점도 주지 않는다.
도 7은 CMAC 계산의 부가적인 실시예를 예시한다. 예시적인 실시예에서, CMAC를 계산하는데 사용되는 상태 어레이(25)는 상술된 바와 같이 획득된다. 상태 어레이(25)는 4 개의 행(31-34) 및 4 개의 열(41-44)로 구성된다. 또한, 상태 어레이(25)가 기초하는 메시지는 도 1에 도시된 상태 어레이(1)에 표시된 바와 같이 단일의 블록 메시지이다. 상태 어레이(25)는 16 개의 바이트(s'0-s'15)를 포함한다.
예시적인 실시예에서, CMAC는 상태 어레이(25)의 적어도 2 개의 바이트(s'0-s'15)에 "배타적-OR" 연산을 행함으로써 계산된다. 특히, 도 7에 도시된 실시예에서, CMAC는 행(34, 32)의 바이트(s'0, s'2, s'4, s'6, s'8, s'10, s'12, s'14)와 행(33, 31)의 바이트(s'1, s'3, s'5, s'7, s'9, s'11, s'13, s'15)의 배타적 논리합(XORing)에 의해 계산된다.
특히 예시적인 실시예에서, CMAC는 다음과 같이 계산된다.
Figure 112011019955117-pct00006
여기서, "<+>"는 "배타적-OR" 연산을 나타낸다.
마지막으로, 상술한 실시예가 본 발명을 제한하기보다는 예시하는 것이고, 당업자가 첨부된 청구항에 의해 규정된 본 발명의 범위에서 벗어나지 않고 많은 대안적인 실시예를 설계할 수 있다는 것을 유의해야 한다. 특허청구범위에서, 괄호 안에 배치된 임의의 참조 부호는 청구항을 제한하는 것으로 구성되어서는 안 된다. 단어, "포함" 및 "포함하다" 등은 임의의 청구항 또는 전체적으로 명세서에 나열된 것 이외의 요소들 또는 단계들의 존재를 배제하지 않는다. 요소의 단일의 참조는 그러한 요소의 복수의 참조를 배제하지 않고 그 역도 가능하다. 특정 수단이 상호 상이한 종속항을 인용한다는 단순한 사실은, 이러한 수단들의 조합이 이롭게 사용될 수 없다는 것을 의미하지 않는다.
1 : 상태 어레이 21-26 : 상태 어레이
31-34 : 행 41-44 : 열

Claims (10)

  1. 전송될 복수의 바이트(s'0-s'15)를 포함하는 메시지에 대한 암호 기반 메시지 인증 코드(cipher-based message authentication code)를 생성하는 방법으로서,
    상기 메시지에 기초하여, 상기 바이트(s'0-s'15)를 구성요소로 갖는 행(31-34)과 열(41-44)로 구성된 상태 어레이(25)를 생성하는 단계와,
    상기 상태 어레이(25)의 적어도 하나의 행(32, 34)의 바이트(29, 30)를 유지하고 상기 상태 어레이의 상기 적어도 하나의 행(32, 34) 이외의 나머지 행의 바이트를 폐기함으로써 상기 메시지에 대한 암호 기반 메시지 인증 코드를 컴퓨팅하는 단계를 포함하고,
    상기 나머지 행은 적어도 하나의 행을 포함하는
    암호 기반 메시지 인증 코드 생성 방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 상태 어레이(25)는 바이트의 4개의 행(31-34) 및 바이트의 4개의 열(41-44), 바이트의 4개의 행 및 바이트의 6개의 열, 또는 바이트의 4개의 행 및 바이트의 8개의 열을 포함하는
    암호 기반 메시지 인증 코드 생성 방법.
  5. 제 1 항에 있어서,
    상기 상태 어레이(25)를 AES(Advanced Encryption Standard)에 따라 생성하는 단계를 포함하는
    암호 기반 메시지 인증 코드 생성 방법.
  6. 제 1 항에 있어서,
    상기 적어도 하나의 행(32, 34)은 상기 상태 어레이(25)의 2개의 행(32, 34)인
    암호 기반 메시지 인증 코드 생성 방법.
  7. 제 1 항에 있어서,
    상기 메시지는 단일의 블록 메시지인
    암호 기반 메시지 인증 코드 생성 방법.
  8. 삭제
  9. 삭제
  10. 전송될 복수의 바이트를 포함하는 메시지에 대한 암호 기반 메시지 인증 코드를 계산하기 위한 DPA(Differential Power Analysis) 공격에 대한 내성을 갖는 방법으로서,
    상기 메시지의 상기 바이트를 사전 처리(pre-processing)하는 단계와,
    상기 메시지에 기초하여, 상기 바이트를 구성요소로 갖는 행과 열로 구성된 상태 어레이를 생성하는 단계와,
    상기 상태 어레이의 절반에 해당하는 바이트와 상기 상태 어레이의 나머지 절반에 해당하는 바이트를 배타적 논리합(XORing)하는 단계를 포함하는
    방법.
KR1020117006313A 2008-08-19 2009-08-12 암호 기반 메시지 인증 코드를 생성하는 방법 KR101324351B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP08105068.4 2008-08-19
EP08105068 2008-08-19
PCT/IB2009/053556 WO2010020910A2 (en) 2008-08-19 2009-08-12 Method for generating a cipher-based message authentication code

Publications (2)

Publication Number Publication Date
KR20110055671A KR20110055671A (ko) 2011-05-25
KR101324351B1 true KR101324351B1 (ko) 2013-11-01

Family

ID=41347103

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117006313A KR101324351B1 (ko) 2008-08-19 2009-08-12 암호 기반 메시지 인증 코드를 생성하는 방법

Country Status (8)

Country Link
US (1) US8635452B2 (ko)
EP (1) EP2316189B1 (ko)
JP (2) JP4869452B2 (ko)
KR (1) KR101324351B1 (ko)
CN (2) CN102124695B (ko)
BR (1) BRPI0916687B1 (ko)
MX (1) MX2011001228A (ko)
WO (1) WO2010020910A2 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8452984B2 (en) * 2008-08-28 2013-05-28 Alcatel Lucent Message authentication code pre-computation with applications to secure memory
EP2290872B1 (en) * 2009-08-27 2014-06-18 Nxp B.V. Device for generating a message authentication code for authenticating a message
JP5766783B2 (ja) * 2010-03-31 2015-08-19 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh 認証された音声暗号化のための装置
JP2013097161A (ja) * 2011-10-31 2013-05-20 Kddi Corp アルゴリズム可変型mac生成装置、アルゴリズム可変型ハッシュ関数生成装置、アルゴリズム可変型mac生成方法、アルゴリズム可変型ハッシュ関数生成方法、およびプログラム
JP2013134414A (ja) * 2011-12-27 2013-07-08 Kddi Corp 鍵暗号化装置、鍵復号装置、鍵暗号化方法、鍵復号方法、およびプログラム
CN102946315B (zh) * 2012-11-19 2015-08-26 成都卫士通信息产业股份有限公司 一种采用分组方式构造mac码的方法及系统
WO2015089448A1 (en) * 2013-12-13 2015-06-18 University Of North Dakota Smart grid secure communications method and apparatus
TWI712915B (zh) * 2014-06-12 2020-12-11 美商密碼研究公司 執行一密碼編譯操作之方法,以及電腦可讀非暫時性儲存媒體
US9509665B2 (en) 2014-08-11 2016-11-29 Alcatel Lucent Protecting against malicious modification in cryptographic operations
US9973514B2 (en) * 2014-10-27 2018-05-15 Hong Kong Baptist University Method and apparatus for assuring location data integrity with minimum location disclosure
KR101966088B1 (ko) 2017-04-06 2019-04-05 상명대학교산학협력단 Iot 응용에 최적화된 인증 암호 장치 및 방법
CN109150504A (zh) * 2017-06-14 2019-01-04 深圳市中兴微电子技术有限公司 一种实现数据传输处理的方法及高级加密标准系统
US10812479B2 (en) 2018-12-05 2020-10-20 Fiserv, Inc. Authenticating a user via multiple biometric inputs

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050175175A1 (en) 2004-02-06 2005-08-11 Marcus Leech Parallelizable integrity-aware encryption technique
US7403620B2 (en) 2002-07-02 2008-07-22 Stmicroelectronics S.A. Cyphering/decyphering performed by an integrated circuit

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3867251B2 (ja) * 1996-09-13 2007-01-10 テミツク セミコンダクター ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 無線周波数識別システムにおいてデータを伝送する方法
WO1999035782A1 (en) 1998-01-02 1999-07-15 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
IL139935A (en) 1998-06-03 2005-06-19 Cryptography Res Inc Des and other cryptographic processes with leak minimization for smartcards and other cryptosystems
US6298442B1 (en) 1998-06-03 2001-10-02 Cryptography Research, Inc. Secure modular exponentiation with leak minimization for smartcards and other cryptosystems
WO1999067766A2 (en) * 1998-06-03 1999-12-29 Cryptography Research, Inc. Balanced cryptographic computational method and apparatus for leak minimization in smartcards and other cryptosystems
EP1084543B1 (en) * 1998-06-03 2008-01-23 Cryptography Research Inc. Using unpredictable informaion to minimize leakage from smartcards and other cryptosystems
CA2334597C (en) 1998-07-02 2007-09-04 Cryptography Research, Inc. Leak-resistant cryptographic indexed key update
DE602004023436D1 (de) * 2004-03-29 2009-11-12 St Microelectronics Sa Prozessor zum ausführen eines aes algorithmus
JP4810289B2 (ja) * 2006-04-17 2011-11-09 ルネサスエレクトロニクス株式会社 メッセージ認証子生成装置、メッセージ認証子検証装置、及びメッセージ認証システム
US8233619B2 (en) * 2006-06-07 2012-07-31 Stmicroelectronics S.R.L. Implementation of AES encryption circuitry with CCM
KR100930577B1 (ko) 2006-11-13 2009-12-09 한국전자통신연구원 스트림 암호를 이용한 메시지 인증 코드 생성 방법과스트림 암호를 이용한 인증 암호화 방법 및 스트림 암호를이용한 인증 복호화 방법
US7991158B2 (en) * 2006-12-13 2011-08-02 Tyfone, Inc. Secure messaging

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7403620B2 (en) 2002-07-02 2008-07-22 Stmicroelectronics S.A. Cyphering/decyphering performed by an integrated circuit
US20050175175A1 (en) 2004-02-06 2005-08-11 Marcus Leech Parallelizable integrity-aware encryption technique

Also Published As

Publication number Publication date
JP2012500509A (ja) 2012-01-05
CN102124695B (zh) 2014-05-28
US20110138182A1 (en) 2011-06-09
CN103560880A (zh) 2014-02-05
KR20110055671A (ko) 2011-05-25
BRPI0916687A2 (pt) 2015-11-17
BRPI0916687B1 (pt) 2020-09-29
CN103560880B (zh) 2017-04-12
JP2012044689A (ja) 2012-03-01
US8635452B2 (en) 2014-01-21
EP2316189B1 (en) 2016-03-30
WO2010020910A2 (en) 2010-02-25
EP2316189A2 (en) 2011-05-04
WO2010020910A3 (en) 2010-07-01
CN102124695A (zh) 2011-07-13
MX2011001228A (es) 2011-03-25
JP4869452B2 (ja) 2012-02-08

Similar Documents

Publication Publication Date Title
KR101324351B1 (ko) 암호 기반 메시지 인증 코드를 생성하는 방법
US9819657B2 (en) Protection of memory interface
Dinur et al. Cube attacks and cube-attack-like cryptanalysis on the round-reduced Keccak sponge function
RU2449482C2 (ru) Устройство обработки шифрования, способ обработки шифрования и компьютерная программа
US20120170739A1 (en) Method of diversification of a round function of an encryption algorithm
CN109302280B (zh) 一种aes密钥扩展方法
KR102169369B1 (ko) 경량 블록 암호화에 대한 1차 부채널 공격에 대응하는 방법 및 이를 이용한 장치
Mahendran et al. Generation of key matrix for hill cipher encryption using classical cipher
Natarajan et al. A novel approach for data security enhancement using multi level encryption scheme
KR101506499B1 (ko) 마스킹이 적용된 seed를 이용한 암호화 방법
CN105049176B (zh) 用于图像数据安全传输的解密方法
CN107493164B (zh) 一种基于混沌系统的des加密方法和系统
Sumathy et al. Enhanced AES algorithm for strong encryption
Nissar et al. Implementation of security enhancement in AES by inducting dynamicity in AES s-box
CN114826558A (zh) 一种海量数据快速加密方法及系统
CN110417540B (zh) 一种抗差分功耗分析的信息加密方法
WO2012060685A1 (en) A method for linear transformation in substitution-permutation network symmetric-key block cipher
Janakiraman et al. Humming bird with coloured wings: A feedback security approach
Sharma et al. Comparative analysis of block key encryption algorithms
Bale et al. Modification of Vigenère Cipher to Overcome Kasiski and Friedman Attacks
KR102287962B1 (ko) 부채널 공격 대응이 용이한 128비트 경량 블록 암호화 방법 및 이를 이용한 장치
Henricksen Tiny Dragon-An Encryption Algorithm for Wireless Sensor Networks
Xiutao et al. A realtime key recovery attack on the authenticated cipher FASER128
Sumathy et al. Enhanced AES Algorithm for Strong Encryption
Usman et al. A data specific comparative study for choosing best cryptographic technique

Legal Events

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

Payment date: 20181015

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 7