KR101369748B1 - 데이터 암호화 방법 및 그 장치 - Google Patents

데이터 암호화 방법 및 그 장치 Download PDF

Info

Publication number
KR101369748B1
KR101369748B1 KR1020070029367A KR20070029367A KR101369748B1 KR 101369748 B1 KR101369748 B1 KR 101369748B1 KR 1020070029367 A KR1020070029367 A KR 1020070029367A KR 20070029367 A KR20070029367 A KR 20070029367A KR 101369748 B1 KR101369748 B1 KR 101369748B1
Authority
KR
South Korea
Prior art keywords
counter
random number
indicating
bit
data
Prior art date
Application number
KR1020070029367A
Other languages
English (en)
Other versions
KR20080050932A (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 EP07834150.0A priority Critical patent/EP2060054A4/en
Priority to PCT/KR2007/005844 priority patent/WO2008069473A1/en
Priority to US11/946,269 priority patent/US8204215B2/en
Publication of KR20080050932A publication Critical patent/KR20080050932A/ko
Application granted granted Critical
Publication of KR101369748B1 publication Critical patent/KR101369748B1/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
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

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

Abstract

본 발명은 데이터 암호화 방법 및 장치에 관한 것으로, 패킷 단위로 구성된 데이터를 N개의 데이터 블록으로 분할하고, 그 분할된 N개의 데이터 블록을 암호화하기 위한 암호화 키의 생성에 이용되는 난수를 이용하여 초기 카운터 값을 생성한 후, 그 초기 카운터 값을 소정의 값만큼 N번 증가시켜 N개의 카운터 값을 생성하고, 그 생성된 N개의 카운터 값을 암호화 키로 암호화하며, 암호화된 N개의 카운터 값과 분할된 N개의 데이터 블록에 대하여 배타적 논리합 연산을 수행함으로써, 빠르면서도 안정적으로 데이터를 암호화할 수 있다.
암호화, 카운터, AES, DTCP, 난수

Description

데이터 암호화 방법 및 그 장치{Method for encrypting datas and appatus therefor}
도 1은 종래의 AES의 CBC 모드의 암호화 알고리즘을 설명하기 위하여 도시한 도면이다.
도 2는 종래의 AES의 카운터 모드의 암호화 알고리즘을 설명하기 위하여 도시한 도면이다.
도 3은 본 발명에 따른 데이터 암호화 장치의 일실시예를 도시한 도면이다.
도 4는 DTCP/1394에서의 패킷의 구성의 일실시예를 도시한 도면이다.
도 5는 DTCP/IP에서의 패킷의 구성의 일실시예를 도시한 도면이다.
도 6은 본 발명에 따른 데이터 암호화 방법을 설명하기 위하여 도시한 흐름도이다.
본 발명은 데이터 암호화 방법 및 장치에 관한 것으로, 특히 DTCP(Digital Transmission Content Protection)에서의 데이터 암호화 방법 및 장치에 관한 것이다.
DTCP (Digital Transmission Content Protection)는 IEEE 1394로 연결된 기기간 AV(오디오/비디오) 데이터 전송 보호를 위한 프로토콜로 개발되었으며 이후 USB, MOST, BlueTooth, IP 등으로 전송되는 AV 데이터 보호용으로도 쓰일 수 있도록 확장되었다. DTCP는 원래 압축 AV 데이터의 전송이 목적이나 컨텐츠 포맷에 관계없이 모든 종류의 데이터의 전송에도 이용될 수 있다. DTCP의 데이터 암호화에 쓰이는 알고리즘은 M6와 128비트(bit) 키를 사용하는 AES(Advanced Encryption Standard)의 CBC 모드가 있는데 AES의 CBC 모드가 좀 더 안정성이 좋은 알고리즘이다.
최근 수십 GHz대역을 이용하여 수 Gbps 전송율(예로 60GHz에 4Gbps)을 갖는 무선 송수신 시스템을 통해서 비압축 비디오/오디오 데이터를 송수신하고자 하는 요구가 증가하고 있어서 관련 기술 개발도 활발하다. 이러한 통신 기술에도 DTCP를 적용할 수 있는데 전송 데이터의 양이 크므로 이때 중요한 것이 빠른 속도의 암호화 알고리즘이다.
도 1은 종래의 AES의 CBC 모드의 암호화 알고리즘을 설명하기 위하여 도시한 도면이다.
도 1에는 AES의 CBC 모드에서의 암호화 및 복호화 과정이 도시되어 있다.
도 1 상단의 암호화 과정을 보면, 임의의 크기를 가지는 데이터를 128비트 크기의 데이터 블록 P1, P2, … , Pn으로 분할하고 앞에서부터 순차적으로 AES 암호화를 적용한다.
즉 P1에 초기 값 IV(Initial value)를 더한 값을 암호화 키 K를 이용하여 암 호화하여 C1이 생성되면, 이 C1을 P2와 더하고, 이 더해진 결과 값을 암호화 키 K를 이용하여 암호화하여 C2를 생성한다. 이와 같이 앞의 과정에서 얻어진 결과 값을 뒤의 암호화에 이용하는 방식으로 P1, P2, … , Pn까지의 데이터를 이용하여 암호화된 데이터 C1, C2, …, Cn을 생성하게 된다.
도 1 하단의 복호화 과정은 이의 역과정으로 C1을 암호화 키 K를 이용하여 복호화하고 초기 값 IV를 더해주면 P1을 얻게 되고, C2를 복호화 키 K를 이용하여 복호화하고 C1을 더해주면 P2를 얻게 된다. 이와 같은 방식으로 복호화 과정을 거치면 P1, P2, … , Pn을 얻게 된다.
이와 같이 종래의 AES의 CBC 모드를 이용한 암호화 방법은 암호화 및 복호화에 많은 시간이 소요되고, 암호화 또는 복호화에 있어 앞의 결과가 뒤의 암호화 및 복호화에 영향을 미치는 문제점이 있었다.
이를 극복하기 위한 방법으로서 AES의 카운터 모드를 이용하는 방법이 있다.
도 2는 종래의 AES의 카운터 모드의 암호화 알고리즘을 설명하기 위하여 도시한 도면이다.
도 2에는 AES의 카운터 모드에서의 암호화 및 복호화 과정이 도시되어 있다.
도 2 상단의 암호화 과정을 보면, 카운터 모드는 임의의 크기를 가지는 데이터를 128비트 크기의 데이터 블록 P1, P2, … , Pn으로 분할하고, 128 비트의 데이터 블록의 개수만큼 카운터를 생성한 후, 이 카운터를 이용하여 AES 암호화를 수행한다.
이때, 카운터는 암호화하고자 하는 데이터와 관계없는 임의의 값으로, 카운 터의 초기 카운터에 일반적으로 1씩 더해져서 값이 설정되게 된다. 예컨대, 도 2의 상단에서 초기 카운터 t1에 1이 더해져서 t2가 결정되고, t2에 1이 더해져서 t3가 결정될 수 있는 것이다.
이렇게 임의의 값으로 결정된 복수개의 카운터를 암호화 키 K를 이용해서 암호화한 후에, 복수개의 암호화된 카운터들 각각을 데이터 블록 P1, P2, … , Pn과 배타적 논리합 연산을 수행하여 최종적으로 C1, C2, …, Cn을 생성하게 된다.
도 2 하단의 복호화 과정은 이의 역과정으로 카운터 t1을 암호화 키 K를 이용하여 암호화하고, 그 암호화된 카운터를 암호화된 데이터 C1과 배타적 논리합 연산을 수행하게 되면 원래의 데이터 블록 P1을 얻게 된다. P2 내지 Pn도 P1을 얻는 방식과 동일한 방식으로 얻을 수 있다.
이와 같이, AES의 카운터 모드의 암호와 알고리즘은 앞의 AES 암호화 결과가 뒤의 암호화에 영향을 미치지 않고, 이에 따라 병렬적으로 암호화 및 복호화가 가능하여 빠르게 암호화를 시킬 수 있다.
하지만 DTCP에서는 AES의 카운터 모드를 채택하지 않고 있으며, AES의 카운터 모드는 카운터를 미리 예측할 수 있다는 위험이 있고, 동일한 암호화 키와 동일한 카운터를 이용하여 복수의 데이터를 암호화하는 경우에는 제3자가 암호화된 데이터의 원래 데이터 내용을 유추할 수 있다는 문제점이 있다.
본 발명의 목적은 DTCP에서 빠르면서도 안정적으로 데이터를 암호화할 수 있는 데이터 암호화 방법 및 장치를 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명에 따른 데이터 암호화 방법은 데이터를 N개의 데이터 블록으로 분할하는 단계; 상기 분할된 N개의 데이터 블록을 암호화하기 위한 암호화 키의 생성에 이용되는 난수를 이용하여 초기 카운터 값을 생성하는 단계; 상기 초기 카운터 값을 소정의 값만큼 N번 증가시켜 N개의 카운터 값을 생성하고, 상기 생성된 N개의 카운터 값을 상기 암호화 키로 암호화하는 단계; 및 상기 암호화된 N개의 카운터 값과 상기 분할된 N개의 데이터 블록에 대하여 배타적 논리합 연산을 수행하는 단계를 포함한다.
바람직하게는 상기 카운터 값은 상기 난수를 표시하기 위한 비트, 이미 전송된 데이터 블록의 개수를 표시하기 위한 비트 및 상기 카운터를 표시하기 위한 비트를 포함한다.
바람직하게는 상기 난수를 표시하기 위한 비트, 상기 난수와 중복되지 않도록 생성된 제2 난수를 표시하기 위한 비트 및 상기 카운터를 표시하기 위한 비트를 포함한다.
바람직하게는 상기 카운터 값은 상기 난수를 표시하기 위한 비트 및 상기 각각의 데이터 블록의 일부분의 정보를 표시하기 위한 비트를 포함한다.
바람직하게는 상기 카운터 값은 상기 카운터를 표시하기 위한 비트를 더 포함한다.
바람직하게는 상기 암호화된 소정 개수의 카운터 값과 배타적 논리합 연산이 수행된 소정 개수의 데이터 블록을 이용하여 구성된 패킷을 생성하는 단계를 더 포 함하고, 상기 카운터 값은 상기 난수를 표시하기 위한 비트, 상기 패킷의 번호를 표시하기 위한 비트 및 상기 카운터를 표시하기 위한 비트를 포함한다.
바람직하게는 상기 암호화된 소정 개수의 카운터 값과 배타적 논리합 연산이 수행된 소정 개수의 데이터 블록을 이용하여 구성된 패킷을 생성하는 단계를 더 포함하고, 상기 초기 카운터 값은 상기 패킷마다 다른 값으로 변경되는 것을 특징으로 한다.
바람직하게는 상기 초기 카운터 값은 상기 패킷마다 소정의 값만큼 증가되는 방식으로 변경되는 것을 특징으로 한다.
바람직하게는 상기 암호화 키를 생성하는 단계를 더 포함하고 상기 암호화 키를 생성하는 단계는 상기 데이터를 전송하는 송신 장치와 상기 데이터를 수신하는 수신 장치가 공유하는 교환 키(Exchange key), 상기 데이터의 복사 제어 정보 및 상기 난수에 기초하여 상기 암호화 키를 생성하는 것을 특징으로 한다.
바람직하게는 상기 난수는 주기적으로 변경되는 것을 특징으로 한다.
바람직하게는 상기 난수는 주기적으로 소정의 값만큼 증가되는 방식으로 변경되는 것을 특징으로 한다.
바람직하게는 상기 데이터 블록은 128 비트이고 상기 카운터 값은 128비트이며, 상기 난수는 64비트 이상인 것을 특징으로 한다.
바람직하게는 상기 패킷은 상기 난수를 표시하는 영역을 포함한다.
바람직하게는 상기 패킷은 상기 난수가 변경되었는지 여부를 나타내기 위하여 상기 난수가 짝수인지 또는 홀수인지를 표시하는 영역을 포함한다.
또한, 상기 목적을 달성하기 위한 본 발명에 따른 데이터 암호화 장치는 데이터를 N개의 데이터 블록으로 분할하는 데이터 분할부; 상기 분할된 N개의 데이터 블록을 암호화하기 위한 암호화 키의 생성에 이용되는 난수를 생성하는 난수 생성부; 상기 생성된 난수를 이용하여 초기 카운터 값을 생성하고, 상기 초기 카운터 값을 소정의 값만큼 N번 증가시켜 N개의 카운터 값을 생성하는 카운터 생성부; 상기 생성된 N개의 카운터 값을 상기 암호화 키로 암호화하는 암호화부; 및 상기 암호화된 N개의 카운터 값과 상기 분할된 N개의 데이터 블록에 대하여 배타적 논리합 연산을 수행하는 연산부를 포함한다.
바람직하게는 본 발명에 따른 데이터 암호화 장치는 상기 암호화된 소정 개수의 카운터 값과 배타적 논리합 연산이 수행된 소정 개수의 데이터 블록을 이용하여 구성된 패킷을 생성하는 패킷 생성부를 더 포함한다.
바람직하게는 본 발명에 따른 데이터 암호화 장치는 상기 암호화 키를 생성하는 암호화 키 생성부를 더 포함하고 상기 암호화 키 생성부는 상기 데이터를 전송하는 송신 장치와 상기 데이터를 수신하는 수신 장치가 공유하는 교환 키(Exchange key), 상기 데이터의 복사 제어 정보 및 상기 난수에 기초하여 상기 암호화 키를 생성하는 것을 특징으로 한다.
또한, 본 발명은 상기 목적을 달성하기 위하여 데이터를 N개의 데이터 블록으로 분할하는 단계; 상기 분할된 N개의 데이터 블록을 암호화하기 위한 암호화 키의 생성에 이용되는 난수를 이용하여 초기 카운터 값을 생성하는 단계;상기 초기 카운터 값을 소정의 값만큼 N번 증가시켜 N개의 카운터 값을 생성하고, 상기 생성 된 N개의 카운터 값을 상기 암호화 키로 암호화하는 단계; 및 상기 암호화된 N개의 카운터 값과 상기 분할된 N개의 데이터 블록에 대하여 배타적 논리합 연산을 수행하는 단계를 포함하는 데이터 암호화 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
도 3은 본 발명에 따른 데이터 암호화 장치의 일실시예를 도시한 도면이다.
도 3을 참조하면, 본 발명에 따른 데이터 암호화 장치는 데이터 분할부(310), 난수 생성부(320), 카운터 생성부(330), 암호화부(340) 및 연산부(350)를 포함한다.
데이터 분할부(310)는 패킷 단위로 구성된 데이터를 N개의 데이터 블록으로 분할한다.
이때 본 실시예에서는 각각의 분할된 데이터 블록이 128비트의 크기를 가지도록 분할될 수 있으나, 이에 한정되지 않고 다양한 크기를 가지도록 분할될 수 있다.
난수 생성부(320)는 분할된 N개의 데이터 블록을 암호화하기 위한 암호화 키의 생성에 이용되는 난수를 생성한다.
이때, 난수는 랜덤하게 생성되는 임의의 값으로, 주기적으로 소정의 값만큼 증가되는 방식으로 변경될 수 있는 값이다. 예컨대, 난수는 주기적으로 1씩 증가되 는 방식으로 변경될 수 있다. 이때, 복수개의 데이터 블록이 동일한 난수를 이용하여 생성된 동일한 암호화 키로 암호화될 수 있다.
바람직하게는 본 발명에 따른 데이터 암호화 장치는 암호화 키를 생성하는 암호화 키 생성부(미도시)를 더 포함할 수 있다. 후술할 암호화부(340)는 암호화 키 생성부에서 생성한 암호화 키를 이용하여 카운터 값을 암호화한다.
암호화 키 생성부는 본 발명에 따른 암호화 장치와 상기 암호화 장치에 의하여 암호화된 데이터를 복호화하는 데이터 복호화 장치가 공유하는 교환 키(Exchange key), 데이터의 복사 제어 정보 및 난수에 기초하여 암호화 키를 생성한다.
암호화 키 생성부는 주기적으로 랜덤하게 교환 키를 생성하고, 난수 생성부도 주기적으로 랜덤하게 난수를 생성한다.
이때, 교환 키를 생성하는 주기보다 난수를 생성하는 주기가 더 짧다. 즉, 난수는 교환 키에 비하여 더 자주 생성되게 된다.
이와 같이 생성된 교환 키, 난수와 데이터의 복사 제어 정보에 기초하여 데이터 암호화 장치와 데이터 복호화 장치가 공유하는 함수를 이용하여 수학식 1과 같이 암호화 키를 생성할 수 있다.
[수학식 1]
Figure 112007023701857-pat00001
여기서, J-AES는 데이터 암호화 장치와 데이터 복호화 장치가 공유하는 함수를 나타내고, Kx는 교환 키를 나타내고, EMI(Encryption Mode Indicator)는 데이터의 복사 제어 정보를 나타내며, Nc는 난수를 나타낸다.
이때, f[]는 각각의 EMI를 적절한 크기를 가지는 상수들로 변환해 주는 연산자이다. 예컨대, f[]는 2비트의 EMI를 96 비트 상수들로 변환해 줄 수 있다.
또한, EMI는 복수개의 모드를 가질 수 있는데, 예컨대 Mode A에는 '복사 금지(Copy-never)', Mode B에는 '한 번만 카피 가능(Copy-one-generation)', Mode C에는 '더 이상의 복사 불가(No-more-copy)'이 설정될 수 있다.
이와 같은 EMI의 모드, Kx 및 Nc의 변경에 따라 암호화 키 Kc가 변경된다.
이와 같이 데이터 암호화 장치에 의하여 암호화 키가 생성되면, 그 암호화 키를 이용하여 암호화된 데이터를 복호화 하기 위한 데이터 복호화 장치도 복호화를 위하여 그 생성된 암호화 키를 가지고 있어야 한다.
이하에서는 데이터 복호화 장치가 암호화 키를 생성하는 방법을 설명한다.
데이터 암호화 장치는 주기적으로 랜덤하게 교환 키를 생성하고, 데이터 암호화 장치와 데이터 복호화 장치가 기존에 공유하고 있던 인증 키를 이용하여 그 생성된 교환 키를 암호화하여 데이터 복호화 장치에 전송한다.
데이터 복호화 장치는 수신된 암호화된 교환 키를 인증키를 이용하여 복호화 하여, 교환 키를 추출한다.
다음으로, 데이터 암호화 장치는 주기적으로 랜덤하게 난수를 생성하여 데이터 복호화 장치에 전송한다. 다만, 경우에 따라서는 난수를 별도로 전송하지 않고, 데이터 암호화 장치가 데이터를 패킷의 형태로 데이터 복호화 장치에게 전송할 때, 그 패킷의 헤더에 난수를 기록하여 전송할 수도 있다. 또한, 패킷을 전송할 때, 데이터의 복사 제어 정보인 EMI를 패킷에 기록하여 전송하게 된다.
도 4는 DTCP/1394에서의 패킷의 구성의 일실시예를 도시한 도면이다.
도 4를 참조하면, 패킷의 헤더에 데이터의 복사 제어 정보인 EMI를 표시하는 EMI 영역(410)과 난수가 변경되었는지 여부를 나타내기 위하여 난수가 짝수인지 또는 홀수인지를 표시하는 Odd/Even 영역(420)이 도시되어 있다.
즉, 이와 같은 패킷의 경우에는 난수 자체를 표시하는 영역이 없으며, 카운터 모드에서 카운터 값이 소정의 값만큼 증가되어 변경되는 것을 가정하여, 예컨대 카운터 값이 1씩 증가되는 경우에는 Odd/Even 영역(420)에 Odd와 Even이 번갈아가면서 표시되도록 구성되어 있다.
도 5는 DTCP/IP에서의 패킷의 구성의 일실시예를 도시한 도면이다.
도 5를 참조하면, 패킷의 헤더에 데이터의 복사 제어 정보인 EMI를 표시하는 E-EMI 영역(510)과 난수를 표시하는 영역(520)이 도시되어 있다.
여기서, 도 4의 EMI 영역은 2 비트이지만, 도 5의 E-EMI(Extended EMI) 영역은 4비트로 도 4의 EMI 영역에 비하여 더 다양한 모드를 포함할 수 있다.
난수를 표시하는 영역(520)에는 난수 생성부(210)에서 생성된 난수가 표시되며. 도 5에서와 같이 난수는 64 비트일 수 있다.
데이터 복호화 장치는 상기 과정을 통해 얻어진 교환 키, 난수, 데이터의 복사 제어 정보를 이용하여 암호화 키를 생성하게 되고, 이와 같이 생성된 암호화 키는 데이터 암호화 장치가 가지고 있는 암호화 키와 일치하며, 암호화된 데이터를 복호화할 때에도 이 암호화 키를 이용하여 복호화하게 된다.
카운터 생성부(330)는 난수 생성부(320)에서 생성된 난수를 이용하여 초기 카운터 값을 생성하고, 초기 카운터 값을 소정의 값만큼 N번 증가시켜 N개의 카운터 값을 생성한다.
본 발명은 이와 같이 암호화 키 생성을 위하여 이용되는 난수를 카운터 값 생성에 재사용함으로써, 암호화 키 생성을 위한 난수와 카운터 값 생성을 위한 난수를 별도로 생성하는 경우에 비하여 연산이 줄어들게 된다.
카운터 생성부(330)의 동작에 대한 구체적인 설명은 수학식 2 내지 수학식 6을 참조하여 후술한다.
암호화부(340)는 생성된 N개의 카운터 값을 암호화 키로 암호화한다.
연산부(350)는 암호화된 N개의 카운터 값과 분할된 N개의 데이터 블록에 대하여 배타적 논리합 연산을 수행하여, 각각의 데이터 블록을 암호화한다.
이하에서는 카운터 생성부(330)의 동작에 대하여 상세히 설명한다.
먼저, 카운터 생성부(330)는 초기 카운터 값을 생성하는데, 초기 카운터 값은 수학식 2와 같이 구성될 수 있다.
[수학식 2]
Figure 112007023701857-pat00002
이때,
Figure 112007023701857-pat00003
는 난수를 나타내고,
Figure 112007023701857-pat00004
는 카운터를 나타낸다.
예컨대, 초기 카운터 값이 128비트인 경우에, 초기 카운터 값은 64비트의 난수와 64비트의 카운터로 구성될 수 있다. 이때, 카운터가 앞에 위치하고 난수가 뒤에 위치할 수도 있다.
또한, 카운터
Figure 112007023701857-pat00005
는 0에서부터 시작할 수도 있으나 이에 한정되지는 않는다.
카운터 값은 수학식 2의 카운터에 소정의 값을 더한 값으로 결정된다. 예컨대, 카운터가 4비트이고, 초기 카운터 값의 카운터가 0000이라고 가정하면 카운터는 0001, 0002, 0003과 같이 1씩 증가하는 방식으로 변경될 수 있다. 다만, 카운터가 1111까지 증가한 후에, 그 다음의 카운터는 다시 0000이 된다.
상기 예에서와 같이 0000에서 시작한 카운터가 다시 0000이 되는 경우와 같이 어느 순간에는 카운터 값이 중복되는 경우가 발생하게 된다.
AES의 카운터 모드를 이용하는 암호화 알고리즘의 경우에는 동일한 암호화 키와 동일한 카운터를 이용하여 복수개의 데이터를 암호화하게 되면, 제3자가 암호화한 데이터의 원래 데이터 내용을 유추할 수 있게 된다는 문제점이 있다.
따라서, 난수는 변경되지 않은 채로 카운터만 변경되는 경우에 암호화 키가 변경되지 않은 채로 동일한 카운터 값이 중복 사용되는 상황이 발생할 수 있다. 따라서, 카운터 생성부는 동일한 암호화 키에서 동일한 카운터 값이 발생하지 않도록 카운터 값의 구성 형식을 변경하여 생성하여야 할 필요성이 있다.
이하에서는 카운터 생성부(330)가 카운터 값의 중복을 방지하기 위하여 변경하여 생성하는 카운터 값의 예를 설명한다.
먼저, 카운터 생성부(330)는 수학식 3과 같이 카운터 값이 난수
Figure 112007023701857-pat00006
를 표시하기 위한 비트, 이미 전송된 데이터 블록의 개수
Figure 112007023701857-pat00007
를 표시하기 위한 비트 및 카운터
Figure 112007023701857-pat00008
를 표시하기 위한 비트를 포함하도록 카운터 값을 생성할 수 있다.
이때,
Figure 112007023701857-pat00009
는 난수
Figure 112007023701857-pat00010
가 변경되는 경우에는 난수 가 변경된 때부터 전송된 데이터의 블록의 개수를 다시 계산하게 된다. 따라서
Figure 112007023701857-pat00011
가 변경된 후에 첫번째 데이터 블록의
Figure 112007023701857-pat00012
는 0으로 설정되게 된다.
[수학식 3]
Figure 112007023701857-pat00013
예컨대, 카운터 값은 64비트의 난수를 나타내는 비트, 32비트의 데이터 블록의 개수를 나타내는 비트, 32비트의 카운터를 나타내는 비트로 구성될 수 있다.
이 경우에, 100개의 데이터 블록이 전송된 후에 전송되는 데이터 블록을 암호화하기 위한 카운터의
Figure 112007023701857-pat00014
의 값은 101이 되고, 이와 같이 각각의 데이터 블록에 대하여
Figure 112007023701857-pat00015
의 값이 다른 값을 가지게 되므로, 동일한 암호화 키에서 동일한 카운터 값으로 데이터가 암호화되는 경우는 발생되지 않는다.
이와 같은
Figure 112007023701857-pat00016
는 데이터가 패킷 형태로 구성되는 경우에, 패킷 헤더에 표시되어 데이터 복호화 장치에 전송되어, 패킷을 복호화하기 위해 필요한 카운터 값의 계산에 사용될 수 있다.
바람직하게는 본 발명에 따른 데이터 암호화 장치는 소정 개수의 데이터 블록을 이용하여 구성되는 패킷을 생성하는 패킷 생성부(미도시)를 더 포함할 수 있다. 이때, 각각의 데이터 블록은 암호화 키를 이용하여 암호화된 카운터 값과 배타적 논리합 연산이 수행된 후에 패킷을 구성하게 된다.
또한, 카운터 생성부(330)는 수학식 4와 같이 카운터 값이 난수를 표시하기 위한 비트, 난수와 중복되지 않도록 생성된 제2 난수를 표시하기 위한 비트 및 카운터를 표시하기 위한 비트를 포함하도록 카운터 값을 생성할 수 있다.
이때, 제2 난수는 난수
Figure 112007023701857-pat00017
가 동일한 경우에는 다른 값으로 변경되지만, 난수
Figure 112007023701857-pat00018
가 변경되는 경우에는 변경되지 않을 수도 있다.
[수학식 4]
Figure 112007023701857-pat00019
예컨대, 카운터 값은 64비트의 난수를 나타내는 비트, 32비트의 제2 난수를 나타내는 비트, 32비트의 카운터를 나타내는 비트로 구성될 수 있다.
이 경우에 난수 생성부(320)는 암호화 키를 생성하기 위한 난수
Figure 112007023701857-pat00020
뿐만 아니라, 별도의 난수
Figure 112007023701857-pat00021
를 생성하여야 하기 때문에
Figure 112007023701857-pat00022
만을 생성하는 경우에 비하여, 연산이 더 많아지게 된다. 다만, 두 개의 난수를 사용하기 때문에, 하나의 난수만을 사용하는 경우에 비해서는 보다 안정적이다.
이와 같은 제2 난수
Figure 112007023701857-pat00023
는 데이터가 패킷 형태로 구성되는 경우에, 패킷 헤더에 표시되어 데이터 복호화 장치에 전송되어, 패킷을 복호화하기 위해 필요한 카운터 값의 계산에 사용될 수 있다.
다음으로, 카운터 생성부(330)는 수학식 5와 같이 카운터 값이 난수
Figure 112007023701857-pat00024
를 표시하기 위한 비트, 패킷의 번호
Figure 112007023701857-pat00025
를 표시하기 위한 비트 및 카운터
Figure 112007023701857-pat00026
를 표시하기 위한 비트를 포함하도록 카운터 값을 생성할 수 있다.
[수학식 5]
Figure 112007023701857-pat00027
예컨대, 카운터 값은 64비트의 난수를 나타내는 비트, 32비트의 패킷의 번호를 나타내는 비트, 32비트의 카운터를 나타내는 비트로 구성될 수 있다.
이 경우에 첫번째 패킷에 포함된 데이터 블록의 암호화에 이용될 카운터 값의
Figure 112007023701857-pat00028
는 1이 되고, 두번째 패킷에 포함된 데이터 블록의 암호화에 이용될 카운터 값의
Figure 112007023701857-pat00029
는 2가 된다.
이때,
Figure 112007023701857-pat00030
는 난수
Figure 112007023701857-pat00031
가 변경되는 경우에는 난수 가 변경된 때부터 패킷의 번호를 다시 계산하게 된다. 따라서
Figure 112007023701857-pat00032
가 변경된 후의 첫번째 패킷은
Figure 112007023701857-pat00033
가 1로 설정되게 된다.
따라서, 이 경우에도 동일한 암호화 키에서 동일한 카운터 값으로 데이터가 암호화되는 경우는 발생되지 않는다.
이와 같은
Figure 112007023701857-pat00034
는 데이터가 패킷으로 구성되는 경우, 패킷의 헤더에 표시되어 데이터 복호화 장치에 전송되어, 패킷을 복호화하기 위해 필요한 카운터 값의 계산에 사용될 수 있다.
카운터 생성부(330)는 수학식 6과 같이 카운터 값이 난수
Figure 112007023701857-pat00035
를 표시하기 위한 비트 및 패킷의 일부분의 정보
Figure 112007023701857-pat00036
를 표시하기 위한 비트를 포함하도록 카운터 값을 생성할 수 있다.
[수학식 6]
Figure 112007023701857-pat00037
예컨대, 카운터 값은 64비트의 난수를 나타내는 비트, 64비트의 패킷의 일부분의 정보를 나타내는 비트로 구성될 수 있다.
이와 같이 패킷의 일부분의 정보를 카운터 값으로 이용하는 이유는 각각의 패킷의 정보들은 랜덤성이 있기 때문에, 이러한 랜덤성을 이용하면 카운터 값이 중복되지 않기 때문이다.
또한, 수학식 6의 카운터 값에 카운터가 더 포함되어 구성될 수도 있다. 예컨대, 64비트의 난수를 나타내는 비트, 32비트의 데이터 블록의 일부분의 정보를 나타내는 비트, 32비트의 카운터를 나타내는 비트로 구성될 수도 있는 것이다.
마지막으로, 카운터 생성부(330)는 초기 카운터 값이 패킷마다 다른 값으로 변경되도록 초기 카운터 값을 결정할 수도 있다.
즉, 수학식 2의 초기 카운터 값에서 난수
Figure 112007023701857-pat00038
를 매 패킷마다 변경시키는 것이다.
이 경우에 난수
Figure 112007023701857-pat00039
가 변경될 때마다 암호화 키도 새롭게 생성되게 되므 로, 매 패킷마다 난수
Figure 112007023701857-pat00040
와 암호화 키 생성을 위한 연산이 필요하다.
이때, 난수
Figure 112007023701857-pat00041
는 패킷마다 소정의 값만큼 증가되는 방식으로 변경될 수도 있다.
한편, 카운터 값의 구성 형식은 수학식 2 내지 수학식 6에 한정되지 않는다.
도 6은 본 발명에 따른 데이터 암호화 방법을 설명하기 위하여 도시한 흐름도이다.
610 단계에서는, 패킷 단위로 구성된 데이터를 N개의 데이터 블록으로 분할한다.
620 단계에서는, 분할된 N개의 데이터 블록을 암호화하기 위한 암호화 키의 생성에 이용되는 난수를 이용하여 초기 카운터 값을 생성한다.
630 단계에서는, 초기 카운터 값을 소정의 값만큼 N번 증가시켜 N개의 카운터 값을 생성하고, 생성된 N개의 카운터 값을 암호화 키로 암호화한다.
640 단계에서는, 암호화된 N개의 카운터 값과 분할된 N개의 데이터 블록에 대하여 배타적 논리합 연산을 수행한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명은 패킷 단위로 구성된 데이터를 N개의 데이터 블록으로 분할하고, 그 분할된 N개의 데이터 블록을 암호화하기 위한 암호화 키의 생성에 이용되는 난수를 이용하여 초기 카운터 값을 생성한 후, 그 초기 카운터 값을 소정의 값만큼 N번 증가시켜 N개의 카운터 값을 생성하고, 그 생성된 N개의 카운터 값을 암호화 키로 암호화하며, 암호화된 N개의 카운터 값과 분할된 N개의 데이터 블록에 대하여 배타적 논리합 연산을 수행함으로써, 빠르면서도 안정적으로 데이터를 암호화할 수 있는 효과가 있다.

Claims (30)

  1. 데이터 암호화 방법에 있어서,
    패킷 단위로 구성된 데이터를 N개의 데이터 블록으로 분할하는 단계;
    상기 분할된 N개의 데이터 블록을 암호화하기 위한 암호화 키의 생성에 이용되는 난수를 이용하여 초기 카운터 값을 생성하는 단계;
    상기 초기 카운터 값을 소정의 값만큼 N번 증가시켜 N개의 카운터 값을 생성하고, 상기 생성된 N개의 카운터 값을 상기 암호화 키로 암호화하는 단계; 및
    상기 암호화된 N개의 카운터 값과 상기 분할된 N개의 데이터 블록에 대하여 배타적 논리합 연산을 수행하는 단계를 포함하는 것을 특징으로 하는 암호화 방법.
  2. 제1항에 있어서,
    상기 카운터 값은
    상기 난수를 표시하기 위한 비트, 이미 전송된 데이터 블록의 개수를 표시하기 위한 비트 및 상기 카운터를 표시하기 위한 비트를 포함하는 것을 특징으로 하는 암호화 방법.
  3. 제1항에 있어서,
    상기 카운터 값은
    상기 난수를 표시하기 위한 비트, 상기 난수와 중복되지 않도록 생성된 제2 난수를 표시하기 위한 비트 및 상기 카운터를 표시하기 위한 비트를 포함하는 것을 특징으로 하는 암호화 방법.
  4. 제1항에 있어서,
    상기 암호화된 소정 개수의 카운터 값과 배타적 논리합 연산이 수행된 소정 개수의 데이터 블록을 이용하여 구성된 패킷을 생성하는 단계를 더 포함하고,
    상기 카운터 값은 상기 난수를 표시하기 위한 비트 및 상기 패킷의 일부분의 정보를 표시하기 위한 비트를 포함하는 것을 특징으로 하는 암호화 방법.
  5. 제4항에 있어서,
    상기 카운터 값은 상기 카운터를 표시하기 위한 비트를 더 포함하는 것을 특징으로 하는 암호화 방법.
  6. 제1항에 있어서,
    상기 암호화된 소정 개수의 카운터 값과 배타적 논리합 연산이 수행된 소정 개수의 데이터 블록을 이용하여 구성된 패킷을 생성하는 단계를 더 포함하고,
    상기 카운터 값은 상기 난수를 표시하기 위한 비트, 상기 패킷의 번호를 표시하기 위한 비트 및 상기 카운터를 표시하기 위한 비트를 포함하는 것을 특징으로 하는 암호화 방법.
  7. 제1항에 있어서,
    상기 암호화된 소정 개수의 카운터 값과 배타적 논리합 연산이 수행된 소정 개수의 데이터 블록을 이용하여 구성된 패킷을 생성하는 단계를 더 포함하고,
    상기 초기 카운터 값은 상기 패킷마다 다른 값으로 변경되는 것을 특징으로 하는 암호화 방법.
  8. 제7항에 있어서,
    상기 초기 카운터 값은 상기 패킷마다 소정의 값만큼 증가되는 방식으로 변경되는 것을 특징으로 하는 암호화 방법.
  9. 제1항에 있어서,
    상기 초기 카운터 값 생성 이전에 상기 암호화 키를 생성하는 단계를 더 포함하고
    상기 암호화 키를 생성하는 단계는 상기 암호화 장치와 복호화 장치가 공유하는 교환 키(Exchange key), 상기 데이터의 복사 제어 정보 및 상기 난수에 기초하여 상기 암호화 키를 생성하는 것을 특징으로 하는 암호화 방법.
  10. 제1항에 있어서,
    상기 난수는 주기적으로 변경되는 것을 특징으로 하는 암호화 방법.
  11. 제10항에 있어서,
    상기 난수는 주기적으로 소정의 값만큼 증가되는 방식으로 변경되는 것을 특징으로 하는 암호화 방법.
  12. 제1항에 있어서,
    상기 데이터 블록은 128 비트이고 상기 카운터 값은 128비트이며, 상기 난수는 64비트 이상인 것을 특징으로 하는 암호화 방법.
  13. 제7항에 있어서,
    상기 패킷은
    상기 난수를 표시하는 영역을 포함하는 것을 특징으로 하는 암호화 방법.
  14. 제7항에 있어서,
    상기 패킷은
    상기 난수가 변경되었는지 여부를 나타내기 위하여 상기 난수가 짝수인지 또는 홀수인지를 표시하는 영역을 포함하는 것을 특징으로 하는 암호화 방법.
  15. 데이터 암호화 장치에 있어서,
    패킷 단위로 구성된 데이터를 N개의 데이터 블록으로 분할하는 데이터 분할부;
    상기 분할된 N개의 데이터 블록을 암호화하기 위한 암호화 키의 생성에 이용 되는 난수를 생성하는 난수 생성부;
    상기 생성된 난수를 이용하여 초기 카운터 값을 생성하고, 상기 초기 카운터 값을 소정의 값만큼 N번 증가시켜 N개의 카운터 값을 생성하는 카운터 생성부;
    상기 생성된 N개의 카운터 값을 상기 암호화 키로 암호화하는 암호화부; 및
    상기 암호화된 N개의 카운터 값과 상기 분할된 N개의 데이터 블록에 대하여 배타적 논리합 연산을 수행하는 연산부를 포함하는 것을 특징으로 하는 암호화 장치.
  16. 제15항에 있어서,
    상기 카운터 생성부는
    상기 카운터 값이 상기 난수를 표시하기 위한 비트, 이미 전송된 데이터 블록의 개수를 표시하기 위한 비트 및 상기 카운터를 표시하기 위한 비트를 포함하도록 상기 카운터 값을 생성하는 것을 특징으로 하는 암호화 장치.
  17. 제15항에 있어서,
    상기 카운터 생성부는
    상기 카운터 값이 상기 난수를 표시하기 위한 비트, 상기 난수와 중복되지 않도록 생성된 제2 난수를 표시하기 위한 비트 및 상기 카운터를 표시하기 위한 비트를 포함하도록 상기 카운터 값을 생성하는 것을 특징으로 하는 암호화 장치.
  18. 제15항에 있어서,
    상기 암호화된 소정 개수의 카운터 값과 배타적 논리합 연산이 수행된 소정 개수의 데이터 블록을 이용하여 구성된 패킷을 생성하는 패킷 생성부를 더 포함하는 것을 특징으로 하는 암호화 장치.
  19. 제18항에 있어서,
    상기 카운터 생성부는
    상기 카운터 값이 상기 난수를 표시하기 위한 비트 및 상기 패킷의 일부분의 정보를 표시하기 위한 비트를 포함하도록 상기 카운터 값을 생성하는 것을 특징으로 하는 암호화 장치.
  20. 제19항에 있어서,
    상기 카운터 생성부는
    상기 카운터 값이 상기 카운터를 표시하기 위한 비트를 더 포함하도록 상기 카운터 값을 생성하는 것을 특징으로 하는 암호화 장치.
  21. 제18항에 있어서,
    상기 카운터 생성부는
    상기 카운터 값이 상기 난수를 표시하기 위한 비트, 상기 패킷의 번호를 표시하기 위한 비트 및 상기 카운터를 표시하기 위한 비트를 포함하도록 상기 카운터 값을 생성하는 것을 특징으로 하는 암호화 장치.
  22. 제18항에 있어서,
    상기 카운터 생성부는
    상기 초기 카운터 값이 상기 패킷마다 다른 값으로 변경되도록 초기 카운터 값을 결정하는 것을 특징으로 하는 암호화 장치.
  23. 제22항에 있어서,
    상기 카운터 생성부는
    상기 초기 카운터 값이 상기 패킷마다 소정의 값만큼 증가되는 방식으로 상기 초기 카운터 값을 결정하는 것을 특징으로 하는 암호화 장치.
  24. 제15항에 있어서,
    상기 암호화 키를 생성하는 암호화 키 생성부를 더 포함하고
    상기 암호화 키 생성부는 상기 암호화 장치와 복호화 장치가 공유하는 교환 키(Exchange key), 상기 데이터의 복사 제어 정보 및 상기 난수에 기초하여 상기 암호화 키를 생성하는 것을 특징으로 하는 암호화 장치.
  25. 제15항에 있어서,
    상기 난수 생성부는
    상기 난수를 주기적으로 변경시키는 것을 특징으로 하는 암호화 장치.
  26. 제25항에 있어서,
    상기 난수 생성부는
    상기 난수를 주기적으로 소정의 값만큼 증가시키는 방식으로 변경시키는 것을 특징으로 하는 암호화 장치.
  27. 제15항에 있어서,
    상기 데이터 블록은 128 비트이고 상기 카운터 값은 128비트이며, 상기 난수는 64비트 이상인 것을 특징으로 하는 암호화 장치.
  28. 제18항에 있어서,
    상기 패킷은
    상기 난수를 표시하는 영역을 포함하는 것을 특징으로 하는 암호화 장치.
  29. 제18항에 있어서,
    상기 패킷은
    상기 난수가 변경되었는지 여부를 나타내기 위하여 상기 난수가 짝수인지 또는 홀수인지를 표시하는 영역을 포함하는 것을 특징으로 하는 암호화 장치.
  30. 제1항 내지 제14항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
KR1020070029367A 2006-12-04 2007-03-26 데이터 암호화 방법 및 그 장치 KR101369748B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP07834150.0A EP2060054A4 (en) 2006-12-04 2007-11-21 METHOD AND DEVICE FOR DATA ENCRYPTION
PCT/KR2007/005844 WO2008069473A1 (en) 2006-12-04 2007-11-21 Method and apparatus for encrypting data
US11/946,269 US8204215B2 (en) 2006-12-04 2007-11-28 Method and apparatus for encrypting data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US87250106P 2006-12-04 2006-12-04
US60/872,501 2006-12-04

Publications (2)

Publication Number Publication Date
KR20080050932A KR20080050932A (ko) 2008-06-10
KR101369748B1 true KR101369748B1 (ko) 2014-03-06

Family

ID=39806084

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070029367A KR101369748B1 (ko) 2006-12-04 2007-03-26 데이터 암호화 방법 및 그 장치

Country Status (4)

Country Link
US (1) US8204215B2 (ko)
EP (1) EP2060054A4 (ko)
KR (1) KR101369748B1 (ko)
WO (1) WO2008069473A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101888548B1 (ko) * 2018-05-08 2018-08-14 (주)위즈네트 랜덤 넘버 생성 방법, 랜덤 넘버 생성기 및 이를 포함하는 통신 장치
KR102531876B1 (ko) * 2022-10-25 2023-05-12 주식회사 쿼드마이너 무인 무기체계 보안 통신을 위한 지능형 스마트 저전력 암호화 방법 및 시스템

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8391475B2 (en) * 2007-03-30 2013-03-05 Intel Corporation Method and apparatus for advanced encryption standard (AES) block cipher
US8355499B2 (en) * 2008-12-12 2013-01-15 Micron Technology, Inc. Parallel encryption/decryption
US9235532B2 (en) * 2011-06-03 2016-01-12 Apple Inc. Secure storage of full disk encryption keys
DE102013208730A1 (de) * 2013-05-13 2014-11-13 Robert Bosch Gmbh Gesicherte Übertragung einer Folge von zu übertragenden Daten
KR101584220B1 (ko) * 2014-05-30 2016-01-11 이니텍(주) 암호화 데이터 정렬 유지를 위한 인코딩 방법
CN105426775B (zh) * 2015-11-09 2018-06-19 北京联合大学 一种保护智能手机信息安全的方法和系统
FR3050348A1 (fr) * 2016-04-18 2017-10-20 Orange Procede d'obtention par un terminal mobile d'un jeton de securite
CN108696347B (zh) * 2017-04-12 2021-02-19 展讯通信(上海)有限公司 蓝牙aes加密启动方法、系统和蓝牙主、从设备
CN108092762A (zh) * 2017-12-19 2018-05-29 安语(北京)科技有限公司 一种基于usb接口的声音数据加密装置、系统及方法
JP6464310B2 (ja) * 2018-10-02 2019-02-06 日本放送協会 暗号化装置および復号装置
JP6464309B2 (ja) * 2018-10-02 2019-02-06 日本放送協会 暗号化装置および復号装置
CN109359486B (zh) * 2018-10-24 2021-07-27 华中科技大学 一种加密与解密系统及其操作方法
US11171955B2 (en) * 2019-03-11 2021-11-09 Intel Corporation Link protection for trusted input/output devices
CN111538475B (zh) * 2020-03-25 2023-06-23 上海交通大学 基于fpga的真随机数发生器构建系统及方法
CN114697463B (zh) * 2020-12-31 2023-11-21 思特威(上海)电子科技股份有限公司 加密传输方法及图像传感器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020044651A1 (en) 2000-05-16 2002-04-18 Tuvell Walter E. Method and apparatus for improving the security of cryptographic ciphers
JP2003288012A (ja) 2002-03-28 2003-10-10 Seiko Epson Corp 暗号装置及びデータ転送制御装置
US20040103279A1 (en) 2002-10-15 2004-05-27 Alten Alex I. Systems and methods for providing autonomous security
US20040131182A1 (en) 2002-09-03 2004-07-08 The Regents Of The University Of California Block cipher mode of operation for constructing a wide-blocksize block cipher from a conventional block cipher

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973187B2 (en) * 2000-01-31 2005-12-06 Vdg, Inc. Block encryption method and schemes for data confidentiality and integrity protection
US7093126B1 (en) * 2000-04-14 2006-08-15 International Business Machines Corporation Encryption schemes with almost free integrity awareness
US20020048364A1 (en) * 2000-08-24 2002-04-25 Vdg, Inc. Parallel block encryption method and modes for data confidentiality and integrity protection
US7007050B2 (en) * 2001-05-17 2006-02-28 Nokia Corporation Method and apparatus for improved pseudo-random number generation
GB2374260B (en) * 2001-10-12 2003-08-13 F Secure Oyj Data encryption
US7472285B2 (en) * 2003-06-25 2008-12-30 Intel Corporation Apparatus and method for memory encryption with reduced decryption latency
EP1646022A4 (en) * 2003-07-14 2010-09-08 Sony Corp METHOD AND DEVICE FOR ENCRYPTION AND DECRYPTION
AU2003294017A1 (en) * 2003-12-30 2005-07-21 Telecom Italia S.P.A. Method and system for protecting data, related communication network and computer program product
WO2005086950A2 (en) * 2004-03-11 2005-09-22 Teknovus, Inc., Method for data encryption in an ethernet passive optical network
US7406595B1 (en) * 2004-05-05 2008-07-29 The United States Of America As Represented By The Director, National Security Agency Method of packet encryption that allows for pipelining
JP4490192B2 (ja) * 2004-07-02 2010-06-23 株式会社エヌ・ティ・ティ・ドコモ マルチタスク実行システム
US20060023875A1 (en) * 2004-07-30 2006-02-02 Graunke Gary L Enhanced stream cipher combining function
US20100067687A1 (en) * 2004-12-06 2010-03-18 The Trustees Of The Stevens Institute Of Technology Method and apparatus for maintaining data integrity for block-encryption algorithms
KR100754585B1 (ko) * 2005-01-11 2007-09-05 삼성전자주식회사 통신 시스템에서 신호 암호화/해독 장치 및 방법
US20060159260A1 (en) * 2005-01-14 2006-07-20 Eaton Corporation Method and communication system employing secure key exchange for encoding and decoding messages between nodes of a communication network
KR100768509B1 (ko) * 2005-03-10 2007-10-18 한국전자통신연구원 무선 휴대 인터넷 시스템의 암호화 및 복호화 장치, 그리고그 방법
GB2431488A (en) * 2005-10-11 2007-04-25 Hewlett Packard Development Co Data transfer device
US7725719B2 (en) * 2005-11-08 2010-05-25 International Business Machines Corporation Method and system for generating ciphertext and message authentication codes utilizing shared hardware
US7876894B2 (en) * 2006-11-14 2011-01-25 Mcm Portfolio Llc Method and system to provide security implementation for storage devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020044651A1 (en) 2000-05-16 2002-04-18 Tuvell Walter E. Method and apparatus for improving the security of cryptographic ciphers
JP2003288012A (ja) 2002-03-28 2003-10-10 Seiko Epson Corp 暗号装置及びデータ転送制御装置
US20040131182A1 (en) 2002-09-03 2004-07-08 The Regents Of The University Of California Block cipher mode of operation for constructing a wide-blocksize block cipher from a conventional block cipher
US20040103279A1 (en) 2002-10-15 2004-05-27 Alten Alex I. Systems and methods for providing autonomous security

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101888548B1 (ko) * 2018-05-08 2018-08-14 (주)위즈네트 랜덤 넘버 생성 방법, 랜덤 넘버 생성기 및 이를 포함하는 통신 장치
KR102531876B1 (ko) * 2022-10-25 2023-05-12 주식회사 쿼드마이너 무인 무기체계 보안 통신을 위한 지능형 스마트 저전력 암호화 방법 및 시스템

Also Published As

Publication number Publication date
US8204215B2 (en) 2012-06-19
WO2008069473A1 (en) 2008-06-12
EP2060054A4 (en) 2015-07-22
EP2060054A1 (en) 2009-05-20
KR20080050932A (ko) 2008-06-10
US20080130881A1 (en) 2008-06-05

Similar Documents

Publication Publication Date Title
KR101369748B1 (ko) 데이터 암호화 방법 및 그 장치
JP6017501B2 (ja) 暗号システム
CN107086915B (zh) 一种数据传输方法、数据发送端及数据接收端
JP5167374B2 (ja) データ暗号化装置、及び、メモリカード
CN103488915B (zh) 一种软硬件相结合的双重密钥加密的资源加密解密方法
US8577022B2 (en) Data processing apparatus
CN109067814B (zh) 媒体数据加密方法、系统、设备及存储介质
US20120269340A1 (en) Hierarchical encryption/decryption device and method thereof
US8467526B2 (en) Key evolution method and system of block ciphering
CN102333236A (zh) 视频内容的加解密系统
KR20080050936A (ko) 인증을 통한 데이터 전송 방법 및 그 장치
JP5955285B2 (ja) 暗号化システム、暗号化方法及びコンピュータプログラム
JP2014175970A (ja) 情報配信システム、情報処理装置及びプログラム
EP2064830A1 (en) Method and apparatus for inserting authenication code, and method and apparatus for using data through authenication
US20110182419A1 (en) Encryption algorithm with randomized buffer
KR101424972B1 (ko) 모바일 카드를 이용한 컨텐츠 사용 방법, 호스트 장치, 및모바일 카드
CN100459493C (zh) 流密码生成器、随机数生成方法、加密系统及加密方法
CN111585998A (zh) 一种审计数据安全传输方法和系统
CN106161000A (zh) 对数据文件进行加密和解密的方法和系统
Wu et al. A flexible and lightweight user‐demand DRM system for multimedia contents over multiple portable device platforms
CN111131158A (zh) 单字节对称加密解密方法、装置及可读介质
TW202023223A (zh) 加解密系統、加密裝置、解密裝置和加解密方法
JP6108012B2 (ja) 情報配信システム、情報処理装置及びプログラム
CN112787814A (zh) 一种上位机通信加密方法及系统
CN114676452A (zh) 一种数据安全存储方法和装置

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: 20170125

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee