KR100846255B1 - 암호화 장치 및 방법, 복호 장치 및 방법과 기억 매체 - Google Patents

암호화 장치 및 방법, 복호 장치 및 방법과 기억 매체 Download PDF

Info

Publication number
KR100846255B1
KR100846255B1 KR1020027008735A KR20027008735A KR100846255B1 KR 100846255 B1 KR100846255 B1 KR 100846255B1 KR 1020027008735 A KR1020027008735 A KR 1020027008735A KR 20027008735 A KR20027008735 A KR 20027008735A KR 100846255 B1 KR100846255 B1 KR 100846255B1
Authority
KR
South Korea
Prior art keywords
data
initial value
encrypted
content data
block
Prior art date
Application number
KR1020027008735A
Other languages
English (en)
Other versions
KR20020067599A (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 소니 가부시끼 가이샤
Publication of KR20020067599A publication Critical patent/KR20020067599A/ko
Application granted granted Critical
Publication of KR100846255B1 publication Critical patent/KR100846255B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • 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
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • G11B2020/00014Time or data compression or expansion the compressed signal being an audio signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2545CDs
    • 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/60Digital content management, e.g. content distribution

Abstract

콘텐츠의 데이터를 암호화하여 기록할 때에, 콘텐츠의 데이터가 블록화되고, 체인 형상으로 연쇄하여 암호화된다. 이 때의 초기값은, 그 섹터의 콘텐츠 데이터 그 자체로부터 생성된다. MPEG 스트림의 경우에는, 헤더의 고유한 정보로부터 생성된다. 이 때문에, 초기값을 난수 등에 의해 발생시킬 필요가 없어, 데이터 영역의 손실이 없다. 또한, 콘텐츠 데이터는 랜덤하게 변화하고 있기 때문에, 은닉성이 높다. 또한, 난수 발생기 등을 준비할 필요가 없어, 회로 규모가 증대되지 않는다.
MPEG, 복호, 암호화, 팩 헤더, 패킷 헤더, 파일 헤더, 콘텐츠 데이터

Description

암호화 장치 및 방법, 복호 장치 및 방법과 기억 매체{ENCIPHERING DEVICE AND METHOD, DECIPHERING DEVICE AND METHOD, AND STORAGE MEDIUM}
본 발명은, 예를 들면 CD(Compact Disc)2와 같은 광 디스크에, 오디오 데이터 등의 콘텐츠의 데이터를 기록/재생할 때에, 콘텐츠의 데이터의 보호를 도모하기 위해 데이터를 암호화하여 기록하는 데 이용하기에 바람직한 암호화 장치 및 방법, 복호 장치 및 방법과 기억 매체에 관한 것이다.
최근, 대용량의 기록 매체로서 광 디스크의 개발이 진행되고 있다. 예를 들면 음악 정보가 기록된 CD, 컴퓨터용 데이터가 기록되는 CD-R0M(Compact Disc Read Only Memory), 영상 정보를 취급하는 DVD(Digital Versatile Disc 또는 Digital Video Disc) 등이 알려져 있다.
여기서 예를 든 광 디스크는, 판독 전용의 디스크이다. 최근에는, CD-R(CD-Recordable) 디스크, CD-RW(CD-Rewritable) 디스크 등과 같이, 데이터의 추가 기입이나, 재기입이 가능한 광 디스크가 실용화되어 있다. 또한, CD와 마찬가지의 형상으로 기록 용량을 높인 배밀도 CD나, 통상의 CD 플레이어와 퍼스널 컴퓨터 쌍방과의 친화성이 높아진 CD2 등, 각종 광 디스크의 개발이 진행되고 있다.
이러한 광 디스크의 보급에 수반하여, 광 디스크에 기록된 콘텐츠의 데이터 가 부정하게 복제되어 사용되거나, 복제된 것이 부정하게 판매되거나 하여, 저작권자에게 불이익을 주게 되는 것이 우려되고 있다. 그래서, 광 디스크에 오디오 데이터나 비디오 데이터와 같은 콘텐츠 데이터를 기록할 때에, 저작권자의 권리를 보호하는 것을 목적으로 하여, 콘텐츠 데이터에 대하여 암호화 처리를 실시하는 것이 행해지고 있다.
이와 같이, 광 디스크에 콘텐츠의 데이터를 기록할 때에 이용하는 암호화 방식으로서는, DES(Data Encryption Standard)나 tripple DES 등의 블록 암호가 사용되고 있다. DES는 대표적인 공통 키 암호로서, 64비트(8바이트)의 데이터를 초기 전치(스크램블)를 행하고, 32비트씩 나눈 데이터를, 56비트의 1개의 암호 키로부터 생성된 16개의 키로 차례차례로 비선형 처리를 행하고, 다시 전치를 행하여, 암호화하는 것이다.
그런데, DES와 같은 블록 암호는, 블록의 길이가 비교적 짧기 때문에, 유사 블록이 빈번하게 나타날 가능성이 있어, 암호 강도에 문제가 있다.
그래서, 암호 강도를 높이기 위해서, CBC(Ciphering Block Chaining) 방식을 이용하는 것이 고려되고 있다. CBC 방식은, 블록 단위로 암호화한 데이터를 연쇄시켜 감으로써 암호 강도를 높여 가는 것이다.
즉, CBC 방식에서는, 암호화를 행할 때에는, 금회의 입력 블록 데이터와, 그 하나 전의 블록 데이터를 암호화한 데이터와의 EX-OR이 취해져서, 암호화된다. 복호를 행할 때에는, 암호화 블록 데이터가 복호되고, 그 전의 암호화 블록 데이터와의 EX-OR이 취해져서, 원래의 블록 데이터가 복호된다. 이와 같이, CBC 방식에서 는, 이전 블록 데이터와 연쇄시키면서 암호화되기 때문에, 암호 강도를 높일 수 있다.
이와 같이, 광 디스크에 콘텐츠의 데이터를 기록할 때에, CBC 방식으로 암호화를 행하면, 암호 강도가 높아져서, 보다 강력하게, 저작권의 보호를 도모할 수 있다. 그런데, CBC 방식에서는, 이전 블록 데이터와 연쇄시키면서 암호화해 가기 때문에, 암호화를 행할 때의 최초의 블록에서는, 직전의 암호화 블록이 없기 때문에, 초기값을 준비할 필요가 있다. 이와 같이 CBC 방식으로 암호화를 행할 때의 초기값으로서는, 고정값을 사용하는 것이 가장 간단하다. 그런데, CBC 방식의 암호화를 행할 때의 초기값으로서 고정값을 이용하면, 은닉성에 문제가 생겨, 높은 암호 강도를 유지할 수 없다. 또한, 초기값으로서 고정값을 준비하기 위해서는, 이 초기값이 되는 고정값을 어딘가에 저장해 둘 필요가 생긴다.
그래서, 암호화의 블록에는 포함되어 있지 않은 다른 영역의 데이터로부터 초기값을 만드는 것이 고려된다. 예를 들면, 에러 정정을 위한 ECC(Error Correcting Code)나 매체 정보가 포함되어 있다. 이들 데이터는, 저작권을 갖는 데이터 그 자체가 아니기 때문에, 보호할 필요는 없어, 통상, 암호화의 블록에는 포함되지 않는다. 그래서, ECC나 매체 정보와 같은, 다른 영역의 데이터로부터 초기값을 만드는 것이 고려된다.
즉, 도 25는, ECC나 매체 정보와 같은 다른 영역의 데이터로부터, CBC 방식으로 암호화를 행할 때의 초기값을 만들도록 한 예이다. 도 25에 도시한 바와 같 이, 입력 블록 데이터 Di를 0∼255까지의 256개의 블록 데이터로 하고, 1 블록은 8바이트(64비트)로 한다.
처음에, 초기값 inV로서, 다른 영역으로부터의 데이터가 입력되고, EX-OR 게이트(501)에서, 입력 블록 데이터 D0과 초기값 inV와의 EX-OR이 취해지고, 이것이 블록 암호화 회로(502)에서 키 정보 K에 의해 암호화되어, 암호화 블록 데이터 ED0이 생성된다.
다음에, EX-OR 게이트(501)에서, 입력 블록 데이터 D1과, 그 전의 암호화 블록 데이터 ED0과의 EX-OR이 취해지고, 이것이 블록 암호화 회로(502)에서 키 정보 K에 의해 암호화되어, 암호화 블록 데이터 ED1이 생성된다.
이하, 입력 블록 데이터 Di와, 그 전의 암호화 블록 데이터 EDi-1과의 EX-OR이 취해지고, 이것이 블록 암호화 회로(502)에서 키 정보 K에 의해 암호화되어, 암호화 블록 데이터 EDi가 생성된다.
이와 같이, 초기값 inV를 블록의 데이터 이외에, 예를 들면, ECC나 매체 정보로부터 만들도록 하면, 초기값이 고정값으로 되지 않기 때문에, 은닉성이 높아진다.
그런데, 이와 같이, 초기값 inV를 블록의 데이터 이외에, 예를 들면, ECC나 매체 정보로부터 만들도록 하면, 콘텐츠 데이터 이외의 데이터가 암호화를 위해 반드시 필요하게 된다. 이 때문에, 콘텐츠 데이터만을 암호화하여 데이터 전송할 수 없게 되고, 콘텐츠의 데이터를 전송할 때에는, 반드시, ECC나 매체 정보를 함께 보낼 필요가 생기게 된다.
또한, CBC 방식으로 암호화를 행할 때의 초기값을 발생하기 위한 다른 방법으로서, 초기값을 난수에 의해 발생시키는 것이 고려된다.
즉, 도 26에 도시한 바와 같이, 처음에, 난수에 의해 발생된 값이 초기값으로서 블록 데이터 D0에 받아들여진다.
이 초기값이 들어 간 블록 데이터 D0은, 블록 암호화 회로(512)에서 키 정보 K에 의해 암호화되어, 암호화 블록 데이터 ED0이 생성된다.
다음에, EX-OR 게이트(511)에서, 입력 블록 데이터 D1과, 그 전의 암호화 블록 데이터 ED0과의 EX-OR이 취해지고, 이것이 블록 암호화 회로(512)에서 키 정보 K에 의해 암호화되어, 암호화 블록 데이터 ED1이 생성된다.
이하, 입력 블록 데이터 Di와, 그 전의 암호화 블록 데이터 EDi-1과의 EX-OR이 취해지고, 이것이 블록 암호화 회로(512)에서 키 정보 K에 의해 암호화되어, 암호화 블록 데이터 EDi가 생성된다.
그러나, 이와 같이, 난수에 의해 초기값을 발생시키면, 블록 데이터 D0에는 난수에 의해 발생된 초기값이 들어 가게 되어, 블록 데이터 D0에는, 콘텐츠 데이터가 받아들여지지 않게 된다. 따라서, 1 섹터의 0∼255까지의 256 블록(2048바이 트) 중 2040바이트로 밖에 콘텐츠 데이터를 넣을 수 없게 되어, 데이터 영역을 효과적으로 이용할 수 없다는 문제가 생기게 된다.
또한, 초기값을 난수에 의해 발생시키도록 하기 위해서는, 난수 발생 회로가 필요하게 된다. 은닉성을 높이기 위해서는, 난수로서 랜덤한 부호를 발생시킬 수 있는 것이 필요하며, 이러한 난수 발생 회로를 설치하면, 회로 규모가 증대한다는 문제가 생기게 된다.
따라서, 본 발명의 목적은, 연쇄적인 암호화를 행하는 경우에, 초기값을 위한 특별한 영역의 데이터나 난수가 불필요하며, 또한, 은닉성이 높은 암호화 장치 및 방법, 복호 장치 및 방법과 기억 매체를 제공하는 것에 있다.
본 발명의 다른 목적은, 연쇄적인 암호화를 행하는 경우에, 데이터 영역을 효과적으로 이용할 수 있는 암호화 장치 및 방법, 복호 장치 및 방법과 기억 매체를 제공하는 것에 있다.
본 발명은, 콘텐츠 데이터의 제1 부분의 데이터에 따라서 초기값을 생성하는 생성 수단과, 생성된 초기값에 따라서 콘텐츠 데이터의 제2 부분의 데이터를 암호화하고, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 콘텐츠 데이터의 제1 및 제2 부분의 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하는 암호 수단을 포함하도록 한 암호화 장치이다.
본 발명은, 콘텐츠 데이터의 제1 부분의 데이터에 따라서 초기값을 생성하고, 생성된 초기값에 따라서 콘텐츠 데이터의 제2 부분의 데이터를 암호화하며, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 콘텐츠 데이터의 제1 및 제2 부분의 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하도록 한 암호화 방법이다.
본 발명은, 암호화된 콘텐츠 데이터의 제1 부분의 데이터인 초기값에 기초하여, 암호화된 콘텐츠 데이터의 제2 부분의 데이터를 복호하고 복호 데이터를 출력함과 함께, 제1 및 제2 부분의 데이터와는 다른 부분의 데이터를, 암호화된 콘텐츠 데이터의 제2 부분의 데이터에 기초하여 연쇄적으로 복호하는 수단과, 암호화된 콘텐츠 데이터의 제1 부분의 데이터로부터 제1 부분의 데이터를 생성하는 생성 수단을 포함하도록 한 복호 장치이다.
본 발명은, 암호화된 콘텐츠 데이터의 제1 부분의 데이터인 초기값에 기초하여, 암호화된 콘텐츠 데이터의 제2 부분의 데이터를 복호하여 복호 데이터를 출력하고, 제1 및 제2 부분의 데이터와는 다른 부분의 데이터를, 암호화된 콘텐츠 데이터의 제2 부분의 데이터에 기초하여 연쇄적으로 복호하며, 암호화된 콘텐츠 데이터의 제1 부분의 데이터로부터 제1 부분의 데이터를 생성하도록 한 복호 방법이다.
본 발명은, 콘텐츠 데이터의 제1 부분의 데이터에 따라서 초기값을 생성하고, 생성된 초기값에 따라서 콘텐츠 데이터의 제2 부분의 데이터를 암호화하며, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 콘텐츠 데이터의 제1 및 제2 부분의 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하여, 콘텐츠의 데이터를 기억하도록 한 기억 매체이다.
본 발명은, 콘텐츠 데이터의 스트림의 소정 부분의 데이터에 따라서 초기값을 생성하는 생성 수단과, 생성된 초기값에 따라서 콘텐츠 데이터를 암호화하고, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 콘텐츠 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하는 암호 수단을 포함하도록 한 암호화 장치이다.
본 발명은, 콘텐츠 데이터의 스트림의 소정의 부분의 데이터에 따라서 초기값을 생성하고, 생성된 초기값에 따라서 콘텐츠 데이터를 암호화하며, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 콘텐츠 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하도록 한 암호화 방법이다.
본 발명은, 콘텐츠 데이터의 스트림의 소정의 부분의 데이터에 따라서 초기값을 생성하는 생성 수단과, 초기값에 기초하여, 암호화된 콘텐츠 데이터의 제1 부분의 데이터를 복호하여 복호 데이터를 출력함과 함께, 암호화된 콘텐츠 데이터의 제1 부분의 데이터와는 다른 제2 부분의 데이터를, 암호화된 콘텐츠 데이터의 제1 부분의 데이터에 기초하여 연쇄적으로 복호하는 복호 수단을 포함하는 복호 장치이다.
본 발명은, 콘텐츠 데이터의 스트림의 소정 부분의 데이터에 따라서 초기값을 생성하고, 초기값에 기초하여, 암호화된 콘텐츠 데이터의 제1 부분을 복호하여 복호 데이터를 출력하며, 암호화된 콘텐츠 데이터의 제1 부분의 데이터와는 다른 제2 부분의 데이터를, 암호화된 콘텐츠 데이터의 제1 부분의 데이터에 기초하여 연쇄적으로 복호하도록 한 복호 방법이다.
본 발명은, 콘텐츠 데이터의 스트림의 소정의 부분의 데이터에 따라서 초기값을 생성하고, 생성된 초기값에 따라서 콘텐츠 데이터를 암호화하며, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 콘텐츠 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하여, 콘텐츠의 데이터를 기억하도록 한 기억 매체이다.
콘텐츠의 데이터가 블록화되고, 체인 형상으로 연쇄적으로 암호화된다. 그리고, 이 때의 초기값을, 그 섹터의 콘텐츠 데이터 그 자체로부터 생성하고 있다. 이 때문에, 초기값을 난수 등에 의해 발생시킬 필요가 없어, 데이터 영역의 손실이 없다. 또한, 콘텐츠 데이터는 랜덤하게 변화하고 있기 때문에, 은닉성이 높다. 또한, 난수 발생기 등을 준비할 필요가 없어, 회로 규모가 증대되지 않는다.
또한, 콘텐츠 데이터로부터 생성되는 초기값 자체가 다른 콘텐츠 데이터로 암호화된다. 또한, 초기값으로서 사용하는 콘텐츠 데이터를 자유롭게 선택할 수 있다. 이에 따라, 은닉성이 향상된다.
또한, MPEG 스트림을 기록하는 경우에는, 헤더에 포함되는 고유한 정보를 사용하여, 초기값을 생성하고 있다. 헤더의 정보는 고유하며, SCR이나 PTS와 같은 시간 정보는, 시간에 따라 변화하기 때문에, 은닉성이 높다. 또한, MPEG 스트림의 헤더의 정보를 사용하여 암호화의 초기값을 형성하고 있기 때문에, MPEG 스트림을 유지한 채로, 전송할 수 있다. 또한, 난수 발생기 등을 준비할 필요가 없어, 회로 규모가 증대되지 않는다.
도 1은 본 발명이 적용된 광 디스크의 일례의 개략선도.
도 2는 본 발명이 적용된 기록 장치의 일례의 블록도.
도 3은 본 발명이 적용된 재생 장치의 일례의 블록도.
도 4는 섹터의 구성을 도시한 개략선도.
도 5는 블록의 구성을 도시한 개략선도.
도 6은 본 발명이 적용된 암호화 처리의 설명에 이용하는 블록도.
도 7은 본 발명이 적용된 암호화 처리의 설명에 이용하는 블록도.
도 8은 본 발명이 적용된 복호 처리의 설명에 이용하는 블록도.
도 9는 본 발명이 적용된 복호 처리의 설명에 이용하는 블록도.
도 10, 도 11, 도 12, 도 13, 도 14, 도 15, 및 도 16은 본 발명이 적용된 암호화 처리의 설명에 이용하는 흐름도.
도 17은 MPEG 스트림을 기록하는 경우의 설명에 이용하는 개략선도.
도 18은 MPEG 스트림을 기록하는 경우의 설명에 이용하는 개략선도.
도 19는 MPEG 스트림을 기록하는 경우의 블록의 구성을 도시한 개략선도.
도 20는 본 발명이 적용된 암호화 처리의 설명에 이용하는 블록도.
도 21A 및 도 21B는 본 발명이 적용된 암호화 처리의 설명에 이용하는 블록도.
도 22는 본 발명이 적용된 암호화 처리의 설명에 이용하는 블록도.
도 23은 본 발명이 적용된 암호화 처리의 설명에 이용하는 블록도.
도 24는 본 발명이 적용된 복호 처리의 설명에 이용하는 블록도.
도 25는 종래의 암호화 처리의 설명에 이용하는 블록도.
도 26은 종래의 암호화 처리의 설명에 이용하는 블록도.
이하, 본 발명의 실시 형태에 대하여 도면을 참조하여 설명한다. 본 발명은, 예를 들면, CD2에 콘텐츠 데이터를 기록/재생할 때에, 데이터의 보호를 도모하기 위해, 콘텐츠의 데이터를 암호화하는 데 이용하기에 적합하다.
도 1은, 본 발명을 적용할 수 있는 CD2의 외관의 구성을 도시한 것이다. CD2는, 통상의 CD와 마찬가지로, 예를 들면 직경 120㎜의 광 디스크이다. 단, 소위 싱글 CD와 같이, 직경 80㎜이어도 된다.
CD2는, 기존의 CD 플레이어와 퍼스널 컴퓨터의 쌍방의 친화성을 고려하여 개발되었다. 이러한 CD2는, 도 1에 도시한 바와 같이, 그 중심에 센터 홀이 형성되고, 내주측에 영역 AR1이 형성되며, 또한 그 외주에, 영역 AR2가 형성된다. 내주측의 영역 AR1과, 외주측의 영역 AR2 사이에는, 미러부 M1이 형성되고, 이 미러부 M1에 의해, 내주측의 영역 AR1과 외주측의 영역 AR2가 구획되어 있다. 내주측의 영역 AR1의 최내주에는, 리드인 영역 LIN1이 형성되고, 그 최외주에는, 리드아웃 영역 LOUT1이 형성된다. 외주측의 영역 AR2의 최내주에는, 리드인 영역 LIN2가 형성되고, 그 최외주에는, 리드아웃 영역 LOUT2가 형성된다.
내주측의 영역 AR1은, 기존의 CD 플레이어와의 친화성이 도모된 영역이다. 이 영역 AR1에는, 통상의 CD 플레이어에서도 재생할 수 있도록, 예를 들면, 오디오 데이터가 통상의 CD-DA(CD Digita1 Audio)와 마찬가지의 포맷으로 기록되어 있다. 또한, 이 내주측의 영역 AR1은, 통상의 CD-DA와 마찬가지로 처리할 수 있도록, 통 상, 콘텐츠의 데이터에 대한 암호화는 행해지지 않는다. 물론, 저작권의 보호를 도모하기 위해, 이 내주측의 영역 AR1에 기록하는 데이터를 암호화하는 경우도 고려된다. 또한, 이 내주측의 영역 AR1에, 비디오 데이터나, 컴퓨터 프로그램 데이터 등, 오디오 데이터 이외의 데이터를 기록하도록 하여도 된다. 또한, 이 내주측의 영역 AR1에, 콘텐츠의 데이터를 압축하여 기록하도록 하여도 된다.
이에 대하여, 외주측의 영역 AR2는, 퍼스널 컴퓨터와의 친화성을 도모하도록 한 영역이다. 이 영역 AR2에는, 배밀도로 데이터를 기록할 수 있다. 이 영역 AR2에는, 예를 들면, 오디오 데이터가 압축되어 기록된다. 압축 방식으로서는, 예를 들면 MP3(MPEG-1 Audio Layer-3) 방식이 이용되고 있으며, 또한, 퍼스널 컴퓨터와의 친화성을 도모할 수 있도록, 파일화되어 있다.
MP3는, MPEG1로 규정되어 있는 3개층의 압축 방식의 하나이며, 각 대역의 출력을 MDCT(Modified Discrete Cosine Transform)로 주파수축으로 분할하고, 양자화한 후, 하프맨 부호화하도록 한 것이다. 오디오 데이터를 MP3 방식으로 압축함으로써, 기록 용량을 확대할 수 있을 뿐만 아니라, 퍼스널 컴퓨터와 마찬가지의 파일 시스템으로 데이터를 처리할 수 있다. 이 때문에, 외주측의 영역 AR2에 MP3 방식으로 파일화되어 기록되어 있는 콘텐츠의 데이터를, 퍼스널 컴퓨터의 하드디스크로 이동시켜서, 퍼스널 컴퓨터에 음악 서버를 구축하거나, 플래시 메모리가 장착되는 휴대형의 MP3 재생 플레이어로 이동시켜서, 밖에서 음악 재생을 즐기는 것이 용이하게 된다.
이와 같이, 외주측의 영역 AR2에 기록되어 있는 콘텐츠의 데이터는, 퍼스널 컴퓨터와의 친화성이 도모되고, 취급이 용이하다. 그런데, 이 외주측의 영역 AR2에 기록되어 있는 콘텐츠의 데이터는, 외부로 반출되는 경우가 많아지기 때문에, 저작권의 보호가 지켜지지 않게 될 가능성이 높다. 이 때문에, 외주측의 영역 AR2에 기록될 콘텐츠의 데이터에는, 복사나 재생을 제한하기 위해, 암호화 처리가 실시됨과 함께, 이 외주측의 영역 AR2에는, 예를 들면, 복사 금지/허가, 복사의 세대 관리, 복사본의 개수 제한, 재생 금지/허가, 재생 횟수의 제한, 재생 시간의 제한 등을 관리하기 위한 저작권 관리 정보가 기록된다.
또, 여기서는, 영역 AR2에 기록하는 데이터를 MP3로 파일화하고 있지만, 영역 AR2에 기록되는 콘텐츠의 데이터는, MP3의 파일에 한정되는 것은 물론 아니다. 오디오 데이터의 압축 방식으로서는, MP3 외에, MPEG2-AAC(Advanced Audio Coding) , ATRAC(Adaptive TRansform Acoustic Coding) 3 등이 알려져 있다. 또한, 오디오 데이터에 한정되지 않고, 비디오 데이터나 정지 화상 데이터, 텍스트 데이터, 컴퓨터 프로그램 등, 각종 데이터를 영역 AR2에 기록하는 것이 가능하다. 또한, 영역 AR2에 기록하는 콘텐츠의 데이터이더라도, 암호화할 필요가 없으면, 암호화하지 않고 기록하여도 무방하다.
이와 같이, CD2는, 내주측의 영역 AR1을 사용하여, 통상의 CD와 마찬가지로 CD 플레이어로 재생할 수가 있고, 외주측의 영역 AR2를 사용함으로써, 퍼스널 컴퓨터나 휴대형의 플레이어와 제휴시키면서, 데이터를 처리할 수 있다.
본 발명은, 이러한 CD2에서, 특히, 외주측의 영역 AR2에, 콘텐츠의 데이터를 암호화하여 기록/재생하는 데 이용하기에 바람직하다.
도 2는, 본 발명이 적용된 기록 장치의 일례이다. 도 2에서, 입력 단자(1)에 콘텐츠 데이터가 공급된다. 콘텐츠 데이터는, 예를 들면, 오디오 데이터이다. 오디오 데이터로서는, PCM 데이터여도 되고, MP3 등의 스트림이어도 된다. 또한, 오디오 데이터 외에, 동화상 데이터, 정지 화상 데이터, 게임의 프로그램 데이터, 웹 페이지의 데이터, 텍스트 등, 여러 종류의 콘텐츠 데이터로서 기록하는 것이 고려된다. 이 입력 단자(1)로부터의 콘텐츠 데이터는, 암호화 회로(4)에 공급된다.
또한, 입력 단자(2)에 키 정보 K가 공급된다. 입력 단자(2)로부터의 키 정보 K가 암호화 회로(4)에 공급된다.
암호화 회로(4)는, 입력 단자(1)로부터의 콘텐츠 데이터를, 입력 단자(2)로부터의 키 정보 K를 이용하여 암호화하는 것이다. 암호화 방식으로서는, 블록 암호가 이용된다. 블록 암호는, 예를 들면, 8바이트씩을 단위로 하여 암호화를 행하여, 암호화 회로(4)는 블록화 회로를 구비하고 있다. 이 예에서는, 블록 단위로 암호화한 데이터를 연쇄시켜 감으로써, 암호화 강도를 높이도록 하고 있다. 이와 같이, 블록 단위로 암호화한 데이터를 연쇄시켜 가는 방식이, CBC(Ciphering Block Chaining) 방식으로서 알려져 있다.
암호화 회로(4)의 출력이 에러 정정 부호화 회로(5)에 공급된다. 에러 정정 부호화 회로(5)에서, 암호화 회로(4)에 의해 암호화된 콘텐츠 데이터에 대하여, 에러 정정 부호가 부가된다.
에러 정정 부호화 회로(5)의 출력은, 변조 회로(6)에 공급된다. 변조 회로(6)에서, 기록 데이터가 소정의 변조 방식으로 변조된다. 변조 회로(6)의 출 력이 기록 회로(7)에 공급된다.
기록 회로(7)의 출력이 광학 픽업(8)에 공급된다. 기록 회로(7)는, 시스템 컨트롤러(13)에 의해 제어된다. 광학 픽업(8)에 의해, 광 디스크(10)에, 데이터가 기록된다. 광 디스크(10)는, 예를 들면, CD2의 광 디스크이다.
광학 픽업(8)은, 광 디스크(10)의 반경 방향으로 이동 가능하게 되어 있다. 또한, 도시하지 않았지만, 광학 픽업(8)으로부터의 레이저광을 광 디스크(10)의 트랙을 따라서 조사하기 위한 트랙킹 서보 회로나, 광학 픽업(8)으로부터의 레이저광의 스폿을 광 디스크(10) 상에 합초(合焦)시키기 위한 포커스 서보 회로, 광 디스크(10)의 회전을 제어하는 스핀들 서보 회로 등, 각종의 서보 회로가 설치되어 있다.
또한, 입력 단자(2)로부터의 키 정보 K가 믹스 회로(9)에 공급된다. 입력 단자(3)에 저작권 관리 정보 R이 공급되고, 이 저작권 관리 정보 R이 재기입 회로(11)를 통해, 믹스 회로(9)에 공급된다. 믹스 회로(9)의 출력이 기록 회로(12)를 통해 광학 픽업(8)에 공급된다. 광학 픽업(8) 및, 기록 회로(12)에 의해, 광 디스크(10)에 키 정보 K나 저작권 관리 정보 R이 기록된다.
저작권 관리 정보 R은, 예를 들면, 복사 금지/허가, 복사의 세대 관리, 복사본의 개수 제한, 재생 금지/허가, 재생 횟수의 제한, 재생 시간의 제한 등을 관리하기 위한 정보이다. 복사의 세대 관리나 복사본의 개수 제한, 재생 횟수의 제한이나 재생 시간의 제한을 행하는 경우에는, 복사나 재생이 행해질 때마다, 저작권 관리 정보 R을 재기입할 필요가 있다. 이 저작권 관리 정보 R의 재기입은, 재기입 회로(11)에 의해 행해진다.
또한, 키 정보 K나 저작권 관리 정보 R의 기록 장소에 대해서는, 광 디스크(10)의 리드인이나 리드아웃 영역에 기록하거나, 트랙의 반경 방향으로 워블 데이터로서 기록하는 것 등이 고려된다.
도 3은 재생계의 구성을 도시한 것이다. 도 3에서, 광 디스크(20)의 기록 신호는, 광학 픽업(22)에 의해 재생된다. 광 디스크(20)는, 도 2에서의 광 디스크(10)와 대응하고 있으며, 광 디스크(20)로서는, 예를 들면, CD2가 이용된다. 광학 픽업(22)의 출력이 재생 증폭기(23)를 통해 복조 회로(24)에 공급된다. 광학 픽업(22)의 움직임은, 시스템 컨트롤러(29)의 제어를 기초로, 액세스 제어 회로(30)에 의해 제어된다. 액세스 제어 회로(30)는, 광학 픽업의 이송 기구, 광학 픽업(22)으로부터의 레이저광을 광 디스크(20)의 트랙을 따라서 조사하기 위한 트랙킹 서보 회로나, 광학 픽업(22)으로부터의 레이저광의 스폿을 광 디스크(20) 상에 합초시키기 위한 포커스 서보 회로 등의 서보 회로로 이루어진다.
복조 회로(24)의 출력이 에러 정정 회로(25)에 공급된다. 에러 정정 회로(25)에서 에러 정정 처리가 이루어진다. 에러 정정 회로(25)의 출력이 암호 해독 회로(26)에 공급됨과 함께, 키 관리 정보 판독 회로(27)에 공급된다. 키 관리 정보 판독 회로(27)의 출력이 암호 해독 회로(26)에 공급된다.
암호 해독 회로(26)는, 키 관리 정보 판독 회로(27)에서 판독된 키 정보 K를 사용하여, 재생 데이터의 암호 해독의 처리를 행하는 것이다. 상술한 바와 같이, 이 예에서는, 암호화 방식으로서, CBC 방식이 사용되고 있다. 암호 해독 회로(26) 는, 이러한 CBC 방식의 암호의 해독 처리를 행하는 것이다.
암호 해독 회로(26)의 출력이 재생 회로(28)에 공급된다. 재생 회로(28)의 출력이 출력 단자(31)로부터 출력된다. 또한, 키 관리 정보 판독 회로(27)에서 판독된 저작권 관리 정보 R에 의해, 복사나 재생이 제한된다.
상술된 바와 같이, 이 예에서는, 암호화 방식으로서, CBC 방식이 사용되고 있다. 즉, 기록계에서는, 암호화 회로(4)에서, 입력된 콘텐츠 데이터에 대하여, CBC 방식에 의해 암호화 처리가 행해진다. 그리고, 재생계에서는, 암호 해독 회로(26)에 의해, 재생된 콘텐츠 데이터에 대하여, 암호 해독 처리가 행해진다.
또한, 블록 암호는, DES나 AES, FEAL, MISTY 등, 어느 것을 이용하여도 무방하다.
CBC 방식에서는, 블록 단위로 암호화한 데이터를 연쇄시킴으로써, 암호의 강도가 높아진다. 이 예에서는, 도 4에 도시한 바와 같이, 2048바이트가 1 섹터로 되고, 이 섹터를 단위로 하여, 광 디스크(10, 20)로의 데이터의 기록/재생이 행해진다.
즉, CD에서는, 98 프레임으로 이루어지는 서브 코드 블록이 1 섹터로 되어 있다. 이 1 섹터의 영역의 크기는 2352바이트이고, 그 중, 2048바이트가 데이터 영역으로 되어 있다.
예를 들면, DES 방식으로 암호화하는 경우에는, 64비트를 1 블록으로서 처리하고, 56비트의 키가 이용된다. 이 때문에, 도 5에 도시한 바와 같이, 1 섹터는, 8바이트(64비트) 단위로, 256의 블록으로 분할된다.
그리고, 각 섹터 내에서, 이전 블록과 연쇄시키면서, CBC 방식에 의해 암호화 처리가 행해진다.
즉, CBC 방식에서는, 금회의 블록 데이터와, 그 하나 전의 블록 데이터를 암호화한 데이터와의 EX-OR이 취해지고, 이것이 암호화된다. 하나의 섹터 내에서 CBC 방식에 의해 암호화 처리가 종료하면, 다음의 섹터에서, 또한, 마찬가지로, CBC 방식에 의해 암호화 처리가 행해진다.
이와 같이, 이 예에서는, CBC 방식을 이용함으로써, 암호의 강도가 높아진다. 그리고, 각 섹터에서 CBC 방식으로 암호화가 행해지고 있다. 이 때문에, 에러의 발생 등에 의해 데이터의 재생이 불가능하게 된 경우에도, 그 영향이 그 섹터 내에서 완결되고, 다른 섹터에 미치지 않게 된다.
그리고, 본 발명의 실시 형태에서는, 초기값으로서, 동일 섹터 내의 블록의 데이터가 이용된다. 이와 같이, 동일한 섹터 내의 블록의 데이터를 초기값으로서 사용함으로써, 데이터 영역의 손실이 없어진다. 또한, 음악 데이터나 화상 데이터와 같은 콘텐츠 데이터의 경우에는, 그 자체의 값이 랜덤하게 변화하고 있다. 이 때문에, 콘텐츠의 데이터를 이용하면, 초기값의 은닉성도 높다.
초기값으로서 동일 섹터 내의 블록의 데이터를 이용하는 경우, 그 데이터 그자체로, 은닉성이 충분하지 않다. 그래서, 동일한 섹터 내의 블록의 데이터를 암호화한 것을 초기값으로서 이용하는 것이 고려된다. 또한, 이 예에서는, 동일 섹터 내의 하나의 블록 데이터와, 그 섹터 내의 그 이외의 블록 데이터와의 EX-OR을 취하고, 이것을 암호화한 것을 초기값으로 하고 있다.
도 6 및 도 7을 참조하여, 암호화 처리에 대하여 설명한다. 도 6은, 초기값을 생성할 때의 프로세스를 도시하며, 도 7은, 연쇄적으로 블록 암호를 행할 때의 프로세스를 도시한 것이다.
암호화 처리를 행하는 경우에는, 먼저, 도 6에 도시한 바와 같이 하여, 초기값이 생성된다.
즉, 도 6에 도시한 바와 같이, D0∼D255까지의 1 섹터 내의 블록 데이터 중의 하나의 Dj가 EX-OR 게이트(101)로 보내진다. 또한, 동일한 섹터 내의 블록 데이터 Dj를 제외한 블록 데이터 Di의 함수 f(Di)가 EX-OR 게이트(101)로 보내진다.
EX-OR 게이트(101)에서, 블록 데이터 Dj와, 블록 데이터 Dj 이외의 블록 데이터 Di의 함수 f(Di)와의 EX-OR이 구해진다.
또한, 블록 데이터 Dj와, 블록 데이터 Dj 이외의 모든 블록 데이터 Di의 함수 f(Di)와의 EX-OR은, 블록 데이터 Dj와, 블록 데이터 Dj 이외의 모든 블록 데이터 Di의 함수 f(Di)와의 EX-OR이어도 되고, 블록 데이터 Dj와, 블록 데이터 Dj 이외의 하나의 블록 데이터 Di의 함수 f(Di)와의 EX-OR이어도 되고, 블록 데이터 Di의 수를 몇개로 하여도 된다. 또한, 함수 f(Di)도, 어느 것을 이용하여도 무방하다.
이 EX-OR 게이트(101)의 출력은, 블록 암호화 회로(102)로 보내진다. 블록 암호화 회로(102)에서, EX-OR 게이트(101)의 출력이 키 정보 K에 의해 암호화된다. 이에 따라, 초기값 inV가 구해진다. 또한, 이 값은, 블록 데이터 Dj를 암호화한 데이터 EDj로서도 이용된다.
이와 같이 하여, 초기값이 구해지면, 도 7에 도시한 바와 같이, 이 초기값을 사용하여, 금회의 블록 데이터와, 그 하나 전의 블록 데이터를 암호화한 데이터와의 EX-OR이 취해지고, 이것이 암호화된다. 그리고, 블록 데이터 Dj일 때에는, 초기값으로서도 사용되고 있는 데이터 EDj가 암호화한 블록 데이터로서 사용된다.
즉, 초기값으로서 사용한 입력 블록 데이터 Dj가(j= 1∼254)중 어느 것일 때에는, 이하와 같이 하여 암호화가 행해진다.
먼저, EX-OR 게이트(111)에서, 입력 블록 데이터 D0과, 도 6에서 구해진 초기값 inV와의 EX-OR이 취해지고, 이 EX-OR 게이트(111)의 출력이 블록 암호화 회로(112)에 공급된다.
블록 암호화 회로(112)에서, EX-OR 게이트(111)의 출력과 키 정보 K로부터, 암호화 블록 데이터 ED0이 구해진다.
다음에, EX-OR 게이트(111)에서, 입력 블록 데이터 D1과, 암호화 블록 데이터 ED0과의 EX-OR이 취해지고, 이 EX-OR 게이트(111)의 출력이 블록 암호화 회로(112)에 공급되며, 블록 암호화 회로(112)에서, EX-OR 게이트(111)의 출력과 키 정보 K로부터, 암호화 블록 데이터 ED1이 구해진다.
이하, 마찬가지로 하여, 입력 데이터 D2, D3, …으로부터, 암호화 블록 데이터 ED2, ED3,…이 구해진다.
입력 블록 데이터 D2, D3,…을 암호화해 가고, 입력 블록 데이터가 Dj로 되면, 도 6에서 구한 초기값 inV가 암호화 블록 데이터 EDj로서 출력된다.
그리고, 다시, EX-OR 게이트(111)에서, 입력 블록 데이터 Di와, 암호화 블록 데이터 EDi-1과의 EX-OR이 취해지고, 이 EX-OR 게이트(111)의 출력이 블록 암호화 회로(112)에 공급되며, 블록 암호화 회로(112)에서, EX-OR 게이트(111)의 출력과 키 정보 K로부터, 암호화 블록 데이터 EDi가 구해진다.
입력 데이터 D255가 암호화되어 암호화 블록 데이터 ED255가 출력될 때까지, 마찬가지의 처리가 반복된다.
초기값으로서 사용한 입력 블록 데이터 Dj가 최초의 블록 데이터(j=0)일 때에는, 이하와 같이 하여 암호화가 행해진다.
먼저, 도 6에서 구한 초기값 inV가 암호화 블록 데이터 ED0으로서 출력된다.
그리고 나서, 도 7에 도시한 EX-OR 게이트(111)에서, 입력 블록 데이터 D1과, 암호화 블록 데이터 ED0(초기값 inV와 같음)과의 EX-OR 게이트가 취해지고, 이 EX-OR 게이트(111)의 출력이 블록 암호화 회로(112)에 공급되며, 블록 암호화 회로(112)에서, EX-OR 게이트(111)의 출력과 키 정보 K로부터, 암호화 블록 데이터 ED1이 구해진다.
이하, 입력 데이터 D255가 암호화되어 암호화 블록 데이터 ED255가 출력될 때까지, 마찬가지의 처리가 반복되어, 입력 데이터 D2, D3, …로부터, 암호화 블록 데이터 ED2, ED3,…이 구해진다.
초기값으로서 사용한 입력 블록 데이터 Dj가 최후의 블록 데이터(j=255)일 때에는, 이하와 같이 하여 암호화가 행해진다.
먼저, 도 7에 도시한 EX-OR 게이트(111)에서, 입력 블록 데이터 D0과, 도 6에서 구한 초기값 inV와의 EX-OR이 취해지고, 이 EX-OR 게이트(111)의 출력이 블록 암호화 회로(112)에 공급된다.
블록 암호화 회로(112)에서, EX-OR 게이트(111)의 출력과 키 정보 K로부터, 암호화 블록 데이터 ED0이 구해진다.
다음에, EX-OR 게이트(111)에서, 입력 블록 데이터 D1과, 암호화 블록 데이터 ED0과의 EX-OR이 취해지고, 이 EX-OR 게이트(111)의 출력이 블록 암호화 회로(112)에 공급되며, 블록 암호화 회로(112)에서, EX-OR 게이트(111)의 출력과 키 정보 K로부터, 암호화 블록 데이터 ED1이 구해진다.
이하, 마찬가지로 하여, 입력 데이터 D2, D3, …으로부터, 암호화 블록 데이 터 ED2, ED3, …이 구해진다. 입력 데이터 D254의 암호화 블록 데이터 ED254가 구해질 때까지, 마찬가지의 처리가 반복된다.
최후의 블록 데이터 D255가 되면, 도 6에서 구한 초기값 inV가 암호화 블록 데이터 ED255로서 출력된다.
다음에, 도 8 및 도 9를 참조하여, 복호 처리에 대하여 설명한다. 도 8은, 연쇄적으로 블록 암호를 행할 때의 프로세스를 나타내는 것으로, 도 9는, 초기값을 암호화한 블록 데이터를 복호할 때의 프로세스를 나타내는 것이다.
초기값으로서 사용한 입력 블록 데이터 Dj가(j=1∼254) 중 어느 것인가일 때에는, 이하와 같이 하여 복호가 행해진다.
먼저, 도 8에 도시한 바와 같이, 암호화 블록 데이터 ED0과, 키 정보 K가 블록 암호 복호 회로(121)로 보내지고, 블록 암호 복호 회로(121)에서, 암호의 복호 처리가 행해진다.
블록 암호 복호 회로(121)의 출력이 EX-OR 게이트(122)로 보내진다. 또한, EX-OR 게이트(122)에는, 초기값 inV가 보내진다. 이 초기값 inV는, 암호화 블록 데이터 EDj이다.
EX-OR 게이트(122)에서, 블록 암호 복호 회로(121)의 출력과, 암호화 블록 데이터 EDj와의 EX-OR이 취해지고, 블록 데이터 D0이 복호된다.
다음에, 암호화 블록 데이터 ED1과, 키 정보 K가 블록 암호 복호 회로(121) 로 보내진다. 블록 암호 복호 회로(121)에서 암호가 복호된다. 블록 암호 복호 회로(121)의 출력이 EX-OR 게이트(122)로 보내진다.
또한, EX-OR 게이트(122)에는, 그 전의 암호화 블록 데이터 ED0이 보내진다.
EX-OR 게이트(122)에서, 블록 암호 복호 회로(121)의 출력과, 그 전의 암호화 블록 데이터 ED0과의 EX-OR이 취해지고, 블록 데이터 D1이 복호된다.
이하, 마찬가지로 하여, 암호화 블록 데이터 ED1, ED2, …로부터, 블록 데이터 D1, D2, …가 복호되어 간다.
이와 같이, 블록 데이터 D2, D3, …, 을 복호해 가는 동안에, 복호하는 블록 데이터가 초기값에 상당하는 암호화 블록 데이터 EDj가 되면, 도 9에 도시한 바와 같이, 암호화 블록 데이터 EDj와, 키 정보 K가 블록 암호 복호 회로(131)로 보내지고, 블록 암호 복호 회로(131)에서 암호의 복호 처리가 행해진다.
블록 암호 복호 회로(131)의 출력이 EX-OR 게이트(132)로 보내진다. 또한, EX-OR 게이트(132)에는, 블록 데이터 Dj 이외의 데이터와의 사이의 함수 f(Di)가 보내진다.
EX-OR 게이트(132)에서, 블록 암호 복호 회로(131)의 출력과, 블록 데이터 Dj 이외의 데이터와의 사이의 함수 f(Di)와의 EX-OR이 취해지고, 블록 데이터 Dj 가 복호된다.
블록 데이터 Dj가 복호되면, 도 8로 되돌아가, 암호화 블록 데이터 EDi와, 키 정보 K가 블록 암호 복호 회로(121)로 보내진다. 블록 암호 복호 회로(121)에서 암호가 복호된다. 블록 암호 복호 회로(121)의 출력이 EX-OR 게이트(122)로 보내진다. 또한, EX-OR 게이트(122)에는, 그 전의 암호화 블록 데이터 EDi-1이 보내진다. EX-OR 게이트(122)에서, 블록 암호 복호 회로(121)의 출력과, 그 전의 암호화 블록 데이터 EDi-1과의 EX-OR이 취해져, 블록 데이터 Di가 복호된다.
이하, 암호화 블록 데이터 ED255가 복호될 때까지, 마찬가지의 처리가 반복된다.
초기값으로서 사용한 입력 블록 데이터 Dj가 최초의 블록 데이터(j=0)일 때에는, 이하와 같이 하여 복호가 행해진다.
먼저, 도 9에 도시한 바와 같이, 암호화 블록 데이터 ED0과, 키 정보 K가 블록 암호 복호 회로(131)로 보내지고, 블록 암호 복호 회로(131)에서 암호의 복호 처리가 행해진다.
블록 암호 복호 회로(131)의 출력이 EX-OR 게이트(132)로 보내진다. 또한, EX-OR 게이트(132)에는, 블록 데이터 D0 이외의 데이터와의 사이의 함수 f(Di)가 보내진다.
EX-OR 게이트(132)에서, 블록 암호 복호 회로(131)의 출력과, 블록 데이터 Dj이외의 데이터와의 함수 f(Di)와의 EX-OR이 취해져서, 블록 데이터 D0이 복호된 다.
블록 데이터 D0이 복호되면, 도 8에 도시한 바와 같이, 암호화 블록 데이터 ED1과, 키 정보 K가 블록 암호 복호 회로(121)로 보내지고, 블록 암호 복호 회로(121)에서 암호의 복호 처리가 행해진다.
블록 암호 복호 회로(121)의 출력이 EX-OR 게이트(122)로 보내진다. 또한, EX-OR 게이트(122)에는, 초기값 inV가 보내진다. 초기값 inV는, 암호화 블록 데이터 ED0이다.
EX-OR 게이트(122)에서 블록 암호 복호 회로(121)의 출력과, 암호화 블록 데이터 ED0과의 EX-OR이 취해져서, 블록 데이터 D1이 복호된다.
다음에, 암호화 블록 데이터 ED2와, 키 정보 K가 블록 암호 복호 회로(121)로 보내진다. 블록 암호 복호 회로(121)에서 암호 해독 처리가 행해진다.
블록 암호 복호 회로(121)의 출력이 EX-OR 게이트(122)로 보내진다. 또한, EX-OR 게이트(122)에는, 그 전의 암호화 블록 데이터 ED1이 보내진다.
EX-OR 게이트(122)에서, 블록 암호 복호 회로(121)의 출력과, 그 전의 암호화 블록 데이터 ED1과의 EX-OR이 취해져서, 블록 데이터 D2가 복호된다.
이하, 암호화 블록 데이터 ED255가 복호될 때까지, 마찬가지의 처리가 반복된다.
초기값으로서 사용한 입력 블록 데이터 Dj가 최후의 블록 데이터(j= 255) 일 때에는, 이하와 같이하여 복호가 행해진다.
먼저, 도 8에 도시한 바와 같이, 암호화 블록 데이터 ED0과, 키 정보 K가 블록 암호 복호 회로(121)로 보내지고, 블록 암호 복호 회로(121)에서, 암호의 복호 처리가 행해진다.
블록 암호 복호 회로(121)의 출력이 EX-OR 게이트(122)로 보내진다. 또한, EX-OR 게이트(122)에는, 초기값 inV가 보내진다. 이 초기값 inV는, 암호화 블록 데이터 ED255이다.
EX-OR 게이트(122)에서 블록 암호 복호 회로(121)의 출력과, 암호화 블록 데이터 ED255와의 EX-OR이 취해져서, 블록 데이터 D0이 복호된다.
다음에, 암호화 블록 데이터 ED1과, 키 정보 K가 블록 암호 복호 회로(121)로 보내진다. 블록 암호 복호 회로(121)에서 암호가 복호된다. 블록 암호 복호 회로(121)의 출력이 EX-OR 게이트(122)로 보내진다.
또한, EX-OR 게이트(122)에는, 그 전의 암호화 블록 데이터 ED0이 보내진다.
EX-OR 게이트(122)에서, 블록 암호 복호 회로(121)의 출력과, 그 전의 암호화 블록 데이터 ED0과의 EX-OR이 취해져서, 블록 데이터 D1이 복호된다.
이하, 마찬가지로 하여, 암호화 블록 데이터 ED2, ED3, …으로부터 블록 데이 터 D2, D3, …이 복호되어 간다.
암호화 블록 데이터 ED254로부터, 블록 데이터 D254가 복호되면, 도 9에 도시한 바와 같이, 암호화 블록 데이터 ED255와, 키 정보 K가 블록 암호 복호 회로(121)로 보내지고, 블록 암호 복호 회로(131)에서 암호의 복호 처리가 행해진다.
블록 암호 복호 회로(131)의 출력이 EX-OR 게이트(132)로 보내진다. 또한, EX-OR 게이트(132)에는, 블록 데이터 Dj 이외의 데이터와의 사이의 함수 f(Di)가 보내진다.
EX-OR 게이트(132)에서, 블록 암호 복호 회로(131)의 출력과, 블록 데이터 Dj 이외의 데이터와의 사이의 함수 f(Di)와의 EX-OR이 취해져서, 블록 데이터 D255 가 복호된다.
또한, 상술한 예에서는, 연쇄, 초기값 및 키 정보도, 전부 64비트로 처리하고 있지만, 128비트여도, 256비트여도 된다.
도 10 내지 도 12는, 상술한 바와 같이, 데이터를 암호화하여 기록할 때의 처리를 설명하는 흐름도이다. 이 처리에서는, 예를 들면 2048바이트로 이루어지는 1 섹터가 CBC에 의해 암호화된다. 1 섹터는, 8바이트(64비트)씩의 256 블록으로 분할된다.
도 10에서, 먼저, 1 섹터(예를 들면 2048바이트)에 상당하는 블록 데이터 D0∼ D255 중의 하나의 블록 데이터 Dj가 판독된다(단계 S1). 그리고, 블록 데이터 Di 의 함수 f(Di)와의 EX-OR이 키 정보 K에 의해 암호화되어, 초기값 inV가 생성된다(단계 S2). 이 초기값 inV가 보존된다(단계 S3).
그리고, 초기값을 만드는 데 이용한 블록 데이터 Dj가 최초의 블록 데이터 (j=0)인지가 판단된다(단계 S4).
(j= 0)이면, 초기값 inV가 판독되고(단계 S5), 이 초기값 inV가 블록 데이터 D0의 암호화 블록 데이터 ED0으로 된다(단계 S6). 구해진 암호화 블록 데이터 ED0 이 보존된다(단계 S7).
블록 데이터의 번호 i가 (i=1)로 초기화된다(단계 S8). 초기값 inV가 판독되고(암호화 블록 데이터 D0과 같음)(단계 S9), 블록 데이터 D1이 판독된다(단계 S10). 초기값 inV와 블록 데이터 D1과의 EX-OR이 키 정보 K에 의해 암호화되어, 블록 데이터 D1의 암호화 블록 데이터 ED1이 생성된다(단계 S11). 이 암호화 블록 데이터 EDi가 보존된다(단계 S12). 그리고, 블록 데이터의 번호 i가 (i=2)로 인크리먼트된다(단계 S13).
블록 데이터의 번호 i가 인크리먼트되면, 암호화 블록 데이터 EDi-1이 판독되고(단계 S14), 블록 데이터 Di가 판독된다(단계 S15). 암호화 블록 데이터 EDi-1과 블록 데이터 Di와의 EX-OR이 키 정보 K에 의해 암호화되어, 블록 데이터 Di의 암호화 블록 데이터 EDi가 생성된다(단계 S16). 이 암호화 블록 데이터 EDi가 보존된다(단계 S17). 그리고, 블록 데이터의 번호 i가 인크리먼트된다(단계 S18).
블록 번호 i가「256」에 도달했는지의 여부가 판단되고(단계 S19), 블록 번호 i가「256」에 도달되어 있지 않으면, 단계 S14로 되돌아간다. 그리고, 블록 번호 i가「256」에 도달할 때까지, 마찬가지의 처리가 반복되어, 암호화 블록 데이터 EDi가 구해지고, 블록 번호 i가「256」에 도달하여 블록 데이터 D255까지 구하면 처리가 종료된다.
단계 S4에서, 초기값을 만드는 데 이용한 블록 데이터 Dj가 최초의 블록 데이터(j=0)가 아니면, 도 11에 도시한 바와 같이, 초기값을 만드는 데 이용한 블록 데이터 Dj가 최후의 블록 데이터(j=255)인지의 여부가 판단된다(단계 S20).
(j=255)이면, 블록 번호 i가 (i=0)으로 초기화된다(단계 S21). 그리고, 단계 S2에서 구해진 초기값 inV가 판독되고(단계 S22), 블록 데이터 D0이 판독된다(단계 S23). 초기값 inV와 블록 데이터 D0과의 EX-OR이 키 정보 K에 의해 암호화되고, 블록 데이터 D0의 암호화 블록 데이터 ED0이 생성된다(단계 S24). 이 암호화 블록 데이터 ED0이 보존된다(단계 S25). 그리고, 블록 데이터의 번호 i가 (i=1)로 인크리먼트된다(단계 S26).
블록 데이터의 번호 i가 인크리먼트되면, 암호화 블록 데이터 EDi-1이 판독되고(단계 S27), 블록 데이터 Di가 판독된다(단계 S28). 암호화 블록 데이터 EDi-1과 블록 데이터 Di와의 EX-OR이 키 정보 K에 의해 암호화되어, 블록 데이터 Di의 암호화 블록 데이터 EDi가 생성된다(단계 S29). 이 암호화 블록 데이터 EDi가 보존된다(단계 S30). 그리고, 블록 데이터의 번호 i가 인크리먼트된다(단계 S31).
블록 번호 i가「255」에 도달했는지의 여부를 판단하고(단계 S32), 블록 번호 i가「255」에 도달되어 있지 않으면, 단계 S27로 되돌아간다. 그리고, 블록 번호 i가「255」에 도달할 때까지, 마찬가지의 처리가 반복되어, 암호화 블록 데이터 EDi가 구해진다.
블록 번호가「255」로 되면, 단계 S2에서 구해진 초기값 inV가 판독된다(단계 S33). 그리고, 이 초기값 inV가 암호화 블록 데이터 ED255로 되어(단계 S34), 보존되고(단계 S35), 처리가 종료된다.
단계 S4에서 초기값을 만드는 데 이용한 블록 데이터 Dj가 최초의 블록 데이터(j=0)가 아니라고 판단되고, 단계 S20에서 최후의 블록 데이터(j=255)도 아니라고 판단되면, 도 12에 도시한 바와 같이, 블록 데이터의 번호 i가 (i=0)으로 초기화된다(단계 S36). 단계 S2에서 구해진 초기값 inV가 판독되고(단계 S37), 블록 데이터 D0이 판독된다(단계 S38). 초기값 inV와 블록 데이터 D0과의 EX-OR이 키 정보 K에 의해 암호화되어, 블록 데이터 D0의 암호화 블록 데이터 ED0이 생성된다(단계 S39). 이 암호화 블록 데이터 ED0이 보존된다(단계 S40). 그리고, 블록 데이터의 번호 i가 (i=1)로 인크리먼트된다(단계 S41).
블록 데이터의 번호 i가 인크리먼트되면, 금회의 블록 번호 i는 초기값을 만드는 데 이용하는 위치의 번호 j(j=i)인지의 여부가 판단된다(단계 S42). (j=i)가 아니면, 암호화 블록 데이터 EDi-1이 판독되고(단계 S43), 블록 데이터 Di가 판독된다(단계 S44). 암호화 블록 데이터 EDi-1과 블록 데이터 Di와의 EX-OR이 키 정보 K에 의해 암호화되어, 블록 데이터 Di의 암호화 블록 데이터 EDi가 생성된다(단계 S45). 이 암호화 블록 데이터 EDi가 보존된다(단계 S46). 그리고, 블록 데이터의 번호 i가 인크리먼트된다(단계 S47).
블록 번호 i가「256」에 도달했는지의 여부가 판단되고(단계 S48), 블록 번호 i가「256」에 도달되어 있지 않으면, 단계 S42로 되돌아간다.
단계 S42에서 (j=i)라고 판단되면, 단계 S2에서 구해진 초기값 inV가 판독되고(단계 S49), 이 초기값 inV가 블록 데이터 Dj의 암호화 블록 데이터 EDj로 된다(단계 S50). 이 암호화 블록 데이터 EDj가 보존된다(단계 S51). 그리고, 단계 S47로 진행한다.
그리고, 블록 번호 i가「256」에 도달할 때까지, 마찬가지의 처리가 반복된다. 블록 번호 i가「256」에 도달하고, 블록 데이터 D255까지의 암호화 블록 데이터가 구해지면, 처리가 종료된다.
다음에, 암호를 복호할 때의 처리에 대하여 설명한다. 도 13 내지 도 16은, 암호를 복호하는 경우의 처리를 설명하는 흐름도이다.
도 13 내지 도 16에서, 초기값으로서 이용한 블록 번호 j가 (j=0)인지가 판단된다(단계 S101).
(j=0)일 때에는, 암호화 블록 데이터 ED0이 판독된다(단계 S102). 이 암호화 블록 데이터 ED0이 키 정보 K에 의해 복호되고, 이 복호값과 함수 f(Di)와의 EX-OR에 의해, 블록 데이터 D0이 생성된다(단계 S103). 이 블록 데이터 D0이 보존된다(단계 S104).
블록 번호 i가 (i=1)로 초기화된다(단계 S105). 암호화 블록 데이터 ED1이 판독된다(단계 S106). 그리고, 암호화 블록 데이터 ED0이 판독된다(단계 S107). 암호화 블록 데이터 ED0이 초기값 inV로 된다(단계 S108).
암호화 블록 데이터 ED1이 키 정보 K에 의해 복호되고, 이 복호값과 초기값 inV(암호화 블록 데이터 ED0과 같음)와의 EX-OR이 취해져서, 블록 데이터 D1이 생성된다(단계 S109). 생성된 블록 데이터 D1이 보존된다(단계 S110). 그리고, 블록 번호 i가 (i=2)로 인크리먼트된다(단계 S111).
암호화 블록 데이터 EDi가 판독된다(단계 S112). 암호화 블록 데이터 EDi-1이 판독된다(단계 S113). 암호화 블록 데이터 EDi가 키 정보 K에 의해 복호되고, 이 복호값과 암호화 블록 데이터 EDi-1과의 EX-OR이 취해져서, 블록 데이터 Di가 생 성된다(단계 S114). 이 블록 데이터 Di가 보존된다(단계 S115). 그리고, 블록 번호 i가 인크리먼트된다(단계 S116).
블록 번호 i가「256」에 도달했는지를 판단하고(단계 S117), 블록 번호 i가「256」에 도달되어 있지 않으면, 단계 S112로 되돌아간다. 블록 번호 i가「256」 에 도달할 때까지, 마찬가지의 처리가 반복된다. 블록 번호 i가「256」에 도달하고, 블록 데이터 D255까지 복호되면, 처리가 종료된다.
단계 S101에서, 초기값으로서 이용한 블록 번호 j가 (j=0)이 아니라고 판단되면, 도 14에 도시한 바와 같이, 초기값으로서 이용한 블록 번호 j가 (j=255)인지가 판단된다(단계 S118).
(j=255)이면, 블록 번호 i가 (i=0)으로 초기화된다(단계 S119). 암호화 블록 데이터 ED0이 판독된다(단계 S120). 암호화 블록 데이터 ED255가 판독된다(단계 S121). 암호화 블록 데이터 ED255가 초기값 inV로 된다(단계 S122).
암호화 블록 데이터 ED0이 키 정보 K에 의해 복호되고, 이 복호값과 초기값 inV와의 EX-OR이 취해져서, 블록 데이터 D0이 생성된다(단계 S123). 생성된 블록 데이터 D0이 보존된다(단계 S124). 그리고, 블록 번호 i가 (i-1)로 인크리먼트된다(단계 S125).
암호화 블록 데이터 EDi가 판독된다(단계 S126). 암호화 블록 데이터 EDi-1 이 판독된다(단계 S127). 암호화 블록 데이터 EDi가 키 정보 K에 의해 복호되고, 이 복호값과 암호화 블록 데이터 EDi-1과의 EX-OR이 취해져서, 블록 데이터 Di가 생성된다(단계 S128). 이 블록 데이터 Di가 보존된다(단계 S129). 그리고, 블록 번호 i가 인크리먼트된다(단계 S130).
블록 번호 i가「255」에 도달했는지를 판단하고(단계 S131), 블록 번호 i가「255」에 도달되어 있지 않으면, 단계 S126으로 되돌아간다. 블록 번호 i가「255」에 도달할 때까지, 마찬가지의 처리가 반복된다.
블록 번호 i가「255」에 도달하고, 블록 데이터 D254까지의 처리가 완료되면, 암호화 블록 데이터 ED255가 판독된다(단계 S132). 이 암호화 블록 데이터 ED255가 키 정보 K에 의해 복호되고, 이 복호값과 함수 f(Di)와의 EX-OR에 의해, 블록 데이터 D255가 생성된다(단계 S133). 이 블록 데이터 D255가 보존되고(단계 S134), 처리가 종료된다.
단계 S101에서, (j=0)가 아니라고 판단되고, 단계 S118에서, (j=255)가 아니라고 판단되면, 도 15에 도시한 바와 같이, 블록 번호 i가(i=0)으로 초기화된다(단계 S135).
암호화 블록 데이터 ED0이 판독된다(단계 S136). 암호화 블록 데이터 EDj가 판독된다(단계 S137). 암호화 블록 데이터 EDj가 초기값 inV로 된다(단계 S138).
암호화 블록 데이터 ED0이 키 정보 K에 의해 복호되고, 이 복호값과 초기값 inV와의 EX-OR이 취해져서, 블록 데이터 D0이 생성된다(단계 S139). 생성된 블록 데이터 D0이 보존된다(단계 S140). 그리고, 도 16에 도시한 바와 같이, 블록 번호 i가 (i=1)로 인크리먼트된다(단계 S141).
블록 데이터의 번호 i가 인크리먼트되면, 금회의 블록 번호 i는 초기값을 만드는 데 이용하는 위치의 번호 j(j=i)인지가 판단된다(단계 S142).
(j=i)가 아니면, 암호화 블록 데이터 EDi가 판독된다(단계 S143). 암호화 블록 데이터 EDi-1이 판독된다(단계 S144). 암호화 블록 데이터 EDi가 키 정보 K에 의해 복호되고, 이 복호값과 암호화 블록 데이터 EDi-1과의 EX-OR이 취해져서, 블록 데이터 Di가 생성된다(단계 S145). 이 블록 데이터 Di가 보존된다(단계 S146). 그리고, 블록 번호 i가 인크리먼트된다(단계 S147).
블록 번호 i가「256」에 도달했는지를 판단하고(단계 S148), 블록 번호 i가「256」에 도달되어 있지 않으면, 단계 S142로 되돌아간다.
단계 S142에서, (i= j)라고 판단되면, 암호화 블록 데이터 EDj가 판독된다(단계 S149). 이 암호화 블록 데이터 EDj가 키 정보 K에 의해 복호되고, 이 복호값과 함수 f(Di)와의 EX-OR에 의해, 블록 데이터 Dj가 생성된다(단계 S150). 이 블록 데이터 Dj가 보존된다(단계 S151). 그리고, 단계 S147로 진행된다.
그리고, 블록 번호 i가「256」에 도달할 때까지, 마찬가지의 처리가 반복된다. 블록 번호 i가「256」에 도달하고, 블록 데이터 D255까지의 복호가 완료되면, 처리가 종료된다.
또한, 초기값을 암호화한 블록 데이터 Dj에 대해서는, 항상 고정의 장소로 해 두어도 되고, 변경할 수 있도록 해도 된다. 초기값을 암호화한 블록 데이터 Dj 를 변경 가능하게 해 놓음으로써, 은닉성을 높일 수 있다.
이상과 같이, 본 발명에서는, 블록 암호화를 연쇄적으로 행하는 경우의 초기값을, 콘텐츠 데이터 그 자체로부터 생성하고 있다. 이 때문에, 데이터 영역의 손실이 없음과 함께, 콘텐츠 데이터는 랜덤하게 변화하고 있기 때문에, 은닉성이 높다.
즉, 콘텐츠 데이터가 음악 데이터와 같은 경우에는, 샘플링에 의해 얻어진 데이터이기 때문에, 그 자체를, 랜더마이즈화된 데이터라고 할 수 있다. 임의의 시점의 음악 데이터의 값이 어떤 레벨인지를 아는 것은 매우 어려운 일이다. 따라서, 콘텐츠 데이터 자체로부터 초기값을 만들면, 난수를 초기값으로서 이용한 것과 동일하게, 은닉성이 향상된다.
다음에, 콘텐츠의 데이터로서, MPEG 스트림을 기록하는 경우에 대하여 설명한다.
도 1에 도시한 바와 같이, CD2의 광 디스크는, 내주측의 영역 AR1과, 외주측의 영역 AR2가 있고, 영역 AR2에는, MP3 방식으로 파일화된 오디오 데이터가 기록 된다. MP3 방식은, MPEG1에서 사용되는 오디오 데이터의 3개의 층 중 하나이다. 따라서, 외주측의 영역 AR2에 MP3의 데이터를 기록하는 경우에는, MPEG 스트림에 준거하여, 데이터의 기록이 행해진다.
MPEG의 스트림은, 상위 층(프로그램 층, 팩 층)과, 하위 층(패킷 층)으로 스트림이 구성된다. 즉, MPEG 스트림에서는, 하나의 프로그램의 시퀀스는 복수의 팩으로 이루어지고, 각 팩은, 일반적으로는, 복수의 패킷으로 구성된다. 각 팩의 선두에는, 팩 헤더가 설치된다. 패킷은, 패킷 헤더와 데이터로 이루어진다.
CD에서는, 98프레임으로 이루어지는 블록이 섹터로 되고, 이 섹터를 단위로하여 데이터가 기록된다.
도 17은, CD에 MPEG 스트림을 기록했을 때의 데이터 구조를 도시한 것이다. 도 17에 도시한 바와 같이, CD의 1 섹터에는, 2048바이트의 데이터 영역이 형성된다. 이 2048바이트의 데이터 영역에, 원칙적으로, 1 섹터에, MPEG 스트림의 팩 및 패킷이 배치된다. 도 18에 도시한 바와 같이, 파일의 선두에는, 파일 헤더가 설치된다. 이 파일 헤더에는, 저작자의 관리 정보가 배치된다.
도 17에 도시한 바와 같이, 1 섹터의 선두에는, 팩 헤더가 설치된다. 이 팩 헤더는, 예를 들면 14바이트로 이루어진다. 이 팩 헤더에는, 패킷 스타트 코드나, SCR(System Clock Reference), 비트 레이트가 포함되어 있다.
팩 헤더에 이어서, 패킷 헤더가 설치된다. 이 패킷 헤더는, 예를 들면, 18바이트로 이루어진다. 이 패킷 헤더에는, 패킷 스타트 코드, 스트림 ID, PES (Packetized Elementary Stream) 헤더 길이, PTS(Presentation Time Stamp)가 포함 되어 있다.
1 섹터의 잔여 2016바이트에, MPEG 방식으로 압축된 콘텐츠의 데이터(예를 들면, 압축된 오디오 데이터)가 배치된다.
이와 같이, MP3와 같은 MPEG의 파일은, 팩과 패킷으로 이루어지는 구성의 스트림에 삽입된다. 그리고, 도 18에 도시한 바와 같이, 파일의 선두에는, 파일 헤더가 형성된다. 이 파일 헤더에는, 파일 ID나 ISRC(International Standard Recording Code)와 같은 저작자의 관리 정보가 포함된다. ISRC는, 그 곡의 마스터 테이프나 작성 시에 붙여지는 곡, 회사, 녹음 연도, 레코딩 번호 등으로 이루어지는 12자릿수의 코드이다. 또한, 디스크를 자체를 식별할 수 있는 디스크 ID를 설치하여도 된다.
이와 같이, CD에 MPEG의 스트림을 기록하는 경우에는, 2048바이트의 1 섹터의 데이터 영역에, 원칙적으로, 팩 및 섹터의 데이터가 기록된다. 이들 1 섹터의 데이터 중 암호화가 필요한 것은 2016바이트의 데이터이고, 14바이트의 팩 헤더 및 18바이트의 패킷 헤더는 암호화가 불필요하다.
도 19는, 1 섹터분의 MPEG 스트림의 콘텐츠의 데이터를 암호화하는 경우의 블록의 구성을 도시한 것이다. 상술한 바와 같이, MPEG 스트림의 경우에는, 1 섹터의 데이터 중, 암호화할 필요가 있는 것은, 2016바이트의 데이터이다. 따라서, MPEG 스트림을 암호화하는 경우에는, 도 19에 도시한 바와 같이, 1 섹터의 데이터는, 8바이트(64비트) 단위로, 252의 블록으로 분할된다. 그리고, 상술한 바와 마찬가지로, 금회의 블록 데이터와, 그 하나 전의 블록 데이터를 암호화한 데이터와 의 EX-OR을 취해, 암호화하는 CBC 방식에 의해 암호화된다.
CBC 방식으로 암호화하는 경우에는, 초기값이 필요하다. 전술한 예에서는, 초기값을, 동일 섹터 내의 블록의 콘텐츠 데이터로부터 생성하도록 하고 있다. MPEG 스트림의 경우에도, 이와 마찬가지로, 동일 섹터 내의 블록의 콘텐츠 데이터그 자체로부터 초기값을 만들어도 되지만, MPEG 스트림의 헤더의 고유성을 착안하여, MPEG 스트림의 헤더로부터 CBC의 초기값을 만들도록 하여도 된다.
즉, 도 17에 도시한 바와 같이, MPEG 스트림에는, 팩 헤더와, 패킷 헤더가 형성되어 있다. 또한, 도 18에 도시한 바와 같이, 파일의 선두에는, 파일 헤더가 형성된다. 이들 헤더로부터 초기값을 생성하는 것이 고려된다.
예를 들면, 파일 헤더에는, ISRC와 같은 저작권의 관리 정보 등이 기록되어 있다. 이 저작권의 관리 정보는, 콘텐츠마다 고유한 값이다. 또한, 디스크 헤더가 있는 경우에는, 디스크의 시리얼 번호와 같이, 디스크마다 고유한 값을 디스크 헤더에 넣을 수 있다. 이러한 정보는, 디스크마다 고유한 정보이다.
또한, 팩 헤더는, 팩 스타트 코드나, SCR, 비트 레이트가 포함되어 있다. 이 중에서, SCR은, 시스템의 기준이 되는 STC(System Time Clock)를 교정하기 위한 시간 정보이다. 또한, 패킷 헤더에는, 패킷 스타트 코드, 스트림 ID, PES 헤더 길이, PTS가 포함되어 있다. 이 중에서, PTS는 재생의 기준이 되는 시간 정보이다. 팩 헤더의 SCR이나, 패킷 헤더 내의 PTS는, 시간에 따라 변화하기 때문에, 고유한 값으로 된다.
이러한, MPEG 스트림의 헤더에 포함되어 있는 고유한 정보를 사용하여, CBC 방식으로 암호화하는 경우의 초기값을 생성할 수 있다.
MPEG 스트림의 헤더 내의 고유한 정보를 사용하여, CBC 방식의 초기값을 생성하는 경우에, 헤더의 정보를 그대로 이용하여도 되지만, 헤더의 정보를 그대로 이용하면, 은닉성이 충분하지 않다.
따라서, 몇개의 MPEG 스트림의 헤더의 정보로부터 초기값을 생성하거나, 헤더의 정보를 암호화하여, 초기값을 생성하는 것이 고려된다. 구체적으로는, 이하의 방법이 고려된다.
먼저, 저작권 정보와 같은 파일 헤더의 고유한 정보와, 팩 헤더의 SCR이나 패킷 헤더 내의 PTS와 같은 시간에 따라 변화하는 정보를 소정의 함수에 의해 조합하여 초기값을 생성하는 것이 고려된다.
도 20은, 이와 같이, 저작권 정보와 같은 파일 헤더의 고유한 정보와, 팩 헤더의 SCR이나 패킷 헤더 내의 PTS와 같은 시간에 따라 변화하는 정보로부터 초기값을 생성하는 경우의 프로세스의 일례이다. 도 20에서, EX-OR 게이트(201)에는, 파일 헤더의 고유한 정보가 공급됨과 함께, 팩 헤더의 SCR 또는 패킷 헤더 내의 PTS가 공급된다. EX-OR 게이트(201)에서, 파일 헤더의 고유한 정보와, 팩 헤더의 SCR 또는 패킷 헤더 내의 PTS와의 EX-OR이 구해진다. 이 EX -OR 게이트(201)의 출력으로부터, 초기값 inV가 구해진다.
다음에, 저작권 정보와 같은 파일 헤더의 고유한 정보, 또는, 팩 헤더의 SCR이나 패킷 헤더 내의 PTS와 같은 시간에 따라 변화하는 정보를 암호화하여, 초기값을 생성하는 것이 고려된다.
도 21A는, 저작권 정보와 같은 파일 헤더의 고유한 정보를 암호화하여 초기값을 생성하는 경우의 프로세스의 일례이다. 도 21A에서, 암호화 회로(211)에는, 파일 헤더의 고유한 정보가 공급된다. 암호화 회로(211)에서, 이 파일 헤더의 고유한 정보가 암호화되고, 암호화 회로(211)의 출력으로부터, 초기값 inV가 구해진다.
도 21B는, 백 헤더의 SCR이나 패킷 헤더 내의 PTS와 같은 시간에 따라 변화하는 정보를 암호화하여 초기값을 생성하는 경우의 프로세스의 일례이다. 도 21B에서, 암호화 회로(221)에는, 백 헤더의 SCR 또는 패킷 헤더 내의 PTS가 공급된다. 암호화 회로(221)에서, SCR 또는 PTS가 암호화되고, 암호화 회로(221)의 출력으로부터, 초기값 inV가 구해진다.
또한, 저작권 정보와 같은 파일 헤더의 고유한 정보와, 팩 헤더의 SCR이나 패킷 헤더 내의 PTS와 같은 시간에 따라 변화하는 정보로부터 구해지는 정보를 암호화하여, 초기값을 생성하는 것이 고려된다.
도 22는, 저작권 정보와 같은 파일 헤더의 고유한 정보와, 팩 헤더의 SCR이나 패킷 헤더 내의 PTS와 같은 시간에 따라 변화하는 정보를, 더욱, 암호화하여, 초기값을 생성하는 경우의 프로세스의 일례이다. 도 22에서, EX-OR 게이트(231)에는, 파일 헤더의 고유한 정보가 공급됨과 함께, 팩 헤더의 SCR 또는 패킷 헤더 내의 PTS가 공급된다. EX-OR 게이트(231)에서, 파일 헤더의 고유한 정보와, 백 헤더의 SCR 또는 패킷 헤더 내의 PTS와의 EX-OR이 구해진다. 이 EX-OR 게이트(231)의 출력이 암호화 회로(232)에 공급된다. 암호화 회로(232)에서, EX-OR 게이트(231) 의 출력이 암호화되고, 암호화 회로(232)의 출력으로부터, 초기값 inV가 구해진다.
도 23은, MPEG 스트림을 암호화하는 경우의 암호화 프로세스의 일례이다. 도 23에서, EX-OR 게이트(301-0)에서, 입력 블록 데이터 D0과, MPEG 헤더로부터 구해진 초기값 inV와의 EX-OR이 취해지고, 이 EX-OR 게이트(301-0)의 출력이 블록 암호화 회로(302-0)에 공급된다.
블록 암호화 회로(302-0)에서, EX-OR 게이트(301-0)의 출력과 키 정보 K로부터, 암호화 블록 데이터 ED0이 구해진다.
다음에, EX-OR 게이트(301-1)에서, 입력 블록 데이터 D1과, 암호화 블록 데이터 ED0과의 EX-OR이 취해지고, 이 EX-OR 게이트(301-1)의 출력이 블록 암호화 회로(302-1)에 공급되며, 블록 암호화 회로(302-1)에서, EX-OR 게이트(301-1)의 출력과 키 정보 K로부터, 암호화 블록 데이터 ED1이 구해진다.
이하, 마찬가지로 하여, 입력 데이터 D2, D3, …, D251로부터, 암호화 블록 데이터 ED2, ED3, …, ED251이 구해진다.
도 24는, MPEG 스트림을 복호하는 경우의 복호 프로세스의 일례이다. 도 24에서, 암호화 블록 데이터 ED0과, 키 정보 K가 블록 암호 복호 회로(401-0)로 보내지고, 블록 암호 복호 회로(401-0)에서, 암호의 복호 처리가 행해진다.
블록 암호 복호 회로(401-0)의 출력이 EX-OR 게이트(402-0)로 보내진다. 또한, EX-OR 게이트(402-0)에는, 초기값 inV가 보내진다. 이 초기값 inV는, 암호화 블록 데이터 inV이다.
EX-OR 게이트(402-0)에서, 블록 암호 복호 회로(401-0)의 출력과, 초기값 inV와의 EX-OR이 취해져서, 블록 데이터 D0이 복호된다.
다음에, 암호화 블록 데이터 ED1과, 키 정보 K가 블록 암호 복호 회로(401-1)로 보내진다. 블록 암호 복호 회로(401-1)에서 암호가 복호된다. 블록 암호 복호 회로(401-1)의 출력이 EX-OR 게이트(402-1)로 보내진다.
또한, EX-OR 게이트(402-1)에는, 그 전의 암호화 블록 데이터 ED0이 보내진다.
EX-OR 게이트(402-1)에서, 블록 암호 복호 회로(401-1)의 출력과, 그 전의 암호화 블록 데이터 ED0과의 EX-OR이 취해져서, 블록 데이터 D1이 복호된다.
이하, 마찬가지로 하여, 암호화 블록 데이터 ED1, ED2, …ED251로부터, 블록 데이터 D1, D2, …, D251이 복호되어 간다.
이와 같이, MPEG 스트림을 기록하는 경우에는, MPEG의 헤더의 고유성을 이용하여, MPEG 헤더를 사용하여 CBC 방식으로 암호화를 행하는 경우의 초기값을 만들 수 있다. 또한, 상술한 예에서는, 파일 헤더와, 팩 헤더 또는 패킷 헤더의 SCR 또는 PTS 등의 시간 정보를 사용하여 초기값을 생성하고 있지만, 또한, 디스크 헤더의 정보를 이용하도록 하여도 된다.
또한, 상술한 예에서는, 콘텐츠의 데이터를 CD2의 광 디스크에 기록하고 있 지만, 기록 매체로서는, CD2의 광 디스크에 한정되는 것은 아니다. 본 발명은, CD-DA나 CD-ROM, CD-R이나 CD-RW에 콘텐츠의 데이터를 기록하는 경우에도, 마찬가지로 적용할 수 있다. 또한, 광 디스크에 한정되지 않고, 자기 디스크, 플래시 메모리 카드 등, 각종 기록 매체에 콘텐츠의 데이터를 기록하는 경우에도 마찬가지로 적용할 수 있다.
또한, 본 발명은, 콘텐츠의 데이터를 네트워크에 의해 배신(配信)하는 경우에 이용하여도 바람직하다.
즉, 최근, 음악 데이터와 같은 콘텐츠의 데이터를 네트워크를 사용하여 배신하는 서비스가 보급되어 있다. 이러한 서비스에서는, 콘텐츠의 데이터의 보호를 도모하기 위해, 콘텐츠의 데이터를 암호화하는 것이 필요하다. 본 발명에서는, 블록 암호화를 연쇄적으로 행하는 경우의 초기값을, 콘텐츠 데이터 그 자체 또는 MPEG 스트림의 데이터로부터 생성하고 있기 때문에, 콘텐츠의 데이터를 배신하는 경우의 암호화에도 적당하다.
본 발명에 따르면, 콘텐츠의 데이터가 블록화되어, 체인 형상으로 연쇄하여 암호화된다. 그리고, 이 때의 초기값을, 그 섹터의 콘텐츠 데이터 그 자체로부터 생성하고 있다. 이 때문에, 초기값을 난수 등으로 발생할 필요가 없어, 데이터 영역의 손실이 없다. 또한, 콘텐츠 데이터는 랜덤하게 변화하고 있기 때문에, 은닉성이 높다. 또한, 난수 발생기 등을 준비할 필요가 없어, 회로 규모가 증대하지 않는다.
또한, 본 발명에 따르면, 콘텐츠 데이터로부터 생성되는 초기값 자체가 다른 콘텐츠 데이터로 암호화된다. 또한, 초기값으로서 사용하는 콘텐츠 데이터를 자유롭게 선택할 수 있다. 이에 따라, 은닉성이 향상된다.
또한, 본 발명에 따르면, MPEG 스트림을 기록하는 경우에는, 헤더에 포함되는 고유한 정보를 사용하여, 초기값을 생성하고 있다. 헤더의 정보는 고유하고, SCR이나 PTS와 같은 시간 정보는, 시간에 따라 변화하기 때문에, 은닉성이 높다. 또한, MPEG 스트림의 헤더의 정보를 사용하여 암호화의 초기값을 형성하고 있기 때문에, MPEG 스트림을 유지한 채로, 전송할 수 있다. 또한, 난수 발생기 등을 준비할 필요가 없어, 회로 규모가 증대하지 않는다.
이상과 같이, 본 발명에 관한 암호화 장치 및 방법, 복호 장치 및 방법과 기억 매체는, 예를 들면 CD2와 같은 광 디스크에, 오디오 데이터 등의 콘텐츠의 데이터를 기록/재생할 때에, 콘텐츠의 데이터의 보호를 도모하기 위해 데이터를 암호화하여 기록하는 데 이용하기에 적합하다.

Claims (56)

  1. 삭제
  2. 콘텐츠 데이터의 제1 부분의 데이터에 따라서 초기값을 생성하는 생성 수단과,
    상기 생성된 초기값에 따라서 상기 콘텐츠 데이터의 제2 부분의 데이터를 암호화하고, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 상기 콘텐츠 데이터의 제1 및 제2 부분의 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하는 암호 수단과,
    상기 콘텐츠 데이터를 복수 비트로 이루어지는 블록 단위로 분할하는 분할 수단을 포함하고,
    상기 생성 수단은, 상기 분할된 블록 단위로, 해당 블록 내의 제1 부분의 데이터에 따라서 초기값을 생성하는
    암호화 장치.
  3. 제2항에 있어서,
    상기 암호 수단은, 상기 분할된 블록 단위로, 블록 암호화 방식에 의해 암호화를 행하는 암호화 장치.
  4. 삭제
  5. 콘텐츠 데이터의 제1 부분의 데이터에 따라서 초기값을 생성하는 생성 수단과,
    상기 생성된 초기값에 따라서 상기 콘텐츠 데이터의 제2 부분의 데이터를 암호화하고, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 상기 콘텐츠 데이터의 제1 및 제2 부분의 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하는 암호 수단을 포함하고,
    상기 콘텐츠 데이터의 제1 부분의 데이터를 변경 가능하게 한
    암호화 장치.
  6. 삭제
  7. 콘텐츠 데이터의 제1 부분의 데이터에 따라서 초기값을 생성하고,
    상기 생성된 초기값에 따라서 상기 콘텐츠 데이터의 제2 부분의 데이터를 암호화하고, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 상기 콘텐츠 데이터의 제1 및 제2 부분의 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하고,
    상기 콘텐츠 데이터를 복수 비트로 이루어지는 블록 단위로 분할하고,
    상기 분할된 블록 단위로, 해당 블록 내의 제1 부분의 데이터에 따라서 초기값을 생성하는
    암호화 방법.
  8. 제7항에 있어서,
    상기 분할된 블록 단위로, 블록 암호화 방식에 의해 암호화를 행하는 암호화 방법.
  9. 삭제
  10. 콘텐츠 데이터의 제1 부분의 데이터에 따라서 초기값을 생성하고,
    상기 생성된 초기값에 따라서 상기 콘텐츠 데이터의 제2 부분의 데이터를 암호화하고, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 상기 콘텐츠 데이터의 제1 및 제2 부분의 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하는 암호화 방법으로서,
    상기 콘텐츠 데이터의 제1 부분의 데이터를 변경 가능하게 한
    암호화 방법.
  11. 삭제
  12. 암호화된 콘텐츠 데이터의 제1 부분의 데이터인 초기값에 기초하여, 상기 암호화된 콘텐츠 데이터의 제2 부분의 데이터를 복호하여 복호 데이터를 출력함과 함께, 상기 제1 및 제2 부분의 데이터와는 다른 부분의 데이터를, 상기 암호화된 콘텐츠 데이터의 제2 부분의 데이터에 기초하여 연쇄적으로 복호하는 복호 수단과,
    상기 암호화된 콘텐츠 데이터의 제1 부분의 데이터로부터 상기 제1 부분의 데이터를 생성하는 생성 수단을 포함하고,
    상기 콘텐츠 데이터는, 복수 비트로 이루어지는 블록 단위로 암호화되어 있고,
    상기 복호 수단은, 상기 암호화된 콘텐츠 데이터를 상기 블록 단위로 복호하는
    복호 장치.
  13. 제12항에 있어서,
    상기 생성 수단은, 상기 블록 단위로, 상기 암호화된 콘텐츠 데이터의 제1 부분의 데이터로부터 상기 제1 부분의 데이터를 생성하는 복호 장치.
  14. 삭제
  15. 삭제
  16. 암호화된 콘텐츠 데이터의 제1 부분의 데이터인 초기값에 기초하여, 상기 암호화된 콘텐츠 데이터의 제2 부분의 데이터를 복호하여 복호 데이터를 출력하고,
    상기 제1 및 제2 부분의 데이터와는 다른 부분의 데이터를, 상기 암호화된 콘텐츠 데이터의 제2 부분의 데이터에 기초하여 연쇄적으로 복호하고,
    상기 암호화된 콘텐츠 데이터의 제1 부분의 데이터로부터 상기 제1 부분의 데이터를 생성하는 복호 방법으로서,
    상기 콘텐츠 데이터는, 복수 비트로 이루어지는 블록 단위로 암호화되어 있고,
    상기 암호화된 콘텐츠 데이터를 상기 블록 단위로 복호하는
    복호 방법.
  17. 제16항에 있어서,
    상기 블록 단위로, 상기 암호화된 콘텐츠 데이터의 제1 부분의 데이터로부터 상기 제1 부분의 데이터를 생성하는 복호 방법.
  18. 삭제
  19. 삭제
  20. 삭제
  21. 콘텐츠 데이터의 스트림의 소정 부분의 데이터에 따라서 초기값을 생성하는 생성 수단과,
    상기 생성된 초기값에 따라서 상기 콘텐츠 데이터를 암호화하고, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 상기 콘텐츠 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하는 암호 수단과,
    상기 콘텐츠 데이터를 복수 비트로 이루어지는 블록 단위로 분할하는 분할 수단을 포함하고,
    상기 암호 수단은, 상기 분할된 블록 단위로, 블록 암호화 방식에 의해 암호화를 행하는
    암호화 장치.
  22. 콘텐츠 데이터의 스트림의 소정 부분의 데이터에 따라서 초기값을 생성하는 생성 수단과,
    상기 생성된 초기값에 따라서 상기 콘텐츠 데이터를 암호화하고, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 상기 콘텐츠 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하는 암호 수단을 포함하고,
    상기 스트림 내의 헤더 부분에 포함되는 데이터에 따라서 초기값을 생성하는
    암호화 장치.
  23. 콘텐츠 데이터의 스트림의 소정 부분의 데이터에 따라서 초기값을 생성하는 생성 수단과,
    상기 생성된 초기값에 따라서 상기 콘텐츠 데이터를 암호화하고, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 상기 콘텐츠 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하는 암호 수단을 포함하고,
    상기 스트림 내의 헤더 부분에 포함되는 시간 정보에 따라서 초기값을 생성하는
    암호화 장치.
  24. 콘텐츠 데이터의 스트림의 소정 부분의 데이터에 따라서 초기값을 생성하는 생성 수단과,
    상기 생성된 초기값에 따라서 상기 콘텐츠 데이터를 암호화하고, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 상기 콘텐츠 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하는 암호 수단을 포함하고,
    상기 스트림 내의 헤더 부분에 포함되는 콘텐츠마다 고유한 정보에 따라서 초기값을 생성하는
    암호화 장치.
  25. 콘텐츠 데이터의 스트림의 소정 부분의 데이터에 따라서 초기값을 생성하는 생성 수단과,
    상기 생성된 초기값에 따라서 상기 콘텐츠 데이터를 암호화하고, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 상기 콘텐츠 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하는 암호 수단을 포함하고,
    상기 스트림 내의 헤더 부분에 포함되는 시간 정보와, 상기 스트림 내의 헤더 부분에 포함되는 콘텐츠마다 고유한 정보에 따라서 초기값을 생성하는
    암호화 장치.
  26. 삭제
  27. 콘텐츠 데이터의 스트림의 소정 부분의 데이터에 따라서 초기값을 생성하는 생성 수단과,
    상기 생성된 초기값에 따라서 상기 콘텐츠 데이터를 암호화하고, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 상기 콘텐츠 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하는 암호 수단을 포함하는 암호화 장치로서,
    상기 스트림은 MPEG 스트림인 암호화 장치.
  28. 제27항에 있어서,
    상기 헤더는 팩 헤더, 패킷 헤더, 또는 파일 헤더인 암호화 장치.
  29. 삭제
  30. 콘텐츠 데이터의 스트림의 소정 부분의 데이터에 따라서 초기값을 생성하고,
    상기 생성된 초기값에 따라서 상기 콘텐츠 데이터를 암호화하며, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 상기 콘텐츠 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하고,
    상기 콘텐츠 데이터를 복수 비트로 이루어지는 블록 단위로 분할하고,
    상기 분할된 블록 단위로, 블록 암호화 방식에 의해 암호화를 행하는
    암호화 방법.
  31. 콘텐츠 데이터의 스트림의 소정 부분의 데이터에 따라서 초기값을 생성하고,
    상기 생성된 초기값에 따라서 상기 콘텐츠 데이터를 암호화하며, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 상기 콘텐츠 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하고,
    상기 스트림 내의 헤더 부분에 포함되는 데이터에 따라서 초기값을 생성하는
    암호화 방법.
  32. 콘텐츠 데이터의 스트림의 소정 부분의 데이터에 따라서 초기값을 생성하고,
    상기 생성된 초기값에 따라서 상기 콘텐츠 데이터를 암호화하며, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 상기 콘텐츠 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하고,
    상기 스트림 내의 헤더 부분에 포함되는 시간 정보에 따라서 초기값을 생성하는
    암호화 방법.
  33. 콘텐츠 데이터의 스트림의 소정 부분의 데이터에 따라서 초기값을 생성하고,
    상기 생성된 초기값에 따라서 상기 콘텐츠 데이터를 암호화하며, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 상기 콘텐츠 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하고,
    상기 스트림 내의 헤더 부분에 포함되는 콘텐츠마다 고유한 정보에 따라서 초기값을 생성하는
    암호화 방법.
  34. 콘텐츠 데이터의 스트림의 소정 부분의 데이터에 따라서 초기값을 생성하고,
    상기 생성된 초기값에 따라서 상기 콘텐츠 데이터를 암호화하며, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 상기 콘텐츠 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하고,
    상기 스트림 내의 헤더 부분에 포함되는 시간 정보와, 상기 스트림 내의 헤더 부분에 포함되는 콘텐츠마다 고유한 정보에 따라서 초기값을 생성하는
    암호화 방법.
  35. 삭제
  36. 콘텐츠 데이터의 스트림의 소정 부분의 데이터에 따라서 초기값을 생성하고,
    상기 생성된 초기값에 따라서 상기 콘텐츠 데이터를 암호화하며, 암호화 데이터를 출력함과 함께, 그 출력되는 암호화 데이터에 따라서, 상기 콘텐츠 데이터와는 다른 부분의 데이터를 연쇄적으로 암호화하는 암호화 방법으로서,
    상기 스트림은 MPEG 스트림인 암호화 방법.
  37. 제36항에 있어서,
    상기 헤더는 팩 헤더, 패킷 헤더, 또는 파일 헤더인 암호화 방법.
  38. 콘텐츠 데이터의 스트림의 소정 부분의 데이터에 따라서 초기값을 생성하는 생성 수단과,
    상기 초기값에 기초하여, 암호화된 콘텐츠 데이터의 제1 부분의 데이터를 복호하여 복호 데이터를 출력함과 함께, 상기 암호화된 콘텐츠 데이터의 제1 부분의 데이터와는 다른 제2 부분의 데이터를, 상기 암호화된 콘텐츠 데이터의 제1 부분의 데이터에 기초하여 연쇄적으로 복호하는 복호 수단
    을 포함하는 복호 장치.
  39. 제38항에 있어서,
    상기 콘텐츠 데이터는, 복수 비트로 이루어지는 블록 단위로 암호화되어 있 고,
    상기 복호 수단은, 상기 암호화된 콘텐츠 데이터를 상기 블록 단위로 복호하는 복호 장치.
  40. 제38항에 있어서,
    상기 생성 수단은, 상기 스트림 내의 헤더 부분에 포함되는 데이터에 따라서 초기값을 생성하는 복호 장치.
  41. 제38항에 있어서,
    상기 생성 수단은, 상기 스트림 내의 헤더 부분에 포함되는 시간 정보에 따라서 초기값을 생성하는 복호 장치.
  42. 제38항에 있어서,
    상기 생성 수단은, 상기 스트림 내의 헤더 부분에 포함되는 콘텐츠마다 고유한 정보에 따라서 초기값을 생성하는 복호 장치.
  43. 제38항에 있어서,
    상기 생성 수단은, 상기 스트림 내의 헤더 부분에 포함되는 시간 정보와, 상기 스트림 내의 헤더 부분에 포함되는 콘텐츠마다 고유한 정보에 따라서 초기값을 생성하는 복호 장치.
  44. 제38항에 있어서,
    상기 생성 수단은, 암호화되어 있는 상기 초기값을 복호하는 복호 장치.
  45. 제38항에 있어서,
    상기 스트림은 MPEG 스트림인 복호 장치.
  46. 제45항에 있어서,
    상기 헤더는 팩 헤더, 패킷 헤더, 또는 파일 헤더인 복호 장치.
  47. 콘텐츠 데이터의 스트림의 소정 부분의 데이터에 따라서 초기값을 생성하는 단계,
    상기 초기값에 기초하여, 암호화된 콘텐츠 데이터의 제1 부분을 복호하여 복호 데이터를 출력하는 단계, 및
    상기 암호화된 콘텐츠 데이터의 제1 부분의 데이터와는 다른 제2 부분의 데이터를, 상기 암호화된 콘텐츠 데이터의 제1 부분의 데이터에 기초하여 연쇄적으로 복호하는 단계
    를 포함하는 복호 방법.
  48. 제47항에 있어서,
    상기 콘텐츠 데이터는, 복수 비트로 이루어지는 블록 단위로 암호화되어 있고,
    상기 복호 단계는, 상기 암호화된 콘텐츠 데이터를 상기 블록 단위로 복호하는 복호 방법.
  49. 제47항에 있어서,
    상기 생성 단계는, 상기 스트림 내의 헤더 부분에 포함되는 데이터에 따라서 초기값을 생성하는 복호 방법.
  50. 제47항에 있어서,
    상기 생성 단계는, 상기 스트림 내의 헤더 부분에 포함되는 시간 정보에 따라서 초기값을 생성하는 복호 방법.
  51. 제47항에 있어서,
    상기 생성 단계는, 상기 스트림 내의 헤더 부분에 포함되는 콘텐츠마다 고유한 정보에 따라서 초기값을 생성하는 복호 방법.
  52. 제47항에 있어서,
    상기 생성 단계는, 상기 스트림 내의 헤더 부분에 포함되는 시간 정보와, 상기 스트림 내의 헤더 부분에 포함되는 콘텐츠마다 고유한 정보에 따라서 초기값을 생성하는 복호 방법.
  53. 제47항에 있어서,
    상기 생성 단계는, 암호화되어 있는 상기 초기값을 복호하는 복호 방법.
  54. 제47항에 있어서,
    상기 스트림은 MPEG 스트림인 복호 방법.
  55. 제54항에 있어서,
    상기 헤더는 팩 헤더, 패킷 헤더, 또는 파일 헤더인 복호 방법.
  56. 삭제
KR1020027008735A 2000-11-06 2001-11-02 암호화 장치 및 방법, 복호 장치 및 방법과 기억 매체 KR100846255B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JPJP-P-2000-00337307 2000-11-06
JP2000337307 2000-11-06
JP2001066850A JP2002202719A (ja) 2000-11-06 2001-03-09 暗号化装置及び方法、復号装置及び方法、並びに記憶媒体
JPJP-P-2001-00066850 2001-03-09

Publications (2)

Publication Number Publication Date
KR20020067599A KR20020067599A (ko) 2002-08-22
KR100846255B1 true KR100846255B1 (ko) 2008-07-16

Family

ID=26603432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027008735A KR100846255B1 (ko) 2000-11-06 2001-11-02 암호화 장치 및 방법, 복호 장치 및 방법과 기억 매체

Country Status (6)

Country Link
US (1) US20030002665A1 (ko)
EP (1) EP1237320A4 (ko)
JP (1) JP2002202719A (ko)
KR (1) KR100846255B1 (ko)
CN (1) CN100508447C (ko)
WO (1) WO2002037747A1 (ko)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030223581A1 (en) * 2002-05-30 2003-12-04 Bedros Hanounik Cipher block chaining unit for use with multiple encryption cores
KR100965874B1 (ko) * 2003-01-10 2010-06-24 삼성전자주식회사 Ckc 암호화/복호화 장치 및 방법
US7055039B2 (en) * 2003-04-14 2006-05-30 Sony Corporation Protection of digital content using block cipher crytography
KR101083655B1 (ko) 2003-07-15 2011-11-16 소니 주식회사 무선 통신 시스템, 무선 통신 장치 및 무선 통신 방법, 및컴퓨터·프로그램
JP4110530B2 (ja) 2003-10-22 2008-07-02 ソニー株式会社 情報記録処理装置、情報再生処理装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JP2005140823A (ja) 2003-11-04 2005-06-02 Sony Corp 情報処理装置、制御方法、プログラム、並びに記録媒体
KR101244308B1 (ko) * 2003-12-08 2013-03-18 삼성전자주식회사 동영상 파일의 암호화 방법 및 그를 이용한 디지털 저작권관리방법
JP4505717B2 (ja) * 2003-12-08 2010-07-21 ソニー株式会社 情報処理装置、制御方法、プログラム、並びに記録媒体
US20070276756A1 (en) * 2004-08-06 2007-11-29 Kyoichi Terao Recording/Reproducing Device, Recording Medium Processing Device, Reproducing Device, Recording Medium, Contents Recording/Reproducing System, And Contents Recording/Reproducing Method
US7636439B2 (en) 2004-09-10 2009-12-22 Hitachi Kokusai Electric, Inc. Encryption method, encryption apparatus, data storage distribution apparatus and data delivery system
JP2006229863A (ja) * 2005-02-21 2006-08-31 Seiko Epson Corp 暗号化/復号化装置、通信コントローラ及び電子機器
KR100768509B1 (ko) * 2005-03-10 2007-10-18 한국전자통신연구원 무선 휴대 인터넷 시스템의 암호화 및 복호화 장치, 그리고그 방법
EP1877948B1 (en) * 2005-05-02 2013-07-03 NDS Limited Native scrambling system
GB2431488A (en) * 2005-10-11 2007-04-25 Hewlett Packard Development Co Data transfer device
JP4482630B2 (ja) * 2005-11-21 2010-06-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 通信装置および通信方法
US20090080647A1 (en) * 2005-12-14 2009-03-26 Nds Limited Method and System for Usage of Block Cipher Encryption
US20090125726A1 (en) * 2007-11-14 2009-05-14 Mcm Portfolio Llc Method and Apparatus of Providing the Security and Error Correction Capability for Memory Storage Devices
JP4658150B2 (ja) * 2008-01-25 2011-03-23 Nttエレクトロニクス株式会社 暗号化方法および復号方法
JP4665974B2 (ja) * 2008-02-13 2011-04-06 ソニー株式会社 情報記録媒体
US8793228B2 (en) * 2009-01-14 2014-07-29 Stmicroelectronics Pvt. Ltd. File system including a file header area and a file data area
KR20100089228A (ko) 2009-02-03 2010-08-12 삼성전자주식회사 멀티미디어 컨텐트의 전송 스트림 암호화 방법 및 그 장치,복호화 방법 및 그 장치
US9684710B2 (en) * 2009-05-28 2017-06-20 Microsoft Technology Licensing, Llc Extending random number summation as an order-preserving encryption scheme
US8364955B1 (en) * 2009-10-29 2013-01-29 Symantec Corporation Systems and methods for effectively removing access to individual files on magnetic tape media
US20190108366A1 (en) * 2010-01-28 2019-04-11 International Business Machines Corporation Secure data transmission utilizing distributed storage
US8885821B2 (en) * 2010-01-28 2014-11-11 Cleversafe, Inc. Sequencing encoded data slices
US8625802B2 (en) * 2010-06-16 2014-01-07 Porticor Ltd. Methods, devices, and media for secure key management in a non-secured, distributed, virtualized environment with applications to cloud-computing security and management
US8938619B2 (en) * 2010-12-29 2015-01-20 Adobe Systems Incorporated System and method for decrypting content samples including distinct encryption chains
US8527750B2 (en) * 2010-12-29 2013-09-03 Adobe Systems Incorporated System and method for generating multiple protected content formats without redundant encryption of content
CN102622541B (zh) * 2010-12-29 2016-02-24 奥多比公司 加密及解密的系统和方法
US8725788B2 (en) 2011-05-27 2014-05-13 Adobe Systems Incorporated System and method for decryption of content including partial-block discard
US8687809B2 (en) * 2011-05-27 2014-04-01 Adobe Systems Incorporated System and method for decryption of content including disconnected encryption chains
CN102624708A (zh) * 2012-02-23 2012-08-01 浙江工商大学 一种面向云存储的高效数据加密、更新和访问控制方法
JP6167721B2 (ja) * 2013-07-23 2017-07-26 凸版印刷株式会社 暗号化装置、復号装置、暗号化方法、復号方法及びプログラム
KR102323805B1 (ko) * 2014-12-24 2021-11-10 십일번가 주식회사 웹 기반 인증 결제 장치, 웹 기반 인증 결제 방법, 웹 기반 인증 결제 시스템 및 컴퓨터 프로그램이 기록된 기록매체
CN105205411A (zh) * 2015-09-21 2015-12-30 北京元心科技有限公司 一种实现对称加密文件随机存储的方法和系统
CN106228981B (zh) * 2016-08-03 2019-07-19 中山大学 一种基于压缩域的mp3自适应隐写方法
KR102386096B1 (ko) * 2017-08-31 2022-04-12 제네럴 일렉트릭 컴퍼니 신뢰된 트랜잭션 배송을 지원하기 위한 용적측정 데이터의 인코딩
CN115297363B (zh) * 2022-10-09 2022-12-27 南通商翼信息科技有限公司 基于霍夫曼编码的视频数据加密传输方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1032567A (ja) * 1996-07-18 1998-02-03 Mitsubishi Electric Corp 秘匿化装置、秘匿解除装置およびこれらを用いたデータ伝送システム
WO1999034548A2 (en) 1997-12-26 1999-07-08 Sun Microsystems, Inc. System and method for deriving an appropriate initialization vector for secure communications
JP2946470B2 (ja) * 1990-04-26 1999-09-06 キヤノン株式会社 暗号化符号化装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5109152A (en) * 1988-07-13 1992-04-28 Matsushita Electric Industrial Co., Ltd. Communication apparatus
US5682425A (en) * 1990-04-23 1997-10-28 Canon Kabushiki Kaisha Information signal transmission system
KR0152270B1 (ko) * 1990-04-30 1998-10-15 구자홍 유료 티브이 시스템의 합성 영상신호 암호화 해독 처리 시스템
US5150401A (en) * 1990-12-04 1992-09-22 Chips International, Inc. Retrofittable encryption/decryption apparatus using modified frequency modulation
JPH07193804A (ja) * 1991-11-15 1995-07-28 Pioneer Electron Corp 映像スクランブル方式およびその装置
HU216231B (hu) * 1994-01-13 1999-05-28 Certco, Llc Eljárás titkosított kommunikáció létrehozására
JPH0856356A (ja) * 1994-08-10 1996-02-27 Fujitsu Ltd 符号化装置および復号化装置
US5671283A (en) * 1995-06-08 1997-09-23 Wave Systems Corp. Secure communication system with cross linked cryptographic codes
US5664016A (en) * 1995-06-27 1997-09-02 Northern Telecom Limited Method of building fast MACS from hash functions
US6078663A (en) * 1995-06-30 2000-06-20 Canon Kabushiki Kaisha Communication apparatus and a communication system
ATE226772T1 (de) * 1996-09-03 2002-11-15 Siemens Ag Anordnung und verfahren zur kryptographischen bearbeitung eines digitalen datenstroms, der eine beliebige anzahl von daten aufweist
US6526144B2 (en) * 1997-06-02 2003-02-25 Texas Instruments Incorporated Data protection system
US6307940B1 (en) * 1997-06-25 2001-10-23 Canon Kabushiki Kaisha Communication network for encrypting/deciphering communication text while updating encryption key, a communication terminal thereof, and a communication method thereof
US6333983B1 (en) * 1997-12-16 2001-12-25 International Business Machines Corporation Method and apparatus for performing strong encryption or decryption data using special encryption functions
US6215876B1 (en) * 1997-12-31 2001-04-10 Transcrypt International, Inc. Apparatus for and method of detecting initialization vector errors and maintaining cryptographic synchronization without substantial increase in overhead
US6249582B1 (en) * 1997-12-31 2001-06-19 Transcrypt International, Inc. Apparatus for and method of overhead reduction in a block cipher
US6295604B1 (en) * 1998-05-26 2001-09-25 Intel Corporation Cryptographic packet processing unit
US6845159B1 (en) * 1998-10-07 2005-01-18 Protego Information Ab Processing method and apparatus for converting information from a first format into a second format
JP3824121B2 (ja) * 1999-04-01 2006-09-20 株式会社日立製作所 暗号データの復号化処理方法および装置
JP3864675B2 (ja) * 2000-03-09 2007-01-10 株式会社日立製作所 共通鍵暗号装置
US7237108B2 (en) * 2001-09-26 2007-06-26 General Instrument Corporation Encryption of streaming control protocols and their headers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2946470B2 (ja) * 1990-04-26 1999-09-06 キヤノン株式会社 暗号化符号化装置
JPH1032567A (ja) * 1996-07-18 1998-02-03 Mitsubishi Electric Corp 秘匿化装置、秘匿解除装置およびこれらを用いたデータ伝送システム
WO1999034548A2 (en) 1997-12-26 1999-07-08 Sun Microsystems, Inc. System and method for deriving an appropriate initialization vector for secure communications

Also Published As

Publication number Publication date
US20030002665A1 (en) 2003-01-02
CN100508447C (zh) 2009-07-01
CN1394409A (zh) 2003-01-29
EP1237320A1 (en) 2002-09-04
WO2002037747A1 (fr) 2002-05-10
JP2002202719A (ja) 2002-07-19
EP1237320A4 (en) 2008-07-09
KR20020067599A (ko) 2002-08-22

Similar Documents

Publication Publication Date Title
KR100846255B1 (ko) 암호화 장치 및 방법, 복호 장치 및 방법과 기억 매체
JP4734906B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
US8144869B2 (en) Content protection system, key data generation apparatus, and terminal apparatus
CN100367247C (zh) 用于管理记录介质的复制保护信息的方法
US20030051151A1 (en) Information processing apparatus, information processing method and program
JP4710211B2 (ja) 情報記録装置、情報再生装置、情報記録再生装置、情報記録方法、情報再生方法、情報記録再生方法並びに記録媒体
EP1093121A1 (en) Information recording medium, and method and apparatus for recording and reproducing information using the same
KR100994772B1 (ko) 저장 매체의 데이터 복사 및 재생 방법
US7228568B2 (en) Data recording apparatus, data recording method, and data transfer system
JP2005512258A (ja) システムデータの完全性の検証方法及び装置
KR20050122174A (ko) 정보 기록 매체 드라이브 장치
JP3584913B2 (ja) データ出力方法、記録方法および装置、再生方法および装置、データ送信方法および受信方法
JPH11224461A (ja) 情報処理装置、情報処理方法、提供媒体、および記録媒体
JP2006172147A (ja) コンテンツ保護方法及びその方法を用いた情報記録再生装置
US7433488B2 (en) Information recording medium drive device, information processing apparatus, data replay control system, data replay control method, and computer program
JP2001216727A (ja) 情報記録媒体、記録装置、記録方法、再生装置、再生方法、記録再生方法および伝送方法
US7620993B2 (en) Copyright protection system, key generation apparatus, recording apparatus, reproduction apparatus, read-out apparatus, decryption apparatus, recording medium, recording method and program
JP2003272285A (ja) 情報記録再生装置、情報送信装置、情報受信装置、情報受信記録再生装置、情報送受信システム
JP2001176189A (ja) 記録装置及び方法、再生装置及び方法並びに記録媒体
CN100382161C (zh) 用于管理记录介质的复制保护信息的方法
CN100385521C (zh) 用于管理记录介质的复制保护信息的方法
JP5170229B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4551700B2 (ja) 記録方法、記録装置、再生方法、再生装置および記録媒体
JP2006173853A (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
J501 Disposition of invalidation of trial
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee