[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20100069610A - 연쇄화된 암호화 모드를 위한 방법 및 디바이스 - Google Patents

연쇄화된 암호화 모드를 위한 방법 및 디바이스 Download PDF

Info

Publication number
KR20100069610A
KR20100069610A KR1020090124796A KR20090124796A KR20100069610A KR 20100069610 A KR20100069610 A KR 20100069610A KR 1020090124796 A KR1020090124796 A KR 1020090124796A KR 20090124796 A KR20090124796 A KR 20090124796A KR 20100069610 A KR20100069610 A KR 20100069610A
Authority
KR
South Korea
Prior art keywords
block
key
encryption
plaintext
ciphertext
Prior art date
Application number
KR1020090124796A
Other languages
English (en)
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 KR20100069610A publication Critical patent/KR20100069610A/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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • 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
    • 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)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

암호화 연쇄화 모드(encryption chaining mode)는 평문(plaintext) 블록 N을 취하며(910), 바람직하게 XOR에 의해, 암호화 키 N-1과 평문 블록 N-1을 결합함으로써 암호화 키 N을 생성하고(920), 암호화 알고리즘과 암호화 키 N을 이용하여 평문 블록 N을 암호화 하여(930) 암호문(ciphertext) 블록 N을 출력한다(940). 제 1 평문 블록에 대한 암호화 키는, 무작위 초기화 벡터(IV: Initialization vector)와 무작위 초기화 키(K)를 XOR함으로써 생성된다. 바람직한 실시예에서, 초기화 키(K)는, 키 스케줄(key schedule) 알고리즘으로부터 초래되는 하위키(subkey)이며 암호화 키 N-1은 하위키들 중의 오직 하나이다. 제 1 평문 블록에 대한 암호화 키는, 무작위 초기화 벡터(IV)와, 키 스케줄 알고리즘으로부터 초래되는 하나의 하위키를 XOR함으로써 생성된다. 대응하는 암호해독 방법, 암호화 디바이스(1110), 암호해독 디바이스(1120)가 또한 제공된다.

Description

연쇄화된 암호화 모드를 위한 방법 및 디바이스{METHODS AND DEVICES FOR A CHAINED ENCRYPTION MODE}
본 발명은 일반적으로 암호화(encryption)에 관한 것이며, 특히 블록 내의 데이터의 연쇄화된 암호화에 관한 것이다.
본 명세서의 본 부분은, 아래에서 설명 및/또는 청구되는 본 발명의 다양한 양상과 관련되어있을 수도 있는, 기술의 다양한 양상을 독자에게 소개하도록 의도되었다. 이러한 논의는, 본 발명의 다양한 양상의 더 나은 이해를 돕기 위해 독자에게 배경 정보를 제공하는데 도움이 될 것이라 여겨진다. 따라서, 이러한 진술들은 이러한 관점에서 읽혀져야 하며, 종래 기술의 용인(admission)으로서 읽혀져서는 안 된다.
텍스트, 오디오, 그리고 비디오와 같은 디지털 데이터를 암호화하고 보호하기 위한 많은 수의 종래의 암호화 모드가 존재한다. 이러한 모드들 중의 대부분은, 암호화할 데이터를 블록으로 분할하며, 연쇄화(chaining) 단계를 포함한다. 그러한 모드들의 예시들은 암호 블록 연쇄화(CBC: Cipher Block Chaining), 암호 피드백 모드(CFB: Cipher FeedBack Mode), 및 출력 피드백 모드(OFB: Output FeedBack Mode)이다. 이러한 모드들의 공통적인 특징은, 연쇄화 단계가, 이전의 암호화된 데이터 블록을 기초로 한다는 것이다. 이러한 모드들의 설명은 예컨대, John Wiley & Sons, Inc. USA, 1996년, Bruce Schneier에 의한 "Applied Cryptography Second Edition(응용 암호법 제2판)"에서 발견될 수도 있다.
예컨대, CBC는 또한 WO 2007/118829에 기술되어 있으며 도 1에 도시되어있고, 현재의 데이터 블록을 암호화하기 위해, 이전의 암호화된 데이터 블록을 이용한다. 도 1은 제 1 데이터 블록 "평문 블록(Plaintext block) 1"이 초기화 벡터(IV)와 XOR되는 방법과, 제 1 암호화된 데이터 블록 "암호블록(Cipherblock) 1"을 생성하기 위해, 진보된 암호화 표준(AES: Advanced Encryption Standard) 알고리즘 및 키를 이용하여 출력이 암호화되는 방법을 도시한다. 다음 데이터 블록인 "평문 블록 2"의 암호화 도중에 이러한 다음 데이터 블록과 XOR되는 것은 이러한 제 1 암호화된 데이터 블록이다. 마지막 데이터 블록이 암호화될 때까지 상기 프로세스는 반복된다. 암호해독은 다른 방법으로 수행되며, 즉, 제 1 암호화된 데이터 블록은 AES 및 키를 이용하여 암호해독되며, 제 1 데이터 블록을 획득하기 위해, 출력은 IV와 XOR된다.
WO 2007/118829는 또한 평문 블록 연쇄화(PCB: Plaintext Block Chaining)를 기술하며, PCB에서는, 이전 평문 블록 및, 전체 암호에 대해 동일한 암호화 키로부터, 암호화를 위해 이용되는 키가 대신 생성된다. 이 종래 기술 문서는, 평문 블록의 암호화를 위해 CBC와 PCB를 번갈아 이용하는 것을 기술한다.
CBC 평문 내의 임의의 변화는 무한정하게 전파되지만, 암호문 내의 변화는 그렇지 않다. 이러한 결점을 극복하기 위해, 전파 암호 블록 연쇄화 모드(PCBC: Propagating Cipher Block Chaining Mode)가 개발되었다. PCBC는 도 2에 도시되어 있다.
PCBC는, 암호화될 각각의 평문 블록이, 이전의 평문 블록과 먼저 XOR되는 CBC라고 할 수 있다. 보이는 것과 같이, 평문 블록 2는 평문 블록 1과 먼저 XOR되고 출력은 그 후 CBC에서와 같이 처리되며, 즉, 출력은, 다음 평문 블록을 위한 XOR연산에서 이용되는 암호문 블록 2를 생성하기 위해 암호화된, 이전의 암호문 블록 "암호문 블록 1"과 XOR된다. 제 1 평문 블록은, 이전의 평문 블록이 존재하지 않으므로, 필수적으로, 빈(empty) 블록과 XOR된다.
블록들을 교환(swap)하는 것은, 교환된 블록들 이외의 평문 블록들에는 영향을 미치지 않는다는 것이 밝혀졌으며, 이는, 그러한 변화는 무한하게 전파되지 않는다는 것을 의미한다.
이러한 결점을 극복하기 위해, 수정된 PCBC(MPCBC: Modified PCBC)라 불리는 모드가 제안되었다. MPCBC는 도 3에 도시되어 있다. 상기 모드는 이전 평문 블록과의 XOR의 위치를 암호화 이전으로부터 암호화 이후로 바꿈으로써 PCBC를 수정한다. 보이는 것과 같이, 암호화를 위한 입력을 제공하기 위해, 평문 블록 "평문 블록 2"는 이전 암호문 블록 "암호문 블록 1"과 XOR되며, 암호문 "암호문 블록 2"를 제공하기 위해, 암호화된 출력은 이전 평문 블록 "평문 블록 1"과 XOR된다.
MPCBC가 잘 동작하는 것으로 보일 테지만, 안전할 것으로 여겨지는 프로토콜이 실제로는 예상치 못한 보안 위반(security breach)을 포함할 수도 있다는 점에 서, 당업자는, 암호법 프로토콜은 주의를 요한다는 것을 이해할 것이다.
그러므로, 종래 기술의 결점의 해결방법에 대한 대안을 제공하는 암호화 모드에 대한 필요성이 존재한다는 것이 이해될 것이다. 본 발명은 그러한 대안을 제공한다.
제 1 양상에서, 본 발명은 디지털 데이터의 해당 평문 블록을 암호화하기 위한 키를 생성하는 방법에 관한 것이며, 해당 평문 블록은, 적어도 두 개의 평문 블록으로 이루어진 순서화된 열(ordered series)에 속한다. 디바이스는 해당 평문 블록을 검색하며, 이전의 평문 블록을 제 1 암호화 키와 결합함으로써 해당 평문 블록에 대한 제 2 암호화 키를 생성한다.
첫 번째 바람직한 실시예에서, 제 1 암호화 키는 초기화 암호화 키이다.
두 번째 바람직한 실시예에서, 제 1 암호화 키는, 이전의 평문 블록의 암호화를 위해 이용된 암호화 키이며, 이전의 평문 블록은, 순서화된 열 내의 해당 평문 블록에 바로 앞선 평문 블록이다.
제 2 양상에서, 본 발명은 디지털 데이터의 해당 평문 블록을 암호화하는 방법에 관한 것이며, 해당 평문 블록은, 적어도 두 개의 평문 블록으로 이루어진 순서화된 열에 속한다. 암호화 디바이스는, 본 발명의 제 1 양상의 방법을 이용하여 암호화 키를 획득하며, 암호화 알고리즘 및 생성된 암호화 키를 이용하여 해당 평 문 블록을 암호화한다.
제 3 양상에서, 본 발명은 디지털 데이터의 해당 암호문 블록을 암호해독하기 위한 키를 생성하는 방법에 관한 것이며, 해당 암호문 블록은, 적어도 두 개의 암호문 블록으로 이루어진 순서화된 열에 속한다. 암호해독 디바이스는 해당 암호문 블록을 검색하며, 이전에 획득된 평문 블록과 제 1 암호해독 키를 결합하여, 해당 암호문 블록에 대한 제 2 암호해독 키를 생성한다.
첫 번째 바람직한 실시예에서, 제 1 암호해독 키는, 이전의 평문 블록을 획득하기 위해 이용된 암호해독 키이며, 이전의 평문 블록은, 순서화된 열 내의 해당 암호문 블록에 바로 앞선 암호문 블록에 대응한다.
두 번째 바람직한 실시예에서, 제 2 암호해독 키의 생성 단계에서, 결합 동작 전에, 단방향 함수(one-way function)가, 이전에 획득된 평문 블록에 적용된다.
세 번째 바람직한 실시예에서, 이전의 평문 블록의 암호해독을 위해 이용된 암호해독 키는, 키 스케줄 알고리즘으로부터 초래되는 복수의 하위키들 중의 한 하위키이거나 또는 이전의 평문 블록의 암호해독을 위해 이용된 복수의 하위키 중의 한 하위키이다.
제 4 양상에서, 본 발명은 디지털 데이터의 해당 암호문 블록을 암호해독하는 방법에 관한 것이며, 해당 암호문 블록은, 적어도 두 개의 암호문 블록으로 이루어진 순서화된 열에 속한다. 암호해독 디바이스는 제 3 양상의 방법을 이용하여 암호해독 키를 획득하며, 생성된 암호해독 키와 함께 암호해독 알고리즘을 이용하여 해당 암호문 블록을 암호해독한다.
제 5 양상에서, 본 발명은 디지털 데이터의 해당 평문 블록을 암호화하기 위하여 암호화 키를 생성하기 위한 디바이스에 관한 것이며, 해당 평문 블록은, 적어도 두 개의 평문 블록으로 이루어진 순서화된 열에 속한다. 상기 디바이스는 해당 평문 블록을 검색하도록 적응된 통신 유닛 및, 이전의 평문 블록을 제 1 암호화 키와 결합하여, 해당 평문 블록에 대한 제 2 암호화 키를 생성하도록 적응된 프로세서를 포함한다.
제 6 양상에서, 본 발명은 디지털 데이터의 해당 암호문 블록을 암호해독하기 위하여 암호해독 키를 생성하기 위한 디바이스에 관한 것이며, 해당 암호문 블록은, 적어도 두 개의 암호문 블록으로 이루어진 순서화된 열에 속한다. 상기 디바이스는 해당 암호문 블록을 검색하도록 적응된 통신 유닛 및, 이전에 획득된 평문 블록과 제 1 암호해독 블록을 결합하여, 해당 암호문 블록에 대한 제 2 암호해독 키를 생성하도록 적응된 프로세서를 포함한다.
바람직한 실시예에서, 하나의 암호문 블록을 암호해독하기 위해 복수의 하위키들이 이용되며, 프로세서는, 이전의 평문 블록과 결합할 복수의 하위키로부터의 적어도 하나의 하위키를 찾도록 적응된다.
본 발명의 바람직한 특징들이 이제, 첨부 도면들을 참조하여, 제한하지 않는 예시의 목적을 위해, 설명될 것이다.
본 발명은, 효율적이면서, 수정된 평문 및 암호문 블록 연쇄화 모드(MPCBC)에 대한 더 안전한 대안을 제공한다.
본 발명은, 적어도 두 개의 평문 블록으로 이루어진 순서화된 열에 속하는 디지털 데이터의 해당 평문 블록을 암호화하기 위한 암호화 키를 생성하는 방법에 관한 것이다. 해당 평문 블록이 검색되며, 이전의 평문 블록을 제 1 암호화 키와 결합하여, 해당 평문 블록에 대한 제 2 암호화 키가 생성된다.
본 발명은 적어도 두 개의 이형(variant), 즉, 반복식(iterative) 이형 및 비-반복식(non-iterative) 이형으로 구현된다. 반복식 이형에서, 제 1 암호화 키는, 이전의 평문 블록을 암호화하기 위해 이용된 암호화 키이며, 이전의 평문 블록은, 순서화된 열 내의 해당 평문 블록에 바로 앞선 평문 블록이다. 비-반복식 이형에서, 제 1 암호화 키는 초기화 암호화 키이며, 상기 초기화 암호화 키는 적어도 두 개의 평문 블록에 대한 암호화 키의 생성 단계 동안 상수로 남는다. 암호해독 측면에서, 이러한 이형들은 또한 암호해독 키의 생성에 대해서도 적용된다.
도 4는, 본 발명의 첫 번째 바람직한 실시예에 따른 연쇄화 모드인, "비-반복식 이형"을 도시한다. 상기 도면의 위쪽 절반은 암호화를 도시하며, 상기 도면의 아래쪽 절반은 암호해독을 도시한다.
제 1 평문 블록인, "평문 블록 1"은, 앞선 평문 블록이 존재하지 않으므로, 특별한 방법으로 취급되어야 한다. 이러한 이유로, 종래 기술에서와 같이, 도 4의 방법은 바람직하게, 이미 알려진, 무작위 초기화 키(K) 및 무작위 초기화 벡터(IV)를 이용한다. 상기 IV는, 보호되지 않은 형태로 송신될 수 있으나, 상기 키는, 암호화된 콘텐츠의 수신기로 안전하게(securely) 송신되어야 한다. 당업자는, 키(K) 가, 예컨대, 수신기의 디바이스 키를 이용하여 암호화된 수신기로 송신될 수도 있다는 것을 이해할 것이다. 이러한 암호화 단계는 공개 키 암호법(public key cryptography) 또는 대칭 키 암호법(symmetric key cryptography)을 이용하여 수행될 수 있다. 만일 암호화 단계가 대칭 키를 이용하여 수행된다면, 본 발명은 또한 초기화 키(K)의 암호화에 대해 이용될 수도 있다.
평문 블록 1은, 무작위 IV와 XOR된 초기화 키(K)로부터 초래되는 암호화 키를 이용하여 암호화되어, 암호문 블록 1을 생성한다. 각각의 후속 평문 블록은, 이전의 평문 블록과 초기화 키(K)를 XOR하여 획득된 새로운 암호화 키를 이용하여 암호화된다. 획득된 암호문 블록은 암호화되자마자 차례차례 송신될 수도 있지만, 또한 송신을 위해 두 개 이상의 암호문 블록(최대 모든 암호문 블록까지)을 그룹화하는 것이 또한 가능하다.
암호문 블록 1은, 초기화 키(K)와 IV 사이의 XOR로부터 초래되는 암호해독 키를 이용하여 암호해독되어, 평문 블록 1을 생성한다. 각각의 후속 암호문 블록은, 이전의 생성된 평문 블록과 초기화 키(K)를 XOR하여 획득된 새로운 암호해독 키를 이용하여 암호해독된다.
당업자는 암호화 키 및 암호해독 키는 이롭게 동일하다는 것을 이해할 것이다.
암호해독 프로세스는, 예컨대, 암호문 블록 1, 그 후에는 암호문 블록 2, ..., 암호문 블록 N과 같은, 암호화를 할 때 한정된 순서대로만 수행될 수 있지만, 이러한 첫 번째 바람직한 실시예에서, 암호화 키는 적어도 이전의 평문 블록 및, 초기화 키와 같은, 하나의 기본 키에 의존하므로, 암호화 프로세스는 임의의 순서로 수행될 수 있다. 예컨대, 암호화 프로세스는 역순으로, 즉, 암호문 블록 N을 먼저 암호화하고, 그 후에 암호문 블록 N-1, ..., 암호문 블록 1을 암호화할 수 있다. 이는, 암호해독을 할 때의 순서에 영향을 미치지 않으며, 그러한 순서는, 암호문 블록 1, 그 후 암호문 블록 2, ..., 암호문 블록 N으로 남는다. 이는, 그것이, 암호화 키를 수정하기 위해 이용된 평문 블록이므로 가능하다.
도 5는 본 발명의 두 번째 바람직한 실시예에 따른 연쇄화 모드인, "반복식 이형"을 도시한다. 상기 도면의 위쪽 절반은 암호화를 도시하며, 상기 도면의 아래쪽 절반은 암호해독을 도시한다.
제 1 평문 블록인, "평문 블록 1"은, 앞선 평문 블록이 존재하지 않으므로, 특별한 방법으로 처리되어야 한다. 이러한 이유로, 종래 기술에서와 같이, 도 5 및 도 6의 방법은 바람직하게, 이미 알려진, 무작위 초기화 키(K)와 무작위 초기화 벡터(IV)를 이용한다. 상기 IV는, 보호되지 않은 형태로 송신될 수 있으나, 상기 키는, 암호화된 콘텐츠의 수신기로 안전하게 송신되어야 한다. 당업자는, 키(K)가, 예컨대, 수신기의 디바이스 키를 이용하여 암호화된 수신기로 송신될 수도 있다는 것을 이해할 것이다. 이러한 암호화 단계는 공개 키 암호법 또는 대칭 키 암호법을 이용하여 수행될 수도 있다. 만일 암호화 단계가 대칭 키를 이용하여 수행된다면, 본 발명은 또한 초기화 키(K)의 암호화에 대해 이용될 수도 있다.
평문 블록 1은, 무작위 IV와 XOR된 초기화 키(K)로부터 초래되는 암호화 키를 이용하여 암호화되어, 암호문 블록 1을 생성한다. 각각의 후속 평문 블록은, 이 전의 평문 블록과, 이전의 평문 블록을 암호화하기 위해 이용된 키를 XOR하여 획득된 새로운 암호화 키를 이용하여 암호화된다. 획득된 암호문 블록들은, 암호문 블록이 암호화되자마자 차례차례 송신될 수도 있으나, 송신을 위해 두 개 이상의 암호문 블록(최대 모든 암호문 블록까지)을 그룹화하는 것이 또한 가능하다.
암호문 블록 1은, 초기화 키(K)와 IV 사이의 XOR로부터 초래되는 암호해독 키를 이용하여 암호해독되어, 평문 블록 1을 생성한다. 각각의 후속 암호문 블록은, 이전의 생성된 평문 블록과, 이전의 암호문 블록을 암호해독하기 위해 이용된 키를 XOR하여 획득된 새로운 암호해독 키를 이용하여 암호해독된다.
당업자는 암호화 키와 암호해독 키가 이롭게 동일하다는 것을 이해할 것이다.
반복식 및 비-반복식 이형은 상이한 방법으로 구현될 수 있다. 예컨대, 암호화 및 암호해독을 위해 임의의 블록 암호 알고리즘이 이용될 수 있으며; 바람직한 알고리즘은 AES이다. 다른 예시는, 키와 평문 블록을 결합하기 위해 XOR 이외의 다른 함수를 이용하는 것이며, 이러한 다른 함수는 예컨대 덧셈 모듈로 2x(addition modulo 2x)이고, 여기서 x는 키(K)의 비트 길이이다. 예컨대, 평문 블록이 키와 결합되기 전에, 단방향 함수의 응용에 의해 평문 블록을 수정하는 것이 또한 가능하다.
또한, 본 발명은 CBC와 같은 임의의 다른 블록 연쇄화 모드 동작과 결합될 수 있다. 만일 CBC와 결합된다면, 본 발명은 수정된 전파 암호 블록 연쇄화 모 드(MPCBC)에 대한 흥미로운 대안을 제공한다. 방법의 두 번째 바람직한 실시예와 CBC의 결합이 도 6에 도시되어있다. 보이는 것과 같이, 도 5에 비하여 추가된 특징은, 암호화 이전에 평문 블록이 (XOR에 의해) 이전의 암호문 블록과 결합된다는 것이다.
다음으로, 제안된 연쇄화 모드를 훨씬 더 효율적이고 더욱 안전하게 할 수 있는 특정 메카니즘이 설명된다. 상기 메카니즘은, 암호화/암호해독 키를 생성하는 방법의 두 실시예인, 반복식 및 비-반복식에 대해 작동한다. 반복식 실시예가 비-반복식 실시예보다 더 복잡하므로, 본 명세서에서는 반복식 실시예에 대한 설명이 주어진다.
데이터의 암호화는 일반적으로 블록 암호 알고리즘 내의 "라운드(round)"에서 수행된다. 각각의 라운드는 데이터를 처리하기 위해 라운드 키 또는 하위키를 이용한다. 변화되는 하위키를 제외하면, 각각의 라운드의 설정은 동일하며, 즉, 각 라운드에서 데이터는 반복적으로 암호화된다. 그러므로, 대부분의 블록 암호는, 마스터 키(K)로부터의 하위키들을 계산하는 키 스케줄 알고리즘을 포함한다. 더욱 상세하게, 키 스케줄 알고리즘은 키(K) 및 명령("암호화" 또는 "암호해독")을 처리하고 R 개의 하위키의 시퀀스(만일 명령이 암호화라면 EK0, EK1, ..., EKR-1, 또는 만일 명령이 암호해독이라면 DK0, DK1, ..., DKR-1)를 생성한다. 도 7에 도시된 것과 같이, 암호화는 R 개의 라운드를 통해 수행된다. 타이니 암호화 알고리즘(TEA: Tiny Encryption Algorithm)과 같은 일부 블록 암호들은, 128-비트 마스터 키가 네 개의 32-비트 라운드 키로 분할되며, 연속적인 라운드에서 반복적으로 이용되는, 단순한 키 스케줄을 갖는다. 다른 블록 암호들은 더욱 복잡한 키 스케줄을 갖는데; 이는 AES에 대한 경우이며, AES는 키(K)를, 마스터 키(K)와 동일한 길이를 갖는 여러 개의 라운드 키로 확장시킨다.
동일한 키(K)를 이용하여 여러 개의 블록을 암호화할 때, 키 스케줄 알고리즘은 일반적으로, 제 1 평문 블록의 암호화 이전에, 최초에 한 번 호출된다. 연속적인 평문 블록들의 암호화는, 이전에 계산된 하위키들을 이용하여 수행된다. 이는 CBC 또는 PCBC와 같은 종래 기술의 방법들에서 연속적인 평문 블록들의 암호화가 수행되는 방법이다. 본 발명에서, 각각의 블록의 암호화에 대해 키가 바뀐다고 가정하면, 키 스케줄 알고리즘은 여러 번 실행되어야 하며; 평문 블록의 총 개수의 회수만큼 실행되어야 한다. 이는 동작에 지연을 야기하고 암호화/암호해독 속도를 낮추며, 이는 바람직하지 못한 것이다.
이러한 결점을 회피하는, 상기 방법의 변형된 실시예를 갖는 것이 따라서 이로울 것이다. 키들을 결합하는 대신, 적어도 하나의 하위키를, 앞선 평문 블록과 결합한다. 예컨대, 이전의 블록을 암호화/암호해독하기 위해 이용된 적어도 하나의 하위키와, 앞선 평문 블록 자체 사이에서 XOR 연산이 수행된다.
도 8은, AES를 이용하는 본 발명에 따른 방법의 변형된 실시예를 도시한다. 명령이 암호화라면, AES의 128-비트 버전은 키 스케줄 알고리즘을 통해 하나의 128-비트 키(K)를 열 개의 128-비트 하위키(EK0, EK1, ..., EK9)로 확장시킨다. 평 문 블록 1은 10 개의 하위키를 이용하여 반복적으로 암호화되며, 여기서 제 1 하위키는 EK0과 IV 사이에서의 XOR로부터 초래되고, i≠0인 모든 다른 하위키들 (EKi)은, 키 스케줄에 의해 원래 생성된 하위키들과 동일하게 남는다. 각각의 후속 평문 블록 N은, (이전의 평문 블록을 암호화하기 위해 이용된) 이전의 하위키들을 취하여 획득된 새로운 암호화 하위키들을 이용하여 그리고 이전의 평문 블록 N-1을 하위키 EKn과 XOR하여 반복적으로 암호화되며, 여기서 n은, 나눗셈 N-1 나누기 10의 나머지이다(즉, n = N-1 % 10). i≠n인 모든 다른 하위키들(EKi)은, 이전의 평문 블록을 암호화하는 하위키 EKi와 동일하게 남는다. 예컨대, 도 8은 초기 하위키들(EK0 내지 EK9)이 각각의 평문 블록에 대해 수정되는 방법으로 도시하는데; 평문 블록 1에 대해 오직 EK0이 수정되고, 평문 블록 2에 대해 오직 EK1이 추가적으로 수정되며 그 이후도 이와 같다.
암호해독 중에, 키(K)는 키 스케줄 알고리즘을 통해 열 개의 128-비트 하위키(DK0, DK1, ..., DK9)로 확장된다. 암호문 블록 1은 그러한 10개의 하위키를 이용하여 반복적으로 암호해독되며, 여기서 제 1 하위키는 DK0과 IV 사이의 XOR로부터 초래되고, i≠0인 모든 다른 하위키(DKi)는 평문 블록 1을 생성하기 위한 키 스케줄에 의해 생성된 하위키들과 동일하다. 각각의 후속 암호문 블록 N은, (이전의 암호문 블록을 암호해독하기 위해 이용된) 이전의 하위키들을 취하여 획득된 새로운 암 호해독 하위키들을 이용하여 그리고 이전의 평문 블록 N-1을 하위키 DKn과 XOR하여 반복적으로 암호해독되며, 여기서 n은 나눗셈 N-1 나누기 10의 나머지이다(즉, n = N-1 % 10). i≠n인 모든 다른 하위키들(DKi)은 이전의 암호문 블록을 암호화하는 하위키들(DKi)과 동일하게 남는다.
미리한정된 순서(암호문 블록 1 먼저, 그 후 암호문 블록 2, 등등)로만 암호해독 프로세스가 수행될 수 있다고 가정하면, 암호해독 디바이스는, 주어진 암호문 블록의 암호해독을 위해, 상기 암호해독 디바이스가 어느 하위키를 이전의 평문 블록과 결합해야 할지 알 수 있다. 각각의 블록 암호해독 동작 후에 올바른 하위키를 지시하기 위해 카운터/변수가 이용될 수도 있다.
각각의 블록 암호화 단계에서 오직 하나의 하위키를 이전의 평문 블록과 XOR함으로써 상기 오직 하나의 하위키를 수정하는 것은, 종래의 연쇄화 모드들보다 더 많은 연산을 갖지 않도록 한다(각각의 블록 암호화 단계에서 추가되는 오직 하나의 XOR 연산이 존재한다). 따라서 이러한 변형된 실시예는 종래 기술의 연쇄화 모드들만큼 효율적이라는 것이 이해될 것이다.
상기 방법은, 키(K)를 임의의 수의 하위키로 확장하는 블록 암호로 일반화될 수 있다. 만일 하위키의 총 개수가 R 개라면, 각각의 블록 N은, (이전의 블록을 암호화/암호해독하기 위해 이용된) 이전의 하위키들을 취하여 획득된 새로운 하위키들을 이용하여 그리고 이전의 평문 블록 N-1을 하위키 EKn/DKn와 XOR하여 암호화/암호해독 되며, 여기서 n은 나눗셈 N-1 나누기 R의 나머지이다(즉 n = N-1 % R).
다른 변형예에서, 암호화/암호해독 하위키들은, 이전의 암호문 블록을 암호화/암호해독하기 위해 이용된 모든 이전의 하위키를 이전의 평문 블록 N-1과 XOR하여 생성된다. 제 1 평문/암호문 블록의 경우 암호화/암호해독 하위키들은 모두 초기화 벡터 IV와 XOR된다.
다른 변형예에서, 암호화/암호해독 하위키들은, 항상 동일한 하위키, 예컨대 EK0/DK0를, 이전의 평문 블록 N-1과 XOR하여 생성되며, 제 1 블록의 경우 EK0/DK0는 IV와 XOR된다.
추가적인 변형예에서, 암호화/암호해독 하위키들은, (이전의 암호문 블록을 암호화/암호해독하기 위해 이용된) 적어도 두 개의 이전의 하위키(EKi, EKj)/(DKi, DKj)의 임의의 조합을 이전의 평문 블록과 함께 이용하여 생성된다. 조합 동작은 임의의 단방향 함수를 이용할 수도 있지만, 단방향 함수로 제한되지 않는다.
보안의 관점으로부터, 일부 블록 암호 알고리즘은 키 스케줄 내의 약점으로 인해 관련-키 공격(related-key attack)을 받을 수도 있다. 이는, 메모리 발자국(memory footprint)을 최소화하고 속도를 최대화하기 위해 설계된 타이니 암호화 알고리즘(TEA)의 경우이다. TEA 약점은, TEA의 키 스케줄 알고리즘의 지나치게 단순한 설계로부터 발생한다.
블록 암호에 관한 관련-키 공격을 방지하기 위해, 강력한 키 스케줄이 바람직하다. 강력한 키 스케줄은 다음과 같은 특성을 갖는다:
특성 1: 임의의 하위키가 주어졌을 때, 이용된 함수들을 그저 역으로 함(inverting)으로써 다른 하위키들 또는 마스터 키(K)로 되돌아갈 수 없어야 한다.
특성 2: 하위키들과 마스터 키(K) 사이에서의 비트 누출(bit leakage)을 제거해야 한다.
두 번째 특성은 예컨대 하위키 EKi와 하위키 EKi-1 또는 하위키 EKi+1이 공통된 비트 정보를 많이 갖지 않는다는 것을 보장한다. 일부 공격은 하위키들간의 관계를 이용하므로, 만일 이러한 관계가 존재하지 않는다면 이러한 공격들은 더 높은 복잡성을 가질 것이다.
본 발명에 따른 방법을 이용하면, 키 스케줄 출력은 키(K)에만 의존하는 것이 아니라 또한 암호화할 평문에도 의존한다. 이는, 평문이 알려져 있지 않다면 키 스케줄을 역으로 하는 것을 더욱 어렵게 한다. 이는 특성 1에 의해 예상되는 것이다. 다른 말로, 취약한(vulnerable) 키 스케줄 출력을 몇 개의 평문 블록과 혼합하는 것은 그 키 스케줄을 덜 취약하게 한다.
또한, 각각의 블록 암호화 단계에서 수정되는 하위키를 변화시키는 것은 특성 2를 가능하게 한다. 실제로, 만일 키 스케줄이 취약하여, 블록 N의 암호화를 위해, 공통적인 비트 정보를 많이 갖는 두 개의 하위키 EKn-1과 EKn을 생성한다면, 두 평문 블록 Pn-1과 Pn은 상이할 가능성이 크므로, 쌍(EKn-1 XOR Pn-1 및 EKn XOR Pn)은 공통적인 정보를 덜 가질 것이다. 이는, 각각의 블록 암호화/암호해독 단계에서 하위키들 EKn/DKn이 수정될 때 수행되는 것이다(여기서 n = N-1 % R이고 R은 블록 암 호 알고리즘 내의 라운드의 수이다). 이러한 방법으로, 두 개의 하위키 사이의 그리고 하위키와 마스터 키(K) 사이에서까지의 공통적인 정보가 제거된다.
그밖에도, 실제의 공격을 설정하는 것은 종종, 해당 암호문에 대한 평문들은 상이하지만 동일한 키를 이용하여 암호화된, 많은 수의 암호문을 요구한다. 종래 기술의 방법들을 이용하면, 긴 메시지를 암호화할 때, 이러한 긴 메시지는 상이한 블록들로 분할되며 동일한 키를 이용하여 암호화된다. 이는 그러면 공격을 수행하기 위해 필요한 양의 암호문을 모을 때 도움이 될 것이다. 본 발명에 따른 방법은, 긴 메시지에 대한 각각의 블록의 암호화에 대해 키가 달라지므로, 이를 훨씬 더 어렵게 한다.
도 9는 본 발명의 바람직한 실시예에 따른 일반적인 암호화 방법을 추가적으로 도시한다. 도 9에서, 단일 평문 블록이 암호화되지만, 반복에 의해 본 방법을 일반화시키는 것이 가능하다는 것이 이해될 것이다. 먼저, 평문 블록 N이 검색되며(910) 평문 블록 N01과 암호화 키 N-1을 이용하여 암호화 키 N이 생성된다(920). 바람직한 실시예에서, 평문 블록 N-1과 암호화 키 N-1은 XOR을 이용하여 결합된다. 단계(910)는 또한 단계(920) 이후에 발생할 수도 있다는 것이 이해될 것이다. 그 후, 암호화 알고리즘과 암호화 키 N을 이용하여 평문 블록 N이 암호화되며(930), 그 후에 송신되거나 저장될 수도 있는 암호문 블록 N을 획득한다(940). 언급된 것과 같이, 본 방법은, 1 만큼 증가된 N을 이용하여 반복될 수도 있다.
도 10은 본 발명의 바람직한 실시예에 따른 암호해독 방법을 추가적으로 도시한다. 도 10에서, 단일 암호문 블록이 암호해독되지만, 반복에 의해 본 방법을 일반화시킬 수 있다는 것이 이해될 것이다. 먼저, 암호문 블록 N이 검색되고(1010) 평문 블록 N-1과 암호해독 키 N-1을 이용하여 암호해독 키 N이 생성된다(1020). 바람직한 실시예에서, 평문 블록 N-1과 암호해독 키 N-1은 XOR을 이용하여 결합된다. 단계(1010)는 또한 단계 (1020) 이후에 발생할 수도 있다는 것이 이해될 것이다. 그 후, 암호해독 알고리즘과 암호해독 키 N을 이용하여 암호문 블록 N이 암호해독(1030)되며, 평문 블록 N을 획득한다(1040). 언급된 것과 같이, 본 방법은, 1 만큼 증가된 N을 이용하여 반복될 수도 있다.
본 명세서의 이전부분에서 암호화 방법에 대해 언급된 것과 같이, 제 1 블록은, 암호해독 유닛이 사전에 알고 있을 수도 있는 또는 암호해독이 시작되기 전에 암호해독 유닛에 의해 수신될 수도 있는, 초기화 키를 이용하여 암호해독된다.
도 11은 본 발명의 바람직한 실시예에 따른 암호화 시스템을 도시한다. 암호화 시스템(1100)은 암호화 디바이스(1110)와 암호해독 디바이스(1120)를 포함한다. 암호화 디바이스(1110)는 평문을 수신하고, 수신된 평문을 암호화하며, 획득된 암호문을 출력하도록 적응된다. 비슷하게, 암호해독 디바이스(1120)는 암호문을 수신하고, 수신된 암호문을 암호해독하며, 획득된 평문을 출력하도록 적응된다.
더욱 상세하게, 암호화 디바이스(1110)는, 평문을 수신하고 암호문을 수신하도록 적응된 적어도 하나의 통신 유닛 "I/O"(1116)과, 바람직하게, 이롭게 평문, 중간 결과, 암호문 및 적어도 하나의 암호화 키를 저장하도록 적응된 적어도 하나의 메모리(1114)를 포함한다. 디바이스(1110)는, 하나 또는 다수의 디바이스 비밀 키를 저장하도록 적응된 보호된 영역(1118)을 더 포함한다. 디바이스 비밀 키는 송 신 이전에 초기화 키(K)를 암호화하기 위해 이용된다. 암호화 디바이스(1110)에 의해 이용될 디바이스 키의 선택은 암호화된 데이터의 수신기에 의존한다. 보호된 영역(1118)은 바람직하게 소프트웨어 변경 및 물리적 템퍼링(tempering)에 대한 내성이 있다. 만일 초기화 키(K)가 비대칭 암호법을 이용하여 암호화된다면, 암호화 디바이스(1110)는 암호화를 위해 공개 키를 이용할 것이므로, 보호된 영역(1118)은 필요하지 않다. 또한, 암호화 디바이스(1110)는, 본 명세서에 기술된 방법의 실시예들 중의 어느 하나에 따른 평문의 암호화를 수행하기 위해 적응된 프로세서(1112)를 포함한다.
마찬가지로, 더욱 상세하게, 암호해독 디바이스(1120)는, 암호문을 수신하고 평문을 출력하도록 적응된 적어도 하나의 통신 유닛 "I/O"(1126)과, 바람직하게, 이롭게 평문, 중간 결과, 암호문 및 적어도 하나의 암호해독 키를 저장하도록 적응된 적어도 하나의 메모리(1124)를 포함한다. 디바이스(1120)는, 디바이스 비밀 키를 저장하도록 적응된 보호된 영역(1128)을 더 포함한다. 디바이스 비밀 키는, 암호해독 디바이스(1120)로 송신되기 전에 초기화 키(K)를 암호화하기 위해 암호화 디바이스(1110)에 의해 사전에 이용되었다. 보호된 영역(1128)은 바람직하게 소프트웨어 변경 및 물리적 템퍼링에 대한 내성이 있다. 만일 초기화 키(K)가 비대칭 암호법을 이용하여 암호화되었더라도, K의 암호해독을 위해 암호해독 디바이스(1120)는 비공개(private) 키를 이용할 것이며 이러한 비공개 키는 보호되어야 하고 안전한 영역에 저장되어야 하므로, 보호된 영역(1128)을 이용하는 것이 바람직하다. 또한, 암호해독 디바이스(1120)는, 본 명세서에 기술된 방법의 실시예들 중의 어느 하나에 따른 평문의 암호해독을 수행하도록 적응된 프로세서(1122)를 포함한다.
또한, 프로세서에서 실행될 때 본 명세서에 기술된 방법의 실시예들 중의 어느 하나에 따른 암호화 방법 또는 암호해독 방법을 수행하는, 컴퓨터 판독 가능한 명령어를 각각 저장한 데이터 저장 매체(1130, 1140)가 도시되어있다.
이해될 것과 같이, 본 발명은, 적어도 한 변형된 실시예에서, 효율적이면서, 수정된 평문 및 암호문 블록 연쇄화 모드(MPCBC)에 대한 더 안전한 대안을 제공한다.
상세한 설명과 (적당한 경우) 청구항들과 도면들에 개시된 각각의 특징은 독립적으로 또는 임의의 적당한 조합으로 제공될 수도 있다. 하드웨어로 구현되는 것으로 기술된 특징들은 또한 소프트웨어로 구현될 수도 있으며, 그 역이 또한 성립한다.
청구항들에 나타나는 참조 기호들은 예시의 목적을 위한 것이며, 청구항들의 범위에 대한 그 어떤 제한하는 효과를 갖지 않는다.
본 발명은 일반적으로 암호화(encryption)에 이용 가능하며, 특히 블록 내의 데이터의 연쇄화된 암호화에 이용 가능하다.
도 1은, 종래 기술의 암호 블록 연쇄화(CBC) 모드를 도시하는 도면.
도 2는, 종래 기술의 전파 암호 블록 연쇄화(PCBC) 모드를 도시하는 도면.
도 3은, 종래 기술의 수정된 전파 암호 블록 연쇄화(MPCBC) 모드를 도시하는 도면.
도 4는, 본 발명의 첫 번째 바람직한 실시예에 따른 연쇄화 모드를 도시하는 도면.
도 5는, 본 발명의 두 번째 바람직한 실시예에 따른 연쇄화 모드를 도시하는 도면.
도 6은, 본 발명의 변형된 실시예에 따른 연쇄화 모드를 도시하는 도면.
도 7은, 키 스케줄 알고리즘을 도시하는 도면.
도 8은, 본 발명에 따른 방법의 다른 변형된 실시예를 도시하는 도면.
도 9는, 본 발명의 연쇄화 모드의 바람직한 실시예에 따른 평문 블록의 암호화 방법을 도시하는 도면.
도 10은, 본 발명의 연쇄화 모드의 바람직한 실시예에 따른 평문 블록의 암호해독 방법을 도시하는 도면.
도 11은, 본 발명의 바람직한 실시예에 따른 연쇄화 모드를 이용하여 암호화 및 암호해독하기 위한 디바이스를 도시하는 도면.

Claims (10)

  1. 디지털 데이터의 해당 평문 블록을 암호화하기 위한 키를 생성하는 방법으로서, 상기 해당 평문 블록은, 적어도 두 개의 평문 블록으로 이루어진 순서화된 열에 속하는, 평문 블록을 암호화하기 위한 키를 생성하는 방법에 있어서, 상기 방법은, 디바이스(1110)에서,
    해당 평문 블록을 검색하는 단계(910);
    이전의 평문 블록을 제 1 암호화 키와 결합하여, 해당 평문 블록에 대한 제 2 암호화 키를 생성하는 단계(920)로서, 상기 제 1 암호화 키는 이전의 평문 블록의 암호화를 위해 이용된 암호화 키이며, 상기 이전의 평문 블록은 상기 순서화된 열 내의 해당 평문 블록에 바로 앞선 평문 블록인, 제 2 암호화 키를 생성하는 단계
    를 포함하는, 평문 블록을 암호화하기 위한 키를 생성하는 방법.
  2. 제1항에 있어서, 상기 제 1 암호화 키는 초기화 암호화 키인, 평문 블록을 암호화하기 위한 키를 생성하는 방법.
  3. 디지털 데이터의 해당 평문 블록을 암호화하는 방법으로서, 상기 해당 평문 블록은, 적어도 두 개의 평문 블록으로 이루어진 순서화된 열에 속하는, 평문 블록을 암호화하는 방법에 있어서, 상기 방법은, 암호화 디바이스(1110)에서,
    제1항의 방법을 이용하여 암호화 키를 생성하는 단계(910, 920); 그리고
    암호화 알고리즘 및 생성된 암호화 키를 이용하여 해당 평문 블록을 암호화하는 단계(930)
    를 포함하는, 평문 블록을 암호화하는 방법.
  4. 디지털 데이터의 해당 암호문 블록을 암호해독하기 위한 키를 생성하는 방법으로서, 상기 해당 암호문 블록은, 적어도 두 개의 암호문 블록으로 이루어진 순서화된 열에 속하는, 암호문 블록을 암호해독하기 위한 키를 생성하는 방법에 있어서, 상기 방법은, 디바이스(1120)에서,
    해당 암호문 블록을 검색하는 단계(1010);
    이전에 획득된 평문 블록을 제 1 암호해독 키와 결합하여, 해당 암호문 블록에 대한 제 2 암호해독 키를 생성하는 단계로서, 상기 제 1 암호해독 키는, 이전의 평문 블록을 획득하기 위해 이용된 암호해독 키이며, 상기 이전의 평문 블록은, 상기 순서화된 열 내의 해당 암호문 블록에 바로 앞선 암호문 블록에 대응하는, 제 2 암호해독 키를 생성하는 단계
    를 포함하는, 암호문 블록을 암호해독하기 위한 키를 생성하는 방법.
  5. 제4항에 있어서, 상기 제 2 암호해독 키를 생성하는 단계에서, 결합 동작 전에, 단방향 함수가, 이전에 획득된 평문 블록에 적용되는, 암호문 블록을 암호해독하기 위한 키를 생성하는 방법.
  6. 제4항에 있어서, 이전의 평문 블록의 암호해독을 위해 이용된 암호해독 키는, 키 스케줄 알고리즘으로부터 초래되는 복수의 하위키(subkey) 중의 한 하위키이거나 또는 이전의 평문 블록의 암호해독을 위해 이용된 복수의 하위키들 중의 한 하위키인, 암호문 블록을 암호해독하기 위한 키를 생성하는 방법.
  7. 디지털 데이터의 해당 암호문 블록을 암호해독하는 방법으로서, 상기 해당 암호문 블록은, 적어도 두 개의 암호문 블록으로 이루어진 순서화된 열에 속하는, 암호문 블록을 암호해독하는 방법에 있어서, 상기 방법은, 암호해독 디바이스(1020)에서,
    제4항의 방법을 이용하여 암호해독 키를 획득하는 단계(1010, 1020); 그리고
    암호해독 알고리즘 및 생성된 암호해독 키를 이용하여 해당 암호문 블록을 암호해독하는 단계(1030)
    를 포함하는, 암호문 블록을 암호해독하는 방법.
  8. 디지털 데이터의 해당 평문 블록을 암호화하기 위한 암호화 키를 생성하기 위한 디바이스(1100)로서, 상기 해당 평문 블록은, 적어도 두 개의 평문 블록으로 이루어진 순서화된 열에 속하는, 암호화 키를 생성하기 위한 디바이스에 있어서,
    해당 평문 블록을 검색하도록 적응된 통신 유닛(1116); 그리고
    프로세서(1112)로서, 이전의 평문 블록을 제 1 암호화 키와 결합하여, 해당 평문 블록에 대한 제 2 암호화 키를 생성하되, 상기 제 1 암호화 키는, 이전의 평문 블록의 암호화를 위해 이용된 암호화 키이며, 상기 이전의 평문 블록은 상기 순서화된 열 내의 해당 평문 블록에 바로 앞선 평문 블록인, 제 2 암호화 키를 생성하도록 적응된, 프로세서(1112)
    를 포함하는, 암호화 키를 생성하기 위한 디바이스.
  9. 디지털 데이터의 해당 암호문 블록을 암호해독하기 위한 암호해독 키를 생성하기 위한 디바이스(1120)로서, 상기 해당 암호문 블록은, 적어도 두 개의 암호문 블록으로 이루어진 순서화된 열에 속하는, 암호해독 키를 생성하기 위한 디바이스(1120)에 있어서,
    해당 암호문 블록을 검색하도록 적응된 통신 유닛(1126); 그리고
    프로세서(1122)로서, 이전에 획득된 평문 블록을 제 1 암호해독 키와 결합하여, 해당 암호문 블록에 대한 제 2 암호해독 키를 생성하되, 상기 제 1 암호해독 키는, 이전의 평문 블록을 획득하기 위해 이용된 암호해독 키이며, 상기 이전의 평문 블록은, 상기 순서화된 열 내의 해당 암호문 블록에 바로 앞선 암호문 블록에 대응하는, 제 2 암호해독 키를 생성하도록 적응된, 프로세서(1122)
    를 포함하는, 암호해독 키를 생성하기 위한 디바이스.
  10. 제9항에 있어서, 하나의 암호문 블록을 암호해독하기 위해 복수의 하위키가 이용되며, 상기 프로세서(1122)는, 이전의 평문 블록과 결합할 복수의 하위키로부 터 적어도 하나의 하위키를 찾도록 적응되는, 암호해독 키를 생성하기 위한 디바이스.
KR1020090124796A 2008-12-15 2009-12-15 연쇄화된 암호화 모드를 위한 방법 및 디바이스 KR20100069610A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP08305947.7 2008-12-15
EP08305947A EP2197144A1 (en) 2008-12-15 2008-12-15 Methods and devices for a chained encryption mode

Publications (1)

Publication Number Publication Date
KR20100069610A true KR20100069610A (ko) 2010-06-24

Family

ID=40714270

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090124796A KR20100069610A (ko) 2008-12-15 2009-12-15 연쇄화된 암호화 모드를 위한 방법 및 디바이스

Country Status (5)

Country Link
US (1) US8259934B2 (ko)
EP (2) EP2197144A1 (ko)
JP (1) JP2010140026A (ko)
KR (1) KR20100069610A (ko)
CN (1) CN101753292B (ko)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650408B2 (en) 2010-09-08 2014-02-11 Xilinx, Inc. Protecting against differential power analysis attacks on decryption keys
US8832462B2 (en) * 2010-09-08 2014-09-09 Xilinx, Inc. Protecting against differential power analysis attacks on sensitive data
US8751789B2 (en) * 2010-09-17 2014-06-10 International Business Machines Corporation General purpose distributed encrypted file system
EP2487828A1 (en) 2011-02-10 2012-08-15 Thomson Licensing Method and device for generating control words
JP5672037B2 (ja) * 2011-02-10 2015-02-18 大日本印刷株式会社 暗号化方法、復号方法、暗号化装置、復号装置及び暗号化/復号システム
CN102136906A (zh) * 2011-04-29 2011-07-27 贵阳高新华美龙技术有限公司 一种快速生成防伪码的加密算法
CN102594549B (zh) * 2012-03-22 2015-02-11 山东泰信电子股份有限公司 一种数据多级加密、解密方法
CN102594548B (zh) * 2012-03-22 2015-06-10 山东泰信电子股份有限公司 一种实现数据分段加密、解密的方法
CN102546151A (zh) * 2012-03-22 2012-07-04 山东泰信电子有限公司 一种数据加密、解密方法
JP5875441B2 (ja) 2012-03-29 2016-03-02 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データを暗号化する装置及び方法
US9158499B2 (en) * 2012-04-30 2015-10-13 Freescale Semiconductor, Inc Cryptographic processing with random number generator checking
CN103427987B (zh) * 2012-05-25 2016-05-18 纬创资通股份有限公司 数据加密的方法、数据验证方法及电子装置
US9425959B1 (en) * 2012-10-03 2016-08-23 Altera Corporation Security variable scrambling
EP2717511A1 (en) * 2012-10-05 2014-04-09 Nagravision S.A. Method and device for digital data blocks encryption and decryption
GB2513376A (en) * 2013-04-25 2014-10-29 Ibm Distribution of encrypted information in multiple locations
US10079676B2 (en) 2013-07-12 2018-09-18 The Board Of Regents Of The University Of Oklahoma Optical cryptography systems and methods
US9160525B2 (en) 2013-07-19 2015-10-13 Qualcomm Incorporated Apparatus and method for key update for use in a block cipher algorithm
CN103593624A (zh) * 2013-11-26 2014-02-19 中国汽车工业国际合作有限公司 一种展会服务平台加密方法
CN104683093B (zh) * 2013-11-27 2018-01-26 财团法人资讯工业策进会 兼具完整性验证的区块加密装置、区块加密方法、区块解密装置及区块解密方法
US10873454B2 (en) 2014-04-04 2020-12-22 Zettaset, Inc. Cloud storage encryption with variable block sizes
US10043029B2 (en) 2014-04-04 2018-08-07 Zettaset, Inc. Cloud storage encryption
US10298555B2 (en) 2014-04-04 2019-05-21 Zettaset, Inc. Securing files under the semi-trusted user threat model using per-file key encryption
US9363247B2 (en) * 2014-04-04 2016-06-07 Zettaset, Inc. Method of securing files under the semi-trusted user threat model using symmetric keys and per-block key encryption
US10608815B2 (en) 2014-07-28 2020-03-31 The Boeing Company Content encryption and decryption using a custom key
CN104579646B (zh) * 2015-01-30 2015-12-30 南京法威克信息科技有限公司 乱码本有限单向变换及其加解密应用的方法、装置和电路
CN104602209A (zh) * 2015-02-27 2015-05-06 中国科学院大学 一种基于rsa和流密码算法的联合信源短信加密解密方法
CN104901811B (zh) * 2015-06-12 2018-11-16 信和汇诚信用管理(北京)有限公司 一种对称密码表及对称加密法
US10122690B2 (en) * 2015-07-13 2018-11-06 The Boeing Company Data encryption and authentication using a mixing function in a communication system
GB201519612D0 (en) * 2015-11-06 2015-12-23 Nagravision Sa Key sequence generation for cryptographic operations
US10116667B2 (en) 2016-01-26 2018-10-30 Bank Of America Corporation System for conversion of an instrument from a non-secured instrument to a secured instrument in a process data network
US9825931B2 (en) 2016-01-26 2017-11-21 Bank Of America Corporation System for tracking and validation of an entity in a process data network
US10438209B2 (en) 2016-02-10 2019-10-08 Bank Of America Corporation System for secure routing of data to various networks from a process data network
US10142347B2 (en) 2016-02-10 2018-11-27 Bank Of America Corporation System for centralized control of secure access to process data network
US10129238B2 (en) 2016-02-10 2018-11-13 Bank Of America Corporation System for control of secure access and communication with different process data networks with separate security features
US11374935B2 (en) 2016-02-11 2022-06-28 Bank Of America Corporation Block chain alias person-to-person resource allocation
US10318938B2 (en) 2016-02-22 2019-06-11 Bank Of America Corporation System for routing of process authorization and settlement to a user in process data network based on specified parameters
US10636033B2 (en) 2016-02-22 2020-04-28 Bank Of America Corporation System for routing of process authorizations and settlement to a user in a process data network
US10387878B2 (en) 2016-02-22 2019-08-20 Bank Of America Corporation System for tracking transfer of resources in a process data network
US10026118B2 (en) 2016-02-22 2018-07-17 Bank Of America Corporation System for allowing external validation of data in a process data network
US10762504B2 (en) 2016-02-22 2020-09-01 Bank Of America Corporation System for external secure access to process data network
US10607285B2 (en) 2016-02-22 2020-03-31 Bank Of America Corporation System for managing serializability of resource transfers in a process data network
US10679215B2 (en) 2016-02-22 2020-06-09 Bank Of America Corporation System for control of device identity and usage in a process data network
US10135870B2 (en) 2016-02-22 2018-11-20 Bank Of America Corporation System for external validation of secure process transactions
US10178105B2 (en) 2016-02-22 2019-01-08 Bank Of America Corporation System for providing levels of security access to a process data network
US10496989B2 (en) 2016-02-22 2019-12-03 Bank Of America Corporation System to enable contactless access to a transaction terminal using a process data network
US10140470B2 (en) 2016-02-22 2018-11-27 Bank Of America Corporation System for external validation of distributed resource status
US10440101B2 (en) 2016-02-22 2019-10-08 Bank Of America Corporation System for external validation of private-to-public transition protocols
US10475030B2 (en) 2016-02-22 2019-11-12 Bank Of America Corporation System for implementing a distributed ledger across multiple network nodes
US10142312B2 (en) 2016-02-22 2018-11-27 Bank Of America Corporation System for establishing secure access for users in a process data network
US9853813B2 (en) 2016-03-17 2017-12-26 Crater Dog Technologies, LLC Method for securing a private key
US10157078B2 (en) 2016-04-10 2018-12-18 Bank Of America Corporation System for transforming large scale electronic processing using application block chain
US9979718B2 (en) 2016-05-11 2018-05-22 Bank Of America Corporation System for managing security and access to resource sub-components
KR101815175B1 (ko) 2016-05-27 2018-01-04 삼성에스디에스 주식회사 데이터 암호화 장치 및 방법, 데이터 복호화 장치 및 방법
US10402796B2 (en) 2016-08-29 2019-09-03 Bank Of America Corporation Application life-cycle transition record recreation system
US10360820B2 (en) 2016-09-04 2019-07-23 Shahriar Pourazin Instrumentation privacy apparatus and method
US10067994B2 (en) 2016-10-07 2018-09-04 Bank Of America Corporation Real time event capture and transformation of transient data for an information network
US10069672B2 (en) 2016-10-07 2018-09-04 Bank Of America Corporation Real time event capture, analysis and reporting system
US10158737B2 (en) 2016-10-07 2018-12-18 Bank Of America Corporation Real time event capture and analysis of transient data for an information network
US11631077B2 (en) 2017-01-17 2023-04-18 HashLynx Inc. System for facilitating secure electronic communications between entities and processing resource transfers
CN107659397B (zh) * 2017-08-11 2020-09-25 深圳市钱海网络技术有限公司 一种敏感信息传输方法及系统
US10924263B2 (en) * 2017-09-25 2021-02-16 The Boeing Company Systems and methods for facilitating iterative key generation and data encryption and decryption
US10965456B2 (en) 2017-09-25 2021-03-30 The Boeing Company Systems and methods for facilitating data encryption and decryption and erasing of associated information
US10860403B2 (en) 2017-09-25 2020-12-08 The Boeing Company Systems and methods for facilitating truly random bit generation
CN108616351B (zh) * 2018-03-26 2020-09-18 山东大学 一种全动态加密解密方法及加密解密装置
US11334676B2 (en) 2018-04-25 2022-05-17 The Regents Of The University Of California Compact key encoding of data for public exposure such as cloud storage
US10929545B2 (en) 2018-07-31 2021-02-23 Bank Of America Corporation System for providing access to data stored in a distributed trust computing network
US11218296B2 (en) 2019-02-09 2022-01-04 Druva Inc. Data de-duplication among untrusted entities
CN110061840B (zh) * 2019-03-12 2022-10-28 平安科技(深圳)有限公司 数据加密方法、装置、计算机设备及存储介质
CN110611568B (zh) * 2019-09-20 2022-10-28 天翼电子商务有限公司 基于多种加解密算法的动态加解密方法、装置、及设备
US11354285B2 (en) * 2020-04-15 2022-06-07 salesforee.com, inc. Bulk duplication detection supporting data encryption
CN111654511A (zh) * 2020-07-13 2020-09-11 中国银行股份有限公司 一种链式数据加密方法、链式数据解密方法及相应的系统
US11695541B2 (en) * 2020-12-07 2023-07-04 International Business Machines Corporation Implementing resilient deterministic encryption
CN112866288B (zh) * 2021-03-01 2022-09-06 上海海事大学 一种双明文传输的数据对称加密方法
CN113347001B (zh) * 2021-05-31 2023-04-28 广州众诺电子技术有限公司 一种数据保护方法、服务器、系统、设备和介质
IT202100016910A1 (it) * 2021-06-28 2022-12-28 St Microelectronics Srl Procedimento per eseguire operazioni di crittografia in un dispositivo di elaborazione, corrispondenti dispositivo di elaborazione e prodotto informatico
CN113378200B (zh) * 2021-06-28 2022-02-22 江苏翔晟信息技术股份有限公司 基于分离式存储的电子合同文件的分组加密系统及方法
CN114301718A (zh) * 2022-03-10 2022-04-08 北京微芯感知科技有限公司 一种采用单密钥进行链式加密的文件传输方法
CN116193166A (zh) * 2022-12-27 2023-05-30 北京锐马视讯科技有限公司 一种视频加密方法及系统
CN117879845B (zh) * 2023-04-26 2024-06-04 喜悦娱乐(杭州)股份有限公司 基于区块链的影视数据文件加密保护方法及系统
CN117319041B (zh) * 2023-10-07 2024-05-24 南京邮电大学 一种网络通信数据加密传输方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260215B2 (en) * 2001-09-04 2007-08-21 Portauthority Technologies Inc. Method for encryption in an un-trusted environment
JP2006279406A (ja) * 2005-03-29 2006-10-12 Hitachi Information Technology Co Ltd 暗号化および復号化方法並びにその装置
CN1323507C (zh) * 2005-06-28 2007-06-27 华为技术有限公司 分组加密算法中对短分组的处理方法
US7428306B2 (en) * 2006-04-18 2008-09-23 International Business Machines Corporation Encryption apparatus and method for providing an encrypted file system

Also Published As

Publication number Publication date
EP2197145A2 (en) 2010-06-16
US8259934B2 (en) 2012-09-04
EP2197145A3 (en) 2012-08-01
US20100150344A1 (en) 2010-06-17
JP2010140026A (ja) 2010-06-24
CN101753292B (zh) 2014-06-18
EP2197144A1 (en) 2010-06-16
CN101753292A (zh) 2010-06-23

Similar Documents

Publication Publication Date Title
US8259934B2 (en) Methods and devices for a chained encryption mode
US8416947B2 (en) Block cipher using multiplication over a finite field of even characteristic
US7945049B2 (en) Stream cipher using multiplication over a finite field of even characteristic
JP3901909B2 (ja) 暗号化装置およびプログラムを記録した記録媒体
JP7031580B2 (ja) 暗号化装置、暗号化方法、復号化装置、及び復号化方法
US8170204B2 (en) Method and system for extending advanced encryption standard (AES) operations for enhanced security
US9515818B2 (en) Multi-block cryptographic operation
US20060023875A1 (en) Enhanced stream cipher combining function
US8718280B2 (en) Securing keys of a cipher using properties of the cipher process
US9565018B2 (en) Protecting cryptographic operations using conjugacy class functions
US20090245510A1 (en) Block cipher with security intrinsic aspects
US10148425B2 (en) System and method for secure communications and data storage using multidimensional encryption
Reyad et al. Key-based enhancement of data encryption standard for text security
Asaad et al. Advanced Encryption Standard Enhancement with Output Feedback Block Mode Operation
CN109714154B (zh) 一种代码体积困难白盒安全模型下的白盒密码算法的实现方法
Rawal Advanced encryption standard (AES) and it’s working
US20230403134A1 (en) Method for processing encrypted data
Rayarapu et al. Securing files using AES algorithm
Landge et al. VHDL based Blowfish implementation for secured embedded system design
Sarkar et al. A Survey on the Advanced Encryption Standard (AES): A Pillar of Modern Cryptography
KR20110042419A (ko) 멀티미디어 환경에 적용 가능한 블록암호 운용방법
JP5293612B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
Ajlouni et al. A New Approach in Key Generation and Expansion in Rijndael Algorithm.
Key Asian Research Consortium
Harram et al. Simulation of AES based data encryption in Vb. NET

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