KR100813954B1 - 암호화 장치 및 암호화 방법 - Google Patents

암호화 장치 및 암호화 방법 Download PDF

Info

Publication number
KR100813954B1
KR100813954B1 KR1020030002965A KR20030002965A KR100813954B1 KR 100813954 B1 KR100813954 B1 KR 100813954B1 KR 1020030002965 A KR1020030002965 A KR 1020030002965A KR 20030002965 A KR20030002965 A KR 20030002965A KR 100813954 B1 KR100813954 B1 KR 100813954B1
Authority
KR
South Korea
Prior art keywords
random number
information
bit
generated
shift register
Prior art date
Application number
KR1020030002965A
Other languages
English (en)
Other versions
KR20040065795A (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 KR1020030002965A priority Critical patent/KR100813954B1/ko
Priority to US10/712,003 priority patent/US20040141614A1/en
Priority to CNA2004100019682A priority patent/CN1518269A/zh
Publication of KR20040065795A publication Critical patent/KR20040065795A/ko
Application granted granted Critical
Publication of KR100813954B1 publication Critical patent/KR100813954B1/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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26613Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • 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/30Compression, e.g. Merkle-Damgard construction

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 오디오 비디오(A/V) 스트림의 암호화 기술에 관한 것으로, 구체적으로는 오디오 비디오 스트림의 암호화 장치 및 방법, 오디오 비디오 스트림의 암호화 시에 사용되는 암호화 키(encryption key)의 생성시에 필요한 난수(random number)를 생성하는 장치 및 방법에 관한 것이다. 본 발명의 암호화 장치는 오디오 비디오 스트림을 입력받아 소정의 처리를 수행하고, 난수 생성에 사용되는 소정의 데이터를 생성하여 출력하는 콘텐트 처리부; 상기 콘텐트 처리부로부터 상기 소정의 데이터를 입력받아 난수를 생성하는 난수 생성부; 상기 난수를 포함하는 정보를 입력받아 암호화키를 생성하는 암호화키 생성부; 및 상기 암호화키를 사용하여 상기 콘텐트 처리부에서 출력된 오디오 비디오 스트림을 암호화하는 콘텐트 암호화부를 구비한다. 본 발명에서 제시한 방법을 사용하여 생성된 난수는 비디오 데이터의 통계적 특성을 이용하여 생성되었기 때문에 랜덤 특성(randomness)이 좋은 효과가 있다.

Description

암호화 장치 및 암호화 방법{Data Encryption apparatus and method}
도 1은 오디오 비디오 스트림을 암호화하여 출력하는 장치의 블록도이다.
도 2는 LFSR을 사용한 난수 생성방법을 설명하기 위한 도면이다.
도 3은 본 발명의 오디오 비디오 스트림 암호화 장치의 블록도이다.
도 4는 본 발명의 오디오 비디오 스트림 암호화 방법의 플로우차트이다.
본 발명은 오디오 비디오(A/V) 스트림의 암호화 기술에 관한 것으로, 구체적으로는 오디오 비디오 스트림의 암호화 장치 및 방법, 오디오 비디오 스트림의 암호화 시에 사용되는 암호화 키(encryption key)의 생성시에 필요한 난수(random number)를 생성하는 장치 및 방법에 관한 것이다.
암호 시스템은 암호화 키의 관리 형태에 따라 대칭키(또는 비밀키라고도 함)암호 시스템과 비대칭키(또는 공개키라고도 함) 암호 시스템으로 구분된다. 대칭키 암호 시스템은 공개키 암호 시스템이 나오기 전에 주로 사용되던 암호 방식으로, 암호화와 복호화에 동일한 키를 사용하는 방식이다. 예를 들면, 송신자는 전송하고자 하는 평문 메시지를 암호화 키와 암호 알고리즘을 통해 암호문으로 변환시켜 수 신자에게 전송하면, 수신자는 동일한 키를 복호 알고리즘에 사용해서 원래의 평문으로 만든다.
이때 수신자는 암호화 통신을 하기 전에 안전하게 키를 교환하여야 하며, 암호 통신을 도청하려는 제3자는 송신자와 수신자가 사용한 키가 없으면 원래의 평 문을 알 수 없다. 그러나, 키 관리의 문제와 암호화 하고자 하는 상대방이 많으면 그에 따라 관리해야 하는 키의 수도 증가하게 되므로 키 관리 및 교환에 문제가 생긴다.
이에 비하여 비대칭키 암호화 시스템은 수학적 함수를 기반으로 하며, 대칭키 암호 시스템과 달리 한 쌍의 키가 존재하여 하나의 키는 누구든지 사용할 수 있도록 공개하고 다른 하나는 자신만이 비밀스럽게 보관하는 방식이다. 이때, 공개하는 키를 공개키(public key)라고 하며 비밀스럽게 보관하는 키를 개인키(private key)라고 한다.
공개키를 이용해서 송신자와 수신자가 암호 통신을 하기 위해서, 먼저 송신자는 수신자의 공개키로 메시지를 암호화하여 전송하고, 수신자는 자신의 개인키로 암호문을 복호화 하여 평문을 얻는다. 네트워크 상에서 누군가 암호문을 얻더라도 개인키 없이는 암호문을 복호화할 수 없으므로 안전하게 데이터를 전송할 수 있다. 왜냐하면, 개인키는 언제나 소유자만이 보관하고 있으며, 전송되거나 다른 사람에게 알려질 필요가 없기 때문이다
대칭키(symmetric cipher)는 브로드캐스트된 스트림을 암호화/복호화(encryption/decryption) 하는데 많이 사용된다. 왜냐하면 대칭키를 사용한 암호화/복호화는 매우 빠르게 수행될 수 있고, 대칭키는 제한적 사용자에 대한 인증을 거친 사용자만이 접근할 수 있는 제한적 액세스 시스템을 통해서 안전하게 전송될 수 있기 때문이다. 일단 오디오 비디오 스트림이 셋톱박스(set-top box)나 PVR(Personal Video Recoder)에 입력되고 그 입력된 오디오 비디오 스트림을 나중에 사용하기 위하여 저장할 필요가 있는 경우에, 수신기(receiver)는 입력된 오디오 비디오 스트림을 암호화(encryption)할 필요가 있다. 왜냐하면 저작권(copyright)을 보호하고, 콘텐트의 복사를 관리할 필요가 있기 때문이다.
따라서 저장장소를 가지고 있는 수신기는 이와 같이 암호화 및 복호화를 수행할 암호화 복호화 엔진을 갖추고 있어야 한다. 암호화 및 복호화 수행시에 AES(Advanced Encryption Standard)나 TripleDES(Triple Data Encryption Standard) 가 가장 많이 사용된다.
DES 는 "Data Encryption Algorithm(DEA)라는 표준으로 ANSI3.92에 의해 첫번째로 승인된 세계적인 표준 블록 암호기(block cipher)인데, 현재는 FIPS PUB 46-3에 "Data Encyption Standard(DES)"라는 표준으로 제정되어 있다. TripleDES 는 DES 암호기(cipher)의 3배수(3중) 버전으로, EDE(encrypt- decrypt - encrypt) 모드에서 2개의 키가 블록을 3번 암호화하는데 사용되기 때문에 DESede로 불리기도 한다.
AES(Advanced Encryption Standard)는 미국의 암호관련 업계가 제출한 차세대 국가 암호표준을 말한다. 미국의 표준기술연구소(NIST)가 기존의 국가암호 표준인 DES(Data Encryption Standard)를 대체하는 표준으로 AES를 마련키 위해, 암호 업계가 제출한 여러 암호 알고리즘에 대해서 시험과정을 거친 후 차세대 국가 암호표준으로 선정하였다.
이러한 암호화 및 복호화 시스템에서의 안전성은 대개 암호화 키를 관리하는 시스템에 달려있다. 그리고 이러한 암호화 키 관리 시스템에서 가장 중요한 것은 암호화 키를 어떻게 생성하는가 이다.
암호화 키는 여러가지 정보를 입력받아 생성된다. 입력되는 정보들은 콘텐트 ID, 난수, 그리고 저장장치 ID, 복사 관리 제어 비트(copy management control bits) 등이 있다. 그리고 난수를 어떻게 생성하는가에 따라서 암호화 키가 임의의 값을 갖도록 하는 성질(randomness)이 좋아진다. 난수의 생성방법에 대하여 여러가지 방법이 개시되어 있다. 개시된 여러가지 방법들 중에서는 구현하기가 쉬워 저렴한 비용으로 난수를 생성하는 방법도 있지만, 저렴한 방법을 사용하여 생성된 난수는 의사난수(pseudo-random number)가 되기 때문에 신뢰성이 적다. 즉, 완전한 난수라고는 할 수 없고 아주 긴 주기성을 갖는 난수 형태가 된다. 난수를 몇 비트로 생성하는가에 따라 주기는 길어지므로 난수의 특성(randomness)은 향상된다.
난수 생성방법의 다른 한가지 방법으로 물리적인 현상을 이용한 난수 생성방법이 있다. 물리적인 현상을 이용한 난수 생성방법은, 장치의 열 잡음(thermal noise)을 이용하여 난수를 생성하는 방법, 하드 디스크에서 발생되는 잡음을 이용하여 난수를 생성하는 방법, 고주파수의 신호를 불안정한 저주파수의 클럭으로 샘플링하여 난수를 생성하는 방법, 역 바이어스 전압을 반도체 실리콘의 p-n 정션(junction)에 인가하여 난수를 생성하는 방법 및 양자역학(quantum mechanics) 의 여러가지 현상을 이용하여 난수를 생성하는 방법 등이 있다. 이렇게 물리적인 현상을 이용하면 정확한 난수를 생성할 수 있지만 구현이 복잡하다. 따라서, 특별한 하드웨어적 장치를 필요로 하고 비용도 많이 든다는 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는, 오디오 비디오 스트림을 처리하는 시스템이나 오디오 비디오 저장 시스템에서, 입력된 오디오 비디오 스트림을 암호화하는 암호화 장치 및 방법을 제공하는데 있다. 또한 암호화 수행시 사용되는 대칭키를 생성하는데 사용되는 난수 생성 장치 및 생성방법을 제공하는데 있다. 본 발명에서는, 종래의 난수 생성 알고리즘에 비하여 더 안전하고 저렴하게 구현될 수 있는 난수 생성장치 및 생성방법을 제공한다.
상기의 과제를 이루기 위하여 본 발명에 의한 암호화 장치는, 오디오 비디오 스트림을 입력받아 소정의 처리를 수행하고, 난수 생성에 사용되는 소정의 데이터를 생성하여 출력하는 콘텐트 처리부; 상기 콘텐트 처리부로부터 상기 소정의 데이터를 입력받아 난수를 생성하는 난수 생성부; 상기 난수를 포함하는 정보를 입력받아 암호화키를 생성하는 암호화키 생성부; 및 상기 암호화키를 사용하여 상기 콘텐트 처리부에서 출력된 오디오 비디오 스트림을 암호화하는 콘텐트 암호화부를 구비한다.
상기의 과제를 이루기 위하여 본 발명에 의한 난수 생성 장치는, 오디오 비디오 스트림을 입력받아 상기 오디오 비디오 스트림의 통계적 특성정보를 생성하여 출력하는 콘텐트 처리부; 및 상기 통계적 특성정보를 입력받아 난수를 생성하는 난수 생성부를 구비한다.
상기의 과제를 이루기 위하여 본 발명에 의한 암호화 방법은, 오디오 비디오 스트림을 입력받아 소정의 처리를 수행하고, 난수 생성에 사용되는 소정의 데이터를 생성하여 출력하는 단계; 상기 소정의 데이터를 입력받아 난수를 생성하는 단계; 상기 생성된 난수를 포함하는 정보를 입력받아 암호화키를 생성하는 단계; 및 상기 생성된 암호화키를 사용하여 상기 소정의 처리가 수행되어 출력된 오디오 비디오 스트림을 암호화하는 단계를 구비한다.
상기의 과제를 이루기 위하여 본 발명에 의한 난수 생성 방법은, 오디오 비디오 스트림을 입력받아 상기 오디오 비디오 스트림의 통계적 특성정보를 생성하여 출력하는 단계; 및 상기 통계적 특성정보를 입력받아 난수를 생성하는 단계를 구비한다.
상기한 과제를 이루기 위하여 본 발명에서는, 상기의 암호화 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상기한 과제를 이루기 위하여 본 발명에서는, 상기의 난수 생성 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1은 오디오 비디오 스트림을 암호화하여 출력하는 장치의 블록도이다.
오디오 비디오 스트림을 암호화하여 출력하는 장치는 인코딩부(110), 난수 생성부(120), 암호화키 생성부(130) 및 암호화부(140)로 구성되어 있다.
인코딩부(110)는 오디오 비디오 스트림을 입력받아 인코딩을 수행한다. 인코딩 방법은 MPEG(Moving Picture Expert Group) 표준의 인코딩 방법을 사용한다.
난수 생성부(120)는 소정의 알고리즘을 이용하여 난수를 생성한다. 난수를 생성하는 알고리즘은 LFSR(Linear Feedback Shift Register)를 사용한 난수 생성 알고리즘, Cellular Automata 알고리즘 등이 있다.
도 2는 LFSR을 사용한 난수 생성방법을 설명하기 위한 도면이다.
LFSR을 이용한 난수 생성 알고리즘은 소정의 크기의 시프트 레지스터(200)에 초기값을 저장하고, 시프트 레지스터(200)의 특정한 비트(210 내지 240)에 저장된 값들을 부울연산 XOR(Exclusive OR)를 수행하여 새로운 값을 만든다. 도 2의 예에서는 부울연산 '1 XOR 1 XOR 1 XOR 0' 을 수행하게 되므로 만들어진 값은 '1'이 된다. 그리고 시프트 레지스터(200)를 시프트 시키면, 제일 왼쪽 한 비트(250)가 비게 되므로, 부울연산에 의하여 새로 만들어진 값을 시프트 레지스터(200)를 빈 비트(250)에 저장한다. 이렇게 하면 시프트 레지스터(200)에 저장된 값은 새로운 값이 된다. 시프트 레지스터(200)를 계속해서 한 비트씩 시프트 시키면서 상술한 방법으로 새로운 값을 만들면 난수를 얻을 수 있다. 이렇게 생성된 난수는 엄격히 말하면 정확한 난수는 아닌 의사난수(pseudo random number)이지만 초기값과 특정한 비트(210 내지 240)를 잘 설정하면 좋은 난수 특성을 얻을 수 있다. 특정한 비트의 위치는 임의로 정할 수 있다.
상술한 LFSR를 사용하여 난수를 생성하는 방법 외에도 물리적인 현상을 이용하여 더 정확하게 난수를 생성하는 방법을 사용할 수도 있고, 두가지 방법들을 조합하여 난수를 생성할 수도 있다.
암호화키 생성부(130)는 난수 생성부(120)에서 생성된 난수 및 다른 여러가지 정보를 입력받아 암호화키를 생성한다. 다른 여러가지 정보의 예로는, 콘텐트 ID, 저장장치 ID, 복사관리 제어비트 등을 사용할 수 있다. 이러한 정보들을 입력받아 암호화키를 생성하는 방법도 여러가지가 있다. 예를 들어 입력받은 모든 정보에 대하여 부울연산 XOR 하여 생성할 수도 있고, 임의의 비트에 대하여 특정한 부울연산을 수행하여 생성할 수도 있다. 암호화키 생성방법은 암호화키의 특성인 다른 사람이 쉽게 추정할 수 없도록 해야 한다는 점을 고려한다면 어떠한 방법을 사용하여 생성할 수도 있다.
암호화부(140) 암호화키 생성부(130)에서 생성된 암호화키를 사용하여 인코딩부(110)에서 인코딩된 오디오 비디오 스트림을 입력받아 암호화하여 출력한다.
도 3은 본 발명의 오디오 비디오 스트림 암호화 장치의 블록도이다.
콘텐트 처리부(310)는 오디오 비디오 스트림을 입력받아 여러 종류의 처리를 수행한다. 오디오 비디오 스트림을 입력받아 어떠한 처리를 수행하는가에 따라서 난수 생성시에 사용되는 정보가 달라질 수 있다. 즉, 콘텐트 처리부(310)의 원래 기능인 오디오 비디오 스트림의 처리를 수행하는 동안 그 처리과정에서 부산물로써 생성되는 통계적 특성을 이용하여 난수를 생성하도록 한다. 예를 들어, 이러한 통 계적 특성은 매크로 블록의 색 분포(color distribution) 정보, 움직임 추정(motion estimation) 정보, 잡음 추정(noise estimation) 정보 등이 있다. 다시 말하면 콘텐트 처리부(310)는 난수 생성시에 사용될 수 있는 정보를 난수 생성부(320)에 전달하여야 하는데 이러한 정보는 후술하는 여러가지 방법에 의하여 생성될 수 있다.
그중 한가지 방법은 움직임 추정(Motion Estimation : ME) 모듈에서 생성되는 움직임 벡터(Motion Vector : MV)의 LSB(Least Significant Bit) 1 비트를 사용하는 방법이 있다. 움직임 벡터(MV)는 매크로 블록(macro block)마다 만들어지는데, 매 매크로 블록에서 만들어진 움직임 벡터(MV)의 LSB 1 비트를 소정의 크기의 시프트 레지스터에 순차적으로 저장한다. 만일 128 비트의 시프트 레지스터를 사용한다고 하면, 첫번째 매크로 블록에서 만들어진 움직임 벡터(MV)의 LSB 1 비트를 시프트 레지스터에 저장하고, 시프트 레지스터를 시프트 시킨 후, 다음 매크로 블록에서 만들어진 움직임 벡터(MV)의 LSB 1 비트를 시프트 레지스터에 저장한다. 이러한 방법으로 계속해서 움직임 벡터(MV)의 LSB 1 비트를 저장하면, 시프트 레지스터의 모든 값이 정해진다. 그리고 난수 생성이 필요한 시점에서, 시프트 레지스터에 저장된 값을 난수 생성부(220)로 출력한다.
다른 방법으로 움직임 추정(ME) 모듈에서의 절대차의 합(Sum of Absolute Difference : SAD) 정보의 LSB 1 비트를 이용하는 방법이 있다. 움직임 벡터(MV)의 LSB 1 비트를 이용하는 것과 동일하게 소정의 크기의 시프트 레지스터에 SAD 정보의 LSB 1 비트를 순차적으로 저장하고 있다가 난수 생성이 필요한 시점에서, 시프 트 레지스터에 저장된 값을 난수 생성부(320)로 출력한다.
또 다른 방법으로 움직임 보상-DCT(Motion Compensation : MC-DCT) 모듈에서 생성된 분산(variance) 정보의 LSB 1 비트를 사용하는 방법이 있다. 상술한 방법들과 동일하게 소정의 크기의 시프트 레지스터에 분산 정보의 LSB 1 비트를 순차적으로 저장하고 있다가 난수 생성이 필요한 시점에서, 시프트 레지스터에 저장된 값을 난수 생성부(320)로 출력한다.
난수 생성부(320)는 콘텐트 처리부(310)에서 상술한 여러가지 방법에 의해서 생성된 정보를 입력받아 난수를 생성한다. 난수를 생성하는 방법도 여러가지가 있다. 예를 들어 콘텐트 처리부(310)로부터 입력받은 정보를 R 이라고 하고 난수 생성부(320) 자체에서 생성된 난수를 A 라고 하면, 부울연산 'A XOR R' 을 수행한 결과를 난수로 출력할 수 있다. 난수 생성부(320) 자체에서 생성된 난수 A는 종래의 난수 생성 알고리즘인 LFSR를 이용한 난수 생성 알고리즘 또는 Cellular Automata 알고리즘 등을 사용하여 생성될 수 있다.
암호화키 생성부(330)는 난수 생성부(320)에서 생성된 난수 및 다른 여러가지 정보를 입력받아 암호화키를 생성한다. 다른 여러가지 정보의 예로는, 콘텐트 ID, 저장장치 ID, 복사관리 제어비트 등을 사용할 수 있다. 이러한 정보들을 입력받아 암호화키를 생성하는 방법도 여러가지가 있다. 예를 들어 입력받은 모든 정보에 대하여 부울연산 XOR 하여 생성할 수도 있고, 임의의 비트에 대하여 특정한 부울연산을 수행하여 생성할 수도 있다. 암호화키 생성방법은 암호화키의 특성인 다른 사람이 쉽게 추정할 수 없도록 해야 한다는 점을 고려한다면 어떠한 방법을 사 용하여 생성할 수도 있다.
콘텐트 암호화부(340) 암호화키 생성부(330)에서 생성된 암호화키를 사용하여 콘텐트 처리부(310)에서 출력된 오디오 비디오 스트림을 암호화하여 출력한다.
도 4는 본 발명의 오디오 비디오 스트림 암호화 방법의 플로우차트이다.
우선 오디오 비디오 스트림을 입력받아 여러 종류의 처리를 수행한다(S410).
오디오 비디오 스트림을 입력받아 어떠한 처리를 수행하는가에 따라서 난수 생성시에 사용되는 정보가 달라질 수 있다. 즉, 오디오 비디오 스트림의 처리를 수행하는 동안 그 처리과정에서 부산물로써 생성되는 통계적 특성을 이용하여 난수를 생성한다. 난수 생성에 필요한 정보는 후술하는 방법들에 의하여 생성될 수 있다.
그중 한가지 방법은 움직임 추정(ME) 모듈에서 생성되는 움직임 벡터(MV)의 LSB 1 비트를 사용하는 방법이 있다. 움직임 벡터(MV)는 매크로 블록(macro block)마다 만들어지는데, 매 매크로 블록에서 만들어진 움직임 벡터(MV)의 LSB 1 비트를 소정의 크기의 시프트 레지스터에 순차적으로 저장한다. 만일 128 비트의 시프트 레지스터를 사용한다고 하면, 첫번째 매크로 블록에서 만들어진 움직임 벡터(MV)의 LSB 1 비트를 시프트 레지스터에 저장하고, 시프트 레지스터를 시프트 시킨 후, 다음 매크로 블록에서 만들어진 움직임 벡터(MV)의 LSB 1 비트를 시프트 레지스터에 저장한다. 이러한 방법으로 계속해서 움직임 벡터(MV)의 LSB 1 비트를 저장하면, 시프트 레지스터의 모든 값이 정해진다. 그리고 난수 생성이 필요한 시점에서, 시프트 레지스터에 저장된 값을 읽어 난수를 생성한다.
다른 방법으로 움직임 추정(ME) 모듈에서의 절대차의 합(SAD) 정보의 LSB 1 비트를 이용하는 방법이 있다. 움직임 벡터(MV)의 LSB 1 비트를 이용하는 것과 동일하게 소정의 크기의 시프트 레지스터에 SAD 정보의 LSB 1 비트를 순차적으로 저장하고 있다가 난수 생성이 필요한 시점에서, 시프트 레지스터에 저장된 값을 읽어 난수를 생성한다.
또 다른 방법으로 움직임 보상-DCT(MC-DCT) 모듈에서 생성된 분산(variance) 정보의 LSB 1 비트를 사용하는 방법이 있다. 상술한 방법들과 동일하게 소정의 크기의 시프트 레지스터에 분산 정보의 LSB 1 비트를 순차적으로 저장하고 있다가 난수 생성이 필요한 시점에서, 시프트 레지스터에 저장된 값을 난수를 생성한다.
난수 생성 단계(S420)는 상술한 여러가지 방법에 의해서 생성된 정보를 입력받아 난수를 생성한다. 난수를 생성하는 방법도 여러가지가 있다. 예를 들어 콘텐트 처리부(310)로부터 입력받은 정보를 R 이라고 하고 난수 생성부(320) 자체에서 생성된 난수를 A 라고 하면, 부울연산 'A XOR R' 을 수행한 결과를 난수로 출력할 수 있다. 난수 생성부(320) 자체에서 생성된 난수 A는 종래의 난수 생성 알고리즘인 LFSR를 이용한 난수 생성 알고리즘 또는 Cellular Automata 알고리즘 등을 사용하여 생성될 수 있다.
다음으로 암호화키를 생성한다(S430). 난수 생성 단계(S420)에서 생성된 난수 및 다른 여러가지 정보를 입력받아 암호화키를 생성한다. 다른 여러가지 정보의 예로는, 콘텐트 ID, 저장장치 ID, 복사관리 제어비트 등을 사용할 수 있다. 이러한 정보들을 입력받아 암호화키를 생성하는 방법도 여러가지가 있다. 예를 들어 입력받은 모든 정보에 대하여 부울연산 XOR 하여 생성할 수도 있고, 임의의 비트에 대 하여 특정한 부울연산을 수행하여 생성할 수도 있다. 암호화키 생성방법은 암호화키의 특성인 다른 사람이 쉽게 추정할 수 없도록 해야 한다는 점을 고려한다면 어떠한 방법을 사용하여 생성할 수도 있다.
그리고, 암호화키 생성단계(S430)에서 생성된 암호화키를 사용하여 오디오 비디오 스트림을 암호화하여 출력한다(S440).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
상술한 바와 같이 본 발명은, 생성된 난수의 랜덤 특성(randomness)이 좋은 효과가 있다. 그 이유는 일반적으로 비디오 데이터 자체는 시간적으로나 공간적으로 랜덤한 특성을 가지고 있고, 이 랜덤한 정보를 이용하여 난수를 생성하였기 때문이다. 따라서 생성된 키는 다른 정보와 연관성(correlation)이 적고, 예측 가능하지 않으므로 안전성을 높일 수 있는 효과가 있다.
또한, 난수는 각각의 오디오 비디오 스트림을 이용하여 생성되기 때문에, 입력된 오디오 비디오 스트림이 다른 경우에는 생성된 암호화키도 다르다. 따라서 시스템을 공격하는 공격자가 암호화키 생성부를 해킹하는데 성공하였다고 하더라도 더 안전하다. 따라서 암호화키 생성부의 내부 알고리즘을 알고 있다고 하더라도, 암호화키는 콘텐트 처리부에서 생성되는 정보에 의해서 생성되기 때문에 복호화할 수 없다. 따라서 암호화키 생성부에 있는 의사난수 생성부를 파악할 수 있다고 하더라도 암호화된 오디오 비디오 스트림을 복호화하는데 충분하지 않다.
그리고, 본 발명은 기본적으로 알고리즘에 기반을 두기 때문에 비용이 적게 든다. 즉, 난수를 생성하기 위하여 특별한 하드웨어 장치를 필요로 하지 않고 상술한 방법을 구현하는 소프트웨어나 하드웨어 어느 것이든 사용될 수 있다.

Claims (36)

  1. 오디오 비디오 스트림을 입력받아 소정의 처리를 수행하고, 난수 생성에 사용되는 소정의 데이터를 생성하여 출력하는 콘텐트 처리부;
    상기 콘텐트 처리부로부터 상기 소정의 데이터를 입력받아 난수를 생성하는 난수 생성부;
    상기 난수를 포함하는 정보를 입력받아 암호화키를 생성하는 암호화키 생성부; 및
    상기 암호화키를 사용하여 상기 콘텐트 처리부에서 출력된 오디오 비디오 스트림을 암호화하는 콘텐트 암호화부를 포함하는 것을 특징으로 하는 암호화 장치.
  2. 제1항에 있어서, 상기 콘텐트 처리부에서 수행되는 소정의 처리는
    상기 오디오 비디오 스트림을 입력받아 수행되는 MPEG 비디오 압축 처리인 것을 특징으로 하는 암호화 장치.
  3. 제1항에 있어서, 상기 콘텐트 처리부에서 생성되는 소정의 데이터는
    상기 오디오 비디오 스트림을 입력받아 MPEG 비디오 압축 처리를 수행하면서 상기 오디오 비디오 스트림의 통계적 특성을 기초로 생성되는 데이터인 것을 특징으로 하는 암호화 장치.
  4. 제3항에 있어서, 상기 통계적 특성은
    상기 오디오 비디오 스트림에 대하여 수행되는 MPEG 비디오 압축 처리과정에서 생성되는 매크로 블록의 색 분포 정보 또는 움직임 추정 정보 또는 잡음 추정 정보인 것을 특징으로 하는 암호화 장치.
  5. 제1항에 있어서, 상기 콘텐트 처리부는
    움직임 추정(ME) 과정에서 생성되는 움직임 벡터(MV) 정보를 기초로 난수 생성에 사용되는 소정의 데이터를 생성하여 출력하는 것을 특징으로 하는 암호화 장치.
  6. 제5항에 있어서, 상기 소정의 데이터는
    움직임 추정(ME) 과정에서 생성되는, 매크로 블록에 대한 움직임 벡터(MV)의 LSB 1 비트가 시프트 레지스터에 저장되고, 상기 시프트 레지스터를 한 비트씩 시프트 시키면서 다음 매크로 블록의 움직임 벡터(MV)의 LSB 1 비트가 순차적으로 저장되어 있다가 난수 생성 요청시에 저장되어 있는 상태의 시프트 레지스터 값인 것을 특징으로 하는 암호화 장치.
  7. 제1항에 있어서, 상기 콘텐트 처리부는
    움직임 추정(ME) 과정에서 생성되는 절대차의 합(SAD) 정보를 기초로 난수 생성에 사용되는 소정의 데이터를 생성하여 출력하는 것을 특징으로 하는 암호화 장치.
  8. 제7항에 있어서, 상기 소정의 데이터는
    움직임 추정(ME) 과정에서 생성되는, 매크로 블록에 대한 절대차의 합(SAD) 정보의 LSB 1 비트가 시프트 레지스터에 저장되고, 상기 시프트 레지스터를 한 비트씩 시프트 시키면서 다음 매크로 블록의 절대차의 합(SAD) 정보의 LSB 1 비트가 순차적으로 저장되어 있다가 난수 생성 요청시에 저장되어 있는 상태의 시프트 레지스터 값인 것을 특징으로 하는 암호화 장치.
  9. 제1항에 있어서, 상기 콘텐트 처리부는
    움직임 보상-DCT(MC-DCT) 과정에서 생성된 분산(variance) 정보를 기초로 난수 생성에 사용되는 소정의 데이터를 생성하여 출력하는 것을 특징으로 하는 암호화 장치.
  10. 제9항에 있어서, 상기 소정의 데이터는
    움직임 보상-DCT(MC-DCT) 과정에서 생성된 분산(variance) 정보의 LSB 1 비트가 시프트 레지스터에 저장되고, 상기 시프트 레지스터를 한 비트씩 시프트 시키면서 다음 분산(variance) 정보의 LSB 1 비트가 순차적으로 저장되어 있다가 난수 생성 요청시에 저장되어 있는 상태의 시프트 레지스터 값인 것을 특징으로 하는 암호화 장치.
  11. 제1항에 있어서, 상기 난수 생성부는
    상기 콘텐트 처리부로부터 전달받은 소정의 데이터와 상기 난수 생성부 자체에서 소정의 알고리즘에 의하여 생성된 난수에 대하여 소정의 연산을 수행하여 난 수를 생성하는 것을 특징으로 하는 암호화 장치.
  12. 제11항에 있어서, 상기 소정의 연산은
    XOR 부울연산인 것을 특징으로 하는 암호화 장치.
  13. 제11항 또는 제12항에 있어서, 상기 소정의 알고리즘은
    LFSR(Linear Feedback Shift Register)를 이용한 난수 생성 알고리즘 또는 Cellular Automata 알고리즘인 것을 특징으로 하는 암호화 장치.
  14. 제1항에 있어서, 상기 암호화키 생성부는
    상기 난수 생성부에서 생성된 난수 및 콘텐트 ID 정보, 저장장치 ID 정보, 복사관리 제어비트정보를 더 입력받아 소정의 연산을 수행하여 암호화키를 생성하는 것을 특징으로 하는 암호화 장치.
  15. 제14항에 있어서, 상기 소정의 연산은
    상기 입력받은 모든 정보에 대한 XOR 부울연산 이거나 또는 상기 입력받은 모든 정보의 소정의 임의의 비트에 대한 XOR 부울연산인 것을 특징으로 하는 암호화 장치.
  16. 오디오 비디오 스트림을 입력받아 상기 오디오 비디오 스트림의 통계적 특성정보를 생성하여 출력하는 콘텐트 처리부; 및
    상기 통계적 특성정보를 입력받아 난수를 생성하는 난수 생성부를 포함하며, 상기 통계적 특성정보는 움직임 추정(ME) 과정에서 생성되는 움직임 벡터(MV) 정보 또는 움직임 추정(ME) 과정에서 생성되는 절대차의 합(SAD) 정보 또는 움직임 보상-DCT(MC-DCT) 과정에서 생성된 분산(variance) 정보인 것을 특징으로 하는 난수 생성 장치.
  17. 삭제
  18. 제16항에 있어서, 상기 통계적 특성정보는
    움직임 추정(ME) 과정에서 생성되는, 매크로 블록에 대한 움직임 벡터(MV)의 LSB 1 비트가 시프트 레지스터에 저장되고, 상기 시프트 레지스터를 한 비트씩 시프트 시키면서 다음 매크로 블록의 움직임 벡터(MV)의 LSB 1 비트가 순차적으로 저장되어 있다가 난수 생성 요청시에 저장되어 있는 상태의 시프트 레지스터 값인 것을 특징으로 하는 난수 생성 장치.
  19. 제16항에 있어서, 상기 통계적 특성정보는
    움직임 추정(ME) 과정에서 생성되는, 매크로 블록에 대한 절대차의 합(SAD) 정보의 LSB 1 비트가 시프트 레지스터에 저장되고, 상기 시프트 레지스터를 한 비트씩 시프트 시키면서 다음 매크로 블록의 절대차의 합(SAD) 정보의 LSB 1 비트가 순차적으로 저장되어 있다가 난수 생성 요청시에 저장되어 있는 상태의 시프트 레지스터 값인 것을 특징으로 하는 난수 생성 장치.
  20. 제16항에 있어서, 상기 통계적 특성정보는
    움직임 보상-DCT(MC-DCT) 과정에서 생성된 분산(variance) 정보의 LSB 1 비트가 시프트 레지스터에 저장되고, 상기 시프트 레지스터를 한 비트씩 시프트 시키면서 다음 분산(variance) 정보의 LSB 1 비트가 순차적으로 저장되어 있다가 난수 생성 요청시에 저장되어 있는 상태의 시프트 레지스터 값인 것을 특징으로 하는 난수 생성 장치.
  21. (a) 오디오 비디오 스트림을 입력받아 소정의 처리를 수행하고, 난수 생성에 사용되는 소정의 데이터를 생성하여 출력하는 단계;
    (b) 상기 소정의 데이터를 입력받아 난수를 생성하는 단계;
    (c) 상기 생성된 난수를 포함하는 정보를 입력받아 암호화키를 생성하는 단계; 및
    (d) 상기 생성된 암호화키를 사용하여 상기 소정의 처리가 수행되어 출력된 오디오 비디오 스트림을 암호화하는 단계를 포함하는 것을 특징으로 하는 암호화 방법.
  22. 제21항에 있어서, 상기 (a) 단계에서 수행되는 소정의 처리는
    상기 오디오 비디오 스트림을 입력받아 수행되는 MPEG 비디오 압축 처리인 것을 특징으로 하는 암호화 방법.
  23. 제21항에 있어서, 상기 (a) 단계에서 생성되는 소정의 데이터는
    상기 오디오 비디오 스트림을 입력받아 MPEG 비디오 압축 과정을 수행하면서 상기 오디오 비디오 스트림의 통계적 특성인 매크로 블록의 색 분포 정보 또는 움직임 추정 정보 또는 잡음 추정 정보를 기초로 생성되는 데이터인 것을 특징으로 하는 암호화 방법.
  24. 제21항에 있어서, 상기 (a) 단계는
    움직임 추정(ME) 과정에서 생성되는 움직임 벡터(MV) 정보 또는 움직임 추정(ME) 과정에서 생성되는 절대차의 합(SAD) 정보 또는 움직임 보상-DCT(MC-DCT) 과정에서 생성된 분산(variance) 정보를 기초로 난수 생성에 사용되는 소정의 데이터를 생성하여 출력하는 것을 특징으로 하는 암호화 방법.
  25. 제21항에 있어서, 상기 (a) 단계는
    움직임 추정(ME) 과정에서 매 매크로 블록마다 생성되는 움직임 벡터(MV)의 LSB 1 비트 또는 움직임 추정(ME) 과정에서 생성되는 절대차의 합(SAD) 정보의 LSB 1 비트 또는 움직임 보상-DCT(MC-DCT) 과정에서 생성된 분산(variance) 정보의 LSB 1 비트를 소정의 크기의 시프트 레지스터에 시프트 레지스터를 시프트 시키면서 순 차적으로 저장하고 난수 생성 요청이 입력되면 상기 시프트 레지스터에 저장된 값을 출력하는 것을 특징으로 하는 암호화 방법.
  26. 제21항에 있어서, 상기 (b) 단계는
    상기 (a) 단계에서 전달받은 소정의 데이터와 소정의 난수 생성 알고리즘에 의하여 생성된 난수에 대하여 소정의 연산을 수행하여 난수를 생성하는 것을 특징으로 하는 암호화 방법.
  27. 제26항에 있어서, 상기 소정의 난수 생성 알고리즘은
    LFSR(Linear Feedback Shift Register)를 이용한 난수 생성 알고리즘 또는 Cellular Automata 알고리즘인 것을 특징으로 하는 암호화 방법.
  28. 제21항에 있어서, 상기 (c) 단계는
    상기 (b) 단계에서 생성된 난수 및 콘텐트 ID 정보, 저장장치 ID 정보, 복사관리 제어비트정보를 더 입력받아 소정의 연산을 수행하여 암호화 키를 생성하는 것을 특징으로 하는 암호화 방법.
  29. 제28항에 있어서, 상기 소정의 연산은
    상기 입력받은 모든 정보에 대한 XOR 부울연산 이거나 또는 상기 입력받은 모든 정보의 소정의 임의의 비트에 대한 XOR 부울연산인 것을 특징으로 하는 암호 화 방법.
  30. (a) 오디오 비디오 스트림을 입력받아 상기 오디오 비디오 스트림의 통계적 특성정보를 생성하여 출력하는 단계; 및
    (b) 상기 통계적 특성정보를 입력받아 난수를 생성하는 단계를 포함하며,
    상기 통계적 특성정보는 움직임 추정(ME) 과정에서 생성되는 움직임 벡터(MV) 정보 또는 움직임 추정(ME) 과정에서 생성되는 절대차의 합(SAD) 정보 또는 움직임 보상-DCT(MC-DCT) 과정에서 생성된 분산(variance) 정보인 것을 특징으로 하는 난수 생성 방법.
  31. 삭제
  32. 제30항에 있어서, 상기 통계적 특성정보는
    움직임 추정(ME) 과정에서 생성되는, 매크로 블록에 대한 움직임 벡터(MV)의 LSB 1 비트가 시프트 레지스터에 저장되고, 상기 시프트 레지스터를 한 비트씩 시프트 시키면서 다음 매크로 블록의 움직임 벡터(MV)의 LSB 1 비트가 순차적으로 저장되어 있다가 난수 생성 요청시에 저장되어 있는 상태의 시프트 레지스터 값인 것을 특징으로 하는 난수 생성 방법.
  33. 제30항에 있어서, 상기 통계적 특성정보는
    움직임 추정(ME) 과정에서 생성되는, 매크로 블록에 대한 절대차의 합(SAD) 정보의 LSB 1 비트가 시프트 레지스터에 저장되고, 상기 시프트 레지스터를 한 비트씩 시프트 시키면서 다음 매크로 블록의 절대차의 합(SAD) 정보의 LSB 1 비트가 순차적으로 저장되어 있다가 난수 생성 요청시에 저장되어 있는 상태의 시프트 레지스터 값인 것을 특징으로 하는 난수 생성 방법.
  34. 제30항에 있어서, 상기 통계적 특성정보는
    움직임 보상-DCT(MC-DCT) 과정에서 생성된 분산(variance) 정보의 LSB 1 비트가 시프트 레지스터에 저장되고, 상기 시프트 레지스터를 한 비트씩 시프트 시키면서 다음 분산(variance) 정보의 LSB 1 비트가 순차적으로 저장되어 있다가 난수 생성 요청시에 저장되어 있는 상태의 시프트 레지스터 값인 것을 특징으로 하는 난수 생성 방법.
  35. (a) 오디오 비디오 스트림을 입력받아 소정의 처리를 수행하고, 난수 생성에 사용되는 소정의 데이터를 생성하여 출력하는 단계;
    (b) 상기 소정의 데이터를 입력받아 난수를 생성하는 단계;
    (c) 상기 생성된 난수를 포함하는 정보를 입력받아 암호화키를 생성하는 단계; 및
    (d) 상기 생성된 암호화키를 사용하여 상기 소정의 처리가 수행되어 출력된 오디오 비디오 스트림을 암호화하는 단계를 포함하는 것을 특징으로 하는 암호화 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  36. (a) 오디오 비디오 스트림을 입력받아 상기 오디오 비디오 스트림의 통계적 특성정보를 생성하여 출력하는 단계; 및
    (b) 상기 통계적 특성정보를 입력받아 난수를 생성하는 단계를 포함하며,
    상기 통계적 특성정보는 움직임 추정(ME) 과정에서 생성되는 움직임 벡터(MV) 정보 또는 움직임 추정(ME) 과정에서 생성되는 절대차의 합(SAD) 정보 또는 움직임 보상-DCT(MC-DCT) 과정에서 생성된 분산(variance) 정보인 것을 특징으로 하는 난수 생성 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020030002965A 2003-01-16 2003-01-16 암호화 장치 및 암호화 방법 KR100813954B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020030002965A KR100813954B1 (ko) 2003-01-16 2003-01-16 암호화 장치 및 암호화 방법
US10/712,003 US20040141614A1 (en) 2003-01-16 2003-11-14 Data encryption apparatus and method
CNA2004100019682A CN1518269A (zh) 2003-01-16 2004-01-16 数据加密设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030002965A KR100813954B1 (ko) 2003-01-16 2003-01-16 암호화 장치 및 암호화 방법

Publications (2)

Publication Number Publication Date
KR20040065795A KR20040065795A (ko) 2004-07-23
KR100813954B1 true KR100813954B1 (ko) 2008-03-14

Family

ID=32709895

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030002965A KR100813954B1 (ko) 2003-01-16 2003-01-16 암호화 장치 및 암호화 방법

Country Status (3)

Country Link
US (1) US20040141614A1 (ko)
KR (1) KR100813954B1 (ko)
CN (1) CN1518269A (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1759563A (zh) 2003-03-25 2006-04-12 独立行政法人情报通信研究机构 用于随机数生成、加密和解密的装置、方法、程序及记录介质
US20050134523A1 (en) * 2003-12-17 2005-06-23 International Business Machines Corporation Creating an encrypted channel to a wireless video display
EP1865481A1 (en) * 2005-03-31 2007-12-12 Matsushita Electric Industrial Co., Ltd. Data encryption device and data encryption method
US8144868B2 (en) * 2005-05-25 2012-03-27 Zenith Electronics Llc Encryption/decryption of program data but not PSI data
US8189786B2 (en) 2005-05-25 2012-05-29 Zenith Electronics Llc Encryption system
CN100401769C (zh) * 2005-12-27 2008-07-09 华为技术有限公司 一种对直播流媒体数据进行加密和解密的方法
ATE451791T1 (de) * 2006-01-03 2009-12-15 Irdeto Access Bv Verfahren zur entschlüsselung eines verschlüsselten datenobjekts
JP2007306170A (ja) * 2006-05-10 2007-11-22 Sony Corp 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム
CN100446019C (zh) * 2006-07-19 2008-12-24 北京飞天诚信科技有限公司 一种软件版权保护方法
US8855110B2 (en) * 2006-09-04 2014-10-07 Mediatek Usa Inc. Personal video recorder having improved data access and method thereof
US8055903B2 (en) * 2007-02-15 2011-11-08 Avaya Inc. Signal watermarking in the presence of encryption
WO2008133590A1 (en) * 2007-04-30 2008-11-06 Telefonaktiebolaget Lm Ericsson (Publ) Method for establishing a random number for security and encryption, and a communications apparatus
US20100014671A1 (en) * 2008-06-19 2010-01-21 General Instrument Corporation Secure interchip transport interface
US9684710B2 (en) * 2009-05-28 2017-06-20 Microsoft Technology Licensing, Llc Extending random number summation as an order-preserving encryption scheme
KR20120071556A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 영상 보안 전송 장치, 영상 데이터 수신 장치 및 키 생성 방법
US9158501B2 (en) * 2012-12-17 2015-10-13 Vonage Network Llc Method and apparatus for generating random numbers based on packetized media data
EP2987267B1 (en) 2013-04-18 2019-03-20 Risoftdev, Inc. System and methods for encrypting data
CN105306194B (zh) * 2014-07-22 2018-04-17 柯呈翰 供加密档案和/或通讯协定的多重加密方法与系统
CN105426158B (zh) * 2015-12-09 2018-05-01 福州瑞芯微电子股份有限公司 一种随机数产生方法及其装置
US11184331B1 (en) * 2016-12-30 2021-11-23 Alarm.Com Incorporated Stream encryption key management

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07111647A (ja) * 1993-10-14 1995-04-25 Matsushita Electric Ind Co Ltd 信号処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150433A (en) * 1989-12-01 1992-09-22 Eastman Kodak Company Histogram/variance mechanism for detecting presence of an edge within block of image data
US5646997A (en) * 1994-12-14 1997-07-08 Barton; James M. Method and apparatus for embedding authentication information within digital data
US5767922A (en) * 1996-04-05 1998-06-16 Cornell Research Foundation, Inc. Apparatus and process for detecting scene breaks in a sequence of video frames
US6122320A (en) * 1997-03-14 2000-09-19 Cselt-Centro Studi E Laboratori Telecomunicazioni S.P.A. Circuit for motion estimation in digitized video sequence encoders
US6353842B1 (en) * 1999-11-23 2002-03-05 Janusz Rajski Method for synthesizing linear finite state machines
JP2002132456A (ja) * 2000-10-20 2002-05-10 Sony Corp 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
US7095873B2 (en) * 2002-06-28 2006-08-22 Microsoft Corporation Watermarking via quantization of statistics of overlapping regions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07111647A (ja) * 1993-10-14 1995-04-25 Matsushita Electric Ind Co Ltd 信号処理装置

Also Published As

Publication number Publication date
US20040141614A1 (en) 2004-07-22
KR20040065795A (ko) 2004-07-23
CN1518269A (zh) 2004-08-04

Similar Documents

Publication Publication Date Title
KR100813954B1 (ko) 암호화 장치 및 암호화 방법
EP0624013B1 (en) Device and method for data encryption
JP6017501B2 (ja) 暗号システム
US6934389B2 (en) Method and apparatus for providing bus-encrypted copy protection key to an unsecured bus
KR100579673B1 (ko) 암호화/복호화 시스템, 암호화 시스템 및 복호화 시스템
Bisht et al. A comparative study of some symmetric and asymmetric key cryptography algorithms
Syalim et al. Realizing proxy re-encryption in the symmetric world
JP2005252384A (ja) 暗号化データ保管サーバシステム、暗号化データ保管方法及び再暗号化方法
Adelsbach et al. Fingercasting—joint fingerprinting and decryption of broadcast messages
Tayel et al. A proposed serpent-elliptic hybrid cryptosystem for multimedia protection
Beloucif et al. Design of a tweakable image encryption algorithm using chaos-based schema
Kodumru et al. Secure data storage in cloud using cryptographic algorithms
Han et al. Video encryption scheme using hybrid encryption technology
Radha et al. A chaotic block cipher for real-time multimedia
Kim et al. An efficient implementation of RC4 cipher for encrypting multimedia files on mobile devices
JP6885325B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、プログラム
WO2021044465A1 (ja) 暗号化装置、復号装置、コンピュータプログラム、暗号化方法、復号方法及びデータ構造
Kumar et al. New Symmetric Key Cipher Based on Quasigroup
Timilsina et al. Analysis of Hybrid Cryptosystem Developed Using Blowfish and ECC with Different Key Size
Rajput et al. An improved cryptographic technique to encrypt images using extended hill cipher
JP2000004223A (ja) 暗号・認証システム
Alhassan et al. A Secure Method to Hide Confidential Data Using Cryptography and Steganography
Kulkarni et al. Neural Crypto-Coding Based Approach to Enhance the Security of Images over the Untrusted Cloud Environment. Cryptography 2023, 7, 23
JP2001211159A (ja) コンテンツ情報復号化方法、コンテンツ情報復号化装置
Kaur et al. RSS blowfish block encryption technique for secure image cryptography

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
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160226

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee