KR20060040742A - 프로세스 과정에서 암호화된 데이터의 위조 검출 데이터를발생시키는 장치 및 방법 - Google Patents

프로세스 과정에서 암호화된 데이터의 위조 검출 데이터를발생시키는 장치 및 방법 Download PDF

Info

Publication number
KR20060040742A
KR20060040742A KR1020067005163A KR20067005163A KR20060040742A KR 20060040742 A KR20060040742 A KR 20060040742A KR 1020067005163 A KR1020067005163 A KR 1020067005163A KR 20067005163 A KR20067005163 A KR 20067005163A KR 20060040742 A KR20060040742 A KR 20060040742A
Authority
KR
South Korea
Prior art keywords
data
encrypted
encryption
result
block
Prior art date
Application number
KR1020067005163A
Other languages
English (en)
Other versions
KR100593491B1 (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 KR20060040742A publication Critical patent/KR20060040742A/ko
Application granted granted Critical
Publication of KR100593491B1 publication Critical patent/KR100593491B1/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/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

암호화 대상 데이터(301)는 부분적으로 연속하여 추출된다. 사전 추출된 데이터 부분을 암호화한 결과는 연속적으로 현재 추출된 데이터 부분을 암호화한 결과를 연속하여 계산하는데 사용된다. 연속하여 계산된 상기 암호화 결과는 암호화 데이터 (305)를 발생시키는데 사용된다. 상기 암호화 데이터를 발생시키는데 있어서, 최종적으로 계산된 상기 암호화 결과(PF(z+1))는 상기 발생된 암호화 데이터에 첨부된다. 최종적으로 계산된 결과는 암호화 대상 데이터가 위조된 데이터인지 여부를 검출하기 위한 위조 검출 데이터(308)로서 사용된다.
암호화, 복호화, 암호화 프로세스 정보, 복호화 프로세스 정보, 위조 검출

Description

프로세스 과정에서 암호화된 데이터의 위조 검출 데이터를 발생시키는 장치 및 방법{APPARATUS AND METHOD FOR GENERATING DATA FOR DETECTING FALSE ALTERATION OF ENCRYPTED DATA DURING PROCESSING}
도 1은 제 1 실시예의 암호화 프로세스의 흐름도.
도 2는 제 1 실시예의 복호화 프로세스의 흐름도.
도 3은 제 1 실시예의 암호화 및 복호화 프로세스에서 데이터의 흐름을 개략적으로 나타낸 도.
도 4a 및 4b는 예시를 통해 구체적으로 제 1 실시예의 암호화 및 복호화 프로세스를 나타내는 개략도.
도 5는 예시를 통해 구체적으로 제 1 실시예의 암호화 프로세스를 나타내는 도.
도 6a, 6b 및 6c는 예시를 통해 제 2 실시예에 따른 데이터 구조를 나타내는 도.
도 7은 제 2 실시예의 암호화 프로세스의 흐름도.
도 8은 제 2 실시예의 복호화 프로세스의 흐름도.
도 9는 제 3 실시예의 분배 시스템의 구성도.
도 10a 및 10b는 예시를 통해 제 3 실시예의 전자 북 컨텐츠의 데이터 구조 를 나타내는 도.
도 11은 제 4 실시예의 복호화 프로세스의 데이터 흐름을 나타내는 개략도.
도 12는 제 4 실시예의 복호화 프로세스의 흐름도.
도 13은 제 4 실시예의 복호화 프로세스에서 데이터 흐름을 나타내는 개략도.
도 14는 제 5 실시예의 정보 처리 장치의 구성을 나타내는 도.
도 15는 종래의 암호화 프로세스의 흐름도.
도 16은 종래의 암호화 및 복호화 프로세스에서 데이터 흐름을 나타내는 개략도.
본 발명은 전자 데이터의 위조를 검출할 수 있는 암호화 데이터를 발생시키기 위한 암호화 기술 및 암호화 데이터를 복호화하기 위한 복호화 기술에 관한 것이다.
저작권 보호를 요하는 프로그램 및 데이터 또는 고도의 비밀 데이터는 네트워크를 통해 송수신되고 컴팩트 디스크-판독 전용 메모리(CD-ROM) 또는 다른 기록 매체에 기록되며 상업적으로 배포된다. 그러한 데이터는 데이터 액세스 권한이 없는 제 3 자에 의해 액세스되거나 위조될 수 있다. 이러한 사항을 방지하기 위해, 데이터는 암호화된다.
통신되는 데이터는 도 15를 참조로 기술된 예에서와 같이 암호화된다. 초기에, 전송측은 암호화 대상 데이터를 판독하고(단계 S1001) 위조 검출을 위한 검사 문자열인 메시지 다이제스트(digest)(MD)를 계산하기 위해 해시 함수를 이용한다 (S1002). 위조는 MD를 계산하는 방법 이외의 방법에 의해 검출될 수 있다. 예를 들어, 위조는 주기적 덧붙임 검사(CRC) 코드를 이용하는 것과 같은 다른 방법에 의해 검출될 수 있다. 암호화 대상 데이터는 그 후에 규정된 암호화 기술에 따라 암호화되며(S1003) 상기 암호화된 데이터에 S1002에서 얻어진 MD가 첨부된 후, 상대방에 전송된다(S1004).
도시되지는 않았지만, 수신기는 상기 프로세스의 역 버전을 달성한다. 더욱 구체적으로, 암호화 데이터를 수신한 수신기는 초기에 복호화 프로세스를 수행하고 그후에 MD를 계산한다. 이렇게 계산된 MD는 수신한 암호화 데이터에 첨부된 MD와 비교된다. 상기 MD들이 매칭하면, 수신된 데이터는 위조 없는 정상 데이터인 것으로 결정된다.
도 16은 상기에 기술된 데이터 흐름을 개략적으로 나타낸다. 도 16에서, 암호화 대상 데이터(101)는 사전에 z개의 서브데이터 Ni로 분할되며, 여기서 i = 1에서 z까지이다. S1 및 S2에서, 각 데이터 Ni에 대해 해시 함수 프로세스를 수행하기 위해 해시 함수가 이용되며, 암호화 프로세스를 수행하기 위해 암호화 프로세스 정보 및 파라미터 변조부가 이용된다. 결과적으로, 암호화 데이터(Mi)가 발생되며, 여기서 i = 1에서 z까지이다. 그렇게 함으로써, 해시 함수 프로세스의 최종 결과는 암호화 데이터(102)를 완성하기 위해 위조 검출 검사 문자열(MD)로서 암호 화 데이터(M1-Mz)에 첨부된다. 암호화 데이터(102)를 복호화하기 위해, 우선 S3에서 암호화된 데이터(Mi)를 복호화 프로세스 정보 및 파라미터 변조부를 이용하는 복호화 프로세스에 부속시켜 데이터(Pi)로 형성된 복호화 데이터(103)를 획득하며, 여기서 i = 1에서 z까지이다. 그 후에, S4에서 검사 문자열(MD)을 계산하기 위해 모든 데이터(Pi)에 대해 해시 함수 프로세스를 수행한다. 계산된 검사 문자열 (MD)은 암호화된 데이터(102)에 포함된 위조 검출 검사 문자열(MD)과 비교되며, 상기 MD들이 매칭하면 암호화 데이터(M1-Mz)는 위조되지 않은 것으로 판단되며 MD들이 매칭하지 않으면 데이터는 위조된 데이터로 판단된다.
상기에 기술된 종래의 암호화 프로세스는 다음의 2가지 단계를 필요로 한다: 위조 검출 검사 문자열을 계산하는 단계 및 데이터를 암호화하는 단계. 복호화 프로세스는 또한 데이터를 복호화하는 단계 및 비교를 위해 위조 검출 검사 문자열을 계산하는 단계의 2가지 단계를 필요로 한다. 상기 단계의 각각은 상당히 큰 양의 프로세스량을 포함하며, 암호화 및 복호화 프로세스를 수행하는 장치는 전송을 위한 암호화 및 재생을 위한 복호화를 완성하는데 긴 시간을 필요로 할 것이다. 이러한 점은 예를 들어, 네트워크를 통해 서버로부터 클라이언트에 대응하는 이동 단말기에 컨텐츠를 분배하며 상기 컨텐츠를 이동 단말기측에서 즉시 재생하는 실시간 프로세스에서의 수행에 있어서 장애가 된다. 다시 말해, 낮은 프로세스 성능을 갖는 이동 단말기는 수신한 컨텐츠를 재생하기 위해 긴 시간을 필요로 하며, 이것은 실무 효용성을 떨어뜨린다.
게다가, 정당하게 획득한 컨텐츠임에도 불구하고 상기 컨텐츠는 네트워크를 통해 또는 상기 컨텐츠를 저장하는 매체에서의 송수신동안 부분적으로 손실된 데이터를 포함하거나 다른 데이터로 교체된 데이터를 포함할 수 있다. 그러한 경우에, 다시 정당한 컨텐츠를 획득하기 위해, 상기 컨텐츠의 전체 데이터가 수신되어야 하며 그에 따라 데이터를 전송하는데 상당히 긴 시간이 소비된다.
일본 특허 공개 공보 NO. 2000-122861은 소프트웨어, 데이터등의 위조를 방지하는데 이용되는 기술을 개시한다. 상기 기술에 있어서, 상기에 기술된 것과 같은 해시 함수가 위조를 검출하는데 이용된다. 더욱이, 상기 기술에서 암호화 대상 데이터는 각각이 하나의 개체로 이용되는 다수의 블록으로 분할되며 블록이 암호화 처리될 때마다 상기 블록의 암호화 키가 계산되는데, 이것은 상당한 시간을 낭비한다.
본 발명은 컴퓨터에 의해 방법을 수행하는 프로그램 및 상기 프로그램이 기록된 매체의 프로세스량을 감소시키는 장치 및 방법에 관한 것이다.
상기 목적을 달성하기 위해, 본 발명의 일 측면은 암호화된 데이터를 발생시키기 위해 데이터를 암호화하는 암호화 방법 및 장치를 제공한다. 상기 암호화가 수행되면, 암호화 결과가 계산된다. 상기 결과는 암호화 데이터에 첨부되는 데이터로 표시된다. 암호화 결과를 나타내는 이러한 데이터는 상기 암호화 데이터가 위조된 데이터인지 여부를 검출하기 위한 위조 검출 데이터를 나타낸다. 따라서, 암호화된 데이터가 생성되는 동안, 위조 검출 데이터가 획득될 수 있다. 이로 인해 암호화 데이터 생성과 별도로 위조 검출 데이터를 계산할 필요가 없게 된다. 따라서, 프로세스량을 감소시키면서 암호화가 달성될 수 있다.
상기 목적을 달성하기 위해, 본 발명의 다른 측면은 암호화된 데이터의 위조여부를 검출하는 방법 및 장치를 제공한다. 상기 방법 및 장치는 복호화 데이터를 발생시키기 위해 암호화 데이터를 수신하고 복호화한다. 상기 복호화가 진행되면, 복호화 결과가 계산된다. 상기 결과는 암호화 데이터가 위조된 데이터인지 여부를 검출하기 위한 위조 검출 데이터를 나타내는 데이터로 표시된다. 따라서, 복호화 데이터가 생성되는 동안, 위조 검출 데이터가 획득될 수 있다. 이로 인해 복호화 데이터 생성과 별도로 위조 검출 데이터를 계산할 필요가 없게 된다. 따라서, 프로세스량을 감소시키면서 복호화를 달성할 수 있다.
상기에 기술된 암호화 데이터의 위조를 검출하는 방법 및 장치에서, 바람직하게는 암호화 데이터는 규정된 크기의 각 데이터 블록에 대해 복호화되어 상기 데이터 블록에 대한 복호화 블록 데이터를 발생시킨다. 복호화가 진행될 때 계산된 각 복호화 블록 데이터에 대해, 암호화 블록 데이터를 복호화한 결과를 나타내는 데이터는 데이터 블록에 첨부된 위조 검출 데이터와 비교되며, 상기 비교 결과로부터 암호화 데이터가 위조된 데이터인지가 검출된다. 상기 암호화 데이터는 각 데이터 블록에 대해 첨부된 위조 검출 데이터를 가질 수 있다. 각 데이터 블록에 대해 암호화 데이터가 위조된 데이터인지 아닌지 여부를 결정할 수 있다. 위조가 있는 것으로 결정되면, 암호화 데이터의 위조된 부분은 상기 블록에 의해 위치지정될 수 있다. 상기 위조된 부분에 대응하는 블록 이외의 다른 데이터 블록은 일반적으 로 복호화될 수 있다.
본 발명의 또 다른 측면은 사전에 다수의 블록으로 분할된 암호화 데이터를 재생하는 방법 및 장치를 제공한다. 상기 방법 및 장치는 규정된 블록으로부터 부분 데이터를 순차적으로 추출한다. 사전에 추출된 부분 데이터의 복호화 결과는 순차적으로 현재 추출된 부분 데이터의 복호화 결과를 계산하는데 이용되며, 순차적으로 상기 데이터 복호화 계산 결과는 복호화 데이터를 생성하는데 이용된다. 상기 복호화 데이터를 생성하는데 있어서 계산된 최종의 복호화 결과를 나타내는 데이터는 상기 규정된 블록과 미리 관련지어진 위조 검출 데이터와 비교되며, 상기 비교 결과로부터 상기 규정된 블록에 대응하는 복호화 데이터가 재생되어야 하는지 여부를 결정한다.
따라서, 위조 검출 데이터는 각 규정 블록에 대한 암호화 데이터와 상관될 수 있다. 각 규정 블록에 대해, 암호화 데이터가 위조된 데이터인지 여부를 결정할 수 있다. 각 규정 블록에 대해, 대응하는 복호화 데이터가 재생가능한지를 결정할 수 있다.
암호화 데이터를 재생하는 상기에 기술된 방법 및 장치에서, 바람직하게는 암호화 데이터는 재생되어야 하는 컨텐츠를 암호화하여 획득된 데이터이며, 상기 암호화 데이터의 다수 블록으로부터, 한번에 재생가능한 컨텐츠의 양에 대응하는 데이터 크기에 대응하는 하나 이상의 블록이 선택되고 복호화될 수 있다.
선택된 하나 이상의 컨텐츠 블록은 재생을 위해 다른 블록보다 더 빨리 복호화될 수 있다. 암호화된 컨텐츠의 재생은 전체 컨텐츠가 완전히 복호화되기 전에 시작될 수 있다.
이하에서는 도면을 참조하여 본 발명의 실시예가 더욱 구체적으로 기술될 것이다.
(제 1 실시예)
도 1은 본 발명에 따른 암호화 프로세스 절차를 나타낸다. 상기 절차는 암호화 및 복호화 결과가 동일한 정보를 가지며 암호화 및 복호화 프로세스에서의 이전 동작 결과는 현재 동작 결과를 순차적으로 계산하는데 이용되는, 소정의 암호화 시스템에 적용할 수 있는 암호화 알고리즘을 이용한다. 상기와 같이, 공통-키 암호화 시스템 또는 다른 유사한, 일반적으로 이용되는 암호화 시스템이 이용될 수 있으며, 예를 들어 상기 시스템은 CBC(cipher block chaining) 모드로 지칭되는 절차에 따라 잘 알려진 데이터 암호화 표준(DES)을 프로세싱함으로써 실행될 수 있다. CBC 모드는 연쇄(chaining)와 관련된 암호화 방법이며 현재의 암호화 결과를 연속하여 계산하기 위해 이전의 암호화 결과를 이용하는 방법이다.
도 1을 참조하면, 암호화 프로세스에서 초기에 암호화 대상 데이터가 획득된다 (S101). 도시되지는 않았지만, 각 실시예에서 암호화 및 복호화 프로세스는 범용-목적 개인용 컴퓨터, 이동 단말 장치, 이동 전화 또는 유사한 정보 처리 장치(이하에서는 간단하게 "정보 처리 장치"로 지칭함)에서 수행된다. 상기와 같이, 암호화 대상 데이터는 예를 들어 CD-ROM 또는 다른 유사한 기록 매체, 정보 처리 장치내의 하드 디스크 및 네트워크를 통한 서버로부터 획득될 수 있다.
획득된 암호화 대상 데이터는 그후에 암호화 알고리즘에 따라 암호화된다 (S102). 그로 인해, 암호화 대상 데이터는 규정된 크기의 데이터 단위로 상위부분으로부터 순차적으로 암호화된다. 따라서, 암호화 데이터가 발생된다. 각 데이터 단위에 대해 산출된 암호화 결과인 암호화 파라미터 값(이하에서는 "암호화 프로세스 정보"로 지칭함)은 후속 데이터 단위의 암호화 프로세스 정보를 계산하기 위해 이용된다.
암호화 대상 데이터 전체가 완전히 암호화되어 암호화 데이터가 발생하면, 현재의 최종 암호화 프로세스 정보는 위조 검출 데이터를 발생시키는데 이용된다(S103). 그에 따라 발생된 위조 검출 데이터는 암호화 데이터에 첨부된다. 그러면 암호화 데이터가 완성된다(S104). 따라서 암호화 프로세스는 종료된다.
도 2는 복호화 프로세스 절차를 나타낸다. 상기 절차는 상기에 기술된 암호화 알고리즘에 대응하는 복호화 알고리즘을 이용한다.
복호화 프로세스는 기본적으로 암호화 프로세스의 역 버전이다. 도 2를 참조하면, 상기에 기술된 바와 같이 발생된 암호화 데이터는 초기에 판독된다(S201). 상기에 기술된 정보 처리 장치에서 복호화 프로세스가 수행됨에 따라, 암호화 데이터에 대해 상기에 기술된 바와 같이, CD-ROM 또는 유사한 기록 매체, 정보 처리 장치내의 하드 디스크, 네트워크를 통한 서버로부터 암호화 데이터가 획득될 수 있다.
획득된 암호화 데이터는 그 후에 복호화 알고리즘에 따라 복호화된다(S202). 일단 암호화 데이터가 완전히 복호화되면, 암호화 프로세스에서 계산된 암호화 프로세스 정보에 대응하는 복호화 프로세스 정보가 검출될 수 있다. 검출된 복호화 프로세스 정보는 위조 검출 데이터를 발생시키기 위해 암호화 프로세스에서 이용되는 방식과 유사한 방식으로 이용된다(S203).
S203에서 발생된 위조 검출 데이터가 S201에서 판독된 데이터와 매칭하는지가 결정된다(S204). 상기 데이터들이 매칭하면, 암호화 데이터 또는 암호화 데이터에 의해 나타나는 암호화 대상 데이터는 위조된 데이터가 아니며 복호화 데이터가 획득된다(S205). 위조 검출 데이터가 매칭하지 않으면, 암호화 데이터, 또는 암호화 데이터에 의해 나타나는 암호화 대상 데이터는 위조된 것이며 따라서 규정된 에러 프로세스가 수행된다(S206).
이후로는 상기에 기술된 암호화 및 복호화 프로세스 절차를 더욱 구체적으로 기술할 것이다.
도 3은 암호화 대상 데이터가 암호화되며 그 후에 원래의 데이터(암호화 대상 데이터)를 획득하기 위해 복호화되는 프로세스에서의 데이터 흐름을 개략적으로 나타낸다.
우선, 도3을 참조하여 암호화 단계(S102)가 기술될 것이다. 암호화 대상 데이터(301)는 암호화 알고리즘에 따라 미리 결정된, 규정된 크기로 암호화되는 각 데이터 단위를 갖는다. 상기 예에서, 암호화 대상 데이터(301)는 순차적으로 암호화되는 각각의 데이터 Di를 가지며, 여기서 i = 1, 2, 3, ..., z이다.
암호화 단계에서(S102), 암호화 대상 데이터(301)는 암호화 데이터(Ci)를 발생시키기 위해, 규정된 암호화 알고리즘에 따라 추출되고 암호화되는 암호화 대상 데이터(Di)를 가지며, 여기서 i = 1, 2, 3, ..., z이다. 따라서, 데이터(Di)는 암 호화 프로세스 정보 PFj를 참조하여 변환되며, 여기서 j = 1, 2, 3, ..., z, z+1이다. 데이터(D1)는 암호화 프로세스 이전에 암호화 키(302)로 초기화된 암호화 프로세스 정보(PF1)를 참조하여 변환된다. 암호화 프로세스 정보(PF1)가 암호화 키(302)로부터 계산되는 방법, 및 데이터(Di)를 암호화 데이터(Ci)로 변환하는 프로세스는 이용된 암호화 알고리즘에 의해 사전에 결정된다. 암호화 알고리즘의 한 예는 이후에 도 4a를 참조하여 설명된다.
도 4a는 데이터(Di)가 암호화 데이터(Ci)를 발생시키도록 암호화될 때 도 3에 이용되는 암호화 프로세스 절차를 나타낸다. 도 4a에서, 입력 데이터(A)는 도 3에서 암호화 대상 데이터(Di)를 나타내며 출력 데이터(B)는 도 3에서 암호화 데이터(Ci)를 나타낸다. 이러한 암호화 프로세스는 암호화 프로세스 정보(PFj)에 대응하는 내부 변환 파라미터(401), 변환부(402) 및 파라미터 변조부(304)를 포함한다. 내부 변환 파라미터(401)는 파라미터 X, Y 및 Z를 가지며 암호화 프로세스가 실행되기 전에 초기 값(K)의 암호화 키(302)로 초기화된다. 여기서, 초기 상태로서, 파라미터 X = 6, 파라미터 Y = 2 및 파라미터 Z = 1인 것으로 가정한다. 변환부(402)는 암호화 데이터(Ci)(출력 데이터 B)를 계산하기 위한 규정된 동작을 수행하도록 데이터(Di)(입력 데이터 A) 및 내부 변환 파라미터(401)(파라미터 X, Y, Z)를 이용한다.
더욱 구체적으로, 입력 데이터(A)가 수신되면, 출력 데이터(B)는 변환부 (402)에 나타난 소정의 수식에 따라 계산된다. 상기 수식에서, + 표시가 있는 원으로 나타나는 기호는 배타적 논리합을 의미한다. 다시 말해, 출력 데이터(B)는 입력 데이터(A) 및 내부 변환 파라미터(401)(파라미터 X, Y, Z)로부터 계산된다. 상기 연산의 결과 또는 출력 데이터(B)는 암호화 데이터(Ci)로서 출력되며 또한 파라미터 변조부(304)에 입력된다. 파라미터 변조부(304)는 파라미터 X, Y 및 Z값을 업데이트하기 위해, 도시된 소정의 변환식에 따라 암호화 데이터(Ci)를 수신하여 이용한다.
파라미터 변조부(304)는 더욱 구체적으로 기술될 것이다. 예를 들어, 도 4a에서 입력 데이터(A)가 1이라면, 변환부(402)는 규정된 연산을 수행하며 출력 데이터(B)는 4이다. 출력 데이터(B(=4))는 파라미터 변조부(304)에 입력되며 파라미터 X, Y, Z에 대한 연산이 수행된다. 연산 결과로서, 파라미터 X, Y, Z 값은 각각 3, 6, 2로 업데이트된다. 업데이트된 파라미터 X, Y, Z 값은 암호화 대상 데이터 (301)의 데이터(D1)에 후속한 데이터(D2)를 암호화하는데 내부 변환 파라미터(401)로서 이용된다. 그후에, 암호화 대상 데이터(301)의 최종 데이터(Dz)에 도달할 때까지 유사한 프로세스가 각 데이터(Di)에 대해 반복된다.
암호화 대상 데이터(301)는 암호화 데이터(Ci)를 발생시키기 위해 상기에 기술된 바와 같이 순차적으로 암호화되는 각 데이터(Di)를 갖는다. 그러면, 위조 검출 데이터 획득 단계에서(S103), 최종 내부 변환 파라미터(401)에 대응하는 암호화 프로세스 정보(PF(z+1))는 위조 검출 데이터(308)로서 획득된다. 획득된 위조 검출 데이터(308)는 암호화 데이터(305)를 완성하기 위해 암호화 데이터(C1-Cz)에 첨부된다. 이로써 암호화 프로세스는 종료한다.
이후에는 도 3에 도시된 복호화 단계(S202)가 기술될 것이다. 암호화 데이 터 (305)가 획득되면, 암호화 알고리즘에 대응하는 복호화 알고리즘은 암호화 프로세스에 적용된 바와 동일한 데이터 단위로 복호화 프로세스를 수행하는데 이용된다. 복호화 단계(S202)에서, 암호화 데이터(305)는 원래 데이터(Di)에 대한 복호화 프로세스 정보(DFj)를 참조하여 추출되고 변환되며, 여기서 j = 1, 2, ... z, z+1이다. 그 결과로서, 데이터(D1-Dz)의 복호화 데이터가 발생된다. 복호화 프로세스 이전에, 복호화 프로세스 정보(DF1)는 암호화 프로세스에서 이용된 것과 동일한 암호화 키(302)에 의해 초기화된다. 복호화 프로세스의 한 예는 도 4b에 나타난다.
복호화 프로세스에 이용되는 암호화 키(302)는 암호화 데이터(305)를 전송하는 사용자에 의해 사전에 알려질 수 있다. 선택적으로, 상기 키는 암호화 데이터 (305)의 일부에 포함될 수 있으며 암호화 데이터(305)가 전송됨과 동시에 전송될 수 있다. 여기서, 복호화 프로세스에서 이용된 암호화 키(302)는 소정의 절차를 통해 획득될 수 있다.
도 4b는 복호화 데이터(307)로서 데이터(Di)를 발생시키기 위해 도 3의 암호화 데이터(Ci)를 복호화하는 복호화 프로세스 절차를 나타낸다. 도 4b에서, 입력 데이터(B)는 도 3에서의 암호화 데이터(Ci)를 나타내며, 출력 데이터(A)는 도 3에서의 복호화 데이터(307)의 데이터(Di)를 나타낸다. 상기 복호화 프로세스는 도 4a 및 4b에 나타난 바와 같이, 암호화 프로세스와 유사하게, 복호화 프로세스 정보(DFj)에 대응하는 내부 변환 파라미터 (401), 변환부(402) 및 파라미터 변조부(304)를 포함하며, 암호화 프로세스의 역 버전에 대응하는 연산을 수행한다. 내부 변환 파라미터 (401)는 파라미터 X, Y, Z를 가지며, 이러한 파라미터는 초기 값(K)의 암호화 키 (302)에 의해 복호화 프로세스 이전에 초기화된 값을 갖는다. 여기서, 암호화 프로세스에서와 같이, 파라미터 X, Y, Z는 각각 6, 2, 1 값으로 초기화된다. 데이터(Di)(출력 데이터(A))를 제공하기 위해 암호화 데이터(Ci)를 복호화하는 규정된 연산을 수행하는데 있어서 변환부(402)는 암호화 데이터(Ci)(입력 데이터(B)) 및 내부 변환 파라미터(401)(파라미터 X, Y, Z)를 이용한다. 다시 말해, 출력 데이터(A)는 입력 데이터(B) 및 내부 변환 파라미터(401)(파라미터 X, Y, Z)로부터 계산된다. 입력 데이터(B)는 파라미터 변조부(304) 뿐 아니라 변환부(402)에 입력된다. 파라미터 변조부 (304)는 수신된 입력 데이터(B) 및 도시된 소정의 변환식에 따라 내부 변환 파라미터(401)(파라미터 X, Y, Z) 값을 업데이트한다.
여기서, 암호화 대상 데이터(D1)가 1의 값을 가지면, 암호화 데이터(C1)는 4의 값을 갖는다. 따라서, 도 4b에서 데이터(B) 4가 입력되고 변환부(402)는 상기 데이터(B)상에 연산을 수행하며 원래 데이터(D1)와 동일한 값인 1의 데이터(A)를 출력한다. 암호화 데이터가 위조되지 않았으면, 암호화 프로세스 정보(PFj) 및 복호화 프로세스 정보(DFj)는 동일하다. 따라서, 암호화 대상 데이터(301)는 일부 데이터 (Di)가 위조된 각각의 데이터 단위 또는 데이터(D1-Dz)를 가지면, 데이터(Di)에 대응하는 암호화 프로세스 정보와 복호화 프로세스 정보가 매칭하지 않으며, 암호화 및 복호화 프로세스 정보(PFj, DFj)는 각각 위조 검출 데이터(308, 309)로서 이용될 수 있다.
게다가, 데이터(B)(4의 값을 가짐)는 파라미터 변조부(304)에 입력되고 내부 변환 파라미터(401)(파라미터 X, Y, Z)가 연산되며 각각 3, 6, 2 값으로 업데이트된다. 업데이트 값을 갖는 파라미터는 데이터(C2)를 복호화할 때 내부 변환 파라미터 (401)로서 이용된다. 그후에 데이터(Cz)에 도달할 때까지 복호화 프로세스는 유사하게 반복된다.
암호화 데이터(C1-Cz)에 대해 상기에 기술된 복호화 프로세스는 복호화 데이터(307)의 데이터(D1-Dz)를 발생시키도록 수행된다. 그후에 단계(S203)에서 최종 복호화 프로세스 정보(DF(z+1))는 위조 검출 데이터(309)로서 획득되며(또는 발생되며) 단계(S204)에서 암호화 데이터(305)에 첨부된 위조 검출 데이터(308)와 획득된 위조 검출 데이터(309)가 매칭하는지를 결정한다. 데이터가 매칭하면, 암호화 데이터 (305) 또는 암호화 대상 데이터(301)는 일반적으로 위조 없이 수신된 것으로 판단된다. 데이터가 매칭하지 않으면, 상기 데이터는 위조된 것으로 판단된다.
(내부 변환 파라미터의 다른 예시)
상기에 기술된 위조 검출 데이터(308)의 경우, 내부 변환 파라미터(401)의 파라미터 X, Y, Z의 3개 값이 그대로 이용되기 때문에, 도1에 나타난 위조 검출 데이터 발생 단계(103)에서는 어떠한 처리도 수행되지 않는다. 그러나, 다른 유형의 암호화 프로세스가 적용되면, 많은 양의 데이터가 내부 변환 파라미터(401)와 연관하여 처리될 수 있다. 그러한 경우에, 암호화 데이터(305)와 연관되어 첨부된 데이터량은 무시되지 않는다. 그러한 경우에, 위조 검출 데이터를 발생시키는 단계(S103)에서 메시지 다이제스트(MD)는 최종 내부 변환 파라미터(401)로부터 획득될 수 있으며 위조 검출 데이터로서 암호화 데이터(305)에 첨부될 수 있다(S104).
도 5는 이전에 기술된 것과 다른 암호화 단계를 나타낸다. 여기서, 대응하는 복호화 프로세스는 그 구성이 암호화 프로세스의 역 버전으로 나타나지 않는다. 도 5의 암호화 시스템은 암호화 프로세스 정보(PFj)에 대응하는 내부 변환 파라미터 (501), 변환부(1202) 및 파라미터 변조부(1203)를 갖는다. 도 5의 시스템에서, 데이터(A)로 수신되는 암호화 대상 데이터는 규정된 바와 같이 순차적으로 암호화 데이터(305)로 변환되어 데이터(B)로서 출력된다. 이러한 예에서, 내부 변환 파라미터(501)는 256개 변환 표 T(0), T(1), ..., T(255)를 갖는다. 변환부(1202)는 암호화 대상 데이터(301)를 바이트 마다(바이트 단위로) 암호화 데이터(305)로 변환하기 위해 변환 표 T(0) - T(255)를 이용한다. 파라미터 변조부(1203)는 변환 표 T(0) - T(255)의 컨텐츠(또는 값)을 업데이트하기 위해 출력 암호화 데이터(305) 정보를 이용한다. 암호화 프로세스 이전에, 내부 변환 파라미터(501) 컨텐츠는 초기 값(K)의 암호화 키(302)에 의해 초기화된다.
예를 들어, 도 5에 나타난 바와 같이, 변환 표 T(0)는 6의 값을 갖고, 변환 표 T(1)는 2의 값을 가지며, 입력 데이터(A)는 0일 경우에, 출력 데이터(B)는 6이며, 입력 데이터(A)가 1이면 출력 데이터(B)는 2이다.
파라미터 변조부(1203)는 교환의 대상이 되는 2개 값 "idx1" 및 "idx2"를, 수신된 출력 데이터(B)와 특정 함수("f" 및 "g")로부터 획득하며, 표 T(idx1)와 T(idx2) 값을 교환한다. 예를 들어, 도 5에 나타난 바와 같이, "idx1" = 0, "idx2" = 4이며 표 T(0) 및 T(4)는 값이 교환된다. 그 결과로, 표 T(0)는 6에서 4로 업데이트된 값을 가지며, 유사하게 표 T(4)는 4에서 6으로 업데이트된 값을 갖 는다.
여기에 도시되지는 않았지만, 복호화 프로세스는 내부 변환 파라미터로서 암호화 프로세스의 역 버전에 대응하는 변환을 수행하는 표를 가지며 암호화 프로세스의 역 버전에 대응하는 변환 프로세스를 수행하는 동안 순차적으로 표의 컨텐츠를 업데이트한다.
도5의 경우, 내부 변환 파라미터(501)는 256개의 데이터 크기에 대응하는데, 이것은 크기가 너무 커서 위조 검출 데이터(308)로서 이용될 수 없다. 따라서, 내부 변환 파라미터(501)는 감소된 양의 데이터를 제공하도록 변환된다. 이것은 예를 들어, 다량의 데이터로부터 특정의 수 바이트의 데이터를 발생시키는 MD5(메시지 다이제스트 5) 및 보안 해시 알고리즘 1(SHA-1) 등의 해시 함수를 이용하여 수행된다(단, 이러한 방법에 제한되는 것은 아님). 다른 방식으로서, 해시 함수가 이용되지 않을 수 있으며, 단지 내부 변환 파라미터(501)의 일부분을 변환 데이터로 하는 방법으로 해도 좋다. 내부 변환 파라미터(501)가 위조 검출 데이터(308)로 이용되면, 이러한 변환 프로세스는 위조 검출 데이터(308)량을 감소시킬 수 있다.
게다가, 복호화 프로세스는 또한 동일한 결과를 획득하기 위해 위조 검출 데이터 발생 단계(103)에서 이용되는 방법을 이용할 수 있다. 따라서, 암호화 데이터에 첨부된 위조 검출 데이터와 복호화 프로세스에서 획득된 위조 검출 데이터를 비교함으로써, 암호화 대상 데이터(301) 또는 암호화 데이터(305)가 위조되었는지 여부를 판단할 수 있다.
따라서, 내부 변환 파라미터(501)에 대해 해시 함수를 이용하는 프로세스를 수행함으로써 위조 검출 데이터(308) 크기가 감소된다. 일반적으로, 암호화되는 데이터와 비교하여, 내부 변환 파라미터(501)는 상당히 작은양의 데이터를 가지기 때문에 상기에 기술된 바와 같은 변환 프로세스를 달성하기 위해 해시 함수를 이용하여도 전체 프로세스 효율을 감소시키지 않는다.
(제 2 실시예)
제 1 실시예에서, 암호화 대상 데이터(301)가 완전히 암호화되며(S102) 복호화될 때(S202) 획득된 암호화 프로세스 정보(PF(z+1)) 및 복호화 프로세스 정보 (DF(z+1))는 위조 검출 데이터(308, 309)를 발생시키는데 이용된다. 본 실시예에서, 암호화 대상 데이터(301)는 다수의 블록으로 분할되며 각 블록이 완전히 암호화될 때 획득되는 암호화 프로세스 정보 및 각 블록이 완전히 복호화될 때 획득되는 복호화 프로세스 정보는 위조 검출 데이터를 발생시키는데 이용된다.
도 6a는 n개 블록(Bk)으로 분할된 암호화 대상 데이터(301)를 나타내며, 여기서 k = 1, 2, 3, ..., n이다. 블록(Bk)은 비록 이용되는 암호화 프로세스 단위의 정수배인 것이 바람직하지만, 메모리 용량, 처리 능력 및 암호화 대상 데이터(301)를 송수신하는 처리 장치의 처리 능력에 의해 결정된 크기의 데이터를 가질 수 있다. 예를 들어, DES는 64 비트 단위의 암호화를 허용하며 따라서 블록(Bk)은 64 비트의 정수배 크기를 갖는다. 암호화가 비트 단위로 제공되면, 블록(Bk)은 임의의 크기를 가질 수 있다.
도 6b는 도 6a에 나타난 암호화 대상 데이터(301)가 암호화된 후에 획득되는 암호화 데이터(305)의 데이터 구조를 나타낸다. 도 6b에서 나타난 바와 같이, 암호화 데이터(305)는 암호화 블록(CBk) 및 위조 검출 데이터(BDk)로 형성되며, 여기서 k = 1, 2, 3, ..., n이며, 암호화 블록(CBk)과 위조 검출 데이터(BDk)간에 1 대 1 대응이 존재한다. 위조 검출 데이터(BDk)는 블록(Bk)이 완전히 암호화될 때마다 발생되며, 데이터(BDk)는 대응하는 암호화 블록(CBk)을 수반하도록 첨부된다. 더욱 구체적으로, 암호화 블록(CBk), 및 이 블록(CBk) 데이터에 대해 계산된 위조 검출 데이터(BDk)는 각 블록(Bk)에 대해 교대로 기록된다. 본 실시예에서 암호화 데이터(305)는 상기에 기술된 것과 다른 구조를 가질 수 있다. 예를 들어, 도 6c에 나타난 바와 같이, 암호화 블록(CB1-CBn) 데이터 및 위조 검출 데이터(BD1-BDn)는 각각 서로 다른 위치에서 기록될 수 있다.
본 실시예에 따른 암호화 및 복호화 프로세스는 각각 도 7 및 8에 나타난 바와 같이 진행한다. 제 1 실시예와 유사한 단계는 기술되지 않을 것이다.
암호화 프로세스에서, 도7에 나타난 바와 같이, 우선 암호화 데이터(305)로부터 규정된 크기의 단일 블록(Bk) 데이터가 획득되고(S601) 암호화된다(S602). 블록(Bk) 데이터가 완전히 암호화될 때, 암호화 프로세스 정보(PFk)가 획득되며, 이 정보는 위조 검출 데이터(BDk)를 발생시키는데 이용되고(S603) 암호화 블록(CBk) 및 위조 검출 데이터(BDk)는 도 6b 또는 6c에 나타난 바와 같은 데이터 구조를 제공하기 위해 저장된다(S604). 이러한 일련의 단계는 암호화 데이터(305)의 모든 블록(Bk)에 대해 반복된다(S605). 따라서, 암호화 데이터(305)가 획득된다(또는 발생된다).
복호화 프로세스에서, 도8에 나타난 바와 같이, 우선 취득된 암호화 데이터의 위조 검출 데이터(BDk) 및 이에 대응하는 암호화 블록(CBk)이 판독되며(S701) 복호화 프로세스가 달성된다(S702). 그 후에 복호화 프로세스 정보(DFk)는 위조 검출 데이터를 발생시키는데 이용되며(S703), 발생된 위조 검출 데이터와 단계(S701)에서 판독된 위조 검출 데이터(BDk)가 매칭하는지를 판단한다. 상기 데이터들이 매칭하면, 복호화 데이터가 획득된다(S705). 상기 데이터들이 매칭하지 않으면, 암호화 데이터(305) 또는 암호화 데이터(305)에 의해 나타나는 암호화 대상 데이터(301)는 위조된 것으로 판단되어, 복호화 프로세스에 대해 에러가 발생할 것이다(S706). 이러한 일련의 단계는 복호화 데이터(307)를 획득하기 위해 모든 암호화 블록(CBk)에 대해 유사하게 반복된다(S707).
따라서, 암호화 대상 데이터(301)를 다수의 블록(Bk)으로 분할하고 각 블록 (Bk)에 위조 검출 데이터(BDk)를 첨부함으로써 각 블록(Bk)에 대한 위조 여부를 검출할 수 있게 되고, 위조된 암호화 대상 데이터(301) 부분을 특정할 수 있다. 암호화 대상 데이터(301)의 위조된 부분에 대응하는 블록 이외의 다른 블록(Bk)은 정상적으로 복호화될 수 있다. 예를 들어 통신 에러가 발생하여 암호화 대상 데이터(301)(암호화 데이터 (305))가 부분적으로 손상된 경우, 데이터의 손상이 최소화될 수 있다.
(제 3 실시예)
상기에 기술된 각 실시예의 특정 응용으로서, 제 3 실시예는 전자 북 데이터 (이후로는 "전자 북 컨텐츠"으로 지칭)를 분배하는 시스템을 구상한다.
도 9는 전자 북 컨텐츠 분배 시스템을 나타낸다. 이러한 시스템은 컨텐츠 생성 장치(801)와, 서버 장치(802)와, 데이터 디스플레이 장치(803)와, 컨텐츠 생성 장치(801) 및 서버 장치(802)가 서로 통신하도록 하며 서버 장치(802) 및 데이터 디스플레이 장치(803)가 서로 통신하도록 하는 네트워크(804)를 포함한다. 컨텐츠 생성 장치(801)는 전자 북 컨텐츠를 생성하기 위해 범용 목적 컴퓨터로 구성된다. 컨텐츠 생성 장치(801)는 컨텐츠 입력부(805), 이전에 기술된 것과 같은 데이터 암호화 프로세스를 달성하는 데이터 암호화 처리부(806) 및 송수신부(807)를 포함한다. 컨텐츠 생성자는 컨텐츠 입력부(805)를 통해 전자 북 컨텐츠(800)를 입력한다. 입력된 전자 북 컨텐츠(800)는 암호화 처리부(806)에 의해 암호화되며 암호화 전자 북 컨텐츠(800)는 송수신부(807)에 의해 네트워크(804)를 통해 서버 장치(802)에 전송된다.
여기서는 전자 북 컨텐츠(800)가 외부로부터 컨텐츠 생성 장치에 입력되는 것으로 하고 있으나, 사용자가 컨텐츠를 생성하기 위해 컨텐츠 입력부(805)를 동작시킬 수 있다.
전자 북 컨텐츠(800)는 도 10a 및 10b에 나타난 바와 같은 예시를 통해 암호화 대상 데이터(301) 및 암호화 데이터(305)로 분리되는 데이터 구조를 갖는다. 일반적으로, 전자 북 컨텐츠는 종종 메인 텍스트를 기술하는 텍스트 파일, 다이어그램, 그림 및 사진과 같은 이미지 파일, 사운드 효과와 같은 오디오 파일 등을 포함하는 다수의 파일을 포함하도록 구성된다. 본 실시예에서, 도10a에 나타낸 바와 같이, 암호화 대상 데이터(301)에 대응하는 전자 북 컨텐츠(800)는 상부로부터 전자 북 컨텐츠(800)에 포함되는 파일의 수를 나타내는 데이터(FM) 및 각 파일의 파일 정보(FDh)를 포함하며, 여기서 h = 1, 2, 3, ..., n이다. 도10b에 나타난 바와 같이 암호화 데이터(305)에 대응하는 전자 북 컨텐츠(800)는 각 파일 정보(FDh)에 대응하며 파일 정보(FDh) 컨텐츠를 암호화하여 획득된 암호화된 파일정보(FDCh)를 포함하며, 여기서 h = 1, 2, 3, ..., n이다. 예를 들어, 전자 북 컨텐츠(800)가 텍스트 파일, 이미지 파일 및 오디오 파일의 3개 파일을 포함하면, 파일 정보(FD1, FD2, FD3)는 각각 텍스트 데이터, 이미지 데이터 및 오디오 데이터를 포함할 것이다. 파일 정보(FDh)는 파일 명칭, 상기 파일에 저장된 데이터에 관련된 오프셋 값, 파일에 저장된 데이터의 크기, 적용되는 암호화 방법 및 암호화 키와 같은 대응하는 파일 정보를 포함한다.
파일 정보(FDh)는 각 실시예에서 이전에 기술된 방법에 따라 암호화 처리부(806)에 의해 암호화된다. 파일 정보(FD1)에 대해, 관계된 파일은 다수의 블록으로 분할되며 암호화된 파일 정보(FDC1)로의 변환을 위해 블록 단위로 암호화된다. 파일 정보(FD2)에 대해, 관계된 파일은 암호화된 파일 정보(FDC2)로 변환되도록 파일 전체가 암호화 처리된다. 블록 단위로 파일 데이터를 암호화하는지 또는 전체 파일 데이터를 암호화하는지 여부는 데이터 유형에 의해 결정될 수 있다. 더욱 구체적으로, 데이터가 텍스트 데이터, 오디오 데이터 또는 동영상(비디오) 데이터라면, 블록 단위로 데이터를 암호화함으로써 데이터가 복호화를 위해 랜덤하게 액세스되어 재생되게 할 수 있다. 이것은 데이터가 전체적으로 복호화될 때보다 액세 스 시간을 더 짧게 한다. 또한, 데이터가 정지된 이미지거나 또는 부분적으로 액세스되지 않는 유사 데이터라면, 상기 데이터는 전체적으로 암호화될 수 있다.
도 9에서, 서버 장치(802)는 범용 목적 개인용 컴퓨터로 구성되며 송수신부 (808) 및 컨텐츠 데이터베이스(809)를 포함한다. 컨텐츠 생성 장치(801)로부터 암호화된 전자 북 컨텐츠(800)는 송수신부(808)에 의해 송수신된다. 수신된 전자 북 컨텐츠(800)는 컨텐츠 데이터베이스(809)에 저장된다. 데이터 디스플레이 장치(803)는 네트워크(804)를 통해 전송 요구를 발행한다. 상기 요구는 송수신부(808)에서 수신되고 그에 응답하여 수신 요구에 의해 나타난 전자 북에 대응하는 암호화 컨텐츠는 컨텐츠 데이터베이스(809)로부터 판독되어 송수신부(808)에 의해, 네트워크(804)를 통해 데이터 디스플레이 장치(803)에 전송된다.
데이터 디스플레이 장치(803)는 정보 처리 장치로 구성된다. 데이터 디스플레이 장치(803)는 네트워크(804)를 통해 데이터를 송수신하는 송수신부(810), 사용자 명령을 처리하는 사용자 명령 처리부(811), 전자 북 컨텐츠를 저장하는 저장 장치 (812), 이전에 기술된 바와 같이 암호화된 전자 북 컨텐츠를 복호화하는 데이터 복호화 처리부(813) 및 스크린상에 전자 북 컨텐츠를 디스플레이하는 디스플레이 유닛(814)을 포함한다.
사용자는 사용자 명령 처리부(811)를 통해 스크린상에 디스플레이되는 전자 북 컨텐츠의 메뉴로부터 원하는 전자 북 컨텐츠를 선택한다. 그에 응답하여, 송수신부(810)는 선택한 컨텐츠를 전송하기 위해 서버 장치(802)에 요구를 전송한다. 이후, 서버 장치(802)는 암호화 전자 북 컨텐츠를 전송하고, 이러한 전송된 암호화 전자 북 컨텐츠는 송수신부(810)를 통해 수신되어 저장 장치(812)에 저장된다. 저장 장치(812)에 저장된 암호화 전자 북 컨텐츠는 데이터 복호화 처리부(813)에 의해 복호화되며, 원래의 전자 북 컨텐츠(800)는 데이터 디스플레이 유닛(814)을 통해 스크린상에 디스플레이된다. 따라서, 한번에 디스플레이될 수 있는 데이터량만을 복호화하도록 해 두면, 데이터는 전체 데이터가 복호화될 때보다 더 짧은 시간 주기로 복호화되며 디스플레이될 수 있다. 더욱 구체적으로, 블록 단위로 암호화되는 전자 북 컨텐츠는 데이터 디스플레이 유닛(814)과 관련된 디스플레이 버퍼 크기에 대응하는 블록 수만큼 복호화된다. 전자 북 컨텐츠의 경우, 일반적으로 첫 페이지는 초기에 디스플레이된다. 따라서, 전자 북 컨텐츠(800)는 디스플레이 버퍼 크기에 대응하는 블록 수만큼 상부로부터 복호화된다.
게다가, 예를 들어, 페이지를 넘기고, 음성등을 출력하기 위해 사용자 명령 처리부(811)를 통해 사용자 명령이 수신되면, 명령에 필요한 데이터가 저장 장치 (812)로부터 획득되고 데이터 복호화 처리부(813)에 의해 복호화되며, 복호화가 달성됨에 따라 위조가 존재하는지가 판단된다. 위조가 없는 것으로 판단되면, 데이터 디스플레이 유닛(814)이 데이터를 디스플레이하거나 또는 오디오 출력부(도시되지 않음)가 음성을 출력한다. 데이터가 위조된 것으로 판단되면, 사용자는 그에 따라 현재의 프로세스를 중단하도록 통지받을 수 있다.
본 실시예에서는 전자 북 컨텐츠가 암호화되고 분배되는 예를 설명하고 있으나, 전자 북 컨텐츠 이외의 다른 정보가 암호화되며 분배될 수 있다. 예를 들어, 뮤직 데이터, 동영상 데이터 및 프로그램이 암호화되며 분배될 수 있다.
(제 4 실시예)
제 2 실시예의 또 다른 특정 응용은 도 11 및 12를 참조하여 기술될 것이다. 본 실시예에서 디지털 컨텐츠 분배 시스템이 구상된다. 이 시스템은 도시의 목적으로 도 9에 나타난 것과 유사하다. 본 실시예에서, 디지털 컨텐츠는 전자 북 컨텐츠에 제한되지 않으며 뮤직 데이터, 비디오 데이터등일 수 있다.
일반적으로, 디지털 컨텐츠는 네트워크를 통해 획득될 수 있으며 상기 네트워크를 통해 송수신된 데이터는 설명을 위해 제 3 자에 의해 위조되지 않는 것으로 한다. 다시 말해, 설명을 위해 정당하게 획득될 수 있는 데이터만이 네트워크를 통해 전송되는 것으로 한다. 그러나, 네트워크를 통해 전달되는 데이터는 통신 에러등으로 인해 소실될 수 있다. 이러한 경우에, 정당하게 획득된 디지털 컨텐츠는 재생될 수 없다. 디지털 컨텐츠를 재생하기 위해, 디지털 컨텐츠의 모든 데이터는 다시 액세스되고 획득되어야 한다. 본 실시예에서는 데이터가 네트워크상에 전달되는 동안 소실되는 경우를 처리하기 위한 절차가 기술될 것이다.
도 11은 도 9의 서버 장치(802) 및 데이터 디스플레이 장치(803)에서의 데이터를 개략적으로 도시한다. 더욱 구체적으로, 상기 도면은 서버 장치(802)의 컨텐츠 데이터베이스(809)에 저장되어 있는 암호화 데이터(305)에 대응하는 디지털 컨텐츠가 네트워크(804)를 통해 데이터 디스플레이 장치(803)에 전송되어 저장 장치(812)에 저장되는 것을 나타낸다. 디지털 컨텐츠에 대응하는 암호화 데이터(305)는 제 2 실시예에서 기술된 바와 같이 암호화 블록(CBk) 및 상기 블록에 대응하는 위조 검출 데이터(BDk) 마다 분할된 구조를 갖는다. 데이터 디스플레이 장치(803)의 저장 장치(812)에 저장된 디지털 컨텐츠에 대응하는 암호화 데이터(305) 중에서, 암호화 블록(CB2)은 설명을 위해 예를 들어, 통신 에러에 의해 위조된 데이터를 갖는 것으로 한다.
데이터 디스플레이 장치(803)가 재생(또는 복호화)을 허용하도록 동작할 때, 위조는 대응하는 위조 검출 데이터(BD2)에 의해 암호화 블록(CB2)에서 검출된다. 그에 응답하여, 데이터 디스플레이 장치(803)는 암호화 블록(CB2)이 위조되었음을 서버 장치(802)에 통지한다. 서버 장치(802)는 이에 응답하여 암호화 블록(CB2) 및 위조 검출 데이터(BD2)를 데이터 디스플레이 장치(803)에 재전송한다. 수신된 이러한 재전송 데이터를 갖는 데이터 디스플레이 장치(803)는 재생을 제공할 수 있다. 전체 컨텐츠(또는 전체 암호화 데이터(305)) 중 일부분만이 서버 장치(802)로부터 데이터 디스플레이 장치(803)에 재전송됨을 주목해야 한다. 위조가 검출되고, 다시 정당한 데이터가 통신되어 획득되는 경우, 통신 시간을 감소시킬 수 있다.
데이터 디스플레이 장치(803)와 연관된 도 11의 절차는 도 12의 흐름도를 참조하여 기술될 것이다. 이제 디지털 컨텐츠는 복호화되고 재생될 것이다. 더욱 구체적으로, 데이터 디스플레이 장치는 초기에 암호화 데이터(305)의 제 1 암호화 블록(CB1) 및 위조 검출 데이터(BD1)를 획득한다(S1301). 획득된 암호화 블록(CB1)은 복호화된다(S1302). 이러한 복호화는 제 2 실시예에서 기술된 방식과 유사한 방식으로 달성된다. 복호화 프로세스 정보는 위조 검출 데이터를 발생시키는 데 이용된다(S1303). 암호화 블록(CB1)에 첨부된 위조 검출 데이터(BD1)는 단계(S1303)에서 발생된 위조 검출 데이터와 비교되어 상기 데이터들이 매칭하는지 여부가 판단된다. 상기 데이터들이 매칭하면, 복호화 데이터가 획득되며(S1305) 후속의 암호화 블록이 존재하는지 여부가 판단된다(S1307). 후속의 암호화 블록이 존재하면, 프로세스는 S1301로 복귀한다. 후속의 암호화 블록이 존재하지 않으면, 프로세스는 종료한다.
데이터가 매칭하지 않는다고 판단되면, 암호화 블록(CB1) 또는 암호화 데이터 (CB1)에 의해 나타나는 블록(B1)이 위조된 것으로 판단되며 암호화 블록(CB1)은 다시 네트워크(804)를 통해 서버 장치(802)로부터 획득된다(S1306). 예를 들어 네트워크 (804)상의 통신 에러로 인한 위조는 어드레싱될 수 있다.
도11에서는 디지털 컨텐츠가 데이터 디스플레이 장치(803)의 저장장치(812)에 저장되고 있으나, 디지털 컨텐츠는 네트워크(804)로부터 수신되면서 재생될 수 있다. 예를 들어, 뮤직, 이미지등은 컨텐츠의 상부로부터 순차적으로 재생된다. 상기와 같이, 데이터의 상부 부분이 존재하면, 재생이 시작될 수 있다. 다시 말해, 네트워크(804)를 통해 데이터를 수신하면서 데이터를 재생할 수 있다. 도13은 이러한 경우에 서버 장치(802) 및 데이터 디스플레이 장치(803)에서의 데이터를 개략적으로 나타낸다.
도13은 서버 장치(802)의 컨텐츠 데이터베이스(809)에 저장된 암호화 데이터 (305)의 디지털 컨텐츠가 네트워크(804)를 통해 데이터 디스플레이 장치(803)에 전송되는 것을 나타낸다. 도13에서는, 서버 장치(802)가 암호화 블록(CB1, CB2)만을 데이터 디스플레이 장치(803)에 전송한 상태로, 후속의 암호화 블록은 획득되어야 하는 데이터(미획득 데이터)(900)로 표시되어 있다. 데이터 디스플레이 장치(803)에서 데이터 복호화 처리부(813)는 복호화 프로세스를 시작한다. 복호화 프로세스를 시작하기 위해, 암호화 블록(CB1)으로부터 데이터가 순차적으로 판독되고 판독된 암호화 블록(CB1) 데이터에 대해 복호화 처리 및 위조 검출이 행해진다. 데이터가 위조되지 않은 것으로 검출되면, 데이터는 직접 재생된다. 판독된 암호화 블록(CB2)이 위조되었다면, 데이터 디스플레이 장치(803)는 암호화 블록(CB2)이 위조되었음을 나타내는 정보(901)를 서버 장치(802)에 출력하며, 데이터 디스플레이 장치(803)는 다시 서버 장치(802)로부터 암호화 블록(CB2) 및 대응하는 위조 검출 데이터(BD2)를 수신하고 획득한다. 그후에 후속 블록은 유사한 방식으로 획득되고 재생된다.
상기 절차는 전송 시간을 감소시키며 네트워크(804)를 통해 암호화 데이터 (305)가 연속적으로 획득되고, 복호화되며 재생될 수 있다.
(제 5 실시예)
각 실시예에서 상기에 기술된 암호화 및 복호화 프로세스는 부분적으로 또는 전체적으로 프로그램(컴퓨터에 의해 수행되는 프로세스에 적합한, 순서가 부여된 명령의 스트링) 또는 상기 프로세스를 실행하는 하드웨어 로직 형태로 제공될 수 있다.
상기 프로세스가 프로그램 형태로 제공되는 경우, 프로그램은 원하는 프로세 스를 달성하기 위해 정보 처리 장치에 인스톨될 수 있다. 그로 인해, 프로그램은 사전에 컴퓨터 판독가능 기록 매체에서 기록되어 제공될 수 있다. 선택적으로, 프로그램은 서버 장치로부터 정보 처리 장치로 네트워크를 통해 다운로드되거나 제공될 수 있거나 또는 사전에 정보 처리 장치에 인스톨되어 제공될 수 있다.
도 14는 각 실시예에서 상기에 기술된 암호화 또는 복호화 프로세스의 프로그램을 실행하는 정보 처리 장치의 구성을 나타낸다. 도 14의 구성은 도 9의 컨텐츠 생성 장치(801), 서버 장치(802) 및 데이터 디스플레이 장치(803) 각각의 구성에 대응한다. 도 14에 관련하여, 정보 처리 장치는 액정 또는 음극선관(CRT) 또는 유사한 모니터(110), 키보드(150), 마우스(160), 중앙 처리 장치(CPU)(122), 판독 전용 메모리(ROM) 또는 랜덤 액세스 메모리(RAM)를 포함하도록 구성된 메모리(124), 고정 디스크(126), FD(132)에 액세스하기 위해 FD(132)를 분리가능하게 수용하는 플렉시블 디스크(FD) 드라이브 장치(130), CD-ROM(142)에 액세스하기 위해 CD-ROM(142)을 분리가능하게 수용하는 컴팩트 디스크 판독 전용 메모리(CD-ROM) 드라이브 장치(140) 및 인터넷과 같은 다양한 네트워크가 적용되는 네트워크(804)에 정보 처리 장치를 접속시키는 통신 인터페이스(180)를 포함한다. 이러한 소자는 버스를 통해 연결된다. 정보 처리 장치는 테이프에 액세스하기 위해 분리가능하게 자기 테이프 카트리지를 수용하는 자기 테이프 장치를 갖출 수 있다.
본 실시예에서, 상기에 기술된 기록 매체는 도 14의 정보 처리 장치에서 프로세스가 수행되기 위해 필요한 메모리, 예를 들어 메모리(124) 자체이거나, 또는 자기 테이프 장치(도시되지 않음), FD 드라이브 장치 (130) 및 CD-ROM 드라이브 장 치(140) 등의 프로그램 판독 장치에 장착됨으로써 판독가능한 기록 매체인 자기 테이프(도시되지 않음), FD(132) 및 CD-ROM(142)일 수 있다. 어떠한 경우에 있어서도 기록 매체에 저장된 프로그램은 CPU(122)에 의해 액세스되어 실행되거나, 또는 일단 기록 매체로부터 판독되고 도14의 규정된 메모리 영역, 예를 들어 메모리(124)의 메모리 영역에 로딩되어 CPU(122)에 의해 판독되고 실행될 수 있다. 이러한 로딩용 프로그램은 미리 해당 정보처리장치에 저장된다.
상기에 기술된 기록 매체는 정보 처리 장치의 메인 몸체로부터 분리될 수 있도록 구성된 기록 매체이며 고정 프로그램을 포함한 매체일 수 있다. 예를 들어, 상기 기록 매체는 자기 테이프, 카세트 테이프 또는 유사한 타입의 테이프, FD(132), 고정 디스크(126) 또는 유사한 자기 디스크 또는 CD-ROM(142)/자기 광 디스크(MO)/미니 디스크(MD)/디지털 다용도 디스크(DVD) 또는 유사한 광 디스크, IC 카드(메모리 카드 포함)/광 카드 또는 유사 카드, 또는 마스크 ROM, 삭제가능하며 프로그램가능한 ROM(EPROM), 전기적 EPROM(EEPROM), 플래시 ROM 또는 유사한 반도체 메모리일 수 있다.
본 실시예에서 정보 처리 장치가 네트워크(804)에 접속가능함에 따라, 상기에 기술된 기록 매체는 프로그램을 플럭스(flux) 상태로 유지하도록 네트워크(804)를 통해 다운로드된 프로그램을 수신하는 기록 매체일 수 있다. 기록 매체가 네트워크 (804)를 통해 다운로드된 프로그램을 수신하면, 다운로딩 프로그램은 정보 처리 장치의 메인 몸체에 저장될 수 있거나 또는 사전에 다른 기록 매체로부터 정보 처리 장치의 메인 몸체에 인스톨될 수 있다.
기록 매체는 프로그램 이외의 다른 컨텐츠를 저장할 수 있다. 예를 들어, 기록 매체는 데이터를 저장할 수 있다.
따라서, 각 실시예에 기술된 바와 같이, 위조 검출 기능을 갖는 암호화 프로세스가 달성되면, 변환 파라미터 값이 발생될 수 있으며 위조 검출 데이터를 계산하는 프로세스를 제거하고 암호화 프로세스에 관련된 양을 감소시키기 위해 위조 검출 데이터로서 이용될 수 있다. 복호화 프로세스는 또한 유사하게 양이 감소될 수 있다. 그 결과로, 암호화 및 복호화 프로세스는 로드가 상당히 제거될 수 있으며 따라서 상기 프로세스가 신속하게 달성될 수 있다.
또한, 암호화 대상 데이터는 블록 단위로 처리될 수 있으며 각 블록에 대해 위조가 존재하는지 아닌지를 결정할 수 있다. 그로 인해, 데이터가 위조되면, 위조 범위 내에 있는 암호화 대상 데이터의 데이터(또는 블록)는 용이하게 특정될 수 있다. 또한, 이러한 경우에 위조 블록 이외의 다른 데이터는 정상적으로 복호화될 수 있다. 또한, 뮤직, 비디오, 전자 북, 및 시계열로 재생되는 데이터를 갖는 다른 유사한 컨텐츠에 대해, 요구된 부분(또는 블록)만이 먼저 복호화될 수 있으며, 모든 데이터가 완전히 복호화되기 전에 재생이 시작될 수 있다.
본 발명이 상세히 기술되고 도시되었지만, 이것은 단순히 설명과 예시를 위한 것일뿐 한정하는 것이 아니며, 본 발명의 정신 및 범위는 첨부된 청구범위에 의해서만 제한된다.

Claims (17)

  1. 암호화 데이터(305, CBk)를 발생시키기 위해 암호화 대상 데이터(301, Bk)를 암호화하는 단계(S102, S602); 및
    상기 암호화 데이터에 데이터(PF(z+1))를 첨부하는 단계(S104, S604)를 포함하며, 상기 데이터(PF(z+1))는 상기 암호화 단계가 암호화를 달성함에 따라 계산된 암호화 결과를 나타내며, 상기 암호화 결과를 나타내는 상기 데이터는 상기 암호화 데이터가 위조된 데이터인지 여부를 검출하기 위한 위조 검출 데이터(308, BDk)인 암호화 방법.
  2. 제1 항에 있어서, 상기 암호화 단계는,
    순차적으로 상기 암호화 대상 데이터의 부분 데이터(Di)를 추출하는 단계; 및
    상기 추출 단계에서 현재 추출된 상기 부분 데이터를 암호화한 결과를 순차적으로 계산하기 위해 상기 추출 단계에서 사전에 추출된 상기 부분 데이터를 암호화한 결과를 이용하며, 암호화 데이터(305)를 발생시키기 위해 상기 순차적으로 계산된 암호화 결과를 이용하는 단계(S102)를 포함하며, 상기 암호화 결과를 나타내는 상기 데이터는 (PF(z+1))을 이용하는 단계에서 최종적으로 계산된 상기 암호화 결과를 나타내는 암호화 방법.
  3. 제1 항에 있어서,
    상기 암호화 단계는 각 데이터 블록(Bk)에 대응하는 암호화 블록 데이터(CBk)를 발생시키기 위해 규정된 크기의 각 데이터 블록(Bk)에 대해 상기 암호화 대상 데이터를 암호화하는 단계를 포함하고,
    상기 첨부 단계는 상기 데이터 블록에 대응하는 상기 암호화 블록 데이터와 데이터(BDk)를 관련시키는 단계를 포함하며, 상기 데이터(BDk)는 상기 암호화 단계가 암호화를 실시함에 따라 계산된 상기 각 데이터 블록에 대한 상기 암호화 결과를 나타내는 암호화 방법.
  4. 제1 항에 있어서, 상기 암호화 결과를 나타내는 상기 데이터는, 상기 암호화 결과를 나타내는 상기 데이터로 표시되는 상기 암호화 결과에 대응하는 메시지 다이제스트인 암호화 방법.
  5. 제1 항에 있어서, 상기 암호화 결과는 공통-키 암호화 시스템에서 사용되는 암호화 파라미터(401, 501)의 전체 또는 일부분인 암호화 방법.
  6. 암호화 데이터를 재생하는 방법으로서,
    상기 암호화 데이터를 분할하는 다수 블록 중 규정된 블록으로부터 상기 암호화 데이터의 부분 데이터를 순차적으로 추출하는 단계(S1301);
    상기 추출 단계에서 현재 추출된 상기 부분 데이터를 복호화한 결과를 순차 적으로 계산하기 위해 상기 추출 단계에서 사전에 추출된 상기 부분 데이터를 복호화한 결과를 사용하며, 복호화 데이터를 발생시키기 위해 상기 순차적으로 계산된 복호화 결과를 사용하는 단계(S1302, S1303); 및
    결과 비교를 통해 상기 사용 단계에서 발생된 상기 규정 블록에 대응하는 상기 복호화 데이터를 재생할 것인지 여부를 결정하기 위해, 상기 사용 단계에서 최종적으로 계산된 상기 복호화 결과를 나타내는 상기 데이터와, 상기 규정 블록이 위조되었는지 여부를 검출하기 위한 상기 규정 블록과 사전에 상관된 위조 검출 데이터를 비교하는 단계(S1304)를 포함하는 암호화 데이터 재생 방법.
  7. 제6 항에 있어서, 상기 다수의 암호화 데이터 블록으로부터 상기 규정 블록에 대응하는 하나 이상의 블록을 선택하는 단계를 더 포함하고, 상기 암호화 데이터는 재생될 컨텐츠를 암호화함으로써 획득된 데이터이며, 상기 선택 단계는 한번에 재생가능한 상기 컨텐츠량에 대응하는 데이터 크기에 대응하는 하나 이상의 블록을 선택하는 암호화 데이터 재생 방법.
  8. 제6 항에 있어서, 상기 복호화 결과를 나타내는 상기 데이터는, 상기 복호화 결과를 나타내는 상기 데이터로 표시되는 상기 복호화 결과에 대응하는 메시지 다이제스트인 암호화 데이터 재생 방법.
  9. 제6 항에 있어서, 상기 복호화 결과는 공통 키 암호화 시스템에서 사용되는 암호화 파라미터(401)의 전체 또는 일부분인 암호화 데이터 재생 방법.
  10. 제6 항에 있어서, 상기 암호화 데이터를 획득하는 단계(S1301, S1306)를 더 포함하고, 상기 비교 단계에서 상기 규정된 블록이 재생되지 않도록 결정되면, 상기 획득 단계에서, 상기 규정된 블록에 대응하는 상기 암호화 데이터가 획득되는 암호화 데이터 재생 방법.
  11. 사전에 다수의 블록으로 분할된 암호화 데이터를 통신을 통해 수신하는 단계(S1301, S1306);
    상기 다수의 블록 중 규정된 블록으로부터, 상기 수신 단계에서 수신된 상기 암호화 데이터의 부분 데이터를 순차적으로 추출하는 단계;
    상기 추출 단계에서 현재 추출된 상기 부분 데이터를 복호화한 결과를 순차적으로 계산하기 위해 상기 추출 단계에서 이전에 추출된 상기 부분 데이터를 복호화한 결과를 사용하며, 복호화 데이터를 발생시키기 위해 상기 순차적으로 계산된 상기 복호화 결과를 사용하는 단계(S1302); 및
    결과 비교를 통해 상기 암호화 데이터 통신시에 유발된 에러를 검출하기 위해, 상기 사용 단계에서 최종적으로 계산된 상기 복호화 결과를 나타내는 상기 데이터와, 상기 규정된 블록이 위조되었는지를 검출하기 위한, 상기 규정된 블록과 사전에 상관된 위조 검출 데이터를 비교하는 단계(S1304)를 포함하는 암호화 데이터 통신 방법.
  12. 암호화 데이터(305, CBk)를 발생시키기 위해 암호화 대상 데이터(301, Bk)를 암호화하는 수단(806);
    상기 암호화를 실시하는 상기 암호화 수단에 따라 계산된 상기 암호화 결과를 나타내는 데이터(PF(z+1))를 상기 암호화 데이터에 부착하는 수단(806)을 포함하고, 상기 암호화 결과를 나타내는 상기 데이터는 상기 암호화 데이터가 위조된 데이터인지 여부를 검출하기 위한 위조 검출 데이터(308, BDk)를 나타내는 암호화 장치.
  13. 암호화 데이터를 분할한 다수의 블록 중 규정된 블록으로부터 암호화 데이터의 부분 데이터를 순차적으로 추출하는 수단;
    상기 추출 수단에 의해 현재 추출된 상기 부분 데이터를 복호화한 결과를 순차적으로 계산하기 위해 상기 추출 수단에 의해 사전에 추출된 상기 부분 데이터를 복호화한 결과를 사용하고, 상기 순차적으로 계산된 복호화 결과로부터 복호화 데이터를 생성하는 수단; 및
    결과 비교를 통해 순차적으로 계산하는 수단에 의해 발생된 상기 규정된 블록에 대응하는 상기 복호화 데이터를 재생하는지 여부를 결정하기 위해, 상기 순차적으로 계산하는 수단에 의해 최종적으로 계산된 상기 복호화 결과를 나타내는 상기 데이터와, 상기 규정된 블록이 위조되었는지를 검출하기 위한, 상기 규정된 블록과 사전에 관련된 위조 검출 데이터를 비교하는 수단을 포함하는 암호화 데이터 재생 장치.
  14. 사전에 다수의 블록으로 분할된 암호화 데이터를 통신 수단을 통해 수신하는 수단(810);
    상기 다수의 블록 중 규정된 블록으로부터, 상기 수신 수단에 의해 수신된 상기 암호화 데이터의 부분 데이터를 순차적으로 추출하는 수단;
    상기 순차적으로 추출하는 수단에 의해 현재 추출된 상기 부분 데이터를 복호화한 결과를 순차적으로 계산하기 위해 상기 순차적으로 추출하는 수단에 의해 사전에 추출된 상기 부분 데이터를 복호화한 결과를 사용하고, 상기 순차적으로 계산된 복호화 결과로부터 복호화 데이터를 생성하는 수단(813); 및
    결과 비교를 통해 상기 암호화 데이터 통신시에 유발되는 에러를 검출하기 위해, 순차적으로 계산하는 수단에 의해 최종적으로 계산된 상기 복호화 결과를 나타내는 상기 데이터와, 상기 규정된 블록이 위조되었는지를 검출하기 위한, 상기 규정된 블록과 사전에 관련된 위조 검출 데이터를 비교하는 수단을 포함하는 암호화 데이터 통신 장치.
  15. 암호화 방법을 컴퓨터가 수행하도록 하기 위해 기록된 프로그램을 갖는 기계 판독가능 기록 매체로서,
    암호화 데이터(305, CBk)를 발생시키도록 암호화 대상 데이터(301, Bk)를 암호화하는 단계(S102, S602); 및
    상기 암호화 단계가 상기 암호화를 실시함에 따라 계산된 암호화 결과를 나타내는 데이터(PF(z+1))를 상기 암호화 데이터에 첨부하는 단계(S104, S604)를 포함하고, 상기 암호화 결과를 나타내는 상기 데이터는 상기 암호화 데이터가 위조된 데이터인지 여부를 검출하기 위한 위조 검출 데이터(308, BDk)인 기록된 프로그램을 갖는 기계 판독가능 기록 매체.
  16. 암호화 데이터(305)를 재생하는 방법을 컴퓨터가 수행하도록 하기 위해 기록된 프로그램을 갖는 기계 판독가능 기록 매체로서,
    상기 암호화 데이터를 분할한 다수의 블록 중 규정된 블록으로부터, 상기 암호화 데이터의 부분 데이터를 순차적으로 추출하는 단계(S1301);
    상기 추출 단계에서 현재 추출된 상기 부분 데이터를 복호화한 결과를 순차적으로 계산하기 위해 상기 추출 단계에서 사전에 추출된 상기 부분 데이터를 복호화한 결과를 사용하며, 복호화 데이터를 발생시키기 위해 상기 순차적으로 계산된 복호화 결과를 사용하는 단계(S1302, S1303); 및
    결과 비교로부터 상기 사용 단계에서 발생된 상기 규정된 블록에 대응하는 상기 복호화 데이터를 재생하는지 여부를 결정하기 위해, 상기 사용 단계에서 최종적으로 계산된 상기 복호화 결과를 나타내는 상기 데이터와, 상기 규정된 블록이 위조되었는지 여부를 검출하기 위한, 상기 규정된 블록과 사전에 관련된 위조 검출 데이터를 비교하는 단계(S1304)를 포함하는 기록된 프로그램을 갖는 기계 판독가능 기록 매체.
  17. 암호화 데이터(305) 통신 방법을 컴퓨터가 수행하도록 하기 위해 기록된 프로그램을 갖는 기계 판독가능 기록 매체로서,
    사전에 다수의 블록으로 분할된 암호화 데이터를 통신을 통해 수신하는 단계(S1301, S1306);
    상기 다수의 블록 중 규정된 블록으로부터, 상기 수신 단계에서 수신된 상기 암호화 데이터의 부분 데이터를 순차적으로 추출하는 단계;
    상기 추출 단계에서 현재 추출된 상기 부분 데이터를 복호화한 결과를 순차적으로 계산하기 위해 상기 추출 단계에서 사전에 추출된 상기 부분 데이터를 복호화한 결과를 사용하며, 복호화 데이터를 발생시키기 위해 순차적으로 계산된 상기 복호화 결과를 사용하는 단계(S1302); 및
    결과 비교로부터 상기 암호화 데이터 통신시에 유발된 에러를 검출하기 위해, 상기 사용 단계에서 최종적으로 계산된 상기 복호화 결과를 나타내는 상기 데이터와, 상기 규정된 블록이 위조되었는지 여부를 검출하기 위한, 상기 규정된 블록과 사전에 관련된 위조 검출 데이터를 비교하는 단계를 포함하는 기록된 프로그램을 갖는 기계 판독가능 기록 매체.
KR1020067005163A 2001-07-17 2002-07-10 프로세스 과정에서 암호화된 데이터의 위조 검출 데이터를발생시키는 장치 및 방법 KR100593491B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001216138 2001-07-17
JPJP-P-2001-00216138 2001-07-17
PCT/JP2002/007031 WO2003013054A1 (fr) 2001-07-17 2002-07-10 Dispositif et procede permettant de generer des donnees afin de detecter une mauvaise modification de donnees chiffrees pendant un traitement

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020047000732A Division KR100762276B1 (ko) 2001-07-17 2002-07-10 프로세스 과정에서 암호화된 데이터의 위조 검출 데이터를발생시키는 장치 및 방법

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020060032822A Division KR100743976B1 (ko) 2001-07-17 2006-04-11 프로세스 과정에서 암호화된 데이터의 위조 검출 데이터를발생시키는 장치 및 방법
KR1020060032826A Division KR100714430B1 (ko) 2001-07-17 2006-04-11 프로세스 과정에서 암호화된 데이터의 위조 검출 데이터를발생시키는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20060040742A true KR20060040742A (ko) 2006-05-10
KR100593491B1 KR100593491B1 (ko) 2006-06-30

Family

ID=19050651

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020067005163A KR100593491B1 (ko) 2001-07-17 2002-07-10 프로세스 과정에서 암호화된 데이터의 위조 검출 데이터를발생시키는 장치 및 방법
KR1020047000732A KR100762276B1 (ko) 2001-07-17 2002-07-10 프로세스 과정에서 암호화된 데이터의 위조 검출 데이터를발생시키는 장치 및 방법
KR1020060032826A KR100714430B1 (ko) 2001-07-17 2006-04-11 프로세스 과정에서 암호화된 데이터의 위조 검출 데이터를발생시키는 장치 및 방법
KR1020060032822A KR100743976B1 (ko) 2001-07-17 2006-04-11 프로세스 과정에서 암호화된 데이터의 위조 검출 데이터를발생시키는 장치 및 방법

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020047000732A KR100762276B1 (ko) 2001-07-17 2002-07-10 프로세스 과정에서 암호화된 데이터의 위조 검출 데이터를발생시키는 장치 및 방법
KR1020060032826A KR100714430B1 (ko) 2001-07-17 2006-04-11 프로세스 과정에서 암호화된 데이터의 위조 검출 데이터를발생시키는 장치 및 방법
KR1020060032822A KR100743976B1 (ko) 2001-07-17 2006-04-11 프로세스 과정에서 암호화된 데이터의 위조 검출 데이터를발생시키는 장치 및 방법

Country Status (6)

Country Link
US (1) US7751556B2 (ko)
EP (1) EP1418703A4 (ko)
JP (1) JPWO2003013054A1 (ko)
KR (4) KR100593491B1 (ko)
CN (3) CN100508451C (ko)
WO (1) WO2003013054A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004078715A1 (ja) 2003-03-07 2004-09-16 Astellas Pharma Inc. 2,6-ジ置換スチリルを有する含窒素へテロ環誘導体
US8098817B2 (en) 2003-12-22 2012-01-17 Intel Corporation Methods and apparatus for mixing encrypted data with unencrypted data
ES2384574T3 (es) * 2004-09-01 2012-07-09 Astellas Pharma Inc. Derivado de piperidina o sal farmacéuticamente aceptable del mismo
JP4576936B2 (ja) * 2004-09-02 2010-11-10 ソニー株式会社 情報処理装置、情報記録媒体、コンテンツ管理システム、およびデータ処理方法、並びにコンピュータ・プログラム
KR100698175B1 (ko) * 2004-09-02 2007-03-22 엘지전자 주식회사 단말간 멀티미디어 데이터 복사 방지 방법
KR20060066628A (ko) * 2004-12-13 2006-06-16 엘지전자 주식회사 기록매체에 수록된 콘텐트를 보호하는 방법 및 그보호방법이 적용된 콘텐트를 수록하고 있는 기록매체
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
JP5060119B2 (ja) * 2006-12-19 2012-10-31 株式会社富士通ビー・エス・シー 暗号処理プログラム、暗号処理方法および暗号処理装置
US8280974B2 (en) * 2007-07-31 2012-10-02 Hewlett-Packard Development Company, L.P. Migrating workloads using networked attached memory
JP2008118706A (ja) * 2008-01-10 2008-05-22 Nec Corp 暗号化通信制御方式
JP5414346B2 (ja) * 2009-04-28 2014-02-12 三菱電機株式会社 データ処理装置
CN102427399B (zh) * 2012-01-09 2014-07-16 北京邮电大学 基于信源信息加密的光网络安全网络编码方法
KR101638790B1 (ko) * 2014-09-29 2016-07-12 김영후 데이터 위변조 방지 및 위변조 검증 장치
KR101986792B1 (ko) 2018-11-06 2019-06-07 (주)로젠식품 스트레칭 능력이 강화된 하이멜트치즈의 제조방법
KR102295263B1 (ko) * 2019-06-13 2021-08-30 주식회사 한컴위드 블록체인을 기반으로 데이터의 분산 암호화 관리를 가능하게 하는 데이터 관리 장치 및 그 동작 방법
US11379289B2 (en) * 2019-10-08 2022-07-05 EMC IP Holding Company LLC Encryption detection
CN110602570B (zh) * 2019-11-12 2020-02-21 成都索贝数码科技股份有限公司 一种基于非对称加密的视音频可信播放方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0681136B2 (ja) 1984-12-27 1994-10-12 日本電気株式会社 デ−タ変換器
US5479512A (en) * 1991-06-07 1995-12-26 Security Dynamics Technologies, Inc. Method and apparatus for performing concryption
US5517614A (en) * 1992-05-29 1996-05-14 Kabushiki Kaisha Toshiba Data compression/encryption processing apparatus
US5440633A (en) * 1993-08-25 1995-08-08 International Business Machines Corporation Communication network access method and system
US6246767B1 (en) * 1995-04-03 2001-06-12 Scientific-Atlanta, Inc. Source authentication of download information in a conditional access system
CN1141559A (zh) * 1995-06-07 1997-01-29 株式会社东芝 加密广播系统
US6067121A (en) 1995-06-07 2000-05-23 Kabushiki Kaisha Toshiba Scrambled broadcast system
JP3624971B2 (ja) * 1995-10-02 2005-03-02 松下電器産業株式会社 ソフトウエア利用制御方法
JP3864401B2 (ja) * 1997-04-23 2006-12-27 ソニー株式会社 認証システム、電子機器、認証方法、および記録媒体
TW396704B (en) * 1997-08-07 2000-07-01 Hitachi Ltd Cipher conversion method, cipher conversion apparatus, decoding method, decoding apparatus, and data communication system
KR19990053174A (ko) 1997-12-23 1999-07-15 정선종 해쉬함수를 이용한 정보의 무결성 확인방법
US6711709B1 (en) * 1998-06-24 2004-03-23 Unisys Corporation Integrated block checking system for rapid file transfer of compressed data
JP3481470B2 (ja) 1998-10-19 2003-12-22 日本電気株式会社 データ等の不正改竄防止システム及びそれと併用される暗号化装置
WO2000057595A1 (en) * 1999-03-22 2000-09-28 Kent Ridge Digital Labs Method and apparatus for encrypting and decrypting data
US6959384B1 (en) * 1999-12-14 2005-10-25 Intertrust Technologies Corporation Systems and methods for authenticating and protecting the integrity of data streams and other data
US6980658B1 (en) * 1999-09-30 2005-12-27 Qualcomm Incorporated Method and apparatus for encrypting transmissions in a communication system
US6832314B1 (en) * 1999-12-15 2004-12-14 Ericsson, Inc. Methods and apparatus for selective encryption and decryption of point to multi-point messages
EP1252738A2 (en) * 2000-01-31 2002-10-30 VDG Inc. Block encryption method and schemes for data confidentiality and integrity protection
US7003107B2 (en) * 2000-05-23 2006-02-21 Mainstream Encryption Hybrid stream cipher
US20020048364A1 (en) * 2000-08-24 2002-04-25 Vdg, Inc. Parallel block encryption method and modes for data confidentiality and integrity protection
US6862354B1 (en) * 2000-09-29 2005-03-01 Cisco Technology, Inc. Stream cipher encryption method and apparatus that can efficiently seek to arbitrary locations in a key stream
JP4838414B2 (ja) * 2000-10-11 2011-12-14 富士通株式会社 認証方法
US20060291650A1 (en) * 2001-05-22 2006-12-28 Viswanath Ananth State-varying hybrid stream cipher
US20040111610A1 (en) * 2002-12-05 2004-06-10 Canon Kabushiki Kaisha Secure file format
JP2004363739A (ja) * 2003-06-03 2004-12-24 Hitachi Ltd 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置

Also Published As

Publication number Publication date
KR100743976B1 (ko) 2007-07-30
KR20060063820A (ko) 2006-06-12
JPWO2003013054A1 (ja) 2004-11-25
KR100714430B1 (ko) 2007-05-04
KR20040017312A (ko) 2004-02-26
CN100508451C (zh) 2009-07-01
CN1533648A (zh) 2004-09-29
CN1941694B (zh) 2011-04-20
KR20060064034A (ko) 2006-06-12
CN1941694A (zh) 2007-04-04
CN1941691A (zh) 2007-04-04
KR100762276B1 (ko) 2007-10-01
US20040172543A1 (en) 2004-09-02
CN1941691B (zh) 2012-07-18
EP1418703A1 (en) 2004-05-12
EP1418703A4 (en) 2006-02-01
KR100593491B1 (ko) 2006-06-30
WO2003013054A1 (fr) 2003-02-13
US7751556B2 (en) 2010-07-06

Similar Documents

Publication Publication Date Title
KR100743976B1 (ko) 프로세스 과정에서 암호화된 데이터의 위조 검출 데이터를발생시키는 장치 및 방법
CN109150499B (zh) 动态加密数据的方法、装置、计算机设备和存储介质
JP4060271B2 (ja) コンテンツ処理装置およびコンテンツ保護プログラム
EP2082199B1 (en) A data storage device and method
US7558961B2 (en) Systems and methods for embedding messages in look-up tables
EP2352251A1 (en) Content decoding apparatus, content decoding method and integrated circuit
US8392713B2 (en) Secure offline activation process for licensed software application programs
US20060083369A1 (en) Method and apparatus for sharing and generating system key in DRM system
JP2010187419A (ja) デジタル署名を有する改訂の送信
US20100161977A1 (en) Electronic file access control system and method
JP2009140609A (ja) 偽変造防止のためのデジタル録音装置
KR20030022484A (ko) 멀티미디어 데이터의 암호화 방법
JP2003524932A (ja) ファイルを取外し可能なマークでデジタル的にマーキングするためのシステムおよび方法
JP5403708B2 (ja) 情報処理装置、データ処理方法およびプログラム
JP2007013882A (ja) 記憶媒体、デジタルデータ処理装置、及びデジタルデータ処理方法
JP2004184516A (ja) デジタルデータ送信端末
US8041050B2 (en) Audio data reproduction system, audio data reproduction method, and electronic device used in the system
CN115758414A (zh) 一种文件处理的方法及装置
JP2002175205A (ja) 情報カプセルの構成方法及び情報カプセルを記録した記録媒体
JP2002229858A (ja) コンピュータ、及びプログラム
Chittimalli Keeping secrets secret–implementation of steganography with audio file and encrypted document
WO2006098136A1 (ja) 情報記録再生装置
JPH10320290A (ja) データ修正装置及びデータ表示装置

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130531

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140603

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150612

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee