KR20030085097A - 콘텐트를 암호화하기 위한 방법 및 장치 - Google Patents

콘텐트를 암호화하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20030085097A
KR20030085097A KR10-2003-7013078A KR20037013078A KR20030085097A KR 20030085097 A KR20030085097 A KR 20030085097A KR 20037013078 A KR20037013078 A KR 20037013078A KR 20030085097 A KR20030085097 A KR 20030085097A
Authority
KR
South Korea
Prior art keywords
blocks
block
content
encrypted content
encrypting
Prior art date
Application number
KR10-2003-7013078A
Other languages
English (en)
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 KR20030085097A publication Critical patent/KR20030085097A/ko

Links

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/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
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]

Landscapes

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

Abstract

콘테트를 암호화하기 위한 방법에 있어서, 복수의 제2 일회-암호화 콘텐트 블럭을 얻기 위해 복수의 제1 개별 콘텐트 블럭을 암호화하는 단계, 복수의 제3 일회-암호화 콘텐트 블럭을 생성하기 위해 복수의 상기 제2 일회-암호화 콘텐트 블럭의 제1 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분과 복수의 상기 제2 일회-암호화 콘텐트 블럭의 제2 블럭 세트 내에 저장된 상기 콘텐트의 적어도 일부분을 상호 교환하는 단계, 및 복수의 제4 이회-암호화 콘텐트 블럭을 생성하기 위해 복수의 상기 제3 암호화 콘텐트 블럭을 암호화하는 단계를 포함하는 방법이다.

Description

콘텐트를 암호화하기 위한 방법 및 장치{METHOD AND APPARATUS FOR ENCRYPTING CONTENT}
현재, 콘텐트(예컨데, 텍스트, 데이터, 음성 콘텐트, 영상 콘텐트, 음성/영상 콘텐트 등)를 암호화하고 보호하기 위한 많은 형태의 종래의 암호화 알고리즘이 있다. 그러나, 이러한 종래의 알고리즘의 대부분은 확실히 안전하다고는 입증되지 않았다. 이러한 종래의 암호화 알고리즘은 극소수의 사람만이 이것을 파괴하고 암호화 데이터에 접근할 수 있다는 이유로 종종 안전하다고 생각되었다. 많은 종래의 알고리즘에서, 암호화 콘텐트가 알려진 파라미터라면 암호화 키를 결정하기 위해 사용될 수 있는 암호 해독 기술이 있다.
종래의 암호화 기술을 암호 해독에 민감하게 하는 속성 중 하나는, 전형적으로 한번에 콘텐트 중 하나의 블럭만이 암호화된다는 사실이다. 전형적으로, 블럭은 길이가 32, 64 또는 128 비트이다. 사이퍼 블럭 채이닝(Cipher Block Chaining; CBC)과 같은 암호화 기술을 사용한다 하더라도 알려진 암호 해독 기술을 사용하여 코드를 파괴하는 해적 행위를 방지할 수 없다.
따라서, 최근에는 암호 해독에 덜 민감한 암호화 방법이 필요하다.
본 발명은 콘텐트를 암호화하기 위한 암호화 기술에 관한 것이다.
도 1은 본 발명의 바람직한 제1 실시예에 따른 방법을 도시하는 흐름도.
도 2는 본 발명의 바람직한 제1 실시예에 따른 송신 시스템을 도시하는 블럭도.
본 발명은 복수의 제1 개별 콘텐트 블럭(separate blocks of content)을 암호화하여 복수의 제2 일회-암호화 콘텐트 블럭(blocks of once-encrypted content)을 획득하고, 복수의 제3 일회-암호화 콘텐트 블럭을 생성하기 위해 복수의 상기 제2 일회-암호화 콘텐트 블럭의 제1 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분과 복수의 상기 제2 일회-암호화 콘텐트 블럭의 제2 블럭 세트 내에 저장된 상기 콘텐트의 적어도 일부분을 상호 교환하고, 복수의 제4 이회-암호화 콘텐트 블럭(blocks of twice-encrypted content)을 생성하기 위해 복수의 상기 제3 암호화 콘텐트 블럭을 암호화함으로써 콘텐트를 암호화하기 위한 방법이다.
본 발명은 또한 기계에 의한 처리를 위해 컴퓨터 판독가능 매체에 구현된 컴퓨터 프로그램이다. 상기 컴퓨터 프로그램은, 복수의 제1 개별 콘텐트 블럭을 암호화하여 복수의 제2 일회-암호화 콘텐트 블럭을 얻기 위한 제1 코드 세그먼트, 복수의 상기 제2 일회-암호화 콘텐트 블럭의 제1 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분과 복수의 제2 일회-암호화 콘텐트 블럭의 제2 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분을 상호 교환하여 복수의 제3 일회-암호화 콘텐트 블럭을 생성하기 위한 제2 코드 세그먼트, 및 복수의 상기 제3 암호화 콘텐트 블럭을 암호화하여 복수의 제4 이회-암호화 콘텐트 블럭을 생성하기 위한 제3 코드 세그먼트를 포함한다.
나아가, 본 발명은, 복수의 제1 개별 콘텐트 블럭을 암호화하여 복수의 제2 일회-암호화 콘텐트 블럭을 얻기 위한 제 1 코드 세그먼트, 복수의 상기 제2 일회-암호화 콘텐트 블럭의 제1 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분과 복수의 제2 일회-암호화 콘텐트 블럭의 제2 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분을 상호 교환하여 복수의 제3 일회-암호화 콘텐트 블럭을 생성하기 위한 제2 코드 세그먼트, 및 복수의 상기 제3 암호화 콘텐트 블럭을 암호화하여 복수의 제4 이회-암호화 콘텐트 블럭을 생성하기 위한 제3 코드 세그먼트를 구비하는 컴퓨터 데이터 신호를 포함한다.
본 발명은 또한 복수의 제1 개별 콘텐트 블럭을 암호화하여 복수의 제2 일회-암호화 콘텐트 블럭을 얻고, 복수의 상기 제2 일회-암호화 콘텐트 블럭의 제1 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분과 복수의 제2 일회-암호화 콘텐트 블럭의 제2 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분을 상호 교환하여 복수의 제3 일회-암호화 콘텐트 블럭을 생성하고, 복수의 상기 제3 암호화 콘텐트 블럭을 암호화하여 복수의 제4 이회-암호화 콘텐트 블럭을 생성하는 송신기, 및 송신된 암호화 콘텐트를 수신하고 해독하기 위한 수신기를 구비하는 신호 송신 시스템을 포함한다.
게다가, 본 발명은 복수의 제1 개별 콘텐트 블럭을 암호화하여 복수의 제2 일회-암호화 콘텐트 블럭을 얻고, 복수의 상기 제2 일회-암호화 콘텐트 블럭의 제1 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분과 복수의 제2 일회-암호화 콘텐트 블럭의 제2 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분을 상호 교환하여 복수의 제3 일회-암호화 콘텐트 블럭을 생성하고, 복수의 상기 제3 암호화 콘텐트 블럭을 암호화하여 복수의 제4 이회-암호화 콘텐트 블럭을 생성하는 장치를 구비하는 송신기를 포함한다.
나아가, 본 발명은 콘텐트를 해독하기 위한 방법을 포함하는데, 상기 방법은 복수의 제2 일회-암호화 콘텐트 블럭을 생성하기 위하여 복수의 제1 이회-암호화 콘텐트 블럭을 해독하는 단계, 복수의 제3 일회-암호화 콘텐트 블럭을 생성하기 위하여 복수의 상기 제2 일회-암호화 콘텐트 블럭의 제1 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분을 복수의 상기 제2 일회-암호화 콘텐트 블럭의 제2 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분과 상호 교환하는 단계, 및 복수의 제4 비암호화 콘텐트 블럭을 생성하기 위하여 복수의 상기 제3 일회-암호화 콘텐트 블럭을 해독하는 단계를 포함한다.
본 발명은 종래의 암호화 방법보다 암호 해독에 덜 민감한 콘텐트 암호화 방법이다. 암호 해독에 의해 암호화 코드를 파괴하는 것을 방지하기 위해, 본 발명자는 모든 콘텐트를 암호화하여 암호화 콘텐트의 모든 비트가 암호화되지 않은 콘텐트의 모든 비트에 종속적, 또는 그 역으로 하는 것이 바람직하다는 것을 알았다. 특히, 본 발명은 암호화되지 않은 콘텐트를 분해하여 제1 시리즈 블럭으로 하고, 콘텐트를 암호화하고, 제1 시리즈 블럭의 각각을 서로 '스와핑'하고, 콘텐트를 두번째로 암호화한다.
사이퍼 블럭 채이닝(CBC)은 콘텐트 앞의 암호화되지 않은 비트 모두에 종속적인 암호화 콘텐트를 만들기 위한 하나의 암호화 방법이다. 그러나, CBC는 암호화 콘텐트를 콘텐트 뒤의 암호화되지 않은 비트에 종속적으로 만들지는 않는다. CBC 암호화를 사용하여 암호화되는 비암호화 콘텐트 블럭인 A1, B1 및 C1을 예로 들어 보자. 우선, 블럭 A1은 암호화되어 암호화 블럭 A2를 생성한다. CBC 방법에서, 이렇게 처음 암호화 블럭 A2는 뒤따르는 모든 블럭(예컨데, B1, C1)을 암호화하는데 사용된다. 따라서, 첫 블럭을 뒤따르는 모든 비암호화 블럭은 암호화를 위해 처음 블럭에 종속적이다. 그러나, 어떠한 비암호화 블럭(예컨데, A1, B1, C1)도 암호화를 위해 뒤의 블럭에 종속적이지 않다. 이러한 CBC의 특징은 CBC 암호화 콘텐트의 암호 해독을 더욱 쉽게 한다. CBC는 또한 암호 해독 기술을 이용하여 한번에 한 블럭씩 코드를 파괴하는 해적 행위를 방지하지 않는다.
본 발명은 콘텐트를 암호화하기 위해 '루프 스루(loop through)' 방법으로 구현된다. '루프 스루' 방법은 암호화가 자신을 루프 스루하여 암호화 콘텐트의 모든 비트가 비암호화 콘텐트의 모든 비트에 종속적으로 되게 한다.
콘텐트를 암호화하기 전에, 임의의 시드 숫자가 콘텐트의 시작과 같은 소정의 위치에 위치한다. 동일한 콘텐트가 두번 암호화되더라도 이것이 암호화 콘텐트를 다르게 만든다. 다음으로, 블럭 사이퍼(예컨데, DES, AES 등)를 사용하여 콘텐트가 암호화된다. 블럭 사이퍼는 CBC 모드에서 바람직하게 작동된다. CBC 모드는 블럭이 암호화되기 전에 블럭 앞의 암호화 콘텐트와 배타적 OR될 것을 요구한다.해독을 위해, 각 블럭이 해독된 후에 앞의 암호화 블럭과 배타적 OR된다.
다음으로, 매 64 비트 블럭의 처음 32 비트는 서로 스와핑된다. 따라서, 두개의 64 비트 블럭에서는, 제1 블럭의 처음 32 비트가 제2 블럭의 처음 32 비트와 스와핑된다. 2 블럭 이상을 포함하는 구성에서는, 각 블럭의 처음 32 비트는 블럭 세트의 중간에서 동일한 거리만큼 떨어져 있는 블럭의 처음 32 비트와 스와핑된다. 예를 들면, 4개의 64 비트 블럭에서는, 제1 블럭의 처음 32 비트가 제4 블럭의 처음 32 비트와 스와핑되고, 제2 블럭의 처음 32 비트는 제3 블럭의 처음 32 비트와 스와핑된다. 6개의 64 비트 블럭에서는, 제1 블럭의 처음 32 비트가 제6 블럭의 처음 32 비트와 스왑되고, 제2 블럭의 처음 32 비트가 제5 블럭의 처음 32 비트와 스와핑되고, 제3 블럭의 처음 32 비트가 제4 블럭의 처음 32 비트와 스와핑된다. 당업자라면, 128 비트 블럭 암호화에서는, 64 비트 블럭이 루프 스루 암호화를 위해 (32 비트 블럭과 반대로) 사용될 수 있다는 것을 알 수 있다. 일단 콘텐트의 블럭이 '스와핑'되면, 콘텐트 블럭은 CBC 모드에서 동일한 키를 사용하여 다시 암호화된다. 짝수가 아닌 수(예컨데, 3, 5, 7 등)의 블럭이 있는 구성에서는, 가운데 블럭이 자기 자신과 스와핑될 것이고, 결국 그 블럭에서는 전체적으로 변화가 없을 것이다.
위 과정은 콘텐트가 자신을 루프 스루하게 하고, 따라서, 암호화 콘텐트의 모든 비트가 원래의 비암호화 콘텐트의 모든 비트에 종속적이게, 또는 그 역이 되도록 한다.
도 1은 콘텐트를 암호화하기 위한 루프 스루 암호화 방법(100)의 흐름도를도시한다. 상기 방법은 비암호화 콘텐트의 복수의 제1 블럭(110-113)으로 시작되고, 각 블럭은 64 비트 블럭을 포함한다. 도 1에 이러한 블럭이 64 비트 블럭으로 도시되었지만, 당업자라면 본 발명의 범위를 벗어나지 않고, 블럭이 다양한 크기(예컨데, 128 비트 등)일 수 있다는 것을 알 것이다. 예를 들면, 64-비트 블럭(110)은 P0와 P1으로 표시되는 두개의 32-비트 블럭을 포함하고, 64-비트 블럭(111)은 P2와 P3 등으로 표시되는 두개의 32-비트 블럭을 포함한다. 당업자라면 알 수 있듯이, 모든 비암호화 메시지를 암호화하기 위해서 충분한 수의 블럭이 있어야 한다.
상기한 바와 같이, 이러한 비암호화 블럭(110-113)은 CBC 모드 블럭 사이퍼를 사용하여 암호화된다. CBC 모드에서, 블럭(110, 111, 112, 113)의 시퀀스에서 첫번째 비암호화 블럭[예컨데, 블럭(110)]은 암호화되어 첫번째 암호화 블럭(210)을 생성한다. 각각의 뒤따르는 암호화 블럭에서는, 전 블럭의 암호화 결과가 암호화 전의 블럭과 배타적으로 OR(XOR)된다. 예를 들면, 비암호화 블럭(110)으로부터 얻어진 암호화 블럭(210)(32비트의 암호화 블럭 E0, E1을 포함)은 비암호화 블럭(111)과 XOR되어 암호화를 위한 XOR 블럭을 형성한다. 블럭이 암호화되면, 암호화 블럭(211)(32비트의 암호화 블럭 E2, E3를 포함)이 생성된다. 유사하게, 암호화 블럭(211)은, 블럭이 암호화되기 전에 비암호화 블럭(112)과 배타적으로 OR되어 암호화 블럭(212)(32비트의 암호화 블럭 E4, E5를 포함)을 생성하고, 암호화 블럭(212)은, 블럭이 암호화되기 전에 비암호화 블럭(113)과 배타적으로 OR되어 암호화 블럭(213)(32비트의 암호화 블럭 E6, E7을 포함)을 생성한다.
CBC 블럭 모드 암호화의 결과는 복수의 제2 일회-암호화 블럭(210-213)(32 비트의 암호화 블럭 E0-E7을 포함)이다. 일회-암호화 블럭(211-213)의 각각이 배타적 OR 기능에 의해 선행하는 블럭에 모두 종속적이라는 것을 알 수 있다.
다음으로, 일회-암호화 블럭(210-213)(E0-E7)의 '루프 스루'가 실행된다. '루프 스루'는, 각 64 비트의 일회-암호화 블럭(예컨데, 210)의 처음 32 비트(예컨데, E0)가 암호화 블럭 배열의 반대측에서 대응하는 64 비트의 일회-암호화 블럭(예컨데, 213)의 처음 32 비트(예컨데, E6)와 상호 교환된다는 것을 의미한다. 예를 들면, 32 비트 블럭 E0는 32 비트 블럭 E6와 상호 교환되고, 32 비트 블럭 E2는 32 비트 블럭 E4와 상호 교환된다. 상호 교환이나 '루프 스루' 후에, 32 비트 블럭 E0-E7은 말하자면 '무질서(out of order)'하게 되고, 결국 복수의 제3 블럭(310-313)이 된다.
다음으로, 일회-암호화되고 재배열된 블럭(310-313)은 블럭(111-113)에 대하여 상술한 바와 같이 동일한 CBC 블럭 사이퍼에 종속적이다. 특히, 시퀀스에서 첫번째 일회-암호화 블럭(예컨데, 블럭(310))은 다시 암호화되어 첫번째 이회-암호화 블럭(410)을 생성한다. 각각의 뒤따르는 일회-암호화 블럭에서, 첫번째 이회-암호화 블럭(410)은 제2 암호화 프로세스 전에 시퀀스에서 다음(두번째) 일회-암호화 블럭[예컨데, 블럭(311)]과 배타적으로 OR된다. 본 경우에서, 블럭(310)은 처음으로 일회-암호화되어 이회-암호화 블럭(410)(32비트 암호화 블럭 F0, F1)을 생성한다. 그 후, 이회-암호화 블럭(410)은 블럭이 다시 암호화되기 전에 일회-암호화 블럭(311)과 배타적으로 OR되어 이회-암호화 블럭(411)(32 비트 암호화 블럭 F0,F3를 포함)을 생성한다. 유사하게, 이회-암호화 블럭(411)은 블럭이 다시 암호화되기 전에 일회-암호화 블럭(312)과 배타적으로 OR되어 이회-암호화 블럭(412)(32 비트 암호화 블럭 F4, F5를 포함)을 생성하고, 이회-암호화 블럭(412)은 블럭이 다시 암호화되기 전에 일회-암호화 블럭(313)과 배타적으로 OR되어 이회-암호화 블럭(413)(32 비트 암호화 블럭 F6, F7을 포함)을 생성한다. 상기한 프로세스는 이회-암호화되고 한번 재배열된(스와핑된) 복수의 네번째 블럭(410-413)을 생성한다.
콘텐트의 재배열되고 이회-암호화 블럭(410-413)은 종래의 암호 해독 기술을 사용해서 해독하기가 매우 어렵다. 암호화 콘텐트의 모든 비트가 암호화되지 않은 모든 비트에 종속적이기 때문에, 메시지[예컨데, 블럭(110-113)]를 해독하기 위해서는, 모든 메시지가 하나의 블럭으로 해독되어야 할 것이다. 더 큰 메시지에서, 임의의 암호화 키를 시도하는데 필요한 시간과 메모리는 메시지에 크기에 따라 선형적으로 증가하고, 암호 해독을 매우 어렵게 만든다.
해독을 위해서, 위 프로세스는 역으로 실시될 수 있다. 예를 들면, 각 블럭(410-413)은 우선 암호화되지 않고 그 후 시퀀스의 앞의 블럭과 배타적으로 OR되어 블럭(310-313)을 생성한다. 그후, '루프 스루' 동작이 역으로 실시되어 블럭(310-313)을 생성한다. 마지막으로, 각 블럭(210-213)은 암호화되지 않고 시퀀스의 앞의 블럭과 배타적으로 OR되어 원래의 비암호화 블럭(110-113)을 생성한다.
도 2는 본 발명의 바람직한 실시예에 따른 송신 시스템(200)을 도시한다.시스템(200)은 송신기(210)와 수신기(220)를 포함한다. 송신기(210)는 바람직하게 상술한 암호화 방법을 실시하기 위한 하드웨어나 소프트웨어를 포함한다. 송신기(210)는 또한 바람직하게 이러한 암호화 콘텐트를 수신기(220)로 송신하기 위한 하드웨어나 소프트웨어를 포함한다. 유사하게, 수신기(220)는 송신기(210)에 의해 송신된 콘텐트를 수신하고 해독하기 위한 하드웨어나 소프트웨어를 포함한다. 수신기(220)는 수신된 콘텐트를 해독하기 위해 상술한 해독 프로세스를 사용할 수 있다. 송신기(210)와 수신기(220) 사이의 연결이 도 2에 무선 연결로 도시되었지만, 당업자라면 유선 연결도 본 발명의 범위를 벗어나지 않고 사용될 수 있다는 것을 알 것이다.
송신 시스템(200)은 많은 다른 형태의 송신 시스템을 포함할 수 있다. 예를 들면, 송신 시스템(200)은 조건부 접속(conditional access; CA) 시스템을 포함할 수 있다. 조건부 접속 시스템에서, 송신기(210)는 위성이나 케이블 송신국을 포함하고 수신기(220)는 셋톱 박스(set top box; STB)나 다른 동등한 수신부를 포함한다.
본 발명은 이러한 프로세스를 수행하기 위한 컴퓨터-동작 프로세스와 장치의 형태로 구현될 수 있다. 본 발명은 또한 플로피 디스켓, 판독 전용 메모리(ROM), CD-ROM, 하드 드라이브, 고밀도 디스크 또는 다른 컴퓨터-판독가능 저장 매체와 같은 실체적인 매체에서 컴퓨터 프로그램의 형태로 구현될 수 있다. 컴퓨터 프로그램 코드가 컴퓨터에 의해 로딩되고 실행될 때, 컴퓨터는 본 발명을 실행하기 위한 장치가 된다.
본 발명은 또한, 예를 들면, 저장 매체에 저장되거나, 컴퓨터에 의해 로딩되고 실행되거나, 전선이나 케이블, 광 섬유 또는 전자기 방사와 같이 어떠한 송신 매체를 통해 송신되는, 컴퓨터 프로그램 코드의 형태로 구현된다. 컴퓨터 프로그램 코드가 컴퓨터에 의해 로딩되고 시행될때, 컴퓨터는 본 발명을 실시하기 위한 장치가 된다. 범용 프로세서에서 실행될때, 컴퓨터 프로그램 코드 세그먼트는 특정 논리 회로를 생성하는 프로세서를 형성한다.
본 발명이 바람직한 실시예의 측면에서 설명되었지만, 이에 한정되는 것은 아니다. 더욱이, 첨부된 특허청구범위는 본 발명의 범위 및 균등 범위를 벗어나지 않고 당업자가 만들 수 있는 본 발명의 다른 변형예와 실시예를 포함하도록 넓게 해석되어야 한다.

Claims (19)

  1. 콘텐트를 암호화하기 위한 방법에 있어서,
    복수의 제1 개별 콘텐트 블럭을 암호화하여 복수의 제2 일회-암호화 콘텐트 블럭을 획득하는 단계;
    복수의 제3 일회-암호화 콘텐트 블럭을 생성하기 위해 복수의 상기 제2 일회-암호화 콘텐트 블럭의 제1 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분과 복수의 상기 제2 일회-암호화 콘텐트 블럭의 제2 블럭 세트 내에 저장된 상기 콘텐트의 적어도 일부분을 상호 교환하는 단계; 및
    복수의 제4 이회-암호화 콘텐트 블럭을 생성하기 위해 복수의 상기 제3 암호화 콘텐트 블럭을 암호화하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 별개 콘텐트 블럭을 암호화하기 전에 복수의 상기 제1 개별 콘텐트 블럭 내의 소정의 위치에 임의의 숫자를 삽입하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서, 복수의 제1 별개 콘텐트 블럭을 암호화하는 상기 단계는, 블럭 암호화를 사용하여 상기 블럭을 암호화하는 단계를 포함하는 방법.
  4. 제1항에 있어서, 복수의 상기 제3 블럭을 암호화하는 상기 단계는, 블럭 암호화를 사용하여 상기 블럭을 암호화하는 단계를 포함하는 방법.
  5. 제1항에 있어서, 복수의 상기 제1 개별 콘텐트 블럭에서 상기 개별 콘텐트 블럭의 각각은 32-비트 블럭을 포함하는 방법.
  6. 제1항에 있어서, 복수의 상기 제1 개별 콘텐트 블럭에서 상기 개별 콘텐트 블럭의 각각은 64-비트 블럭을 포함하는 방법.
  7. 제1항에 있어서, 복수의 상기 제1 개별 콘텐트 블럭에서 상기 개별 콘텐트 블럭의 각각은 128-비트 블럭을 포함하는 방법.
  8. 제1항에 있어서, 복수의 제1 개별 콘텐트 블럭을 암호화하는 상기 단계는,
    적어도 하나의 제1 컨텐트 블럭을 암호화하는 단계;
    적어도 하나의 상기 제4 암호화 콘텐트 블럭과 적어도 하나의 상기 제2 콘텐트 블럭 사이에서 적어도 하나의 상기 제2 콘텐트 블럭을 암호화하기 전에 논리 동작을 수행하는 단계; 및
    적어도 하나의 상기 제2 콘텐트 블럭을 암호화하는 단계
    를 포함하는 방법.
  9. 제8항에 있어서, 상기 논리 동작은, 배타적 OR 기능을 포함하는 방법
  10. 제8항에 있어서,
    적어도 하나의 상기 제2 암호화 콘텐트 블럭과 적어도 하나의 상기 제3 콘텐트 블럭 사이에서 적어도 하나의 상기 제3 콘텐트 블럭을 암호화하기 전에 논리 동작을 수행하는 단계; 및
    적어도 하나의 상기 제3 콘텐트 블럭을 암호화하는 단계
    를 더 포함하는 방법.
  11. 제10항에 있어서, 상기 논리 동작은, 배타적 OR 기능을 포함하는 방법.
  12. 제1항에 있어서, 상기 암호화 콘텐트를 상호 교환하는 단계는, 복수의 상기 제2 블럭의 제1 블럭에 저장된 상기 암호화 콘텐트의 적어도 일부분과 복수의 상기 제2 블럭의 제2 블럭 - 상기 제2 블럭은 복수의 상기 제2 블럭의 중심으로부터 상기 제1 블럭과 동일한 거리만큼 떨어져 있음 - 에 저장된 상기 암호화 콘텐트의 적어도 일부분을 상호 교환하는 단계를 포함하는 방법.
  13. 제12항에 있어서, 상기 암호화 콘텐트를 상호 교환하는 상기 단계는, 복수의 상기 제2 블럭의 상기 제1 블럭을 뒤따르는 각 블럭에 저장된 상기 암호화 콘텐트의 적어도 일부분과 각 블럭 - 복수의 상기 제2 블럭의 중심으로부터 동일한 거리만큼 떨어져 있음 - 에 저장된 상기 암호화 콘텐트의 적어도 일부분을 상호 교환하는 단계를 더 포함하는 방법.
  14. 제1항에 있어서, 복수의 상기 제3 암호화 콘텐트 블럭을 암호화하는 상기 단계는,
    적어도 하나의 상기 제1 암호화 콘텐트 블럭을 암호화하는 단계;
    적어도 하나의 상기 제1 암호화 콘텐트 블럭과 적어도 하나의 상기 제2 콘텐트 블럭의 사이에서 적어도 하나의 제2 콘텐트 블럭을 암호화하기 전에 논리 동작을 수행하는 단계; 및
    적어도 하나의 상기 제2 콘텐트 블럭을 암호화하는 단계
    를 포함하는 방법.
  15. 기계에 의한 처리를 위해 컴퓨터 판독가능 매체에 구현된 컴퓨터 프로그램에 있어서,
    복수의 제1 개별 콘텐트 블럭을 암호화하여 복수의 제2 일회-암호화 콘텐트 블럭을 얻기 위한 제1 코드 세그먼트;
    복수의 상기 제2 일회-암호화 콘텐트 블럭의 제1 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분과 복수의 제2 일회-암호화 콘텐트 블럭의 제2 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분을 상호 교환하여 복수의 제3 일회-암호화 콘텐트 블럭을 생성하기 위한 제2 코드 세그먼트; 및
    복수의 상기 제3 암호화 콘텐트 블럭을 암호화하여 복수의 제4 이회-암호화 콘텐트 블럭을 생성하기 위한 제3 코드 세그먼트
    를 포함하는 컴퓨터 프로그램.
  16. 반송파에 구현된 컴퓨터 데이터 신호에 있어서,
    복수의 제1 개별 콘텐트 블럭을 암호화하여 복수의 제2 일회-암호화 콘텐트 블럭을 얻기 위한 제 1 코드 세그먼트;
    복수의 상기 제2 일회-암호화 콘텐트 블럭의 제1 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분과 복수의 제2 일회-암호화 콘텐트 블럭의 제2 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분을 상호 교환하여 복수의 제3 일회-암호화 콘텐트 블럭을 생성하기 위한 제2 코드 세그먼트; 및
    복수의 상기 제3 암호화 콘텐트 블럭을 암호화하여 복수의 제4 이회-암호화 콘텐트 블럭을 생성하기 위한 제3 코드 세그먼트
    를 포함하는 컴퓨터 데이터 신호.
  17. 신호 송신 시스템에 있어서,
    복수의 제1 개별 콘텐트 블럭을 암호화하여 복수의 제2 일회-암호화 콘텐트 블럭을 얻고, 복수의 상기 제2 일회-암호화 콘텐트 블럭의 제1 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분과 복수의 제2 일회-암호화 콘텐트 블럭의 제2 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분을 상호 교환하여 복수의 제3 일회-암호화 콘텐트 블럭을 생성하고, 복수의 상기 제3 암호화 콘텐트 블럭을 암호화하여 복수의 제4 이회-암호화 콘텐트 블럭을 생성하는 송신기; 및
    송신된 암호화 콘텐트를 수신하고 해독하기 위한 수신기
    를 포함하는 신호 송신 시스템.
  18. 송신기에 있어서,
    복수의 제1 개별 콘텐트 블럭을 암호화하여 복수의 제2 일회-암호화 콘텐트 블럭을 얻고, 복수의 상기 제2 일회-암호화 콘텐트 블럭의 제1 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분과 복수의 제2 일회-암호화 콘텐트 블럭의 제2 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분을 상호 교환하여 복수의 제3 일회-암호화 콘텐트 블럭을 생성하고, 복수의 상기 제3 암호화 콘텐트 블럭을 암호화하여 복수의 제4 이회-암호화 콘텐트 블럭을 생성하는 장치
    를 포함하는 송신기.
  19. 콘텐트를 해독하기 위한 방법에 있어서,
    복수의 제2 일회-암호화 콘텐트 블럭을 생성하기 위하여 복수의 제1 이회-암호화 콘텐트 블럭을 해독하는 단계;
    복수의 제3 일회-암호화 콘텐트 블럭을 생성하기 위하여 복수의 상기 제2 일회-암호화 콘텐트 블럭의 제1 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분을 복수의 상기 제2 일회-암호화 콘텐트 블럭의 제2 블럭 세트에 저장된 상기 콘텐트의 적어도 일부분과 상호 교환하는 단계; 및
    복수의 제4 비암호화 콘텐트 블럭을 생성하기 위하여 복수의 상기 제3 일회-암호화 콘텐트 블럭을 해독하는 단계
    를 포함하는 방법.
KR10-2003-7013078A 2001-04-07 2002-04-03 콘텐트를 암호화하기 위한 방법 및 장치 KR20030085097A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US28205601P 2001-04-07 2001-04-07
US60/282,056 2001-04-07
PCT/US2002/010691 WO2003010916A2 (en) 2001-04-07 2002-04-03 Method and apparatus for encrypting content

Publications (1)

Publication Number Publication Date
KR20030085097A true KR20030085097A (ko) 2003-11-01

Family

ID=23079918

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7013078A KR20030085097A (ko) 2001-04-07 2002-04-03 콘텐트를 암호화하기 위한 방법 및 장치

Country Status (6)

Country Link
EP (1) EP1386442A2 (ko)
JP (1) JP2004537072A (ko)
KR (1) KR20030085097A (ko)
CN (1) CN1531799A (ko)
MX (1) MXPA03008892A (ko)
WO (1) WO2003010916A2 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013011702A (ja) * 2011-06-28 2013-01-17 Dainippon Printing Co Ltd 暗号化方法、暗号化プログラム、暗号化装置、復号方法、復号プログラム、復号装置
WO2016153457A1 (en) * 2015-03-20 2016-09-29 Hewlett Packard Enterprise Development Lp Datastream block encryption

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3905667A1 (de) * 1989-02-24 1990-08-30 Ant Nachrichtentech Verfahren zum ver- und entschluesseln eines nachrichtenstromes

Also Published As

Publication number Publication date
WO2003010916A2 (en) 2003-02-06
CN1531799A (zh) 2004-09-22
EP1386442A2 (en) 2004-02-04
WO2003010916A3 (en) 2003-10-02
JP2004537072A (ja) 2004-12-09
MXPA03008892A (es) 2003-12-08

Similar Documents

Publication Publication Date Title
CN100592683C (zh) 来自数字权利管理加密解密器的受保护的返回路径
US8155311B2 (en) Method and apparatus for encrypting message for maintaining message integrity, and method and apparatus for decrypting message for maintaining message integrity
EP0592808B1 (en) Commercial data masking
KR20100069610A (ko) 연쇄화된 암호화 모드를 위한 방법 및 디바이스
ES2373131T3 (es) Distribución segura de contenido utilizando claves de descifrado.
US20090141889A1 (en) Data processing apparatus
KR102397579B1 (ko) 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치
JP2007043353A (ja) 送受信システムおよび方法、送信装置および方法、受信装置および方法、並びにプログラム
US7617402B2 (en) Copyright protection system, encryption device, decryption device and recording medium
US20100061550A1 (en) Data processing apparatus
US20060233361A1 (en) Device, method, and program for encrypton and decryption and recording medium
US20040141614A1 (en) Data encryption apparatus and method
EP2326043A1 (en) Preventing cloning of receivers of encrypted messages
JPH0728407A (ja) 暗号における暗号化前処理装置および復号後処理装 置
US20040131181A1 (en) Method and apparatus for encrypting content
CN103117850A (zh) 一种基于随机序列数据库的密码系统
KR20150064042A (ko) 디지털 데이터 블록 암호화 및 해독화 방법
KR101602803B1 (ko) 편광을 이용한 암호화 및 복호화방법
US7436966B2 (en) Secure approach to send data from one system to another
KR20030085097A (ko) 콘텐트를 암호화하기 위한 방법 및 장치
US20060078121A1 (en) Encrypted cryptography system
JP2002023624A (ja) ブロック暗号通信方法とその装置、及びブロック暗号通信プログラムを記録した記録媒体
JP2001285278A (ja) 暗号通信方法及び暗号通信システム
JP3182617B2 (ja) 暗号化通信方式
KR100542042B1 (ko) 되풀이 공격을 막기 위한 위성 원격측정명령의 암호 인증방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application