KR20030062914A - 다단계 암호화/복호화 시스템 - Google Patents

다단계 암호화/복호화 시스템 Download PDF

Info

Publication number
KR20030062914A
KR20030062914A KR1020020003373A KR20020003373A KR20030062914A KR 20030062914 A KR20030062914 A KR 20030062914A KR 1020020003373 A KR1020020003373 A KR 1020020003373A KR 20020003373 A KR20020003373 A KR 20020003373A KR 20030062914 A KR20030062914 A KR 20030062914A
Authority
KR
South Korea
Prior art keywords
encryption
decryption
register
crypt
decryption module
Prior art date
Application number
KR1020020003373A
Other languages
English (en)
Other versions
KR100845835B1 (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 KR1020020003373A priority Critical patent/KR100845835B1/ko
Publication of KR20030062914A publication Critical patent/KR20030062914A/ko
Application granted granted Critical
Publication of KR100845835B1 publication Critical patent/KR100845835B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • H04N21/42623Internal components of the client ; Characteristics thereof for processing the incoming bitstream involving specific decryption arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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/4405Processing 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

여러 가지 블록 암호화/복호화 모듈을 복합적으로 구성하여 다단계로 암호화하는 다단계 암호화/복호화 시스템에 관한 것으로서, 서로 다른 암호화/복호화 알고리즘에 의해 블록 단위로 암호화/복호화를 수행하는 다수개의 암호화/복호화 모듈들을 병렬로 구성하는 암호화/복호화부와, 상기 암호화/복호화부의 암호화/복호화 모듈 사용 순서 그리고, 반복 횟수등의 정보를 해석하여 실제 암호화/복호화를 수행할 암호화/복호화 모듈을 선택하고 설정된 반복 횟수만큼 암호화를 반복하도록 제어하는 암호화 제어부로 구성되어, 암호화/복호화 단계를 사용자가 원하는 암호화 강도에 맞게 제어할 수 있으므로 보안의 강도를 높일 수 있다. 또한, 블록 암호화/복호화 모듈을 하드웨어로 구현함으로써 실시간 처리가 가능하며 현재 트랜스포트 스트림에서 사용되는 대부분의 블록 암호화/복호화 모듈을 내장함으로써, 특정 어플리케이션을 위한 디스크램블러/스크램블러로 사용이 가능하다.

Description

다단계 암호화/복호화 시스템{Multi level scramble/descramble system}
본 발명은 암호화/복호화 시스템에 관한 것으로서, 특히 여러 가지 블록 암호화를 이용하여 다단계로 암호화함으로써, 암호화 강도를 높일 수 있도록 하는 다단계 암호화/복호화 시스템에 관한 것이다.
최근 인터넷을 기반으로 한 정보의 처리 및 교환이 활발해지고 개인 정보 보호의 중요성이 커짐에 따라 암호 및 복호기에 대한 중요성이 날로 커지고 있다. 이러한 정보의 관리와 보호를 위한 기술적인 장치는 여러 가지가 제안되어 왔는데 블록의 암호화나 공개키 암호화 알고리즘을 기본 바탕으로 한 다양한 암호화 시스템(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은 일반적인 DES 암호화/복호화 모듈의 블록도
도 2는 일반적인 AES 암호화/복호화 모듈의 블록도
도 3은 일반적인 CS 암호화/복호화 모듈의 블록도
도 4는 일반적인 MULTI2 암호화/복호화 모듈의 블록도
도 5는 본 발명에 따른 다단계 암호화/복호화 시스템의 구성 블록도
도 6은 도 5의 암호화 제어부의 상세 구성도
도 7은 도 6의 crypt_mode부의 상세 구성도
도면의 주요부분에 대한 부호의 설명
100 : 암호화 제어부101 : 제 1 선택부
102 : 암호화/복호화부103 : 제 2 선택부
상기와 같은 목적을 달성하기 위한 본 발명에 따른 다단계 암호화/복호화 시스템은, 서로 다른 암호화/복호화 알고리즘에 의해 블록 단위로 암호화/복호화를 수행하는 다수개의 암호화/복호화 모듈들을 병렬로 구성하는 암호화/복호화부; 그리고 상기 암호화/복호화부의 암호화/복호화 모듈 사용 순서 그리고, 반복 횟수등의 정보를 해석하여 실제 암호화/복호화를 수행할 암호화/복호화 모듈을 선택하고 설정된 반복 횟수만큼 암호화를 반복하도록 제어하는 암호화 제어부를 포함하여 구성되는 것을 특징으로 한다.
상기 암호화/복호화부는 DES 암호화/복호화 모듈, AES 암호화/복호화 모듈, CS 암호화/복호화 모듈, 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)는 멀티플렉서로서, 상기 암호화 제어부(100)에서 출력되는 crypt_sel 신호에 따라 입력되는 블록 데이터(In_block)를 해당 암호화/복호화 모듈로 선택 출력한다. 제 2 선택부(103)는 디멀티플렉서로서, 상기 암호화 제어부(100)에서 출력되는 crypt_sel 신호에 따라 각 암호화/복호화 모듈의 출력 데이터(out_block) 중 어느 하나를 선택하여 상기 암호화 제어부(100)로 선택 출력한다.
이때, 상기 암호화/복호화부(102)의 각 모듈은 실시간 처리가 가능하도록 하드웨어로 구현되었으며, 블록 단위로 암호화/복호화 동작을 한다. 여기서, 상기 DES, CS, MULTI 암호화 모듈의 블록의 단위는 64비트이고, AES는 128비트이다.
상기 암호화 제어부(100)는 도 6과 같은 제어 데이터 저장과 현재 시스템의 상태를 나타내기 위한 제어/상태 레지스터부(601)와, 바이트 단위의 입력 데이터를 블록 단위의 데이터로 변환하거나 블록 단위의 결과 값을 바이트 단위의 데이터로 변환하는 제어부(602) 그리고, 외부 호스트와의 통신을 위한 호스트 인터페이스부(603)로 구성되어 있다.
도 2에서, 제어/상태 레지스터부(601)는 키 값과 initial_vector 값(일종의 키 값)을 저장하기 위한 키 레지스터와, 키 로드 시기를 결정하는 key_load, 암호화 동작인지 복호화 동작인지를 결정하는 encrypt_en, 현재 입력된 스트림에 대하여 암호화/복호화 동작을 행할 것인지 아니면 바이패스 시킬 것인지를 결정하는 bypass, 입력 스트림에서 실제 페이로드(payload) 부분만을 선택적으로 암호화/복호화할 수 있도록 total_count, front_skip_count, load_count를 결정하는 레지스터, 그리고 사용자가 원하는 암호화의 모듈 선택, 반복 횟수 등의 암호화 강도를 결정하는 crypt_mode부가 있다. 즉, 사용자가 암호화의 모듈 선택, 반복 횟수 등의 암호화 강도를 결정할 수도 있고, 시스템 자체적으로 암호화의 모듈 선택, 반복 횟수 등의 암호화 강도를 결정할 수도 있다.
도 3은 암호화 강도를 결정하는 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_order 레지스터가 0인 경우 즉, 해당 모듈을 사용하지 않을 경우에는 해당 repeat 레지스터는 돈케어(don't care)이다.
상기된 시스템은 기본적으로 블록 암호화/복호화 모듈을 이용하여 사용자가 원하는 암호화/복호화 강도에 따라 다단계로 레벨을 조정할 수 있는 시스템의 구현이 목적이다.
하지만, 각 암호화/복호화 모듈을 선택하고 반복 횟수를 조정함으로써, 실시간 트랜스포트 스트림에 대한 디스크램블러/스크램블러의 기능을 수행할 수 있다.
예를 들어서, 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으로 셋팅하여 사용할 수 있다.
즉, 상기와 같이 crypt_order 레지스터와 crypt_repeat 레지스터 값을 셋팅하면 기존의 트랜스포트 스트림 암호화, 복호화 기능을 제공할 수 있으므로, 특정 어플리케이션에도 본 암호화/복호화 시스템을 이용하여 모두 대응할 수 있게 된다.
만일, 사용자가 정보 보호 강도를 높이기 위하여 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번씩 반복한다.
위의 예에서와 같이 본 시스템은 사용하려는 암호화 모듈과 암호화 모듈 사용 순서 그리고, 반복 횟수를 사용자가 원하는 레벨로 셋팅함으로써, 암호화의 강도와 레벨을 제어할 수 있고, crypt_order 레지스터와 crypt_repeat 레지스터 셋팅을 통하여 특정 어플리케이션을 위한 디스크램블러/스크램블러 구현에도 이용될 수 있다.
이때, 상기 crypt_mode부는 키 값과 마찬가지로 보안상 중요한 값이므로 키 값과 동등한 레벨로 관리를 해야하며, 복호화시에는 암호화시에 셋팅하였던 키 값과 crypt_mode를 셋팅하여서 복호화를 수행한다.
이상에서와 같이 본 발명에 따른 다단계 암호화/복호화 알고리즘에 의하면, 암호화/복호화 단계를 사용자가 원하는 암호화 강도에 맞게 제어할 수 있으므로 보안의 강도를 높일 수 있는 효과가 있다. 또한, 본 발명은 블록 암호화/복호화 모듈을 하드웨어로 구현함으로써 실시간 처리가 가능하며 현재 트랜스포트 스트림에서 사용되는 대부분의 블록 암호화/복호화 모듈을 내장함으로써, 특정 어플리케이션을 위한 디스크램블러/스크램블러로 사용이 가능하다.
따라서, 본 발명은 실시간 암호화가 필요한 모든 정보 암호화 기기에 이용될 수 있으며 특히, 제한 수신 시스템을 위한 유료화 스트림 암호화 및 개인 정보 암호화 등에 폭넓게 이용될 수 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.

Claims (10)

  1. 서로 다른 암호화/복호화 알고리즘에 의해 블록 단위로 암호화/복호화를 수행하는 다수개의 암호화/복호화 모듈들이 병렬로 구성되는 암호화/복호화부; 그리고
    상기 암호화/복호화부의 암호화/복호화 모듈 사용 순서 그리고, 반복 횟수등의 정보를 해석하여 실제 암호화/복호화를 수행할 암호화/복호화 모듈을 선택하고 설정된 반복 횟수만큼 암호화를 반복하도록 제어하는 암호화 제어부를 포함하여 구성되는 것을 특징으로 하는 다단계 암호화/복호화 시스템.
  2. 제 1 항에 있어서, 상기 암호화/복호화부는
    DES 암호화/복호화 모듈, AES 암호화/복호화 모듈, CS 암호화/복호화 모듈, MULTI2 암호화/복호화 모듈 중 적어도 하나 이상으로 구성되는 것을 특징으로 하는 다단계 암호화/복호화 시스템.
  3. 제 1 항에 있어서,
    상기 암호화 제어부와 암호화/복호화부 사이에는 제 1, 제 2 선택부가 더 구비되며,
    상기 제 1 선택부는 상기 암호화 제어부에서 출력되는 선택 신호 crypt_sel에 따라 상기 암호화 제어부에서 출력되는 블록 데이터를 해당 암호화/복호화 모듈로 선택 출력하고,
    상기 제 2 선택부는 상기 암호화 제어부에서 출력되는 선택 신호 crypt_sel에 따라 다수개의 암호화/복호화 모듈 중 어느 하나에서 암호화된 블록 데이터를 선택하여 상기 암호화 제어부로 출력하는 것을 특징으로 하는 다단계 암호화/복호화 시스템.
  4. 제 1 항에 있어서,
    상기 암호화/복호화부에서 사용하려는 암호화/복호화 모듈과 암호화/복호화 모듈 사용 순서 그리고, 반복 횟수는 사용자가 설정할 수도 있고, 시스템 자체적으로 설정할 수도 있는 것을 특징으로 하는 다단계 암호화/복호화 시스템.
  5. 제 1 항에 있어서, 상기 암호화 제어부는
    제어 데이터 저장과 현재 시스템의 상태를 나타내기 위한 제어/상태 레지스터부와,
    바이트 단위의 입력 데이터를 블록 단위의 데이터로 변환하거나 블록 단위의 결과 값을 바이트 단위의 데이터로 변환하는 제어부와,
    외부 호스트와의 통신을 위한 호스트 인터페이스부로 구성되는 것을 특징으로 하는 다단계 암호화/복호화 시스템.
  6. 제 5 항에 있어서, 상기 제어/상태 레지스터부는
    키 값과 초기 벡터값을 저장하기 위한 키 레지스터, 키 로드 시기를 결정하는 key_load 레지스터, 암호화 동작인지 복호화 동작인지를 결정하는 encrypt_en 레지스터, 현재 입력된 스트림에 대하여 암호화/복호화 동작을 행할 것인지 아니면 바이패스 시킬 것인지를 결정하는 bypass 레지스터, 입력 스트림에서 실제 페이로드(payload) 부분만을 선택적으로 암호화/복호화할 수 있도록 total_count, front_skip_count, load_count를 결정하는 레지스터, 그리고 사용자가 원하는 암호화/복호화 모듈 선택, 반복 횟수 등의 암호화 강도를 결정하는 crypt_mode부로 구성되는 것을 특징으로 하는 다단계 암호화/복호화 시스템.
  7. 제 6 항에 있어서, 상기 crypt_mode부는
    상기 암호화/복호화부의 암호화/복호화 모듈의 사용 순서를 저장하는 crypt_order 레지스터와,
    상기 암호화/복호화부의 암호화/복호화 모듈의 반복 횟수를 저장하는 crypt_repeat 레지스터로 구성되는 것을 특징으로 하는 다단계 암호화/복호화 시스템.
  8. 제 7 항에 있어서, 상기 crypt_order 레지스터는
    DES 암호화/복호화 모듈의 사용 순서가 몇번째인지를 저장하는 des_order 레지스터, AES 암호화/복호화 모듈의 사용 순서가 몇번째인지를 저장하는 aes_order 레지스터, CS 암호화/복호화 모듈의 사용 순서가 몇번째인지를 저장하는cs_order레지스터, MULTI2 암호화/복호화 모듈의 사용 순서가 몇번째인지를 저장하는 multi2_order 레지스터로 구성되며, 상기 crypt_order 레지스터에서 0 값을 갖는 레지스터의 암호화/복호화 모듈은 사용하지 않는 것을 특징으로 하는 다단계 암호화/복호화 시스템.
  9. 제 7 항에 있어서, 상기 crypt_repeat 레지스터는
    DES 암호화/복호화 모듈의 반복 횟수를 저장하는 des_repeat 레지스터, AES 암호화/복호화 모듈의 반복 횟수를 저장하는 aes_repeat 레지스터, CS 암호화/복호화 모듈의 반복 횟수를 저장하는 cs_repeat 레지스터, MULTI 암호화/복호화 모듈의 반복 횟수를 저장하는multi2_repeat 레지스터로 구성되는 것을 특징으로 하는 다단계 암호화/복호화 시스템.
  10. 제 1 항에 있어서, 상기 암호화/복호화부는
    암호화시에 셋팅하였던 키 값과 crypt_mode부의 각 레지스터 값을 그대로 셋팅하여서 복호화를 수행하는 것을 특징으로 하는 다단계 암호화/복호화 시스템.
KR1020020003373A 2002-01-21 2002-01-21 다단계 암호화 및 복호화 시스템 KR100845835B1 (ko)

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 true KR20030062914A (ko) 2003-07-28
KR100845835B1 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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100680025B1 (ko) * 2005-07-05 2007-02-07 한국전자통신연구원 멀티세션 고속암복호화 처리 장치 및 방법
KR100758017B1 (ko) * 2005-08-23 2007-09-11 가부시키가이샤 엔.티.티.도코모 키 갱신 방법, 암호화 처리 방법, 키 격리형 암호 시스템,및 단말 장치
KR100987777B1 (ko) * 2004-02-05 2010-10-13 삼성전자주식회사 에러의 전파를 방지하고 병렬 처리가 가능한 디코딩 방법및 그 디코딩 장치
KR101150289B1 (ko) * 2010-06-24 2012-05-24 충북대학교 산학협력단 복합 암호 시스템과 이를 이용한 복합 암호 알고리즘 구성 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101166051B1 (ko) 2010-12-17 2012-07-19 고려대학교 산학협력단 힙 공격 방어를 위한 동적 메모리 관리 시스템 및 그 관리 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100459160B1 (ko) * 1997-12-31 2005-09-30 엘지전자 주식회사 일본 위성 방송용 복호기
JPH11289527A (ja) * 1998-04-02 1999-10-19 Toshiba Corp 放送スクランブル方式及び放送センタシステム並びに受信装置
KR100316024B1 (ko) * 1999-06-30 2001-12-12 박종섭 데이터 암호 표준 알고리즘을 이용한 암호화 장치

Cited By (4)

* Cited by examiner, † Cited by third party
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 충북대학교 산학협력단 복합 암호 시스템과 이를 이용한 복합 암호 알고리즘 구성 방법

Also Published As

Publication number Publication date
KR100845835B1 (ko) 2008-07-14

Similar Documents

Publication Publication Date Title
US7885404B2 (en) Cryptographic systems and methods supporting multiple modes
CN107465501B (zh) 用于高级加密标准aes的处理器和系统
TWI399663B (zh) 密碼系統及密碼方法
US7613297B2 (en) Method and apparatus for data encryption
KR100583635B1 (ko) 다수의 동작 모드들을 지원하는 암호화 장치
US20060093136A1 (en) Implementation of a switch-box using a subfield method
US7623660B1 (en) Method and system for pipelined decryption
US20010050989A1 (en) Systems and methods for implementing encryption algorithms
US7657757B2 (en) Semiconductor device and method utilizing variable mode control with block ciphers
US20070098155A1 (en) Data processing device and data processing method
JP2009516976A (ja) マルチレーン高速暗号化及び復号
KR100525389B1 (ko) 실시간 입력 스트림의 암호화/복호화 장치
JP3769804B2 (ja) 解読化方法および電子機器
US6408074B1 (en) Hardware architecture for a configurable cipher device
KR100845835B1 (ko) 다단계 암호화 및 복호화 시스템
US7773753B2 (en) Efficient remotely-keyed symmetric cryptography for digital rights management
JP2004157535A (ja) データ暗号化方法
KR20050092698A (ko) 라인달 블록 암호의 서브바이트 함수를 실행하는 장치 및방법과 데이터 암호화 및 해독 장치
EP1629626B1 (en) Method and apparatus for a low memory hardware implementation of the key expansion function
CN113315622A (zh) 包括双编码器的安全电路和包括安全电路的加密解密器
KR101824315B1 (ko) 데이터 암호화 방법 및 장치, 및 데이터 복호화 방법 및 장치
KR100494560B1 (ko) Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법
KR100546777B1 (ko) Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기
US20040071287A1 (en) Encryption circuit arrangement and method therefor
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