KR100845835B1 - Multi level scramble and descramble system - Google Patents
Multi level scramble and descramble system 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)에 관한 것으로서, 서로 다른 암호화 및 복호화 알고리즘에 의해 블록 단위로 암호화나 복호화를 수행하는 복수 개의 암호화 및 복호화 모듈들을 병렬로 구성하는 암호화/복호화부; 상기 암호화/복호화부의 암호화 및 복호화 모듈 사용 순서 및, 반복 횟수 등의 정보를 해석하여 실제 암호화나 복호화를 수행할 암호화 및 복호화 모듈을 선택하고 설정된 반복 횟수만큼 암호화를 반복하도록 제어하는 암호화 제어부를 포함하여 구성하는 것을 특징으로 한다. 따라서, 본 발명에 따르면, 암호화나 복호화 단계를 사용자가 원하는 암호화 강도에 맞게 제어할 수 있으므로 보안의 강도를 높일 수 있으며, 블록 암호화 및 복호화 모듈을 하드웨어로 구현함으로써 실시간 처리가 가능하며 현재 트랜스포트 스트림에서 사용되는 대부분의 블록 암호화 및 복호화 모듈을 내장함으로써, 특정 어플리케이션을 위한 디스크램블러나 스크램블러로 사용할 수 있다.The present invention relates to a multi-level scramble and desramble system for constructing multiple block encryption and decryption modules in a complex manner, and encrypting or decrypting block by block by different encryption and decryption algorithms. An encryption / decryption unit configured to configure a plurality of encryption and decryption modules in parallel; And an encryption controller configured to analyze the encryption / decryption module using the encryption / decryption module using order and information, such as the number of repetitions, to select an encryption and decryption module to perform actual encryption or decryption, and to repeat the encryption by a predetermined number of repetitions. It is characterized by the configuration. Therefore, according to the present invention, since the encryption or decryption step can be controlled according to the encryption strength desired by the user, the security strength can be increased, and real-time processing is possible by implementing the block encryption and decryption module in hardware, and the current transport stream By embedding most of the block encryption and decryption modules used in the module, it can be used as a descrambler or scrambler for a specific application.
다단계 암호화 및 복호화, 사용 순서, 반복 횟수Multilevel encryption and decryption, order of use, number of iterations
Description
도 1은 일반적인 DES 암호화 및 복호화 모듈의 블록도1 is a block diagram of a typical DES encryption and decryption module
도 2는 일반적인 AES 암호화 및 복호화 모듈의 블록도2 is a block diagram of a typical AES encryption and decryption module
도 3은 일반적인 CS 암호화 및 복호화 모듈의 블록도3 is a block diagram of a general CS encryption and decryption module
도 4는 일반적인 MULTI2 암호화 및 복호화 모듈의 블록도4 is a block diagram of a general MULTI2 encryption and decryption module
도 5는 본 발명에 따른 다단계 암호화 및 복호화 시스템의 구성 블록도5 is a block diagram illustrating a multi-level encryption and decryption system according to the present invention.
도 6은 도 5의 암호화 제어부의 상세 구성도6 is a detailed block diagram of the encryption control unit of FIG.
도 7은 도 6의 crypt_mode부의 상세 구성도7 is a detailed configuration diagram of the crypt_mode unit of FIG.
* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
100 : 암호화 제어부 101 : 제 1 선택부100: encryption control unit 101: first selection unit
102 : 암호화/복호화부 103 : 제 2 선택부102: encryption / decryption unit 103: second selection unit
본 발명은 암호화 및 복호화 시스템에 관한 것으로서, 특히 여러 가지 블록 암호화를 이용하여 다단계로 암호화함으로써, 암호화 강도를 높일 수 있도록 하는 다단계 암호화 및 복호화 시스템에 관한 것이다.BACKGROUND OF THE
최근 인터넷을 기반으로 한 정보의 처리 및 교환이 활발해지고 개인 정보 보호의 중요성이 커짐에 따라 암호 및 복호기에 대한 중요성이 날로 커지고 있다. 이러한 정보의 관리와 보호를 위한 기술적인 장치는 여러 가지가 제안되어 왔는데 블록의 암호화나 공개키 암호화 알고리즘을 기본 바탕으로 한 다양한 암호화 시스템(security system)이 현재 선보이고 있다.Recently, as the processing and exchange of information based on the Internet has become more active and the importance of protecting personal information has increased, the importance of cryptography and decoders is increasing day by day. Various technical devices for managing and protecting such information have been proposed, and various security systems based on block encryption or public key encryption algorithms are currently being introduced.
종래에는 도 1 내지 도 4에서와 같이 각각의 블록 암호화 알고리즘을 이용한 암호화 모듈이 설계되어 왔으며, 각각의 공통점은 블록 단위로 암호화와 복호화를 수행한다는 것이다.In the related art, encryption modules using respective block encryption algorithms have been designed as shown in FIGS. 1 to 4, and the common point is that encryption and decryption are performed on a block basis.
도 1은 DES(Data Encryption Standard) 암호화와 복호화 알고리즘을 이용하는 암호화 및 복호화 모듈을 보인 것으로서 주로, 미국향 위성 디지털 TV(예를 들면, Direc TV)에서 사용된다.FIG. 1 shows an encryption and decryption module using Data Encryption Standard (DES) encryption and decryption algorithms, which are primarily used in US satellite digital TVs (eg, Direc TVs).
도 2는 AES(Advanced Encryption Standards) 암호화와 복호화 알고리즘을 이용하는 암호화 및 복호화 모듈을 보인 것으로서, DES와 마찬가지로 미국향 위성 디지털 TV(예를 들면, Direc TV)에서 주로 사용된다.FIG. 2 shows an encryption and decryption module using AES (Advanced Encryption Standards) encryption and decryption algorithms, which are mainly used in US satellite digital TVs (eg, Direc TVs), like DES.
도 3은 CS(Common scramble) 암호화와 복호화 알고리즘을 이용하는 암호화 및 복호화 모듈을 보인 것으로서, 주로 유럽향 디지털 TV에서 사용된다.3 shows an encryption and decryption module using a common scramble (CS) encryption and decryption algorithm, which is mainly used in European digital TVs.
도 4는 멀티 2 암호화와 복호화 알고리즘을 이용하는 암호화 및 복호화 모듈을 보인 것으로서, 주로 일본향 디지털 TV에서 사용된다.4 shows an encryption and decryption module using a multi 2 encryption and decryption algorithm, which is mainly used in Japanese digital TV.
즉, 상기 도 1의 DES 암호화 알고리즘은 56 비트 암호 체계를 사용하는 반면, AES는 128, 192, 256 비트의 세 가지 체계를 사용한다.That is, the DES encryption algorithm of FIG. 1 uses a 56-bit encryption scheme, while AES uses three schemes of 128, 192, and 256 bits.
도 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와 같은 단순한 블록 암호화 알고리즘을 이용한 암호화 시스템은 점차 암호화가 깨어질 가능성이 증가하는 문제점이 있다.Referring to the input / output signals of each encryption and decryption module in FIGS. 1 to 4, a signal input to each encryption and decryption module includes key_load for determining a key load time, encrypt_en for determining whether an encryption operation or a decryption operation, and key data. key_data, a wsel [1: 0] signal indicating the size of a key value, stream data (MPEG system stream, DSS stream, other streams) for encryption or decryption in units of blocks Data_in [7: 0], the data valid Signal Data_valid and the like. The output signal includes the output data Out_data [7: 0] and the output data valid signal Out_valid obtained by converting the encrypted or decrypted data back to the byte unit.
The encryption and decryption modules of FIGS. 1 to 4 are used independently.
However, due to an increase in computing power, an encryption system using a simple block encryption algorithm as shown in FIGS. 1 to 4 described above has a problem in that encryption is more likely to be broken.
삭제delete
삭제delete
본 발명에서는 상기와 같은 문제점을 해결하기 위한 것으로, 실시간 입력 스트림을 처리할 수 있는 블록 암호화 모듈 여러 개를 복합적으로 구성하여 다단계로 사용함으로써, 암호화 강도를 높이고 각 목적에 맞는 암호화 기능을 구현할 수 있는 암호화 및 복호화 시스템을 제공하고자 한다.The present invention is to solve the above problems, by using a combination of multiple block encryption module that can process a real-time input stream in multiple stages, it is possible to increase the encryption strength and implement an encryption function for each purpose An encryption and decryption system is provided.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 다단계 암호화 및 복호화 시스템의 일 예는, 복수 개의 암호화 및 복호화 모듈이 병렬로 구성되고, 각 암호화 및 복호화 모듈은 암호화 동작인지 복호화 동작인지를 결정하는 신호에 따라 입력되는 데이터에 대해 블록 단위로 암호화 동작과 복호화 동작 중 하나를 수행하는 암호화/복호화부; 및 상기 암호화/복호화부의 암호화 및 복호화 모듈의 사용 순서, 반복 횟수와 같은 정보를 해석하여 실제 암호화나 복호화를 수행할 암호화 및 복호화 모듈을 선택하고, 설정된 반복 횟수만큼 암호화나 복호화를 반복하도록 제어하는 암호화 제어부를 포함하여 구성한다. An example of a multi-stage encryption and decryption system according to the present invention for achieving the above object is a signal that determines whether a plurality of encryption and decryption modules are configured in parallel, each encryption and decryption module is an encryption operation or decryption operation. An encryption / decryption unit that performs one of an encryption operation and a decryption operation on a block-by-block basis for the input data; And selecting an encryption and decryption module to perform actual encryption or decryption by analyzing information such as the use order and the number of repetition of the encryption and decryption module of the encryption / decryption unit, and controlling to repeat the encryption or decryption by a predetermined number of repetitions. It comprises a control unit.
이때, 상기 암호화/복호화부는 DES(Data Encryption Standard) 암호화/복호화 모듈, AES(Advanced Encryption Standards) 암호화/복호화 모듈, CS(Common scramble) 암호화/복호화 모듈, MULTI2 암호화/복호화 모듈 중 적어도 두개 이상이 병렬로 구성된다.
그리고 상기 암호화/복호화부에서 사용하려는 암호화 및 복호화 모듈과 암호화 및 복호화 모듈 사용 순서 및, 반복 횟수는 사용자가 설정하거나 시스템 자체적으로 설정할 수도 있다.In this case, the encryption / decryption unit includes at least two of a Data Encryption Standard (DES) encryption / decryption module, an Advanced Encryption Standards (AES) encryption / decryption module, a common scramble (CS) encryption / decryption module, and a MULTI2 encryption / decryption module in parallel. It consists of.
In addition, the order of use of the encryption and decryption module and the encryption and decryption module and the number of iterations to be used by the encryption / decryption unit may be set by the user or by the system itself.
삭제delete
또한, 상기 암호화 제어부는 제어 데이터 저장과 현재 시스템의 상태를 나타내기 위한 제어/상태 레지스터부; 바이트 단위의 입력 데이터를 블록 단위의 데이터로 변환하거나 블록 단위의 결과 값을 바이트 단위의 데이터로 변환하는 제어부; 및 외부 호스트와의 통신을 위한 호스트 인터페이스부를 포함하여 구성할 수 있다.The encryption control unit may further include a control / status register unit for storing control data and indicating a current state of the system; A control unit for converting input data in byte units into data in block units or converting a result value in block units into data in byte units; And a host interface unit for communication with an external host.
이때, 상기 제어/상태 레지스터부는 키 값과 초기 벡터값을 저장하기 위한 키 레지스터; 키 로드 시기를 결정하는 key_load 레지스터; 암호화 동작인지 복호화 동작인지를 결정하는 encrypt_en 레지스터; 현재 입력된 스트림에 대하여 암호화/복호화 동작을 행할 것인지 아니면 바이패스 시킬 것인지를 결정하는 bypass 레지스터; 입력 스트림에서 실제 페이로드(payload) 부분만을 선택적으로 암호화/복호화할 수 있도록 total_count, front_skip_count, load_count를 결정하는 레지스터; 및 사용자가 원하는 암호화/복호화 모듈 선택, 반복 횟수 등의 암호화 강도를 결정하는 crypt_mode부 중 적어도 하나 이상을 포함하여 구성할 수 있다.In this case, the control / status register section includes: a key register for storing a key value and an initial vector value; A key_load register for determining when to load a key; An encrypt_en register for determining whether to encrypt or decrypt; A bypass register for determining whether to perform encryption / decryption operation or bypass for the currently input stream; A register for determining total_count, front_skip_count, and load_count to selectively encrypt / decrypt only the actual payload portion of the input stream; And a crypt_mode unit for determining encryption strength such as a user's desired encryption / decryption module selection, repetition frequency, and the like.
그리고 상기 crypt_mode부는 상기 암호화/복호화부의 암호화/복호화 모듈의 사용 순서를 저장하는 crypt_order 레지스터; 및 상기 암호화/복호화부의 암호화/복호화 모듈의 반복 횟수를 저장하는 crypt_repeat 레지스터를 포함하여 구성할 수 있다.The crypt_mode unit may include a crypt_order register for storing an order of use of an encryption / decryption module of the encryption / decryption unit. And a crypt_repeat register that stores the number of repetitions of the encryption / decryption module of the encryption / decryption unit.
또한, 상기 암호화/복호화부는 암호화 시에 셋팅하였던 키 값과 crypt_mode부의 각 레지스터 값을 그대로 셋팅하여서 복호화를 수행할 수 있다.In addition, the encryption / decryption unit may decrypt by setting the key value set at the time of encryption and each register value of the crypt_mode unit.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the following detailed description of embodiments taken in conjunction with the accompanying drawings.
이하 첨부된 도면을 참조하여 본 발명의 실시 예의 구성과 그 작용을 설명하며, 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 상기한 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.Hereinafter, the configuration and operation of embodiments of the present invention will be described with reference to the accompanying drawings, and the configuration and operation of the present invention shown and described by the drawings will be described as at least one embodiment, whereby The technical spirit of the present invention and its core configuration and operation are not limited.
도 5는 본 발명에 따른 다단계(multi level) 암호화 및 복호화 시스템의 구성 블록도로서, 4가지 블록 암호화 및 복호화 모듈(DES, AES, CS, MULTI2)이 병렬로 구성된 암호화/복호화부(102)와 사용자가 셋팅한 암호화 방법과 반복 횟수, 암호화 강도 등의 정보를 해석하여서 실제 암호화나 복호화를 위해 필요한 암호화 및 복호화 모듈을 선택하고 반복한 후 결과 값을 이용하여 다시 재 암호화 및 복호화를 할 것인지 어떤 모듈을 이용할 것인지 등을 제어하는 암호화 제어부(100)를 포함하여 구성한다.FIG. 5 is a block diagram illustrating a multi-level encryption and decryption system according to the present invention. The encryption /
이때, 상기 암호화 제어부(100)와 암호화/복호화부(102) 사이에는 두 개의 선택부(101,103)가 구비되는데, 상기 제 1 선택부(101)는 멀티플렉서(multiplexer)로서, 상기 암호화 제어부(100)에서 출력되는 crypt_sel 신호에 따라 입력되는 블록 데이터(In_block)를 해당 암호화 및 복호화 모듈로 선택 출력한다. 제 2 선택부(103)는 디멀티플렉서로서, 상기 암호화 제어부(100)에서 출력되는 crypt_sel 신호에 따라 각 암호화 및 복호화 모듈의 출력 데이터(out_block) 중 어느 하나를 선택하여 상기 암호화 제어부(100)로 선택 출력한다.In this case, two
이때, 상기 암호화/복호화부(102)의 각 모듈은 실시간 처리가 가능하도록 하드웨어로 구현되었으며, 블록 단위로 암호화나 복호화 동작을 한다. 여기서 상기 DES, CS, MULTI2 암호화 모듈의 블록의 단위는 64 비트이고, AES는 128 비트이다.In this case, each module of the encryption /
상기 암호화 제어부(100)는 도 6과 같은 제어 데이터 저장과 현재 시스템의 상태를 나타내기 위한 제어/상태 레지스터부(601), 바이트 단위의 입력 데이터를 블록 단위의 데이터로 변환하거나 블록 단위의 결과 값을 바이트 단위의 데이터로 변환하는 제어부(602) 및 외부 호스트와의 통신을 위한 호스트 인터페이스부(603)를 포함하여 구성한다.The
도 6에서 제어/상태 레지스터부(601)는 키 값과 initial_vector 값(일종의 키 값)을 저장하기 위한 키 레지스터, 키 로드 시기를 결정하는 key_load, 암호화 동작인지 복호화 동작인지를 결정하는 encrypt_en, 현재 입력된 스트림에 대하여 암호화나 복호화 동작을 행할 것인지 아니면 바이패스 시킬 것인지를 결정하는 bypass, 입력 스트림에서 실제 페이로드(payload) 부분만을 선택적으로 암호화나 복호화할 수 있도록 total_count, front_skip_count, load_count를 결정하는 레지스터, 및 사용자가 원하는 암호화의 모듈 선택, 반복 횟수 등의 암호화 강도를 결정하는 crypt_mode부를 포함한다. 즉, 사용자가 암호화의 모듈 선택, 반복 횟수 등의 암호화 강도를 결정할 수도 있고, 시스템 자체적으로 암호화의 모듈 선택, 반복 횟수 등의 암호화 강도를 결정할 수도 있다.In FIG. 6, the control / status register unit 601 includes a key register for storing a key value and an initial_vector value (some kind of key value), a key_load for determining a key load time, an encrypt_en for determining whether an encryption operation or a decryption operation, and a current input. Bypass to decide whether to perform encryption or decryption operation on the stream or bypass, register to determine total_count, front_skip_count, load_count so that only actual payload portion of the input stream can be selectively encrypted or decrypted, And a crypt_mode unit for determining the encryption strength such as the module selection of the encryption desired by the user and the number of repetitions. That is, the user may determine the encryption strength such as the module selection of the encryption and the number of repetitions, or the encryption strength such as the module selection of the encryption and the number of repetitions may be determined by the system itself.
도 7은 암호화 강도를 결정하는 crypt_mode부의 구성 블록도이다.7 is a block diagram illustrating a crypt_mode unit for determining encryption strength.
상기 crypt_mode부에서 사용 가능한 모듈은 실시 예로 DES, AES, CS, MULTI2 4가지의 모듈이라고 가정한다. 여기서 상기 사용 가능한 모듈은 상기된 4개의 암호화 및 복호화 모듈로 한정되지 않으며, 블록 암호화 알고리즘을 이용하는 암호화 및 복호화 모듈은 어느 것이나 이용될 수 있다. 또한, 상기 사용 가능한 모듈의 수는 상기된 4가지 모듈보다 작을 수도 있고, 더 늘어날 수도 있다.A module usable in the crypt_mode unit is assumed to be four modules of DES, AES, CS, and MULTI2 as an example. Here, the usable module is not limited to the four encryption and decryption modules described above, and any encryption and decryption module using a block encryption algorithm may be used. In addition, the number of available modules may be smaller or larger than the four modules described above.
이때, 각 암호화 모듈은 사용 순서와 반복 횟수에 따라 암호화 강도와 결과가 다르게 나타나기 때문에, 상기 crypt_mode부는 사용 순서를 결정하는 crypt_order 레지스터와 반복 횟수를 결정하는 crypt_repeat 레지스터를 포함하여 구성할 수 있다.In this case, since each encryption module has different encryption strengths and results according to the order of use and the number of repetitions, the crypt_mode unit may include a crypt_order register for determining the order of use and a crypt_repeat register for determining the number of repetitions.
상기 crypt_order 레지스터는 des_order/aes_order/cs_order/multi2_order 레지스터로 구성하며, 사용자는 1∼4 사이의 순서를 겹침이 없이 셋팅해주어야 한다. 이때, 상기 crypt_order 레지스터가 0인 경우는 해당 모듈을 사용하지 않는다는 것을 의미한다.The crypt_order register is composed of the des_order / aes_order / cs_order / multi2_order register, and the user must set the order between 1 and 4 without overlapping. In this case, when the crypt_order register is 0, it means that the corresponding module is not used.
상기 crypt_repeat 레지스터는 des_repeat/aes_repeat/cs_repeat/ multi2_repeat 레지스터로 구성하며, 0부터 최대 255까지 반복 횟수를 세팅할 수 있다.
하지만 상기 crypt_repeat 레지스터는 암호화나 복호화 속도에 결정적인 영향을 미치기 때문에 사용자는 원하는 암호화 강도와 실시간 처리를 고려하여 적정한 반복 횟수를 선택하여야 한다.The crypt_repeat register is composed of the des_repeat / aes_repeat / cs_repeat / multi2_repeat register, and the number of repetitions can be set from 0 to a maximum of 255.
However, since the crypt_repeat register has a decisive influence on the encryption or decryption speed, the user should select an appropriate number of repetitions in consideration of the desired encryption strength and real-time processing.
상기 crypt_order 레지스터가 0인 경우 즉, 해당 모듈을 사용하지 않을 경우에는 해당 repeat 레지스터는 돈케어(don't care)이다.When the crypt_order register is 0, that is, when the corresponding module is not used, the repeat register is don't care.
상술한 시스템은 기본적으로 블록 암호화 및 복호화 모듈을 이용하여 사용자가 원하는 암호화나 복호화 강도에 따라 다단계로 레벨을 조정할 수 있는 시스템을 구현하고자 하는 것이다.The above-described system basically uses a block encryption and decryption module to implement a system that can adjust the level in multiple levels according to the encryption or decryption strength desired by the user.
하지만 각 암호화 및 복호화 모듈을 선택하고 반복 횟수를 조정함으로써, 실시간 트랜스포트 스트림(transport stream)에 대한 디스크램블러나 스크램블러(descrambler or scrambler)의 기능을 수행할 수 있다.However, by selecting each encryption and decryption module and adjusting the number of repetitions, it is possible to perform a function of a descrambler or scrambler for a real-time transport stream.
예를 들어, DIRECTV-DES의 경우는 crypt_order 레지스터(des,aes,cs,multi2)=1/0/0/0, crypt_repeat 레지스터(des,aes,cs,multi2)=1/0/0/0으로 셋팅하여 구현하는 경우 상기 도 1에서와 동일한 결과를 얻을 수 있다.For example, for DIRECTV-DES, the crypt_order register (des, aes, cs, multi2) = 1/0/0/0, and the crypt_repeat register (des, aes, cs, multi2) = 1/0/0/0 When set and implemented, the same result as in FIG. 1 may be obtained.
ATSC-3DES의 경우는 crypt_order 레지스터(des,aes,cs,multi2)=1/0/0/0, crypt_repeat 레지스터(des,aes,cs,multi2)=3/0/0/0으로 셋팅하여 구현할 수 있다.ATSC-3DES can be implemented by setting the crypt_order register (des, aes, cs, multi2) = 1/0/0/0 and the crypt_repeat register (des, aes, cs, multi2) = 3/0/0/0. have.
또한, 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으로 셋팅하여 사용할 수 있다.In the case of DVB-CS, the crypt_order register (des, aes, cs, multi2) = 0/0/1/0 and the crypt_repeat register (des, aes, cs, multi2) = 0/0/1/0 are set. Can be used.
In the case of ARIB-MULTI2, the crypt_order register (des, aes, cs, multi2) = 0/0/0/1 and the crypt_repeat register (des, aes, cs, multi2) = 0/0/0/1 can be used. have.
In case of AES proposed as next generation encryption algorithm, if you want to use TRIPLE_AES (3AES), crypt_order register (des, aes, cs, multi2) = 0/1/0/0, crypt_repeat register (des, aes, cs, multi2) Can be set to = 0/3/0/0.
즉, 상술한 바와 같이 crypt_order 레지스터와 crypt_repeat 레지스터 값을 셋팅하면 기존의 트랜스포트 스트림 암호화 및 복호화 기능을 제공할 수 있으므로, 특정 어플리케이션(application)에도 본 발명에 따른 암호화 및 복호화 시스템을 이용하여 모두 대응할 수 있게 된다.That is, if the crypt_order register and the crypt_repeat register value are set as described above, the existing transport stream encryption and decryption function can be provided. Therefore, even a specific application can cope with the encryption and decryption system according to the present invention. Will be.
만일 사용자가 정보 보호 강도를 높이기 위하여 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으로 셋팅할 수 있다.If the user uses all four algorithms to increase the strength of information protection and sets the number of encryption iterations to 3, the crypt_order register (des, aes, cs, multi2) = 1/2/3/4, the crypt_repeat register (des, aes, cs, multi2) = 3/3/3/3 or crypt_order register (des, aes, cs, multi2) = 2/1/4/3, crypt_repeat register (des, aes, cs, multi2) = 3 / It can be set to 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번씩 반복한다.For example, if crypt_order register (des, aes, cs, multi2) = 2/1/4/3 and crypt_repeat register (des, aes, cs, multi2) = 3/3/3/3, the encryption The
Therefore, the encryption /
위의 예에서와 같이 본 시스템은 사용하려는 암호화 모듈과 암호화 모듈 사용 순서 및, 반복 횟수를 사용자가 원하는 레벨로 셋팅함으로써, 암호화의 강도와 레벨을 제어할 수 있고, crypt_order 레지스터와 crypt_repeat 레지스터 셋팅을 통하여 특정 어플리케이션을 위한 디스크램블러 및 스크램블러 구현에도 이용될 수 있다.As in the example above, the system can control the strength and level of encryption by setting the encryption module to be used, the order of use of the encryption module, and the number of repetitions to the level desired by the user, and through the crypt_order and crypt_repeat register settings. It can also be used to implement descramblers and scramblers for specific applications.
이때, 상기 crypt_mode부는 키 값과 마찬가지로 보안상 중요한 값이므로 키 값과 동등한 레벨로 관리를 해야하며, 복호화시에는 암호화시에 셋팅하였던 키 값과 crypt_mode를 셋팅하여서 복호화를 수행한다.At this time, since the crypt_mode part is important for security similarly to the key value, the crypt_mode part must be managed at the same level as the key value. When decrypting, the crypt_mode part is set by setting the key value and crypt_mode set at the time of encryption.
이상에서와 같이 본 발명에 따른 다단계 암호화 및 복호화 시스템에 의하면, 암호화나 복호화 단계를 사용자가 원하는 암호화 강도에 맞게 제어할 수 있으므로 보안의 강도를 높일 수 있는 효과가 있다.
또한, 본 발명은 블록 암호화 및 복호화 모듈을 하드웨어로 구현함으로써 실시간 처리가 가능하며 현재 트랜스포트 스트림에서 사용되는 대부분의 블록 암호화및 복호화 모듈을 내장함으로써, 특정 어플리케이션을 위한 디스크램블러나 스크램블러로 사용이 가능하다.As described above, according to the multi-level encryption and decryption system according to the present invention, since the encryption or decryption step can be controlled according to the encryption strength desired by the user, the security strength can be increased.
In addition, the present invention enables real-time processing by implementing the block encryption and decryption module in hardware, and by using most block encryption and decryption modules used in the current transport stream, it can be used as a descrambler or scrambler for a specific application. Do.
따라서, 본 발명은 실시간 암호화가 필요한 모든 정보 암호화 기기에 이용될 수 있으며 특히, 제한 수신 시스템을 위한 유료화 스트림 암호화 및 개인 정보 암 호화 등에 폭넓게 이용될 수 있다.Therefore, the present invention can be used for all information encryption devices requiring real time encryption, and in particular, it can be widely used for paid stream encryption and personal information encryption for limited reception systems.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit of the present invention.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020003373A KR100845835B1 (en) | 2002-01-21 | 2002-01-21 | Multi level scramble and descramble system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020003373A KR100845835B1 (en) | 2002-01-21 | 2002-01-21 | Multi level scramble and descramble system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030062914A KR20030062914A (en) | 2003-07-28 |
KR100845835B1 true KR100845835B1 (en) | 2008-07-14 |
Family
ID=32218730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020003373A KR100845835B1 (en) | 2002-01-21 | 2002-01-21 | Multi level scramble and descramble system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100845835B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101166051B1 (en) | 2010-12-17 | 2012-07-19 | 고려대학교 산학협력단 | Dynamic memory management system and the management methods for defense against heap attacks |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100987777B1 (en) * | 2004-02-05 | 2010-10-13 | 삼성전자주식회사 | Decoding method and decoding apparatus for preventing of error propagation and parallel processing |
KR100680025B1 (en) * | 2005-07-05 | 2007-02-07 | 한국전자통신연구원 | Apparatus and method for high-speed distributing encryption and deencryption with multi-session |
KR100758017B1 (en) * | 2005-08-23 | 2007-09-11 | 가부시키가이샤 엔.티.티.도코모 | Key update method, encryption processing method, key insulated cryptosystem, and terminal |
KR101150289B1 (en) * | 2010-06-24 | 2012-05-24 | 충북대학교 산학협력단 | Hybrid Cryptographic System and Method for Constructing Hybrid Cryptographic Algorithms Using the Same |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990060499A (en) * | 1997-12-31 | 1999-07-26 | 구자홍 | Japanese satellite broadcasting decoder |
JPH11289527A (en) * | 1998-04-02 | 1999-10-19 | Toshiba Corp | Broadcast scramble system, broadcast center system and receiver |
KR20010005033A (en) * | 1999-06-30 | 2001-01-15 | 김영환 | Encryption device using data encryption standard algorithm |
-
2002
- 2002-01-21 KR KR1020020003373A patent/KR100845835B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990060499A (en) * | 1997-12-31 | 1999-07-26 | 구자홍 | Japanese satellite broadcasting decoder |
JPH11289527A (en) * | 1998-04-02 | 1999-10-19 | Toshiba Corp | Broadcast scramble system, broadcast center system and receiver |
KR20010005033A (en) * | 1999-06-30 | 2001-01-15 | 김영환 | Encryption device using data encryption standard algorithm |
Non-Patent Citations (1)
Title |
---|
한국정보보호학회 (1993.12) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101166051B1 (en) | 2010-12-17 | 2012-07-19 | 고려대학교 산학협력단 | Dynamic memory management system and the management methods for defense against heap attacks |
Also Published As
Publication number | Publication date |
---|---|
KR20030062914A (en) | 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 (en) | Method and apparatus for cryptographically processing data | |
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 (en) | Encryption / decryption device, encryption device, decryption device, and transmission / reception device | |
US8391475B2 (en) | Method and apparatus for advanced encryption standard (AES) block cipher | |
US20010050989A1 (en) | Systems and methods for implementing encryption algorithms | |
KR100525389B1 (en) | Scrambler/descrambler of real time input stream | |
JP3769804B2 (en) | Decoding method and electronic device | |
KR100845835B1 (en) | Multi level scramble and descramble system | |
KR20150064042A (en) | Method and device for digital data blocks encryption and decryption | |
JP2007114404A (en) | Data processing device and method | |
JP2004157535A (en) | Data ciphering method | |
EP1629626B1 (en) | Method and apparatus for a low memory hardware implementation of the key expansion function | |
KR100494560B1 (en) | Real time block data encryption/decryption processor using Rijndael block cipher and method therefor | |
KR101824315B1 (en) | Method and apparatus for encrypting data, and method and apparatus decrypting data | |
KR100546777B1 (en) | Apparatus and method for SEED Encryption/Decryption, and F function processor therefor | |
JP4708914B2 (en) | Decryption method | |
KR100965874B1 (en) | Apparatus and method for encrypting/decrypting cipher key chaining |
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 |