KR100845835B1 - 다단계 암호화 및 복호화 시스템 - Google Patents
다단계 암호화 및 복호화 시스템 Download PDFInfo
- Publication number
- KR100845835B1 KR100845835B1 KR1020020003373A KR20020003373A KR100845835B1 KR 100845835 B1 KR100845835 B1 KR 100845835B1 KR 1020020003373 A KR1020020003373 A KR 1020020003373A KR 20020003373 A KR20020003373 A KR 20020003373A KR 100845835 B1 KR100845835 B1 KR 100845835B1
- Authority
- KR
- South Korea
- Prior art keywords
- encryption
- decryption
- register
- module
- decryption module
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 12
- 238000013478 data encryption standard Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 2
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42607—Internal components of the client ; Characteristics thereof for processing the incoming bitstream
- H04N21/42623—Internal components of the client ; Characteristics thereof for processing the incoming bitstream involving specific decryption arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 여러 가지 블록 암호화 및 복호화 모듈을 복합적으로 구성하여 다단계로 암호화하는 다단계 암호화 및 복호화 시스템(Multi level scramble and desramble system)에 관한 것으로서, 서로 다른 암호화 및 복호화 알고리즘에 의해 블록 단위로 암호화나 복호화를 수행하는 복수 개의 암호화 및 복호화 모듈들을 병렬로 구성하는 암호화/복호화부; 상기 암호화/복호화부의 암호화 및 복호화 모듈 사용 순서 및, 반복 횟수 등의 정보를 해석하여 실제 암호화나 복호화를 수행할 암호화 및 복호화 모듈을 선택하고 설정된 반복 횟수만큼 암호화를 반복하도록 제어하는 암호화 제어부를 포함하여 구성하는 것을 특징으로 한다. 따라서, 본 발명에 따르면, 암호화나 복호화 단계를 사용자가 원하는 암호화 강도에 맞게 제어할 수 있으므로 보안의 강도를 높일 수 있으며, 블록 암호화 및 복호화 모듈을 하드웨어로 구현함으로써 실시간 처리가 가능하며 현재 트랜스포트 스트림에서 사용되는 대부분의 블록 암호화 및 복호화 모듈을 내장함으로써, 특정 어플리케이션을 위한 디스크램블러나 스크램블러로 사용할 수 있다.
다단계 암호화 및 복호화, 사용 순서, 반복 횟수
Description
도 1은 일반적인 DES 암호화 및 복호화 모듈의 블록도
도 2는 일반적인 AES 암호화 및 복호화 모듈의 블록도
도 3은 일반적인 CS 암호화 및 복호화 모듈의 블록도
도 4는 일반적인 MULTI2 암호화 및 복호화 모듈의 블록도
도 5는 본 발명에 따른 다단계 암호화 및 복호화 시스템의 구성 블록도
도 6은 도 5의 암호화 제어부의 상세 구성도
도 7은 도 6의 crypt_mode부의 상세 구성도
* 도면의 주요 부분에 대한 부호의 설명
100 : 암호화 제어부 101 : 제 1 선택부
102 : 암호화/복호화부 103 : 제 2 선택부
본 발명은 암호화 및 복호화 시스템에 관한 것으로서, 특히 여러 가지 블록 암호화를 이용하여 다단계로 암호화함으로써, 암호화 강도를 높일 수 있도록 하는 다단계 암호화 및 복호화 시스템에 관한 것이다.
최근 인터넷을 기반으로 한 정보의 처리 및 교환이 활발해지고 개인 정보 보호의 중요성이 커짐에 따라 암호 및 복호기에 대한 중요성이 날로 커지고 있다. 이러한 정보의 관리와 보호를 위한 기술적인 장치는 여러 가지가 제안되어 왔는데 블록의 암호화나 공개키 암호화 알고리즘을 기본 바탕으로 한 다양한 암호화 시스템(security system)이 현재 선보이고 있다.
종래에는 도 1 내지 도 4에서와 같이 각각의 블록 암호화 알고리즘을 이용한 암호화 모듈이 설계되어 왔으며, 각각의 공통점은 블록 단위로 암호화와 복호화를 수행한다는 것이다.
도 1은 DES(Data Encryption Standard) 암호화와 복호화 알고리즘을 이용하는 암호화 및 복호화 모듈을 보인 것으로서 주로, 미국향 위성 디지털 TV(예를 들면, Direc TV)에서 사용된다.
도 2는 AES(Advanced Encryption Standards) 암호화와 복호화 알고리즘을 이용하는 암호화 및 복호화 모듈을 보인 것으로서, DES와 마찬가지로 미국향 위성 디지털 TV(예를 들면, Direc TV)에서 주로 사용된다.
도 3은 CS(Common scramble) 암호화와 복호화 알고리즘을 이용하는 암호화 및 복호화 모듈을 보인 것으로서, 주로 유럽향 디지털 TV에서 사용된다.
도 4는 멀티 2 암호화와 복호화 알고리즘을 이용하는 암호화 및 복호화 모듈을 보인 것으로서, 주로 일본향 디지털 TV에서 사용된다.
즉, 상기 도 1의 DES 암호화 알고리즘은 56 비트 암호 체계를 사용하는 반면, AES는 128, 192, 256 비트의 세 가지 체계를 사용한다.
도 1 내지 도 4에서 각 암호화 및 복호화 모듈의 입/출력 신호를 살펴보면, 각 암호화 및 복호화 모듈로 입력되는 신호에는 키 로드 시기를 결정하는 key_load, 암호화 동작인지 복호화 동작인지를 결정하는 encrypt_en, 키 데이터 key_data, 키 값의 크기를 알려주는 wsel[1:0] 신호, 블록 단위의 암호화 또는, 복호화를 위한 스트림 데이터(MPEG 시스템 스트림, DSS 스트림, 기타 스트림) Data_in[7:0], 상기 데이터 밸리드 신호 Data_valid 등이 있다. 출력 신호에는 블록 단위로 암호화 또는, 복호화된 데이터를 다시 바이트 단위로 변환한 출력 데이터 Out_data[7:0]와 출력 데이터 밸리드 신호 Out_valid가 있다.
상기 도 1 내지 도 4의 암호화 및 복호화 모듈을 각각 독립적으로 사용되고 있다.
하지만 컴퓨팅 파워(computing power)의 증가로 인하여 상기된 도 1 내지 도 4와 같은 단순한 블록 암호화 알고리즘을 이용한 암호화 시스템은 점차 암호화가 깨어질 가능성이 증가하는 문제점이 있다.
상기 도 1 내지 도 4의 암호화 및 복호화 모듈을 각각 독립적으로 사용되고 있다.
하지만 컴퓨팅 파워(computing power)의 증가로 인하여 상기된 도 1 내지 도 4와 같은 단순한 블록 암호화 알고리즘을 이용한 암호화 시스템은 점차 암호화가 깨어질 가능성이 증가하는 문제점이 있다.
삭제
삭제
본 발명에서는 상기와 같은 문제점을 해결하기 위한 것으로, 실시간 입력 스트림을 처리할 수 있는 블록 암호화 모듈 여러 개를 복합적으로 구성하여 다단계로 사용함으로써, 암호화 강도를 높이고 각 목적에 맞는 암호화 기능을 구현할 수 있는 암호화 및 복호화 시스템을 제공하고자 한다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 다단계 암호화 및 복호화 시스템의 일 예는, 복수 개의 암호화 및 복호화 모듈이 병렬로 구성되고, 각 암호화 및 복호화 모듈은 암호화 동작인지 복호화 동작인지를 결정하는 신호에 따라 입력되는 데이터에 대해 블록 단위로 암호화 동작과 복호화 동작 중 하나를 수행하는 암호화/복호화부; 및 상기 암호화/복호화부의 암호화 및 복호화 모듈의 사용 순서, 반복 횟수와 같은 정보를 해석하여 실제 암호화나 복호화를 수행할 암호화 및 복호화 모듈을 선택하고, 설정된 반복 횟수만큼 암호화나 복호화를 반복하도록 제어하는 암호화 제어부를 포함하여 구성한다.
이때, 상기 암호화/복호화부는 DES(Data Encryption Standard) 암호화/복호화 모듈, AES(Advanced Encryption Standards) 암호화/복호화 모듈, CS(Common scramble) 암호화/복호화 모듈, MULTI2 암호화/복호화 모듈 중 적어도 두개 이상이 병렬로 구성된다.
그리고 상기 암호화/복호화부에서 사용하려는 암호화 및 복호화 모듈과 암호화 및 복호화 모듈 사용 순서 및, 반복 횟수는 사용자가 설정하거나 시스템 자체적으로 설정할 수도 있다.
그리고 상기 암호화/복호화부에서 사용하려는 암호화 및 복호화 모듈과 암호화 및 복호화 모듈 사용 순서 및, 반복 횟수는 사용자가 설정하거나 시스템 자체적으로 설정할 수도 있다.
삭제
또한, 상기 암호화 제어부는 제어 데이터 저장과 현재 시스템의 상태를 나타내기 위한 제어/상태 레지스터부; 바이트 단위의 입력 데이터를 블록 단위의 데이터로 변환하거나 블록 단위의 결과 값을 바이트 단위의 데이터로 변환하는 제어부; 및 외부 호스트와의 통신을 위한 호스트 인터페이스부를 포함하여 구성할 수 있다.
이때, 상기 제어/상태 레지스터부는 키 값과 초기 벡터값을 저장하기 위한 키 레지스터; 키 로드 시기를 결정하는 key_load 레지스터; 암호화 동작인지 복호화 동작인지를 결정하는 encrypt_en 레지스터; 현재 입력된 스트림에 대하여 암호화/복호화 동작을 행할 것인지 아니면 바이패스 시킬 것인지를 결정하는 bypass 레지스터; 입력 스트림에서 실제 페이로드(payload) 부분만을 선택적으로 암호화/복호화할 수 있도록 total_count, front_skip_count, load_count를 결정하는 레지스터; 및 사용자가 원하는 암호화/복호화 모듈 선택, 반복 횟수 등의 암호화 강도를 결정하는 crypt_mode부 중 적어도 하나 이상을 포함하여 구성할 수 있다.
그리고 상기 crypt_mode부는 상기 암호화/복호화부의 암호화/복호화 모듈의 사용 순서를 저장하는 crypt_order 레지스터; 및 상기 암호화/복호화부의 암호화/복호화 모듈의 반복 횟수를 저장하는 crypt_repeat 레지스터를 포함하여 구성할 수 있다.
또한, 상기 암호화/복호화부는 암호화 시에 셋팅하였던 키 값과 crypt_mode부의 각 레지스터 값을 그대로 셋팅하여서 복호화를 수행할 수 있다.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
이하 첨부된 도면을 참조하여 본 발명의 실시 예의 구성과 그 작용을 설명하며, 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 상기한 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
도 5는 본 발명에 따른 다단계(multi level) 암호화 및 복호화 시스템의 구성 블록도로서, 4가지 블록 암호화 및 복호화 모듈(DES, AES, CS, MULTI2)이 병렬로 구성된 암호화/복호화부(102)와 사용자가 셋팅한 암호화 방법과 반복 횟수, 암호화 강도 등의 정보를 해석하여서 실제 암호화나 복호화를 위해 필요한 암호화 및 복호화 모듈을 선택하고 반복한 후 결과 값을 이용하여 다시 재 암호화 및 복호화를 할 것인지 어떤 모듈을 이용할 것인지 등을 제어하는 암호화 제어부(100)를 포함하여 구성한다.
이때, 상기 암호화 제어부(100)와 암호화/복호화부(102) 사이에는 두 개의 선택부(101,103)가 구비되는데, 상기 제 1 선택부(101)는 멀티플렉서(multiplexer)로서, 상기 암호화 제어부(100)에서 출력되는 crypt_sel 신호에 따라 입력되는 블록 데이터(In_block)를 해당 암호화 및 복호화 모듈로 선택 출력한다. 제 2 선택부(103)는 디멀티플렉서로서, 상기 암호화 제어부(100)에서 출력되는 crypt_sel 신호에 따라 각 암호화 및 복호화 모듈의 출력 데이터(out_block) 중 어느 하나를 선택하여 상기 암호화 제어부(100)로 선택 출력한다.
이때, 상기 암호화/복호화부(102)의 각 모듈은 실시간 처리가 가능하도록 하드웨어로 구현되었으며, 블록 단위로 암호화나 복호화 동작을 한다. 여기서 상기 DES, CS, MULTI2 암호화 모듈의 블록의 단위는 64 비트이고, AES는 128 비트이다.
상기 암호화 제어부(100)는 도 6과 같은 제어 데이터 저장과 현재 시스템의 상태를 나타내기 위한 제어/상태 레지스터부(601), 바이트 단위의 입력 데이터를 블록 단위의 데이터로 변환하거나 블록 단위의 결과 값을 바이트 단위의 데이터로 변환하는 제어부(602) 및 외부 호스트와의 통신을 위한 호스트 인터페이스부(603)를 포함하여 구성한다.
도 6에서 제어/상태 레지스터부(601)는 키 값과 initial_vector 값(일종의 키 값)을 저장하기 위한 키 레지스터, 키 로드 시기를 결정하는 key_load, 암호화 동작인지 복호화 동작인지를 결정하는 encrypt_en, 현재 입력된 스트림에 대하여 암호화나 복호화 동작을 행할 것인지 아니면 바이패스 시킬 것인지를 결정하는 bypass, 입력 스트림에서 실제 페이로드(payload) 부분만을 선택적으로 암호화나 복호화할 수 있도록 total_count, front_skip_count, load_count를 결정하는 레지스터, 및 사용자가 원하는 암호화의 모듈 선택, 반복 횟수 등의 암호화 강도를 결정하는 crypt_mode부를 포함한다. 즉, 사용자가 암호화의 모듈 선택, 반복 횟수 등의 암호화 강도를 결정할 수도 있고, 시스템 자체적으로 암호화의 모듈 선택, 반복 횟수 등의 암호화 강도를 결정할 수도 있다.
도 7은 암호화 강도를 결정하는 crypt_mode부의 구성 블록도이다.
상기 crypt_mode부에서 사용 가능한 모듈은 실시 예로 DES, AES, CS, MULTI2 4가지의 모듈이라고 가정한다. 여기서 상기 사용 가능한 모듈은 상기된 4개의 암호화 및 복호화 모듈로 한정되지 않으며, 블록 암호화 알고리즘을 이용하는 암호화 및 복호화 모듈은 어느 것이나 이용될 수 있다. 또한, 상기 사용 가능한 모듈의 수는 상기된 4가지 모듈보다 작을 수도 있고, 더 늘어날 수도 있다.
이때, 각 암호화 모듈은 사용 순서와 반복 횟수에 따라 암호화 강도와 결과가 다르게 나타나기 때문에, 상기 crypt_mode부는 사용 순서를 결정하는 crypt_order 레지스터와 반복 횟수를 결정하는 crypt_repeat 레지스터를 포함하여 구성할 수 있다.
상기 crypt_order 레지스터는 des_order/aes_order/cs_order/multi2_order 레지스터로 구성하며, 사용자는 1∼4 사이의 순서를 겹침이 없이 셋팅해주어야 한다. 이때, 상기 crypt_order 레지스터가 0인 경우는 해당 모듈을 사용하지 않는다는 것을 의미한다.
상기 crypt_repeat 레지스터는 des_repeat/aes_repeat/cs_repeat/ multi2_repeat 레지스터로 구성하며, 0부터 최대 255까지 반복 횟수를 세팅할 수 있다.
하지만 상기 crypt_repeat 레지스터는 암호화나 복호화 속도에 결정적인 영향을 미치기 때문에 사용자는 원하는 암호화 강도와 실시간 처리를 고려하여 적정한 반복 횟수를 선택하여야 한다.
하지만 상기 crypt_repeat 레지스터는 암호화나 복호화 속도에 결정적인 영향을 미치기 때문에 사용자는 원하는 암호화 강도와 실시간 처리를 고려하여 적정한 반복 횟수를 선택하여야 한다.
상기 crypt_order 레지스터가 0인 경우 즉, 해당 모듈을 사용하지 않을 경우에는 해당 repeat 레지스터는 돈케어(don't care)이다.
상술한 시스템은 기본적으로 블록 암호화 및 복호화 모듈을 이용하여 사용자가 원하는 암호화나 복호화 강도에 따라 다단계로 레벨을 조정할 수 있는 시스템을 구현하고자 하는 것이다.
하지만 각 암호화 및 복호화 모듈을 선택하고 반복 횟수를 조정함으로써, 실시간 트랜스포트 스트림(transport stream)에 대한 디스크램블러나 스크램블러(descrambler or scrambler)의 기능을 수행할 수 있다.
예를 들어, DIRECTV-DES의 경우는 crypt_order 레지스터(des,aes,cs,multi2)=1/0/0/0, crypt_repeat 레지스터(des,aes,cs,multi2)=1/0/0/0으로 셋팅하여 구현하는 경우 상기 도 1에서와 동일한 결과를 얻을 수 있다.
ATSC-3DES의 경우는 crypt_order 레지스터(des,aes,cs,multi2)=1/0/0/0, crypt_repeat 레지스터(des,aes,cs,multi2)=3/0/0/0으로 셋팅하여 구현할 수 있다.
또한, DVB-CS의 경우는 crypt_order 레지스터(des,aes,cs,multi2)=0/0/1/0, crypt_repeat 레지스터(des,aes,cs,multi2)=0/0/1/0으로 셋팅하여 사용할 수 있다.
ARIB-MULTI2의 경우는 crypt_order 레지스터(des,aes,cs,multi2)=0/0/0/1, crypt_repeat 레지스터(des,aes,cs,multi2)=0/0/0/1으로 셋팅하여 사용할 수 있다.
그리고 차세대 암호화 알고리즘으로 제안된 AES의 경우 TRIPLE_AES(3AES)를 사용하고자 한다면, crypt_order 레지스터(des,aes,cs,multi2)=0/1/0/0, crypt_repeat 레지스터(des,aes,cs,multi2)=0/3/0/0으로 셋팅하여 사용할 수 있다.
ARIB-MULTI2의 경우는 crypt_order 레지스터(des,aes,cs,multi2)=0/0/0/1, crypt_repeat 레지스터(des,aes,cs,multi2)=0/0/0/1으로 셋팅하여 사용할 수 있다.
그리고 차세대 암호화 알고리즘으로 제안된 AES의 경우 TRIPLE_AES(3AES)를 사용하고자 한다면, crypt_order 레지스터(des,aes,cs,multi2)=0/1/0/0, crypt_repeat 레지스터(des,aes,cs,multi2)=0/3/0/0으로 셋팅하여 사용할 수 있다.
즉, 상술한 바와 같이 crypt_order 레지스터와 crypt_repeat 레지스터 값을 셋팅하면 기존의 트랜스포트 스트림 암호화 및 복호화 기능을 제공할 수 있으므로, 특정 어플리케이션(application)에도 본 발명에 따른 암호화 및 복호화 시스템을 이용하여 모두 대응할 수 있게 된다.
만일 사용자가 정보 보호 강도를 높이기 위하여 4가지 알고리즘을 모두 사용하고 암호화 반복 횟수를 3으로 셋팅한다면, crypt_order 레지스터(des,aes,cs,multi2)=1/2/3/4, crypt_repeat 레지스터(des,aes,cs,multi2)=3/3/3/3 또는, crypt_order 레지스터(des,aes,cs,multi2)=2/1/4/3, crypt_repeat 레지스터(des,aes,cs,multi2)=3/3/3/3으로 셋팅할 수 있다.
예를 들어, crypt_order 레지스터(des,aes,cs,multi2)=2/1/4/3, crypt_repeat 레지스터(des,aes,cs,multi2)=3/3/3/3로 셋팅되어 있다면, 상기 암호화 제어부(100)는 제 1 선택부(101)에 상기된 순서대로 암호화 모듈을 선택하도록 선택 신호 crypt_sel를 생성하여 출력한다. 이때, 암호화가 수행된 모듈의 블록 데이터를 출력해야 하므로 동일한 선택 신호 crypt_sel가 제 2 선택부(103)에서 출력된다.
따라서, 상기 암호화/복호화부(102)는 AES 암호화 모듈(102b), DES 암호화 모듈(102a), CS 암호화 모듈(102c), MULTI2 암호화 모듈(102d)의 순으로 암호화나 복호화를 수행하며, 이때 선택되는 각 암호화 모듈은 암호화나 복호화 과정을 3번씩 반복한다.
따라서, 상기 암호화/복호화부(102)는 AES 암호화 모듈(102b), DES 암호화 모듈(102a), CS 암호화 모듈(102c), MULTI2 암호화 모듈(102d)의 순으로 암호화나 복호화를 수행하며, 이때 선택되는 각 암호화 모듈은 암호화나 복호화 과정을 3번씩 반복한다.
위의 예에서와 같이 본 시스템은 사용하려는 암호화 모듈과 암호화 모듈 사용 순서 및, 반복 횟수를 사용자가 원하는 레벨로 셋팅함으로써, 암호화의 강도와 레벨을 제어할 수 있고, crypt_order 레지스터와 crypt_repeat 레지스터 셋팅을 통하여 특정 어플리케이션을 위한 디스크램블러 및 스크램블러 구현에도 이용될 수 있다.
이때, 상기 crypt_mode부는 키 값과 마찬가지로 보안상 중요한 값이므로 키 값과 동등한 레벨로 관리를 해야하며, 복호화시에는 암호화시에 셋팅하였던 키 값과 crypt_mode를 셋팅하여서 복호화를 수행한다.
이상에서와 같이 본 발명에 따른 다단계 암호화 및 복호화 시스템에 의하면, 암호화나 복호화 단계를 사용자가 원하는 암호화 강도에 맞게 제어할 수 있으므로 보안의 강도를 높일 수 있는 효과가 있다.
또한, 본 발명은 블록 암호화 및 복호화 모듈을 하드웨어로 구현함으로써 실시간 처리가 가능하며 현재 트랜스포트 스트림에서 사용되는 대부분의 블록 암호화및 복호화 모듈을 내장함으로써, 특정 어플리케이션을 위한 디스크램블러나 스크램블러로 사용이 가능하다.
또한, 본 발명은 블록 암호화 및 복호화 모듈을 하드웨어로 구현함으로써 실시간 처리가 가능하며 현재 트랜스포트 스트림에서 사용되는 대부분의 블록 암호화및 복호화 모듈을 내장함으로써, 특정 어플리케이션을 위한 디스크램블러나 스크램블러로 사용이 가능하다.
따라서, 본 발명은 실시간 암호화가 필요한 모든 정보 암호화 기기에 이용될 수 있으며 특히, 제한 수신 시스템을 위한 유료화 스트림 암호화 및 개인 정보 암 호화 등에 폭넓게 이용될 수 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.
Claims (10)
- 복수 개의 암호화 및 복호화 모듈이 병렬로 구성되고, 각 암호화 및 복호화 모듈은 암호화 동작인지 복호화 동작인지를 결정하는 신호에 따라 입력되는 데이터에 대해 블록 단위로 암호화 동작과 복호화 동작 중 하나를 수행하는 암호화/복호화부; 및상기 암호화/복호화부의 암호화 및 복호화 모듈의 사용 순서, 반복 횟수와 같은 정보를 해석하여 실제 암호화나 복호화를 수행할 암호화 및 복호화 모듈을 선택하고, 설정된 반복 횟수만큼 암호화나 복호화를 반복하도록 제어하는 암호화 제어부를 포함하여 구성하는 것을 특징으로 하는 다단계 암호화 및 복호화 시스템.
- 제 1항에 있어서, 상기 암호화/복호화부는DES 암호화 및 복호화 모듈, AES 암호화 및 복호화 모듈, CS 암호화 및 복호화 모듈, MULTI2 암호화 및 복호화 모듈 중 적어도 두개 이상이 병렬로 구성되는 것을 특징으로 하는 다단계 암호화 및 복호화 시스템.
- 제 1항에 있어서,상기 암호화 제어부와 암호화/복호화부 사이에는 제 1선택부와 제 2선택부가 더 구비되며,상기 제 1선택부는 상기 암호화 제어부에서 출력되는 선택 신호 crypt_sel에 따라 상기 암호화 제어부에서 출력되는 블록 데이터를 해당 암호화 및 복호화 모듈로 선택 출력하고,상기 제 2 선택부는 상기 암호화 제어부에서 출력되는 선택 신호 crypt_sel에 따라 복수 개의 암호화 및 복호화 모듈 중 어느 하나에서 암호화나 복호화된 블록 데이터를 선택하여 상기 암호화 제어부로 출력하는 것을 특징으로 하는 다단계 암호화 및 복호화 시스템.
- 제 1항에 있어서,상기 암호화/복호화부에서 사용하려는 암호화 및 복호화 모듈과 암호화 및 복호화 모듈의 사용 순서, 및 반복 횟수와 같은 정보는 사용자가 설정하거나 시스템 자체적으로 설정하는 것을 특징으로 하는 다단계 암호화 및 복호화 시스템.
- 제 1항에 있어서,상기 암호화 제어부는 제어 데이터 저장과 현재 시스템의 상태를 나타내기 위한 제어/상태 레지스터부;바이트 단위의 입력 데이터를 블록 단위의 데이터로 변환하거나 블록 단위의 결과 값을 바이트 단위의 데이터로 변환하는 제어부; 및외부 호스트와의 통신을 위한 호스트 인터페이스부를 포함하여 구성하는 것을 특징으로 하는 다단계 암호화 및 복호화 시스템.
- 제 5항에 있어서,상기 제어/상태 레지스터부는 키 값과 초기 벡터값을 저장하기 위한 키 레지스터, 키 로드 시기를 결정하는 key_load 레지스터, 암호화 동작인지 복호화 동작인지를 결정하는 encrypt_en 레지스터, 현재 입력된 스트림에 대하여 암호화나 복호화 동작을 행할 것인지 아니면 바이패스 시킬 것인지를 결정하는 bypass 레지스터, 및 사용자가 원하는 암호화 및 복호화 모듈 선택, 반복 횟수와 같은 정보의 암호화 강도를 결정하는 crypt_mode부 중 적어도 하나 이상을 포함하여 구성하는 것을 특징으로 하는 다단계 암호화 및 복호화 시스템.
- 제 6항에 있어서,상기 crypt_mode부는 상기 암호화/복호화부의 암호화 및 복호화 모듈의 사용 순서를 저장하는 crypt_order 레지스터; 및상기 암호화/복호화부의 암호화 및 복호화 모듈의 반복 횟수를 저장하는 crypt_repeat 레지스터를 포함하여 구성하는 것을 특징으로 하는 다단계 암호화 및 복호화 시스템.
- 제 7항에 있어서,상기 crypt_order 레지스터는 DES 암호화 및 복호화 모듈의 사용 순서가 몇 번째인지를 저장하는 des_order 레지스터, AES 암호화 및 복호화 모듈의 사용 순서가 몇 번째인지를 저장하는 aes_order 레지스터, CS 암호화 및 복호화 모듈의 사용 순서가 몇 번째인지를 저장하는cs_order 레지스터, MULTI2 암호화 및 복호화 모듈의 사용 순서가 몇 번째인지를 저장하는 multi2_order 레지스터를 포함하여 구성하되, 상기 crypt_order 레지스터에서 0 값을 갖는 레지스터의 암호화 및 복호화 모듈은 사용하지 않는 것을 특징으로 하는 다단계 암호화 및 복호화 시스템.
- 제 7항에 있어서,상기 crypt_repeat 레지스터는 DES 암호화 및 복호화 모듈의 반복 횟수를 저장하는 des_repeat 레지스터, AES 암호화 및 복호화 모듈의 반복 횟수를 저장하는 aes_repeat 레지스터, CS 암호화 및 복호화 모듈의 반복 횟수를 저장하는 cs_repeat 레지스터, MULTI2 암호화 및 복호화 모듈의 반복 횟수를 저장하는multi2_repeat 레지스터를 포함하여 구성하는 것을 특징으로 하는 다단계 암호화 및 복호화 시스템.
- 제 1항에 있어서,상기 암호화/복호화부는 암호화 시에 셋팅하였던 키 값과 crypt_mode부의 각 레지스터 값을 그대로 셋팅하여서 복호화를 수행하는 것을 특징으로 하는 다단계 암호화 및 복호화 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020003373A KR100845835B1 (ko) | 2002-01-21 | 2002-01-21 | 다단계 암호화 및 복호화 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020003373A KR100845835B1 (ko) | 2002-01-21 | 2002-01-21 | 다단계 암호화 및 복호화 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030062914A KR20030062914A (ko) | 2003-07-28 |
KR100845835B1 true KR100845835B1 (ko) | 2008-07-14 |
Family
ID=32218730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020003373A KR100845835B1 (ko) | 2002-01-21 | 2002-01-21 | 다단계 암호화 및 복호화 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100845835B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101166051B1 (ko) | 2010-12-17 | 2012-07-19 | 고려대학교 산학협력단 | 힙 공격 방어를 위한 동적 메모리 관리 시스템 및 그 관리 방법 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100987777B1 (ko) * | 2004-02-05 | 2010-10-13 | 삼성전자주식회사 | 에러의 전파를 방지하고 병렬 처리가 가능한 디코딩 방법및 그 디코딩 장치 |
KR100680025B1 (ko) * | 2005-07-05 | 2007-02-07 | 한국전자통신연구원 | 멀티세션 고속암복호화 처리 장치 및 방법 |
KR100758017B1 (ko) * | 2005-08-23 | 2007-09-11 | 가부시키가이샤 엔.티.티.도코모 | 키 갱신 방법, 암호화 처리 방법, 키 격리형 암호 시스템,및 단말 장치 |
KR101150289B1 (ko) * | 2010-06-24 | 2012-05-24 | 충북대학교 산학협력단 | 복합 암호 시스템과 이를 이용한 복합 암호 알고리즘 구성 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990060499A (ko) * | 1997-12-31 | 1999-07-26 | 구자홍 | 일본 위성 방송용 복호기 |
JPH11289527A (ja) * | 1998-04-02 | 1999-10-19 | Toshiba Corp | 放送スクランブル方式及び放送センタシステム並びに受信装置 |
KR20010005033A (ko) * | 1999-06-30 | 2001-01-15 | 김영환 | 데이터 암호 표준 알고리즘을 이용한 암호화 장치 |
-
2002
- 2002-01-21 KR KR1020020003373A patent/KR100845835B1/ko not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990060499A (ko) * | 1997-12-31 | 1999-07-26 | 구자홍 | 일본 위성 방송용 복호기 |
JPH11289527A (ja) * | 1998-04-02 | 1999-10-19 | Toshiba Corp | 放送スクランブル方式及び放送センタシステム並びに受信装置 |
KR20010005033A (ko) * | 1999-06-30 | 2001-01-15 | 김영환 | 데이터 암호 표준 알고리즘을 이용한 암호화 장치 |
Non-Patent Citations (1)
Title |
---|
한국정보보호학회 (1993.12) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101166051B1 (ko) | 2010-12-17 | 2012-07-19 | 고려대학교 산학협력단 | 힙 공격 방어를 위한 동적 메모리 관리 시스템 및 그 관리 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20030062914A (ko) | 2003-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7885404B2 (en) | Cryptographic systems and methods supporting multiple modes | |
US7613297B2 (en) | Method and apparatus for data encryption | |
US10256972B2 (en) | Flexible architecture and instruction for advanced encryption standard (AES) | |
KR101088420B1 (ko) | 데이터 암호 처리 방법 및 장치 | |
EP1686722B1 (en) | Block cipher apparatus and block cipher method including rotational key scheduling | |
US20080240422A1 (en) | Efficient advanced encryption standard (AES) Datapath using hybrid rijndael S-Box | |
JP4235174B2 (ja) | 暗号化復号化装置、暗号化装置、復号化装置、及び送受信装置 | |
US8391475B2 (en) | Method and apparatus for advanced encryption standard (AES) block cipher | |
US20010050989A1 (en) | Systems and methods for implementing encryption algorithms | |
KR100525389B1 (ko) | 실시간 입력 스트림의 암호화/복호화 장치 | |
JP3769804B2 (ja) | 解読化方法および電子機器 | |
KR100845835B1 (ko) | 다단계 암호화 및 복호화 시스템 | |
KR20150064042A (ko) | 디지털 데이터 블록 암호화 및 해독화 방법 | |
JP2007114404A (ja) | データ処理装置、およびデータ処理方法 | |
JP2004157535A (ja) | データ暗号化方法 | |
EP1629626B1 (en) | Method and apparatus for a low memory hardware implementation of the key expansion function | |
KR100494560B1 (ko) | Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법 | |
KR101824315B1 (ko) | 데이터 암호화 방법 및 장치, 및 데이터 복호화 방법 및 장치 | |
KR100546777B1 (ko) | Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기 | |
JP4708914B2 (ja) | 解読化方法 | |
KR100965874B1 (ko) | Ckc 암호화/복호화 장치 및 방법 |
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: 20130624 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140624 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150624 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160624 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |