KR20050069936A - 암호 장치, 복호 장치, 및 암호 시스템 - Google Patents

암호 장치, 복호 장치, 및 암호 시스템 Download PDF

Info

Publication number
KR20050069936A
KR20050069936A KR1020047021540A KR20047021540A KR20050069936A KR 20050069936 A KR20050069936 A KR 20050069936A KR 1020047021540 A KR1020047021540 A KR 1020047021540A KR 20047021540 A KR20047021540 A KR 20047021540A KR 20050069936 A KR20050069936 A KR 20050069936A
Authority
KR
South Korea
Prior art keywords
encryption
decryption
unit
parameter
key
Prior art date
Application number
KR1020047021540A
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 KR20050069936A publication Critical patent/KR20050069936A/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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/08Randomization, e.g. dummy operations or using noise
    • 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/56Financial cryptography, e.g. electronic payment or e-cash
    • 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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은, 암호키와 암호 장치와 복호 장치에 적합한 랜덤 파라미터(계수들이 1을 나타내는 항수)를 기억하는 파라미터 기억 유닛(112); 평문으로부터, NTRU 법에 기초한 암호 알고리즘에 따라, 암호키와, 파라미터 기억 유닛(112)에 기억된 랜덤 파라미터를 사용하여 암호화문을 생성하는 암호화 유닛(116); 및 파라미터 기억 유닛(112)에 기억된 랜덤 파라미터와 암호키를, 시간이 경과함에 따라 갱신하는 키 갱신 유닛(118)을 포함하는, 평문을 암호화함으로써 암호화문을 생성하는 송신 장치(110)에 관한 것이다.

Description

암호 장치, 복호 장치, 및 암호 시스템{ENCRYPTION APPARATUS, DECRYPTION APPARATUS AND ENCRYPTION SYSTEM}
본 발명은 암호 시스템, 특히 NTRU 암호법에 기초한 암호 알고리즘을 사용하는 암호 시스템에 관한 것이다.
송신 장치와 수신 장치 간의 기밀 통신을 실현하는 방법들 중 하나로, 공개키 암호를 사용하는 암호화 통신이 있다. 공개키 암호 시스템에서, 송신 장치는 수신 장치가 소유한 공개키를 사용하여 통신 콘텐츠를 암호화하여 수신 장치로 송신하고, 수신 장치는 암호화된 콘텐츠를 수신하여, 이것을 자신의 비밀키를 사용하여 복호화함으로써 원래의 콘텐츠를 획득한다. 이 방법은, 예컨대 「Modern Cryptography, Mathematics in Information Science. Ser. 오카모토 다츠아키와 야마모토 히로스케, 산교 도쇼, 1997」에 상세히 나타나 있다.
이 방법을 사용하는 일반적인 암호 시스템하에, 복수의 송신 장치들 및 수신 장치들이 존재한다. 우선, 송신 장치는, 목적지 수신 장치가 소유한 공개키를 획득한다. 이 공개키는 목적지 수신 장치가 소유한 비밀키와 쌍을 형성하여 암호 시스템에 공개된다. 다음, 송신 장치는, 통신되는 데이터를 상기한 바와 같이 획득된 공개키를 사용하여 암호화하여 송신하며, 수신 장치는, 송신 장치에 의하여 암호화된 통신 데이터를 수신하여, 이 데이터를 자신의 비밀키를 사용하여 복호하여, 원래의 데이터를 획득한다.
여기서, 목적지 수신 장치가 소유한 비밀키가 폭로되면, 암호 시스템은 더 이상 안전하지 않다. 목적지 수신 장치가 소유한 공개키를 사용하여 암호화된 통신 콘텐츠가, 폭로되었던 비밀키를 가지는 외부인에 의하여 복호화될 수 있다. 그러므로, 수신 장치가 소유한 비밀키가 외부에 누설되지 않도록 엄격한 제어하에 있어야 하는 것이 요구된다.
그러나, 어떠한 사고에 의하여 비밀키가 폭로될 수 있다. 그러므로, 수신 장치가 소유한 비밀키가 폭로되거나 어떠한 의심이 발생되는 경우에는, 폭로된 비밀키와 쌍이 되는 공개키의 사용을 정지해야 한다.
이러한 방법의 예로서, 인증서 폐기 리스트(CRL, Certificate Revocation List)라고 불리는 데이터 구조를 사용하여, 수신 장치가 소유한 비밀키가 폭로되면, 폭로된 비밀키와 쌍이 되는 공개키의 사용을 정지하는 방법이 제안되어 있다. 이 방법은, 예컨대, 「Digital Signature and Cryptographic Technology, 야마다 신이치로, Trans. Person Education Inc., 1997: pp.159-214」에 나타나 있다.
또다른 예로서, IEEE(Institute of Electrical and Electronics Engineers) 1394 규격에 따르는 시리얼 버스로 송신되는 디지털 콘텐츠를 보호하는 DTCP(Digital Transmission Content Protection Messages)으로 SRM(System Renewability Messages)을 사용하는 방법이 제안되어 있다. 이 SRM의 사용으로, 수신 장치가 소유한 비밀키가 폭로된 경우에, 해당 수신 장치가 소유한 공개키의 사용을 정지할 수 있다. 이 방법은, 예컨대 「"Digital Transmission Content Protection Specification Revision 1.2(Informational Version) [on line] 2001년 7월 11일 [2002년 9월 13일 검색], 인터넷<URL: http://www.dtcp.com/data/info_dtcp_v1_ 12_20010711.pdf>」에 나타나 있다.
다음은 이들 방법들을 간략하게 설명한다.
공개키는, 이것을 소유하는 사람이나 물건을 식별하는 식별 정보에 연관되어, 신뢰할 수 있는 제3 자에 의하여 시리얼 번호 등이 부가된 포맷으로 변환된다. 또한, 다른 사람에 의하여 시도된 개찬(falsification)을 방지하기 위해서 제3 자의 디지털 서명을 공개키에 부가한다. 이 디지털 서명을 공개키 인증서라고 부른다. 제3 자에 의하여 발행된 CRL이나 SRM에는, 비밀키의 폭로 등의 이유로 사용을 정지해야 할 공개키의 공개키 인증서의 시리얼 번호가 설명되어 있다. 그러므로, CRL이나 SRM에 설명된 시리얼 번호를 검사함으로써 폭로된 비밀키와 쌍을 이루는 공개키의 사용을 정지할 수 있다.
여기서, 송신 장치와 수신 장치 간의 암호화 통신을 위한 암호 시스템에 이 방법을 적용하는 것을 고려한다. 송신 장치는, 목적지 수신 장치의 공개키 인증서용 디지털 서명을 확인하여, 그 공개키 인증서에 기초하여 공개키와 시리얼 번호를 취득하고, 또한 제3 자에 의하여 발행되는 CRL과 SRM을 취득한다. 다음, 송신 장치는, 획득된 공개키 인증서의 시리얼 번호가 CRL과 SRM에 포함되어 있으면, 공개키의 사용을 정지한다. 따라서, 수신 장치가 소유한 비밀키가 폭로되는 경우, 폭로된 비밀키와 쌍이 되는 공개키의 사용을 정지한다. 결국, 송신 장치와 수신 장치 간의 안전한 암호화 통신을 실현할 수 있다.
그러나, 상술된 CRL과 SRM을 사용한 방법은 다음의 문제점을 가진다.
(1) 갱신된 CRL과 SRM을 획득할 수 없는 경우, 수신 장치가 소유한 비밀키가 폭로되어도, 송신 장치는 수신 장치가 소유한 공개키의 사용을 항상 정지할 수 없다. 그러므로, 종래 기술에서는, 송신 장치에 의하여 송신된 암호화 통신의 콘텐츠가, 폭로된 비밀키를 갖는 외부인에 의하여 동작되는 수신 장치에 의해 계속하여 복호화되는 위험성이 있다. 즉, 음악과 같은 디지털 워크(works)를 송신하는 경우에 비밀키가 폭로되면, 센더측의 손실을 보호할 수 없다는 위험성이 있다.
(2) 암호화 통신의 안전성을 확보하기 위하여, 키를 정기적으로 갱신하는 것이 바람직하다. 그러나, 종래 기술에서는, 키를 정기적으로 갱신하지 않고도 수신 장치가 정상적으로 기능하므로, 수신 장치를 동작하는 사용자가 키를 갱신하도록 재촉하는 것은 어렵다.
(3) 신뢰할 수 있는 제3 자에 의하여 발행된 CRL과 SRM이 요구된다.
다음은 상술된 문제점들 (1), (2), (3)을 상세히 설명한다.
우선, CRL과 SRM을 사용한 상기 방법으로, 송신 장치가 갱신된 CRL과 SRM을 획득할 수 없으므로, 수신 장치가 소유한 비밀키가 폭로되어도, 수신 장치가 소유한 공개키의 사용을 정지할 수 없는 경우가 있다. 예컨대, 디지털화된 영화 콘텐츠 데이터가 DVD(Digital Versatile Disc) 등의 기억 매체에 기록되는 시스템이 여기서 고려된다. 영화 콘텐츠 데이터는 각 플레이어, 즉 수신 장치가 소유한 암호키로 암호화되어, 디스크에 기록된다. 암호키에 대응하는 복호키를 가지는 플레이어는, 디스크에 기록된 암호화된 영화 콘텐츠 데이터를 복호하여, 영화를 재생한다. 특정 플레이어는 부정한 장치로서, 이 플레이어에 의하여 동작되는 재생을 방지하는 것을 목적으로 하고, 상기 플레이어의 공개키가 설명된 CRL 또는 SRM이 DVD와 같은 기억 매체에 기록되어 발행된다.
수신 장치의 비밀키가 폭로되었다고 판단된다고 가정한다. 이제부터, 수신 장치의 공개키 인증서의 시리얼 번호가 추가 설명된 갱신된 CRL과 SRM은 DVD 상에 기록된 후, 발행된다. 그러나, 그 이전에 배포된 DVD에는, CRL과 SRM의 구 버전만이 기록되고, 따라서 최근 공개키 인증서의 시리얼 번호가 기록되지 않는다. 따라서, 구 정보를 가진 DVD를 사용하는 한, 송신 장치는 CRL과 SRM의 구 버전만을 획득할 수 있으므로, 송신 장치는 부정한 수신 장치에 의하여 사용된 공개키의 사용을 필수적으로 정지할 수 없다.
또한, SRM을 사용하는 DTCP 규격에서, IEEE 1394 시리얼 버스를 통하여 접속된 장치들 간에, 장치가 소유한 SRM의 구 버전은 다른 장치들이 소유한 신 버전으로 갱신된다. 즉, 이 시스템에 의하여, DVD와 같은 기억 매체로부터 뿐만이 아니라, 다른 장치들로부터도 SRM의 신 버전을 획득할 수 있다. 그러나, 이 시스템은 SRM의 최신 버전의 획득을 완전하게 보장할 수 없다. 따라서, 송신 장치는 수신 장치가 소유한 공개키의 사용을 필수적으로 정지할 수 없다. 그러므로, 송신 장치에 의하여 송신된 암호화 통신의 콘텐츠는 폭로된 비밀키를 갖는 외부인에 의하여 계속하여 복호화되는 위험이 있다. 즉, 음악과 같은 디지털 워크를 송신하는 경우에 비밀키가 폭로될 때, 센더측의 손실을 보호받을 수 없다는 위험성이 존재한다.
다음, CRL과 SRM을 사용하는 상기 방법으로, 수신 장치를 동작하는 사람이 자신의 공개키 또는 비밀키를 갱신하도록 재촉하는 것은 어렵다. 이것은, 송신 장치가 CRL과 SRM을 사용하여, 수신 장치가 소유한 공개키를 사용하여 정지할 때 까지, 수신 장치가 암호화 통신을 계속하여 완전하게 복호화할 수 있다는 사실에 기인한다.
종래 기술에서, 폭로된 비밀키와 쌍이 되는 공개키의 사용을 정지하기 위해서, CRL과 SRM의 최신 버전을 제3 자로부터 획득하여, CRL과 SRM에 설명된 시리얼 번호를 체크하는 것이 요구되어 왔다. 그러나, 일반적으로, 송신 장치를 동작하는 사람은, CRL과 SRM의 체크하는 것을 모르고 암호화 통신을 하거나, 또는 서버로부터 최신 버전의 CRL과 SRM을 취득하는 것이 번거롭기 때문에, 이 체크를 무시하여 암호화 통신을 행하는 경우가 많다. 이것은, 송신 장치가, 수신 장치가 사용하는 공개키를 취득하면, 송신 장치와 수신 장치 모두가 키의 정기적인 갱신없이 정상적으로 동작하여, CRL과 SRM을 통한 체크없이 암호화 통신을 하기 때문이다. 송신 장치가 CRL과 SRM의 체크를 하지 않고 암호화 통신을 하면, 키를 정기적으로 갱신하지 않고 수신 장치가 정상으로 동작하기 때문에, 수신 장치를 동작하는 사람은 자신의 공개키/비밀키를 갱신하지 않을 것이다. 또한, 공개키 인증서에 대한 유효 기한을 설정하여, 송신 장치가 유효 기한이 유효하지 않은 공개키의 사용을 정지하고, 수신 장치가 키를 갱신하지 않은 한, 송신 장치는 수신 장치로의 암호화 통신을 하지 않도록 하는 방법도 있다. 그러나, 이 경우, CRL과 SRM을 사용하는 방법의 경우에서와 같이, 송신 장치를 동작하는 사람이 유효 기한의 체크을 모르고, 또는 이 체크를 무시하고 암호화 통신을 수행하는 경우가 많다. 그 결과, 수신 장치가 키를 정기적으로 갱신하지 않고 정상적으로 동작하므로, 수신 장치를 동작하는 사람은 자신의 공개키/비밀키를 정기적으로 갱신하지 않을 것이다.
마지막으로, CRL과 SRM을 사용하는 방법에서는, 신뢰할 수 있는 제3 자에 의하여 CRL과 SRM이 발행되는 것이 전제로 되어 있다. 이 문제점은, 이러한 CRL과 SRM의 존재가 가정되어야 한다는 것이다.
본 발명은 상술된 사정에 비추어 착안되었으며, 제1 목적은, 송신 장치에 의하여 수행된 암호화 통신의 콘텐츠가, 폭로된 비밀키를 가지는 외부인에 의하여 계속하여 복호화되는 것을 방지하는, 암호 장치, 복호 장치 및 암호 시스템을 제공하는 것이다.
제2 목적은, 음악과 같은 디지털 워크를 송신하는 경우에 비밀키가 폭로될 때, 센더측의 손실을 방지하는 손실을 방지하는, 암호 장치, 복호 장치 및 암호 시스템을 제공하는 것이다.
제3 목적은, 수신 장치 또는 송신 장치를 동작하는 사람이 키를 각각 갱신하도록 재촉하는, 암호 장치, 복호 장치 및 암호 시스템을 제공하는 것이다.
제4 목적은, 송신 장치가 암호화 통신을 수행할 때, 제3 자에 의하여 발행된 CRL과 SRM을 요하지 않는, 암호 장치, 복호 장치 및 암호 시스템을 제공하는 것이다.
도 1은 본 발명의 실시예에 따른 랜덤수 다항식 생성 처리의 시퀀스를 도시하는 흐름도이다.
도 2는 본 발명의 제1 실시예에 따른 암호 시스템(1)의 구성을 도시하는 도면이다.
도 3은 본 발명의 제1 실시예에 따른 송신 장치(110)의 구성을 도시하는 도면이다.
도 4는 본 발명의 제1 실시예에 따른 파라미터 기억 유닛(112)의 구성을 도시하는 흐름도이다.
도 5는 본 발명의 제1 실시예에 따른 송신 장치(110)에 의하여 수행된 암호화 통신 처리의 시퀀스를 도시하는 흐름도이다.
도 6은 본 발명의 제1 실시예에 따른 송신 장치(110)에 의하여 수행되는 랜덤 파라미터를 갱신하는 처리의 시퀀스를 도시하는 흐름도이다.
도 7은 본 발명의 제1 실시예에 따른 송신 장치(110)에 의하여 수행되는 공개키를 갱신하는 처리의 시퀀스를 도시하는 흐름도이다.
도 8은 본 발명의 제1 실시예에 따른 수신 장치(120a)의 구성을 도시하는 도면이다.
도 9는 본 발명의 제1 실시예에 따른 수신 장치(120a)에 의하여 수행되는 복호 처리의 시퀀스를 도시하는 흐름도이다.
도 10은 본 발명의 제1 실시예에 따른 수신 장치(120a)에 의하여 수행되는 키를 갱신하는 처리의 시퀀스를 도시하는 흐름도이다.
도 11은 NTRU 암호법으로 복호 에러의 확률의 측정 결과를 도시하는 도면이다.
도 12는 본 발명의 제2 실시예에 따른 암호 시스템(2)의 구성을 도시하는 도면이다.
도 13은 본 발명의 제2 실시예에 따른 콘텐츠 서버(210)의 구성을 도시하는 도면이다.
도 14는 본 발명의 제2 실시예에 따른 파라미터 기억 유닛(212)의 구성을 도시하는 도면이다.
도 15는 본 발명의 제2 실시예에 따른 콘텐츠 서버(210)에 의하여 수행되는 암호화 통신 처리의 시퀀스를 도시하는 흐름도이다.
도 16은 본 발명의 제2 실시예에 따른 콘텐츠 서버(210)에 의하여 동작되는, 랜덤 파라미터를 갱신하는 처리의 시퀀스를 도시하는 흐름도이다.
도 17은 본 발명의 제2 실시예에 따른 콘텐츠 서버(210)에 의하여 수행되는, 공개키를 갱신하는 처리의 시퀀스를 도시하는 흐름도이다.
도 18은 본 발명의 제2 실시예에 따른 키 서버(220)의 구성을 도시하는 도면이다.
도 19는 본 발명의 제2 실시예에 따른 키 서버(220)에 의하여 수행되는 처리의 시퀀스를 도시하는 흐름도이다.
도 20은 본 발명의 제2 실시예에 따른 수신 장치(230)의 구성을 도시하는 도면이다.
도 21은 본 발명의 제2 실시예에 따른 수신 장치(230)에 의하여 수행되는 복호 처리의 시퀀스를 도시하는 흐름도이다.
도 22는 본 발명의 제2 실시예에 따른 수신 장치(230)에 의하여 수행되는, 키를 갱신하는 처리의 시퀀스를 도시하는 흐름도이다.
도 23A는 콘텐츠를 올바르게 복호하는 결과를 도시하는 도면이다.
도 23B는 콘텐츠를 올바르지 않게 복호하는 결과를 도시하는 도면이다.
평문(plaintext)을 암호화함으로써 암호화문을 생성하기 위한 본 발명에 따른 암호 장치는, 암호키와, 복호 장치에 적합하며 암호화문을 복호화할 때 복호 에러의 확률을 변화시키는 파라미터를 기억하도록 동작가능한 기억 유닛; 파라미터의 값에 따라 암호화문을 복호화할 때, 복호 에러의 확률을 변화시키는 암호 알고리즘에 따라, 상기 기억 유닛에 기억된 암호키와 파라미터를 사용하여, 평문으로부터 암호화문을 생성하도록 동작가능한 암호화 유닛; 및 상기 기억 유닛에 기억된 파라미터를 갱신하도록 동작가능한 갱신 유닛을 구비한다. 상기 갱신 유닛은, 시간이 흐름에 따라 기억 유닛에 기억된 파라미터를 갱신하는 것이 바람직하다.
그러므로, 복호 장치가, 시간이 경과함에 따라 파라미터를 갱신함으로써 암호화문을 올바르게 암호화하는 것을 방지할 수 있다. 따라서, 폭로된 비밀키(복호키)를 사용하고자 하는 외부인에 의하여 동작되는 수신 장치는 송신 장치에 의하여 송신된 암호화 통신의 콘텐츠를 악의적으로 복호할 수 없다. 결국, 비밀키가 폭로되면, 폭로된 키를 가지는 외부인에 의하여 동작되는 수신 장치에 의하여 암호화 통신의 상세의 연속적 복호화가 방지될 수 있다. 이것은, 예컨대 음악과 같은 디지털 워크를 송신하는 경우에 비밀키가 폭로될 때, 센서측의 손실을 보호할 수 있게 한다.
또한, 정규의 사용자에 의하여 동작되는 수신 장치가 암호화 통신의 콘텐츠를 복호하는 데 실패할 확률은, 복호화가 수행됨에 따라 증가한다.
또한, 송신 장치는, 암호화 통신을 수행할 때, 제3 자에 의하여 발행된 CRL과 SRM을 요하지 않는다.
암호화문을 복호하기 위한 본 발명의 다른 태양에 따른 복호 장치는, 파라미터의 값에 따라 암호화문을 복호할 때, 복호 에러의 확률을 변화시키는 암호 알고리즘에 따라 생성된 암호화문으로부터, 복호키를 사용하여 복호화문을 생성하도록 동작가능한 복호화 유닛; 복호화문이 올바르게 획득되는 지를 판단하도록 동작가능한 판단 유닛; 상기 판단 유닛에 의하여 행해진 판단의 결과에 따라, 암호 장치가 복호키를 갱신할 것을 요구하도록 동작가능한 복호키 갱신 요구 유닛; 및 암호 장치가 파라미터의 값을, 실제적인 문제점들을 발생시키지 않는 정도로 암호화문을 복호할 때, 복호 에러의 확률을 감소시키는 초기값으로 변화시킬 것을 요구하도록 동작가능한 파라미터 초기화 요구 유닛을 구비한다.
따라서, 복호화문이 올바르게 획득될 수 없을 때, 복호키가 갱신된다. 따라서, 수신 장치 또는 수신 장치를 동작하는 사용자가 키를 갱신할 것을 재촉할 수 있다.
본 발명의 다른 태양에 따른 암호 시스템은, 평문을 암호화함으로써 암호화문을 생성하는 암호 장치와, 암호화문을 복호화함으로써 복호화문을 생성하는 복호 장치를 구비한다.
암호 장치는, 암호키와, 복호 장치에의 사용에 적합하며 암호화문을 복호화할 때, 복호 에러의 확률을 변화시키는 파라미터를 기억하도록 동작가능한 기억 유닛; 파라미터의 값에 따라 암호화문을 복호화할 때 복호 에러의 확률을 변화시키는 암호 알고리즘에 따라, 암호키와, 기억 유닛에 기억된 파라미터를 사용하여, 평문으로부터 암호화문을 생성하도록 동작가능한 암호화 유닛; 및 기억 유닛에 기억된 파라미터를 갱신하도록 동작가능한 갱신 유닛을 포함한다.
복호 장치는, 복호키를 사용하여 암호화문으로부터 복호화문을 생성하도록 동작가능한 복호화 유닛; 암호 장치가 복호키를 갱신할 것을 요구하도록 동작가능한 복호키 갱신 요구 유닛; 및 암호 장치가 파라미터의 값을, 소정값 이하인 값으로 복호 에러의 확률을 감소시키는 초기값으로 변화시킬 것을 요구하도록 동작가능한 파라미터 초기화 요구 유닛을 포함한다.
바람직하게는, 암호 장치는, 복호키 갱신 요구 유닛으로부터 복호키를 갱신하는 요구를 수신하여, 상기 갱신 요구에 응답하여 암호키와 복호키를 갱신하도록 동작하는 키 갱신 유닛; 및 파라미터 초기화 요구 유닛으로부터 랜덤 파라미터를, 초기화하는 요구를 수신하여, 상기 초기화 요구에 응답하고, 상기 랜덤 파라미터를 소정값 이하인 값으로 복호 에러의 확률을 감소시키는 초기값에 설정하도록 동작가능한 파라미터 초기화 유닛을 더 포함한다. 또한, 복호키 갱신 요구 유닛과 파라미터 초기화 요구 유닛은 각각 암호 장치에, 소정량의 지불 요구와 함께, 복호키를 갱신하는 요구와 파라미터를 초기화하는 요구를 보내고, 키 갱신 유닛은, 복호키 갱신 요구 유닛이 소정량을 지불했을 때만 암호키와 복호키를 갱신하고, 파라미터 초기화 유닛은, 파라미터 초기화 요구 유닛이 소정량을 지불했을 때만 랜덤 파라미터를 초기값에 설정한다. 또한, 평문이 콘텐츠 데이터이며, 갱신 유닛은 소정량이 지불되는 소정 기간 동안 랜덤 파라미터의 갱신을 수행하지 않는다.
따라서, 수신 장치가 암호화 통신의 콘텐츠를 복호화하는 것을 실패하는 확률이 점차 증가한다는 경향을 이용함으로써, 예컨대 특정 기간 동안 콘텐츠 데이터를 무료로 배포하고, 수신 장치가 요금이 지불될 때만 키를 갱신하도록 하고, 따라서 콘텐츠 데이터 전달에 적용가능한 암호 시스템을 제공할 수 있다.
상술된 바와 같이, 따라서 본 발명은 종래 시스템에서의 상기 문제점들을 고려하여 착안되며, 송신 장치가, 암호화 통신을 위한 NTRU 암호화법을 사용하여, 시간이 흐름에 따라 랜덤 파라미터를 증가시키는 암호 시스템을 제공한다. 따라서, 수신 장치가 시간이 흐름에 따라 암호화 통신의 콘텐츠를 올바르게 복호화하는 것을 방지할 수 있다.
이러한 방식으로, 공개된 비밀키를 악의적으로 사용하는 의도를 가진 외부인에 의하여 동작되는 수신 장치는, 송신 장치가 암호화 통신을 수행할 때 암호화 통신의 콘텐츠를 복호화할 수 없다. 따라서, 비밀키가 공개되면, 폭로된 비밀키를 가지는 외부인에 의하여 동작되는 수신 장치에 의하여 암호화 통신의 콘텐츠가 연속적으로 복호화되는 것을 방지할 수 있다. 이것은 음악과 같은 디지털 워크를 송신하는 경우에 비밀키가 폭로될 때, 센더 측의 불이익을 방지할 수 있게 한다.
정상 사용자에 의하여 동작되는 수신 장치가 복호화 수행을 실패할 확률은, 송신 장치에 의하여 송신된 암호화 통신의 콘텐츠를 복호함에 따라 점차 증가한다. 따라서, 수신 장치 또는 수신 장치를 동작하는 사용자가 키를 갱신하도록 촉구할 수 있다.
또한, 제3 자에 의하여 발행된 CRL 및 SRM은, 송신 장치가 암호화 통신을 수행할 때 요구되지 않는다.
또한, 예컨대 콘텐츠 데이터가 소정 기간동안 무료로 배포될 때, 콘텐츠 데이터 전달에 적용가능한 암호 시스템을 제공할 수 있어, 암호화 통신의 콘텐츠를 복호화를 실패할 확률이 점차 증가한다는 경향을 이용하여 요금이 지불될 때만 키가 갱신된다.
따라서, 본 발명은 암호 시스템, 특히 높은 안정성을 가지는 암호 시스템에서의 키의 정기적 갱신을 구현한다. 그러므로, 정보 통신 기술과 컴퓨터가 널리 보급된 오늘날, 이 실용적 가치는 높다.
본 출원의 기술적 배경에 관한 또다른 정보로서, 2002년 10월 9일 출원된 일본 특허 출원 제2002-296219호가 여기에 참조용으로 사용된다.
본 발명의 이들 및 다른 목적들, 이점들 및 특징들은 본 발명의 특정 실시예를 도시하는 첨부 도면과 함께 다음의 상세한 설명으로부터 명백해질 것이다.
이하, 본 발명에 따른 실시예를 도면을 참조하여 상세히 설명한다.
본 발명에 따른 암호 시스템은, 공개키 암호 방법의 일례로서, NTRU 암호법을 사용한다. NTRU 암호법은 다항식 연산으로 암호화와 복호화를 행한다. NTRU 암호법으로서, NTRU 암호법에 기초한 공개키 및 비밀키의 생성 방법은, Jeffery Hoffstein, Jill Pipher, 및 Josephe H. Silverman, "NTRU: A ring based public key cryptosystem" Lecture Notes in Computer and Science, 1423, pp.267-288, Springer-Verlag, 1998에 상세히 설명되고, 따라서 여기서 상세한 설명은 생략되나, 이하에 NTRU 암호법을 간단히 설명한다.
NTRU 암호법은, 정수 시스템 파라미터(N, p,q)를 가진다. 상술된 참조 문헌에는, 시스템 파라미터의 예로서, (N, p, q)=(107, 3, 64), (N, p, q)=(167, 3, 128), (N, p, q)=(503, 3, 256)의 세가지의 예를 든다.
본 발명에 따른 암호 시스템의 실시예는 N = 167인 시스템 파라미터의 경우를 설명한다.
NTRU 암호법은 다항식의 연산에 의해 암호화와 복호화를 하는 공개키 암호법이다. 우선, NTRU 암호법에 사용된 다항식은, "n"이 시스템 파라미터(N)에 기초한 (N-1)이하인 n차원 다항식이다. 예컨대, N=5일 때, 식은 "n"이 "X^4+X^3+1"과 같이 4 이하인 n차원 다항식이다. 여기서, "X^a"는 X의 a승을 의미한다. 암호화 및 복호화용으로 사용된 공개키(h), 비밀키(f), 평문(m), 랜덤수(r), 및 암호문(c) 중 임의의 것은, "n"이 (N-1) 이하인 n차원 다항식으로서 각각 표현된다(이하, 각각을 공개키(h), 비밀키 다항식(f), 평문 다항식(m), 랜덤수 다항식(r), 및 암호문 다항식(c)이라고 부른다). 여기서, 시스템 파라미터(N)는 167이다. 그러므로, 평문(m)이 2진 표현을 사용하여 표현되는 것으로 가정하여, 167비트에 등가인 정보를 나타낼 수 있다. 여기서, 평문 다항식(m)은 평문(m)의 비트와 같이, 167을을 초과하지 않은, 2의 2진 지수의 최대값인 128을 사용하여 표현된다.
다항식은 시스템 파라미터(N)에 대하여, X^N=1라는 관계식을 사용하여 연산되어, 다항식은 "n"이 (N-1) 이하인 항상 n차원 다항식이다. 예컨대, N= 5인 경우, 다항식 "X^4 + X^2 + 1"과 다항식 "X^3 + X"의 곱은, 다항식들의 곱은 "x"로 표현하고, 정수와 다항식의 곱을 "ㆍ"으로 나타내어, X^5= 1라는 식으로 하여, 다항식은 항상 "n"이 (N-1) 이하인 n차원 다항식이도록 연산된다.
코딩이 수행되면, 후술된 램덤수 다항식(r)과 공개키 다항식(h)을 사용하여 평문 다항식(m)에 다항식 연산인 암호 알고리즘(E)이 수행되어, 암호문 다항식(c= E(m, r, h))이 생성된다. 여기서, E(m, r, h)는, NTRU 암호법에 기초하여, 암호 알고리즘(E)에 평문 다항식(m), 랜덤수 다항식(r) 및 공개키 다항식(h)을 입력함으로써 얻어지는 다항식 연산의 결과이다. 암호 알고리즘(E)에 있어서, 상술된 문헌에 상세히 설명되고, 따라서 여기서는 설명을 생략한다.
NTRU 법에서, 랜덤수 다항식(r)을 생성하기 위한 파라미터(d)(d는 정수)가 미리 정해져 있고, 랜덤수 다항식(r)은, "d" 계수가 1이고, 다른 "d" 계수가 -1이고, 다른 계수는 O이도록 생성된다. 즉, 랜덤수 다항식(r)은, "n"이 (N-1) 이하인 n 차원 다항식이고, 0차원(정수항)부터 (N-1)번째 차원까지의 "N" 계수를 가진다. "N" 계수들 중, "d" 계수가 1이고, 다른 "d" 계수가 -1이고, (N-2d) 계수는 0이도록 랜덤수 다항식(r)이 선택된다. 상술된 문헌에 따르면, N=167이 파라미터(N)에 대하여 정의되면, d=18인 것으로 정의된다. 즉, 18개의 계수가 1이고, 다른 18개의 계수가 -1이고, 131(=167-36)개의 계수가 O이도록 랜덤수 다항식(r)이 선택된다.
예컨대, 랜덤수 다항식(r)이 도 1에 도시된 바와 같은 알고리즘에 따라 생성된다. 우선, 랜덤수 다항식(r)에서의 "N" 계수들 모두는 0으로 설정된다(단계 S271). 다음, 0 내지 (N-1) 범위의 정수 랜덤수(t)가 생성된다(단계 S273). 랜덤수의 생성에 대하여, 프로그래밍 언어 C에 의하여 동작되는 표준 라이브러리 함수(standard library function)인 랜드(rand) 함수가 사용된다. 다음, 랜덤수 다항식(r)에서 "t"번째 차원의 항의 계수가 1을 나타내는 지의 여부가 생성된 랜덤수(t)에 기초하여 검사된다(단계 S274). 1을 나타내면(단계 S273에서 Yes), 랜덤수 생성 처리(단계 S273)는 다시 반복된다. 0을 나타내면(단계 S273에서 No), 랜덤수 다항식(r)의 "t"번째 차원의 항의 계수는 1에 설정된다(단계 S275). 랜덤수 다항식(r)에서의 "d" 계수가 1일 때까지 처리가 반복된다(단계 S272~S276).
다음, 0 내지 (N-1) 범위인 정수 랜덤수(t)가 생성된다(단계 S278). 랜덤수 다항식(r)에서의 "t"번째 차원의 항의 계수가 1 또는 -1을 나타내는 지가, 생성된 랜덤수(t)에 기초하여 검사된다(단계 S279). 1 또는 -1을 나타내면(단계 S279에서 Yes), 랜덤수 생성 처리(단계 S278)가 다시 반복된다. 0을 나타내면(단계 S279에서 No), 랜덤수 다항식(r)에서의 "t"번째 차원의 항의 계수는 -1에 설정된다(단계 S280). 랜덤수 다항식(r)에서의 "d" 계수가 -1일 때까지 처리가 반복된다(단계 S277~S281). 랜덤수 다항식(r)은 상술된 바와 같이 생성된다.
복호화시에는, 비밀키 다항식(f)을 사용하여 암호문 다항식(c)에 다항식 연산인 복호 알고리즘(D)이 수행되어, 복호문 다항식(m'= D(c, f))이 생성된다. 여기서, D(c, f)는 NTRU 암호법에 기초하여, 복호 알고리즘(D)에, 암호문 다항식(c), 및 비밀키 다항식(f)을 입력하여 얻어지는 다항식 연산의 결과이다. 복호 알고리즘(D)에 대해서는, 상기 문헌에 상세히 설명되어 있으므로, 여기서는 설명을 생략한다.
그런데, NTRU 암호법을 사용하면, 복호문 다항식(m')이 평문 다항식(m)과는 상이한 경우가 발생한다. 이 경우는, 복호시에 올바르게 평문 다항식(m)을 얻을 수 없다. 이것을 "복호 에러가 발생한다"라고 한다. 복호 에러의 발생은, 랜덤수 다항식(r), 평문 다항식(m), 공개키 다항식(h), 및 비밀키 다항식(f)의 조합에 따른다. 보다 구체적으로는, 공개키 다항식(h)은 비밀키 다항식(f)과 랜덤 다항식(g)을 계산한 결과로서 생성된다. 랜덤 다항식(g), 랜덤수 다항식(r), 평문 다항식(m), 및 비밀키 다항식(f)의 계산 결과인 랜덤수 다항식(pㆍr x g + f x m)의 계수의 값이 -q/2로부터 q/2의 범위인 값을 나타날 때, 복호 에러가 발생한다. 복호 에러의 발생을 방지하는 방법은 없지만, 상술된 문헌에 따르면, N= 167인 경우, d=18이라고 정의될 때, 이러한 에러는 거의 발생하지 않고, 문제는 발생하지 않는 것으로 지정된다.
(제1 실시예)
본 발명의 제1 실시예에 따른 암호 시스템(1)의 전체 구성이 도 2에 도시되어 있다.
이 암호 시스템(1)은 평문 다항식(m)에 대한 암호화 통신을 행하는 시스템이으로, 송신 장치(110)와 복수의 수신 장치(120a, 120b, 120c)를 포함한다. 송신 장치(110)와 수신 장치(120a, 120b, 120c)는 통신로(130)를 경유하여 서로 접속되어 있다.
이하에, 송신 장치(110)는 복수의 수신 장치 중 선택된 수신 장치(120a)와 암호화 통신을 하는 것으로 가정하여, 수신 장치(120a)의 구성 요소는 물론, 송신 장치(110)의 구성 요소에 관해서 상세히 설명한다.
송신 장치(110)는, 도 3에 도시된 바와 같이, 평문 입력 유닛(111), 파라미터 기억 유닛(112), 타이머 유닛(113), 파라미터 제어 유닛(114), 랜덤수 생성 유닛(115), 암호화 유닛(116), 송신 유닛(117) 및 키 갱신 유닛(118)을 포함한다.
평문 입력 유닛(111)은 외부로부터 입력된 평문 다항식(m)을 암호화 유닛(116)에 출력한다.
파라미터 기억 유닛(112)은, 수신 장치(120a)의 고유 번호(IDa), 공개키 다항식(ha) 및 랜덤 파라미터(da)를, 한 세트의 데이터(DTa=(IDa, ha, da)로서 기억한다(수신 장치들(120b, 120c)도 각각 동일한 방식으로, 데이터(DTb=(IDb, hb, db)) 및 데이터(DTc=(IDc, hc, dc))를 각각 기억한다). 여기서, 랜덤 파라미터(da)는, 암호화때에 사용되는 랜덤수 다항식(r)을 생성하기 위한 파라미터이고, 랜덤수 다항식(r)의 계수 중, 1을 나타내는 계수의 수와 -1을 나타내는 계수의 수를 나타낸다. 랜덤 파라미터(da)의 초기 벡터에 관해서는, da=18로서 정의한다.
타이머 유닛(113)은, 1일당 시간 신호를 생성하여, 파라미터 제어 유닛(114)에 입력한다.
파라미터 제어 유닛(114)은, 타이머 유닛(113)으로부터 시간 신호를 받아 들여, 파라미터 기억 유닛(112)에 기억된 랜덤 파라미터(da)의 값을 1만큼 증가시킨다(랜덤 파라미터들(db, dc)의 값들도 동일한 방식으로 증가된다).
랜덤수 생성 유닛(115)은 파라미터 기억 유닛(112)으로부터 수신 장치(120a)의 랜덤 파라미터(da)를 독출한 후, 랜덤 파라미터(da)에 기초하여, "da" 계수가 1이고, 다른 "da" 계수가 -1이고, 다른 계수가 O인 랜덤수 다항식(r)을 랜덤하게 생성한다. 랜덤수 다항식(r)의 생성 방법은 상술된 바와 같다. 다음, 랜덤수 생성 유닛(115)은 생성된 랜덤수 다항식(r)을 암호화 유닛(116)에 출력한다.
암호화 유닛(116)은 미리 NTRU 암호법에 기초하여 암호 알고리즘(E)을 갖는다.
암호화 유닛(116)은 평문 입력 유닛(111)으로부터 평문 다항식(m)을 수신하여, 파라미터 기억 유닛(112)으로부터 수신 장치(120a)의 공개키 다항식(ha)을 독출하여, 랜덤수 생성 유닛(115)으로부터 랜덤수 다항식(r)을 수신한다. 암호화 유닛(116)은 생성된 암호화문 다항식(m, r, ha)을 송신 유닛(117)에 출력한다.
송신 유닛(117)은 암호문 다항식(E(m, r, ha))을 통신로(130)를 통하여 수신 장치(120a)에 송신한다.
키 갱신 유닛(118)은 통신로(130)를 통하여 수신 장치들(120a, 120b, 120c)로부터, 고유 번호와 새로운 공개키 다항식을 각각 수신할 수 있다. 수신 장치(120a)의 고유 번호(IDa)와 공개키 다항식(ha')을 수신한 경우, 키 갱신 유닛(118)은 데이터(DTa=(IDa, ha, da))를 데이터(DTa'=(IDa, ha', da'))로 갱신한다. 여기서 da'는 da'=18로서 정의된 랜덤 파라미터의 초기값이다(수신 장치들(120b, 120c)로부터 고유 번호와 공개키 다항식을 수신한 경우는, 키 갱신 유닛(118)은 각각 데이터(DTb)에서 데이터(DTb')로, 데이터(DTc)에서 데이터(DTc')로 갱신한다).
상술된 송신 장치(110)는 후술되는 암호화 통신 처리, 랜덤 파라미터 갱신 처리 및 공개키 갱신 처리를 병행하여 비동기적으로 수행한다(임의 순서가 가능하다).
다음은 상술된 3가지 형태의 처리의 동작을 구분하여 설명한다.
그 시작으로, 암호화 통신 처리의 동작이 도 5에 도시된 흐름도를 참조하여 설명한다.
우선, 랜덤수 생성 유닛(115)은 파라미터 기억 유닛(112)으로부터 수신 장치(120a)의 랜덤 파라미터(da)를 독출한다(단계 S1O1). 다음, 랜덤수 생성 유닛(115)은, 파라미터 기억 유닛(112)으로부터 독출된 랜덤수 파라미터(da)에 기초하여, "da" 계수가 1이고, "da" 계수가 -1이고, 다른 계수가 O인 랜덤수 다항식(r)을 랜덤으로 생성하여, 생성된 랜덤수 다항식(r)을 암호화 유닛(116)에 출력한다(단계 S102). 랜덤수 다항식(r)의 생성 방법은 도 1을 참조하여 설명된 바와 같다.
다음에, 암호화 유닛(116)은, 평문 입력 유닛(111)으로부터 평문 다항식(m)을 수신하여, 파라미터 기억 유닛(112)으로부터 수신 장치(120a)의 공개키 다항식 (ha)을 독출한다. 또한, 암호화 유닛(116)은 랜덤수 생성 유닛(115)으로부터 랜덤수 다항식(r)을 수신한다(단계 S103). 다음, 암호화 유닛(116)은, 랜덤수 다항식(r)과 공개키 다항식(ha)을 사용하여, 평문 다항식(m)에 암호 알고리즘(E)을 수행하여 암호문 다항식(E(m, r, ha))을 생성하여, 생성된 암호문 다항식(E(m, r, ha))을 송신 유닛(117)에 출력한다(단계 S104).
송신 유닛(117)은 수신된 암호문 다항식(E(m, r, ha))을 통신로(130)를 통하여 수신 장치(120a)에 송신한 후 처리를 종료한다(단계 S105).
다음은, 송신 장치(110)에 의하여 수행된 랜덤 파라미터 갱신 처리를 도 6에 도시된 흐름도를 참조하여 설명한다.
타이머 유닛(113)으로부터 시간 신호를 받아 들이면(단계 S111에서 Yes), 파라미터 제어 유닛(114)은 파라미터 기억 유닛(112)에 기억된 랜덤 파라미터(da)의 값을 1만큼 증가시켜(랜덤 파라미터(db, dc)의 값들은 동일한 방식으로 1만큼 증가된다), 처리를 종료한다(단계 S112). 파라미터 제어 유닛(114)은 타이머 유닛(113)으로부터의 시간 신호를 수신하지 않으면(단계 S111에서 No), 더 이상 처리는 없다.
다음은, 송신 장치(110)에 의하여 수행된 공개키 갱신 처리를 도 7에 도시된 흐름도를 참조하여 설명한다.
키 갱신 유닛(118)은, 수신 장치(120a)로부터 고유 번호(IDa)와 새로운 공개키 다항식(ha')을 수신하면, 파라미터 기억 유닛(112)에 기억된 데이터(DTa=(IDa, ha, da))를 데이터(DTa'=(IDa, ha', da'))로 갱신하여, 처리를 종료한다(수신 장치들(120b, 120c)에서 고유 번호와 새로운 공개키들을 수신한 경우, 데이터(DTb, DTc)는 각각 DTb' 및 DTc'로 각각 갱신된다).
키 갱신 유닛(118)이 수신 장치들(120a, 120b, 120c) 중 임의의 하나로부터 임의의 고유 번호와 공개키 다항식들을 수신하지 않을 때(단계 S121에서 No), 어떠한 처리도 행해지지 않는다.
수신 장치(120a)는, 도 8에 도시된 바와 같이, 수신 유닛(121), 비밀키 기억 유닛(122), 복호화 유닛(123), 복호문 출력 유닛(124), 키 재생성 유닛(125), 및 입력 유닛(126)을 포함한다.
수신 유닛(121)은, 송신 장치(110)로부터 통신로(130)를 통하여 암호문 다항식(E(m, r, ha))을 수신하여, 이것을 복호화 유닛(123)으로 출력한다.
비밀키 기억 유닛(122)은, 수신 장치(120a)의 비밀키 다항식(fa)을 기억한다.
복호화 유닛(123)은, 암호화 유닛(116)에 포함된 암호 알고리즘(E)의 역 변환인 NTRU 암호법에 기초한 복호 알고리즘(D)을 미리 가지고 있다.
복호화 유닛(123)은, 수신 유닛(121)으로부터 암호문 다항식(E(m, r, ha))을 받아, 비밀키 기억 유닛(122)으로부터 수신 장치(120a)의 비밀키 다항식(fa)을 독출한다. 다음, 복호화 유닛(123)은, 비밀키 다항식(fa)을 사용하여, 암호문 다항식(E(m, r, ha))에 복호 알고리즘(D)을 수행하여 복호문 다항식(m'=D(E(m, r, ha), fa))을 생성하여, 생성된 복호문 다항식(m')을 복호문 출력 유닛(124)에 출력한다.
복호문 출력 유닛(124)은 복호화 유닛(123)으로부터 복호문 다항식(m')을 수신하여, 이것을 외부로 출력한다.
키 재생성 유닛(125)은, 입력 유닛(126)을 통하여 키 재생성 요구 신호를 받아들인 경우, NTRU 암호법에 기초하여 비밀키 다항식(fa') 및 공개키 다항식(ha')을 새롭게 재생성한다. 그 후, 키 재생성 유닛(125)은 비밀키 기억 유닛(122)에 기억된 비밀키 다항식(fa)을 비밀키 다항식(fa')으로 갱신한 뒤, 수신 장치(120a)의 고유 번호(IDa)와 새로운 공개키 다항식(ha')을 통신로(130)를 통하여 송신 장치(110)에 송신한다.
수신 장치(120a)를 동작하는 사용자는, 수신 장치(120a)의 공개키 다항식(ha)과 비밀키 다항식(fa)의 재생성을 지시하는 키 재생성 요구 신호를 입력 유닛(126)에 입력할 수 있다. 이 키 재생성 요구 신호는, 복호문 출력 유닛(124)으로부터 출력된 복호문 다항식(m')이 정확하게 획득될 수 없다는 등의 이유로, 공개키 다항식(ha)과 비밀키 다항식(fa)의 재생성를 위해 사용자에 의하여 입력되는 신호이다.
입력 유닛(126)은 외부에서 입력된 키 재생성 요구 신호를 키 재생성 유닛(125)에 출력한다.
상술된 바와 같은 수신 장치(120a)는, 후술되는 복호화 처리 및 키 갱신 처리를 병행하여 비동기적으로 수행한다(임의 순서가 가능하다).
다음은 수신 장치(120a)에 의하여 수행되는 복호 처리와 키 갱신 처리의 동작들을 따로 설명한다.
우선, 수신 장치(120a)에 의하여 수행되는 복호화 처리를 도 9에 도시된 흐름도를 참조하여 설명한다.
수신 유닛(121)은 송신 장치(110)로부터 통신로(130)를 통하여 암호문 다항식(E(m, r, ha))을 수신하여, 이것을 복호화 유닛(123)에 출력한다(단계 S151).
복호화 유닛(123)은, 수신 유닛(121)으로부터 암호문 다항식(E(m, r, ha))을 수신하여, 비밀키 기억 유닛(122)으로부터 수신 장치(120a)의 비밀키 다항식(fa)을 독출한다(단계 S152). 다음, 복호화 유닛(123)은, 비밀키 다항식(fa)을 사용하여, 암호문 다항식(E (m, r, ha))에 복호 알고리즘(D)을 수행하여 복호문 다항식(m'= D (E (m, r, ha), fa))를 생성하여, 이것을 복호문 출력 유닛(124)에 출력한다(단계 S153).
복호문 출력 유닛(124)은 복호화 유닛(123)으로부터 복호문 다항식(m')을 수신하여, 이것을 외부에 출력하여 처리를 종료한다(단계 S154).
다음은, 수신 장치(120a)에 의하여 수행된 키 갱신 처리를 도 10에 도시된 흐름도를 참조하여 설명한다.
우선, 키 재생성 유닛(125)은, 입력 유닛(126)을 통하여 키 재생성 요구 신호를 받아들이면(단계 S161에서 Yes), NTRU 암호법에 기초하여 비밀키 다항식(fa') 및 공개키 다항식(ha')을 새롭게 재생성한다. 그 후, 키 재생성 유닛(125)은 비밀키 기억 유닛(122)에 기억된 비밀키 다항식(fa)을 새롭게 생성한 비밀키 다항식(fa')으로 갱신한다(단계 S162). 키 재생성 유닛(125)은 또한, 수신 장치(120a)의 고유 번호(IDa)와 새로운 공개키 다항식(ha')을 통신로(130)를 통하여 송신 장치(110)에 송신하여, 처리를 종료한다(단계 S163).
키 재생성 유닛(125)이 입력 유닛(126)을 통하여 키 재생성 요구 신호를 수신하지 않으면(단계 S161의 No), 처리는 수행되지 않는다.
다음은, 제1 실시예에 따른 암호 시스템(1)의 전체 동작을 설명한다.
여기서, 암호 시스템(1)에서, 송신 장치(110)는 복수의 수신 장치들 중 선택된 수신 장치(120a)와 암호화 통신을 행한다.
우선, 송신 장치(110)는, 수신 장치(120a)의 고유 번호(IDa), 공개키 다항식 (ha) 및 랜덤 파라미터(da)를, 데이터(DTa=(IDa, ha, da))로서 파라미터 기억 유닛(112)에 기억한다(수신 장치들(120b, 120c)도 동일한 방식으로 데이터(DTb=(IDb, hb, db))와 데이터(DTc=(IDc, hc, dc))를 각각 기억한다). 랜덤 파라미터들(da, db, dc)의 초기값은 da= db= dc= 18로서 정의된다.
다음, 송신 장치(110)는 송신 장치(110)에 의하여 수행되는 암호화 통신 처리에 따라서, 평문 다항식(m)을 암호화하여, 생성된 암호화문 다항식(E(m, r, ha))을 통신로(130)를 통하여 수신 장치(120a)에 송신한다. 한편, 수신 장치(120a)는 후술된 복호화 처리에 따라서, 암호화문 다항식(E(m, r, ha))을 통신로(130)를 통하여 송신 장치(110)로부터 암호화문 다항식(E(m, r, ha))을 수신한다. 다음, 수신 장치(120a)는 수신된 암호화문 다항식(E(m, r, ha))을 복호하여, 복호문 다항식(m')을 출력한다.
송신 장치(110)에서, 타이머 유닛(113)은 1일당 시간 신호를 생성한다. 파라미터 제어 유닛(114)은 타이머 유닛(113)에 의한 1일당 생성된 시간 신호에 응답하여, 랜덤 파라미터 갱신 처리에 따라, 파라미터 기억 유닛(112)에 기억된 모든 랜덤 파라미터들(da, db, dc)을 1만큼 증가시킨다. 즉, 파라미터 기억 유닛(112)에 기억된 모든 랜덤 파라미터들은 매일 증가한다.
따라서, 송신 장치(110)가 암호화 통신 처리를 계속하면, 암호문 다항식(E (m, r, ha))을 생성하기 위하여 사용된 랜덤수 다항식(r)에서 1을 나타내는 계수의 수와 -1을 나타내는 계수의 수가 매일 증가한다.
도 11은, N=167이고, "d" 계수가 1이고, 다른 "d"계수가 -1이고, 다른 계수가 0인 랜덤수 다항식(r)을 사용한 경우에서, NTRU 암호법을 사용할 때의 복호 에러의 확률을 측정한 결과를 도시한다. 이 측정 결과에 따르면, 랜덤 파라미터(da)의 초기값이 da=18로서 정의될 때, 송신 장치(110)에 의하여 생성된 암호화문 다항식(E(m, r, ha))을 복호화할 때는 거의 복호 에러가 발생하지 않는다(수신 장치(120)는 수신된 암호문 다항식(E(m, r, ha))으로부터 평문 다항식(m)과 등가인 복호문 다항식(m')을 얻을 수 있다). 그러나, 기간이 경과하면, 랜덤 파라미터(da)가 매일 증가하여, 송신 장치(110)에 의하여 생성되는 암호화문 다항식(E(m, r, ha))을 복호화할 때의 복호 에러 확률은 점차 증가한다(수신 장치(120)는 수신된 암호화문 다항식(E(m, r, ha))으로부터, 평문 다항식(m)과 등가인 복호화문 다항식(m')을 획득할 수 없다).
수신 장치(120)가 평문 다항식(m)과 등가인 복호문 다항식(m')을 획득할 수 있는 확률이 감소하여, 실용적인 암호화 통신을 할 수 없게 된 경우, 수신 장치(120a)를 동작하는 사용자는, 키 갱신 처리를 행함으로써, 수신 장치(120a)의 공개키 다항식(ha)과 비밀키 다항식(fa)의 재생성을 지시하는 키 재생성 요구 신호를 입력 유닛(126)에 입력할 수 있다. 따라서, 송신 장치(110)에 의하여 수행된 공개키 갱신 처리에 의해, 파라미터 기억 유닛(112)의 랜덤 파라미터(da)는 초기값(da'=18)으로 갱신된다. 이러한 방식으로, 복호 에러 확률이 초기 상태로 감소하여, 수신 장치(120a)가 실용적으로 암호화 통신을 행할 수 있다.
도면에 도시된 바와 같이, 38에서 48로의 랜덤 파라미터(d)의 값의 증가에도 불구하고, 2.6%에서 2.3%로의 복호 에러의 확률 감소는 이론값과 획득값 간의 갭에 기인한다. 그러므로, 복호 에러는 획득값의 파라미터가 증가함에 따라 증가하여, 랜덤 파라미터(d)의 값이 증가한다는 것이 이론적으로 증명된다.
상술된 바와 같이, 제1 실시예에 따른 암호 시스템(1)에서, 송신 장치(110)는 기간이 경과함에 따라, 1을 나타내는 계수의 수와 -1을 나타내는 계수의 수를 증가시킨다. 따라서, 수신 장치(120a)가 갖는 비밀키 다항식(fa)이 폭로되었다고 해도, 폭로된 비밀키 다항식(fa)을 부정하게 사용하고자 하는 외부인에 의하여 동작되는 수신 장치에서, 기간이 경과함에 따라서, 복호 에러의 확률이 증가한다. 따라서, 외부인은 송신 장치(110)에 의하여 행해진 암호화 통신을 올바르게 복호할 수 없다. 이 결과, 이 암호 시스템(1)은, 종래 기술과 달리, 송신 장치(110)에 의하여 수행된 암호화 통신의 콘텐츠가 외부인에 의하여 동작되는 수신 장치에 의하여 계속하여 복호화되는 것을 방지한다. 따라서, 비밀키가 폭로된 경우에, 예컨대 음악과 같은 디지털 콘텐츠를 송신할 때, 센더 측의 불이익을 피할 수 있다.
인증된 비밀키 다항식(fa)을 갖는 수신 장치(120a)에서도, 기간이 경과함에 따라서, 동일한 비밀키 다항식(fa)의 연속 사용으로 인하여 복호 에러의 확률이 증가하여, 송신 장치(110)가 행한 암호화 통신은 올바르게 복호화될 수 없다. 그 후, 수신 장치(120a)를 동작하는 사용자에게, 동일한 비밀키 다항식(fa)이 연속하여 사용될 때, 기간이 경과함에 따라 복호 에러의 확률이 증가하고, 키를 갱신하지 않으면 암호화 통신이 더 이상 실용적이지 않다는 것이 통지된다. 따라서, 암호 시스템(1)은, 키를 갱신하기 위하여 수신 장치(120)의 입력 유닛(126)을 통하여, 키 재생성 요구 신호를 입력하는 것을 사용자에게 재촉할 수 있다. 이 결과, 암호 시스템(1)은 수신 장치(1) 또는 수신 장치를 동작하는 사용자에게 키의 갱신을 촉구할 수 있다.
종래 기술과는 달리, 암호 시스템(1)은 제3 자에 의하여 발행되는 CRL과 SRM을 요하지 않는다.
(제2 실시예)
제2 실시예에 따른 암호 시스템(2)은, 암호 시스템(1)에 기초한 구성으로, 영화와 음악 등의 디지털 콘텐츠(이하, 콘텐츠라 칭함)의 배송에 적용될 수 있다.
암호 시스템(2)은, 평문 다항식(m)을 NTRU 암호의 사용으로 암호화하여 송신하는 대신에, 이하 처리를 실행한다는 점에서 암호 시스템(1)과는 상이하다. 이것은, 디지털 데이터인 콘텐츠(CNTi)(1≤i≤ k)를 암호키(Ki)(1≤i≤k)를 사용하여 공통키 암호화에 기초하여 암호화한다는 것을 의미한다. 암호 시스템(2)은 또한, NTRU 암호를 사용하여 암호키(Ki)(1≤i≤k)를 암호화하여, 암호화된 콘텐츠와 암호키를 송신한다. 또한, 암호 시스템(2)은, 키 서버를 이용하여 키를 갱신한다는 점에서 암호 시스템(1)과는 상이하다. 이하에 상세하게 설명한다.
제2 실시예에 따른 암호 시스템(2)의 전체 구성을 도 12에 도시되어 있다. 암호 시스템(2)은 콘텐츠(CNT)를 배송하는 시스템이고, 콘텐츠 서버(210), 키 서버(220), 및 수신 장치(230)를 포함한다. 콘텐츠 서버(210)와 수신 장치(230)는 인터넷(240)을 통하여 상호 접속되어 있다. 콘텐츠 서버(210)와 키 서버(220)는 전용 회선(250)을 통하여 접속되어 있다. 키 서버(220)와 수신 장치(230)는 전화 회로(260)를 통하여 접속되어 있다.
콘텐츠 서버(210)는 콘텐츠(CNT)를 사용자(j)에게 제공하는 업자가 가지고 있다. 키 서버(220)는, 콘텐츠(CNT)의 이용을 위하여 복호키를 사용자(j)에게 제공하는 업자에 의하여 사용가능하다. 콘텐츠(CNT)를 사용하는 사용자(j)는 수신 장치(230)를 가진다. 여기서, 동일한 업자가 콘텐츠 서버(210)와 키 서버(220)를 가지는 것으로 정의되어 있다.
다음은 상술된 장치들에 포함된 구성 요소을 상세히 설명한다.
콘텐츠 서버(210)는, 콘텐츠 기억 유닛(211), 파라미터 기억 유닛(212), 타이머 유닛(213), 파라미터 제어 유닛(214), 랜덤수 생성 유닛(215), 암호키 생성 유닛(216), 암호화 유닛(217), 송신 유닛(218) 및 키 갱신 유닛(219)을 포함한다.
콘텐츠 기억 유닛(211)은, 외부로부터 입력된 콘텐츠(CNT)를, 예컨대 일정 시간 마다 구분된 콘텐츠(CNT)인 MPEG2 데이터(CNTi)(1≤i≤k)로서 기억한다.
파라미터 기억 유닛(212)은, 도 14에 도시된 바와 같이, 사용자마다, 수신 장치(230)의 고유 번호(IDj), 공개키 다항식(hj) 및 랜덤 파라미터(dj)를, 한 세트의 데이터(DTj=(IDj, hj, dj, Lj))(1≤ j≤ n)로서 기억한다. 여기서, 랜덤 파라미터(dj)는, 암호화시에 사용되는 랜덤수 다항식(ri)(1≤i≤k)을 생성하기 위한 파라미터이고, 1을 나타내는 계수의 수와 -1을 나타내는 계수의 수를 나타낸다. 랜덤 파라미터(dj)의 초기값은 dj=18로서 정의된다.
타이머 유닛(213)은 매일 시간 신호를 생성하여, 파라미터 제어 유닛(214)에 입력한다.
파라미터 제어 유닛(214)은, 타이머 유닛(213)으로부터 시간 신호를 받아 들이면, 파라미터 기억 유닛(212)에 기억된 데이터(DTj)의 랜덤 파라미터(dj)(1≤j≤n)의 값을 1씩 증가시킨다. 키 서버(220)로부터 고유 번호(IDj)와 리셋 신호를 받으면, 파라미터 제어 유닛(214)은, 일정 시간동안(예컨대, 한달), 고유 번호에 의하여 지정된 데이터(DTj)의 랜덤 파라미터(dj)를 갱신하지 않는다. 이 기간은 콘텐츠 사용을 위한 유효 기간(Lj)으로서 정의된다. 따라서, 콘텐츠(CNT)의 사용은 콘텐츠(CNT)를 사용하기 위하여 요금을 지불했던 사용자에 대하여 일정 기간동안 허용된다.
랜덤수 생성 유닛(215)은, 파라미터 기억 유닛(212)으로부터 수신 장치(230)의 랜덤 파라미터(dj)를 읽어 낸다. 다음, 랜덤수 생성 유닛(215)은, 파라미터 기억 유닛(212)으로부터 읽어 낸 랜덤 파라미터(dj)에 근거하여, "dj"계수가 1이고, 다른 "dj"계수가 -1이고, 다른 계수가 0인 랜덤수 다항식(ri)(1≤i≤k)을 랜덤하게 생성한다. 생성된 랜덤수 다항식(ri)(1≤i≤k)을 암호화 유닛(217)에 출력한다. 랜덤수 다항식(ri)의 생성 방법은 도 1을 참조하여 설명한다.
암호키 생성 유닛(216)은 암호키(Ki)(1≤i≤k)를 랜덤으로 생성하여, 암호화 유닛(217)에 출력한다. 암호화 유닛(217)은 NTRU 암호법에 기초한 암호 알고리즘(E)과, DES(Data Encryption Standard) 암호법과 같은 공통키 암호 알고리즘(Sym)을 미리 가지고 있다.
공통키 암호에서, 암호키(K)를 사용하여 평문(m)에 공통키 암호 알고리즘(Sym)을 실행하여, 암호문(c=Sym(m, K))이 생성된다. 또한, 암호키(K)를 사용하여 암호문(c)에 공통키 암호가 수행되어, 복호문(m'= Sym(c, K))이 생성된다. 여기서, 암호문 생성하고, 복호문을 생성할 때 동일한 암호키(K)가 사용되면, 복호문(m')은 평문(m)과 동일하다. 공통키 암호 및 DES 암호법에 관해서는, 1997, 산교 도쇼, 다츠아키 오카모토 및 히로스케 야마모토, Mathematics in Information Science. Ser, Modern Cryptography에 상세히 기술되어 있으므로, 여기서 설명을 반복하지 않는다.
암호화 유닛(217)은 암호키 생성 유닛(216)으로부터 암호키(Ki)(1≤i≤k)를 수취하여, 이것을 암호키 다항식(KPi)(1≤i≤k)으로 변환시켜, NTRU 암호를 이용하여 암호화될 수 있다. 이 변환은, 암호키(Ki)가 비트 스트림으로서 정의될 때, 예컨대, 암호키(Ki)의 하위 비트의 값을 X^b의 계수인 암호키 다항식(KPi)을 구성함으로써 실현될 수 있다. 즉, Ki=10010(비트 표현)인 경우, KPi= x^5+X^2이다.
암호화 유닛(210)은 파라미터 기억 유닛(212)으로부터 수신 장치(230)의 공개키 다항식(hj)을 읽어 내어, 랜덤수 생성 유닛(215)으로부터 랜덤수 다항식(ri)(1≤i≤k)을 받아 들인다. 다음, 암호화 유닛(217)은 랜덤수 다항식(ri)(1≤i≤k)과 공개키 다항식(hj)을 사용하여, 변환된 암호키 다항식(KPi)(1≤i≤k)에 NTRU 암호에 기초한 암호 알고리즘을 수행하여, 암호화된 암호키 다항식(EKPi=E(KPi, ri, hj))(1≤i≤ k)을 생성한다.
암호화 유닛(217)은 콘텐츠 기억 유닛(211)으로부터 콘텐츠(CNTi)(1≤i≤k)를 수취하여, 암호키(Ki)(1≤i≤k)를 사용하여, 콘텐츠(CNTi)(1≤i≤k)에 공통키 암호 알고리즘(Sym)을 수행하여, 암호화 콘텐츠(ECi= Sym(CNTi, Ki))(1≤i≤k)를 생성한다.
암호화 유닛(217)은, 암호화 암호키 다항식(EKPi)(1≤i≤k)과 암호화 콘텐츠(ECi)(1≤i≤k))를 송신 유닛(218)에 출력한다.
송신 유닛(218)은 암호화된 암호키 다항식(EKPi)(1≤i≤k)과 암호화된 콘텐츠(ECi)(1≤i≤k)를 인터넷(240)을 통하여 수신 장치(230)에 송신한다.
키 갱신 유닛(219)은 전용 접속(250)을 통하여 키 서버(220)로부터, 수신 장치(230)의 고유 번호(IDj)와 공개키 다항식(hj')(1≤j≤n)) 모두를 수신할 수 있다. 이들을 수신하면, 키 갱신 유닛(219)은 파라미터 기억 유닛(212)에 기억된 데이터(DTj=(IDj, hj, dj))를, 데이터(DTj'=(IDj, hj', dj'))로 갱신한다. 여기서, dj'는 랜덤 파라미터(dj)의 초기값이고, dj' = 18로 정의된다.
상술된 콘텐츠 서버(210)는, 후술되는 암호화 통신 처리, 랜덤 파라미터 갱신 처리 및 공개키 갱신 처리를 병행하여 비동기적으로 행한다(임의 순서가 가능하다).
다음은 상술된 3가지 형태의 처리의 동작을 따로 설명한다.
처음으로, 콘텐츠 서버(210)에 의하여 행해지는 암호화 통신 처리를 도 15에 도시된 흐름도를 참조하여 설명한다.
우선, 랜덤수 생성 유닛(215)은, 파라미터 기억 유닛(212)으로부터 수신 장치(230)의 랜덤 파라미터(dj)를 읽어 내어(단계 S201), 파라미터 기억 유닛(212)으로부터 독출된 랜덤 파라미터(dj)에 기초하여, "dj" 계수가 1이고, 다른 "dj" 계수가 -1이고, 다른 계수가 0인 랜덤수 다항식(ri)(1≤i≤k)을 랜덤으로 생성하여, 생성된 랜덤수 다항식(ri)(1≤i≤k)을 암호화 유닛(217)에 출력한다(단계 S202). 랜덤수 다항식(ri)의 생성 방법은 도 1을 참조하여 설명한다.
다음, 암호키 생성 유닛(216)은 랜덤으로 암호키(Ki)(1≤i≤k)를 생성하여, 이것을 암호화 유닛(217)에 출력한다(단계 S203). 암호키(Ki)는 프로그래밍 언어 C에 기초하여 스탠다드 라이브러리 함수인 랜드 함수를 사용하여 생성될 수도 있다.
다음, 암호화 유닛(217)은 암호키 생성 유닛(216)으로부터 암호키(Ki)(1≤i≤k)를 수취, 이것을 NTRU 암호를 사용하여 암호화할 수 있도록 암호키 다항식(KPi)(1≤i≤k)으로 변환시킨다(단계 S204). 다음, 암호화 유닛(217)은 콘텐츠 기억 유닛(211)과 파라미터 기억 유닛(212)으로부터 각각 수신 장치(230)의 콘텐츠(CNTi)(1≤i≤k)와 공개키 다항식(hj)을 읽어 낸다. 또한, 암호화 유닛(217)은 랜덤수 생성 유닛(215)으로부터 랜덤수 다항식(ri)(1≤i≤k)을 수신하여(단계 S205), 랜덤수 다항식(ri)(1≤i≤k)과 공개키 다항식(hj)을 사용하여, 변환된 암호키 다항식(EKPi=E(KPi, ri, hj))(1≤i≤k))에 NTRU 암호에 기초한 암호 알고리즘(E)을 수행하여, 암호화 암호키 다항식(EKPi=E(KPi, ri, hj))(1≤i≤k)을 생성한다(단계 S206). 암호화 유닛(217)은, 콘텐츠 기억 유닛(211)으로부터 콘텐츠(CNTi)(1≤i≤k))를 수신한 뒤, 암호키(Ki)(1≤i≤ k)를 사용하여, 콘텐츠(CNTi)(1≤i≤k))에 공통키 암호 알고리즘(Sym)을 수행하여, 암호화 콘텐츠(ECi=Sym(CNTi, Ki))(1≤i≤k)를 생성한다(단계 S207). 다음, 암호화 유닛(217)은 암호화 암호키 다항식(EKPi)(1≤i≤k)과 암호화 콘텐츠(ECi)(1≤i≤k))를 송신 유닛(218)에 출력한다(단계 S208).
송신 유닛(218)은 수신된 암호화 암호키 다항식(EKPi)(1≤i≤k)과 콘텐츠(ECi)(1≤i≤k)를 인터넷(240)을 통하여 수신 장치(230)에 송신하여, 처리를 종료한다(단계 S209).
다음, 콘텐츠 서버(210)에 의하여 수행되는 랜덤 파라미터 갱신 처리를 도 16에 도시된 흐름도를 참조하여 설명한다.
파라미터 제어 유닛(214)은, 키 서버(220)로부터 고유 번호(IDj)와 리셋 신호를 수신하면(단계 S211에서 Yes), 또다른 달에 대하여 고유 번호(IDj)로 지정된 수신 장치(230)를 위한 콘텐츠 사용의 유효 기간(Lj)을 연장한다(단계 S212). 리셋 신호는 수신 장치(230)가 콘텐츠 사용에 대한 요금을 지불하면, 키 서버(220)로부터 송신된다.
파라미터 제어 유닛(214)은, 타이머 유닛(213)으로부터 시간 신호를 받으면(단계 S213에서 Yes), 고유 번호(IDj)에 의하여 지정된 수신 장치(230)에 대한 콘텐츠 사용의 유효 기간(Lj)이 1일 이상인지를 검사한다(단계 S215). 콘텐츠 사용의 유효 기간(Lj)이 1일 이상동안 연장되면(단계 S215에서 Yes), 파라미터 제어 유닛(214)은 콘텐츠 사용의 유효 기간(Lj)을 1만큼 감소시킨다(단계 S216). 대신, 랜덤 파라미터의 값은 동일하게 유지된다. 콘텐츠 사용의 유효 기간(Lj)이 0 이하이면(단계 S215에서 No), 파라미터 제어 유닛(214)은 랜덤 파라미터(dj)를 1만큼 증가시킨다(단계 S217). 상기 처리가 고유 번호(IDj)에 의하여 지정된 모든 수신 장치들(230)에 대하여 수행된 후, 처리는 종료된다(단계 S214~S218).
따라서, 콘텐츠 사용에 대한 유효 기간이 무효인 수신 장치(230)의 랜덤 파라미터(dj)를 증가시킴으로써, 콘텐츠(CNT)를 복호화할 때에 복호 에러의 확률이 날마다 증가한다.
다음, 다음은 도 17에 도시된 흐름도를 참조하여, 콘텐츠 서버(210)에 의하여 수행되는 공개키 갱신 처리를 설명한다.
키 갱신 유닛(219)은, 전용 접속(250)을 통하여 키 서버(220)로부터, 수신 장치(230)의 고유 번호(IDj)와 공개키 다항식(hj')(1≤j≤n)을 수신하여(단계 S221에서 Yes), 파라미터 기억 유닛(212)에 기억된 데이터(DTj=(IDj, hj, dj))를 데이터(DTj'=(IDj, hj', dj'))로 갱신하여, 처리를 종료한다. 여기서, dj'는 dj'=18로서 정의된 랜덤 파라미터(dj)의 초기값이다(단계 S222). 키 갱신 유닛(219)은, 수신 장치(230)의 고유 번호(IDj)와 공개키 다항식(hj')(i≤j≤n)을 수신하지 않으면 어떤 처리로 수행하지 않는다(단계 S221에서 No).
키 서버(220)는 도 18에 도시된 바와 같이, ID 수신 유닛(221), 키 재생성 유닛(222), 공개키 송신 유닛(223), 비밀키 송신 유닛(224), 전자 머니 수신 유닛(225), 라이센스 관리 유닛(226), 및 리셋 신호 송신 유닛(227)을 포함한다.
ID 수신 유닛(221)은 수신 장치(230)로부터 전화 회로(260)를 통하여, 수신 장치(230)의 고유 번호(IDj)(1≤j≤n)를 수신하여, 이것을 라이센스 관리 유닛(226)에 출력한다.
전자 머니 수신 유닛(225)은 전화 회로(260)를 통하여 수신 장치(230)로부터 전자 머니를 수신하여, 수신된 전자 머니를 라이센스 관리 유닛(226)에 출력한다. 여기서, 전자 머니는 네트워크 상에서 통용되는 전자 캐쉬를 의미한다.
라이센스 관리 유닛(226)은 수신 장치(230)의 고유 번호(IDj)와, ID 수신 유닛(221)과 전자 머니 수신 유닛(225)으로부터 각각 전자 머니를 수신한다. 다음, 라이센스 관리 유닛(226)은, 고유 번호(IDj)와 전자 머니에 기초하여, 수신된 고유 번호(IDj)와 전자 머니가 콘텐츠 서비스 프로바이더와의 계약 하에 있는 수신 장치(230)에 의하여 송신되는 지를 검사하거나, 요구되는 양이 지불되는 지의 여부 등을 검사한다. 검사 결과에서 어떠한 문제점도 발견되지 않으면, 라이센스 관리 유닛(226)은 수신 장치(230)의 고유 번호(IDj)를 키 재생성 유닛(222)에 출력한다.
키 재생성 유닛(222)은, 라이센스 관리 유닛(226)으로부터 고유 번호(IDj)를 수신하면, NTRU 암호법에 기초하여, 비밀키 다항식(fj')과 공개키 다항식(hj')을 생성한다. 키 재생성 유닛(222)은, 수신된 고유 번호(IDj)와, 생성된 공개키 다항식(hj')을 공개키 송신 유닛(223)에 출력하고, 또한 생성된 비밀키 다항식(fj')을 비밀키 송신 유닛(224)에 출력한다. 동시에, 키 재생성 유닛(222)은 고유 번호(IDj)와 리셋 신호를 리셋 신호 송신 유닛(227)에 출력한다.
공개키 송신 유닛(223)은, 키 재생성 유닛(222)으로부터 고유 번호(IDj)와 공개키 다항식(hj')을 받아 들이면, 이들을 전용 접속(250)을 통하여 콘텐츠 서버(210)로 송신한다.
리셋 신호 송신 유닛(227)은, 키 재생성 유닛(222)으로부터 고유 번호(IDj)와 리셋 신호를 받아 들이면, 전용 접속(250)을 통하여 콘텐츠 서버(210)에 송신한다.
비밀키 송신 유닛(224)은, 키 재생성 유닛(222)으로부터 비밀키 다항식(fj')을 받아 들이면, 이것을 전화 회로(260)를 통하여 수신 장치(230)에 송신한다.
다음은, 도 19에 도시된 흐름도를 참조하여, 상술된 키 서버(220)의 동작을 설명한다.
ID 수신 유닛(221)과 전자 머니 수신 유닛(225)이 수신 장치(230)의 고유 번호(IDj)(1≤j≤n)와 전자 머니를 각각 수신하면(단계 S231에서 Yes), 라이센스 관리 유닛(226)은, 콘텐츠 서비스 프로바이더와 계약하에 있는 수신 장치(230)로부터 이들이 보내졌는 지를 검사하거나, 요구되는 양이 지불되었는 지와 같은 라이센스 조건을 검사한다. 라이센스 조건들이 만족되면(단계 S232에서 Yes), 라이센스 관리 유닛(226)은 수신된 고유 번호(IDj)를 키 재생성 유닛(222)에 출력한다(단계 S233).
키 재생성 유닛(222)은 ID 수신 유닛(221)으로부터 고유 번호(IDj)를 수신하여, NTRU 암호법에 기초하여 비밀키 다항식(fj')과 공개키 다항식(hj')을 생성한다(단계 S234).
공개키 송신 유닛(223)은 키 재생성 유닛(222)으로부터 고유 번호(IDj)와 공개키 다항식(hj')을 수신하여, 이들을 전용 접속(250)을 통하여 콘텐츠 서버(210)로 송신한다. 리셋 신호 송신 유닛(227)은 고유 번호(IDj)와 키 재생성 유닛(222)으로부터 리셋 신호를 수신하여, 이들을 전용 접속(250)을 통하여 콘텐츠 서버(210)로 송신한다(단계 S235).
비밀키 송신 유닛(224)은 키 재생성 유닛(222)으로부터 비밀키 다항식(fj')을 수신하여, 이것을 전화 회로(260)를 통하여 수신 장치(230)에 송신한다(단계 S236).
수신 장치(230)는, 수신 유닛(231), 비밀키 기억 유닛(232), 복호화 유닛(233), 출력 유닛(234), 키 갱신용 송신 유닛(235), 및 입력 유닛(236)을 포함한다.
수신 유닛(231)은 콘텐츠 서버(210)로부터 인터넷(240)을 통하여 암호화 암호키 다항식(EKPi)(1≤i≤k)과 암호화 콘텐츠(ECi)(1≤i≤k)를 수신하여, 이들을 복호화 유닛(233)에 출력한다.
비밀키 기억 유닛(232)은 수신 장치(320)의 비밀키 다항식(fj)을 기억한다.
복호화 유닛(233)은, 암호화 유닛(217)에 포함된 암호 알고리즘(E)의 역 변환인 NTRU 암호법에 기초한 복호 알고리즘(D)과, 암호화 유닛(217)에 포함된 공통키 암호 알고리즘(Sym)을 미리 가진다.
복호화 유닛(233)은 수신 유닛(231)으로부터 암호화 암호키 다항식(EKPi)(1≤i≤k)과 암호화 콘텐츠(ECi)(1≤i≤k)를 받아, 비밀키 기억 유닛(232)으로부터 수신 장치(230)의 비밀키 다항식(fj)을 독출한다. 복호화 유닛(233)은 비밀키 다항식(fj)을 사용하여, 암호화 암호키 다항식(EKPi)(1≤i≤k)에 복호 알고리즘(D)을 수행하여, 복호화 암호키 다항식(KPi'=D(EKPi, fj))(1≤i≤k)을 생성한다.
복호화 유닛(233)은, 콘텐츠 서버(210)의 암호화 유닛(217)에 의하여 수행된 변환의 역 변환을 사용하여, 복호화 암호키 다항식(KPi)(1≤i≤k)을 복호화 암호키(Ki')(1≤i≤k))로 변환시킨다.
복호화 유닛(233)은 복호화 암호키(Ki')(1≤i≤k)를 사용하여, 암호화 콘텐츠(ECi)(1≤i≤k)에 공통키 암호 알고리즘(Sym)을 수행하여, 복호 콘텐츠(CNTi'= Sym(ECi, Ki'))(1≤i≤k)를 생성한다. 다음, 복호화 유닛(233)은 생성된 콘텐츠(CNTi')(1≤i≤k)를 출력 유닛(234)에 출력한다.
출력 유닛(234)은, 예컨대 도시되지 않은 모니터 또는 스피커를 포함하여, 복호화된 콘텐츠(CNTi')(1≤i≤k)를 외부에 출력한다.
모니터는 영상(video)을 출력하고, 스피커는 음성을 외부에 출력하고, 이들 영상 및 음성은 복호화 콘텐츠(CNTi')(1≤i≤k)에 포함된 MPEG2 데이터로부터 각각 획득된다.
키 갱신용 송신 유닛(235)은, 입력 유닛(236)을 통하여 키 재생성 요구 신호를 받으면, 전화 회로(260)를 통하여 키 서버(220)에, 수신 장치(230)의 고유 번호(IDj)와, 콘텐츠 서비스 프로바이더와 계약된 지정된 양에 등가인 전자 머니를 송신한다. 키 갱신용 송신 유닛(235)은 또한 전화 회로(260)를 통하여 키 서버(220)로부터 비밀키 다항식(fj')을 수신하여, 수신된 비밀키 다항식(fj')으로 갱신한다.
수신 장치(230)를 동작하는 사용자(j)는 수신 장치(230)의 공개키 다항식(hj)과 비밀키 다항식(fj)의 재생성을 지시하는 키 재생성 요구 신호를 입력 유닛(236)에 입력할 수 있다. 키 재생성 요구 신호는, 출력된 복호화 콘텐츠(CNTi')(1≤i≤k)가 정확하게 얻어지지 않은 등의 이유로, 공개키 다항식(hj)과 비밀키 다항식(fj)을 재생성하기 위하여 사용자에 의하여 입력되는 신호이다.
입력 유닛(236)은, 외부에서 입력된 키 재생성 요구 신호를 키 갱신 유닛(235)에 출력한다.
상술된 수신 장치(230)는, 후술된 복호화 처리 및 키 갱신 처리를 병행하여 비동기적으로 행한다(임의 순서가 가능하다).
다음은, 수신 장치(230)에 의하여 수행되는 복호 처리 및 키 갱신 처리의 동작을 따로 설명한다.
우선, 도 21에 도시된 흐름도를 참조하여 복호 처리를 설명한다.
수신 유닛(231)은 콘텐츠 서버(210)로부터 인터넷(240)을 통하여, 암호화 암호키 다항식(EKPi)(1≤i≤k)과 암호화 콘텐츠(ECi)(1≤i≤k)를 수신하여, 이들을 복호화 유닛(233)에 출력한다(단계 S251).
복호화 유닛(233)은, 수신 유닛(231)으로부터 암호화 암호키 다항식(EKPi)(1≤i≤k)과 암호화 콘텐츠(ECi)(1≤i≤k)를 수취하여, 비밀키 기억 유닛(232)으로부터 수신 장치(230)의 비밀키 다항식(fj)을 읽어 낸다(단계 S252). 복호화 유닛(233)은 비밀키 다항식(fj)을 사용하여, 암호화 암호키 다항식(EKPi)(1≤i≤k)에 복호 알고리즘(D)을 수행하여, 복호화 암호키 다항식(KPi'= D(EKPi, fj))(1≤i≤k)을 생성한다(단계 S253).
다음, 복호화 유닛(233)은, 콘텐츠 서버(210)의 암호화 유닛(217)에 의하여 수행된 변환의 역변환을 사용하여, 복호화 암호키 다항식(KPi')(1≤i≤k)을 복호화 암호키(Ki')(1≤i≤k)로 변환시킨다(단계 S254).
다음, 복호화 유닛(233)은 복호화 암호키(Ki')(1≤i≤k)를 사용하여, 암호화 콘텐츠(ECi)(1≤i≤k)에 공통키 암호 알고리즘(Sym)을 수행하여, 복호화 콘텐츠(CNTi'=Sym(ECi, Ki'))(1≤i≤k)를 생성하여, 이것을 출력 유닛(234)에 출력한다(단계 S255).
출력 유닛(234)은 각각, 복호화 콘텐츠(CNTi')(1≤i≤k)에 포함된 MPEG2 데이터로부터 얻어진 영상 및 음성을 외부에 출력하여, 처리를 종료한다(단계 S256).
다음, 수신 장치(230)에 의하여 수행된 키 갱신 처리를 도 22에 도시된 흐름도를 참조하여 설명한다.
우선, 키 갱신용 송신 유닛(235)은, 입력 유닛(236)을 통하여 키 재생성 요구 신호를 받아 들이면, 전화 회로(260)를 통하여 키 서버(220)에, 수신 장치(230)의 고유 번호(IDj)와, 콘텐츠 서비스 프로바이더와 계약된 계약에서 지정된 양에 등가인 전자 머니를 송신한다(단계 S262). 다음, 키 갱신용 송신 유닛(235)은 전화 회로(260)를 통하여 키 서버로부터 비밀키 다항식(fj')을 수신하여, 비밀키 기억 유닛(232)에 기억된 비밀키 다항식(fj)을 수신된 비밀키 다항식(fj')으로 갱신하여, 처리를 종료한다(단계 S263).
다음은 암호 시스템(1)과의 차이점에 초점을 맞추어, 제2 실시예에 따른 암호화 시스템(2)의 동작을 설명한다.
우선, 콘텐츠 서버(210)는, 수신 장치(230)의 고유 번호(IDj), 공개키 다항식(hj) 및 랜덤 파라미터(dj)를, 데이터(DTj=(IDj, hj, dj))로서 파라미터 기억 유닛(212)에 기억한다. dj의 초기값은 dj= 18로서 정의된다.
다음, 콘텐츠 서버(210)는 콘텐츠 서버(210)에 의하여 수행된 암호화 통신 처리에 따라서, 콘텐츠(CNTi)(1≤i≤k)를 암호키(Ki)(1≤i≤k)를 사용하여 공통 암호키 암호에 기초하여 암호화하여, 암호화 콘텐츠(ECi)(1≤i≤k)를 생성한다. 콘텐츠 서버(210)는 또한, 암호키(Ki)(1≤i≤k)로부터 변환된 암호키 다항식(KPi)(1≤i≤k)을 NTRU 암호에 기초하여 암호화하여, 암호화 암호키 다항식(EKPi)(1≤i≤k)을 생성한다. 콘텐츠 서버(210)는 암호화 콘텐츠(ECi)(1≤i≤k)를 암호화 암호키 다항식(EKPi)(1≤i≤k)과 함께, 인터넷(240)을 통하여 수신 장치(230)에 송신한다. 한편, 수신 장치(230)는 복호화 처리에 따라서, 수신된 암호화 암호키 다항식(EKPi)(1≤i≤k)을 복호화하여, 복호화된 암호키 다항식(KPi')(1≤i≤k)을 생성한다. 수신 장치(230)는 변환된 복호화 암호키(Ki')(1≤i≤k)를 사용하여 암호화 콘텐츠(ECi)(1≤i≤k)를 복호하여, 복호화 콘텐츠(CNTi')(1≤i≤k)를 출력한다.
콘텐츠 서버(210)에서, 파라미터 제어 유닛(214)은, 타이머 유닛(213)에 의하여 매일 생성된 시간 신호에 따라, 파라미터 기억 유닛(212)에 기억된 모든 랜덤 파라미터(dj)(1≤j≤n)의 값을 1만큼 증가시킨다. 즉, 파라미터 기억 유닛(212)에 기억된 모든 랜덤 파라미터(dj)(1≤j≤n)의 값들은 매일 증가한다.
그러므로, 콘텐츠 서버(210)에 의하여 암호화 통신 처리가 계속하여 수행되면, 암호화 암호키 다항식(EKPi)(1≤i≤k)의 생성에 사용되는 랜덤수 다항식(ri)(1≤i≤k)의 1을 나타내는 계수의 수(-1을 나타내는 계수의 수)가 매일 증가한다.
그러나, 콘텐츠 서비스를 수신하도록 콘텐츠 서비스 프로바이더와 계약하에 있는 수신 장치(230)에 대하여, 랜덤 파라미터(dj)(1≤i≤k)의 값은 계약이 종료될 때까지 갱신되지 않는다. 따라서, 랜덤수 다항식(ri)(1≤i≤k)의 1을 나타내는 계수의 수(-1을 나타내는 계수의 수)는 18로 유지된다.
도 11은 랜덤 파라미터(d)의 값에 대하여, "d" 계수가 1이고, 다른 "d" 계수가 -1이고, 다른 계수들이 0인 랜덤수 다항식(r)을 사용하여, N=167인 NTRU 암호법에 기초하여 복호 에러의 확률을 측정한 결과를 도시한다. 이 결과에 의하면, 랜덤 파라미터(dj)의 초기값은 dj= 18로서 정의되어, 콘텐츠 서버(210)에 의하여 생성된 암호화 암호키 다항식(EKPi)(1≤i≤k)을 복호화할 때, 거의 복호 에러가 발생하지 않는다(수신 장치(230)는 암호화 암호키 다항식(EKPi)(1≤i≤k)으로부터, 암호키(Ki)와 등가인 복호화 암호키(Ki')를 획득할 수 있고, 도 23A에 도시된 바와 같이 콘텐츠(CNTi)를 정확하게 복호할 수 있다). 한편, 기간이 경과하면, 랜덤 파라미터(dj)가 매일 점차 증가하여, 콘텐츠 서버(210)가 생성하는 암호화 암호키 다항식(EKPi)(1≤i≤k)을 복호화할 때, 복호 에러의 확률이 점차 증가한다(수신 장치(230)는 수신된 암호화 암호키 다항식(EKPi)(1≤i≤k)으로부터, 암호화 암호키(Ki)와 등가인 복호화 암호키(Ki')를 점차 획득할 수 없어, 도 23B에 도시된 바와 같이, 콘텐츠(CNTi)를 점차적으로 복호화할 수 없다.
수신 장치(230)가 콘텐츠(CNTi)(1≤i≤k)를 올바르게 복호하는 확률이 증가하여, 실용적인 암호화 통신이 수행될 수 없으면, 수신 장치(230)를 동작하는 사용자(j)는 입력 유닛(236)에, 키 갱신 처리를 행함으로써, 수신 장치(230)의 공개키 다항식(hj)과 비밀키 다항식(fj)의 재생성을 지시하는 키 재생성 요구 신호를 입력할 수 있다. 이 때, 콘텐츠 서비스 프로바이더를 관리하는 키 서버(220)에 전자 머니가 지불된다. 키 서버(220)는 콘텐츠 서버(210)의 파라미터 기억 유닛(212)에 기억된 랜덤 파라미터(dj)를 dj'=18f 로 정의된 초기값(dj')에 갱신되므로, 복호 에러가 초기 상태로 감소되어, 수신 장치(230)는 계약으로 지정된 기간동안 실용적으로 암호화 통신을 행할 수 있다.
상술된 제2 실시예에 따른 암호 시스템(2)으로, 디지털 데이터인 콘텐츠(CNT)가 특정 시간마다 분할되어, 콘텐츠(CNTi)(1≤i≤k)를 수신 장치(230)에 배송한다. 일반적으로, MPEG2과 같은 디지털 데이터의 경우, 복호 에러로 인하여 콘텐츠(CNTi)가 획득될 수 없으면, 동화상이나 음성에 노이즈가 발생한다. 결국, 복호 에러의 확률이 증가하여, 이러한 노이즈가 시간 경과에 따라 점차 증가한다. 그 결과, 콘텐츠 서비스 프로바이더가 1개월 동안 실용적 문제없이 노이즈가 발생하는 레벨에서 사용자가 콘텐츠를 사용할 수 있도록 하나, 1개월후, 복호 에러의 확률이 증가하여 노이즈 발생의 레벨을 증가하면, 사용자가 요금을 지불하지 않거나 키 갱신을 수행하지 않는 한, 콘텐츠를 실용적으로 사용할 수 없게 한다. 즉, 암호 시스템(2)은 한정된 기간으로 콘텐츠 배송에 적용가능하다.
일반적으로, MPEG2와 같이 큰 콘텐츠(CNTi)(1≤i≤k)를 암호화하는 경우에, 모든 콘텐츠(CNTi)에 대하여 NTRU 암호로 암호화하고자 하면, NTRU 암호에 사용되는 입력 비트 길이에 따라 콘텐츠(CNTi)가 분할될 필요가 있고, NTRU 암호에 기초하여 암호 처리가 수회 반복되어야 한다. 그러나, 이 경우, 암호화는 NTRU 암호에 기초하여 암호키(Ki)에 대하여 수행되고, 큰 콘텐츠(CNTi)는, 공개키 암호보다 처리 속도가 빠른 공통키 암호에 기초하여 암호화된다. 그러므로, 고속 처리를 실현하는 암호 시스템(2)이 콘텐츠 배송에 적용가능하다.
또한, 키 갱신에 대하여 키 서버(220)가 사용되어, 키 서버(220)를 통하여 사용자가 키가 얼마나 자주 갱신했는 지를 파악할 수 있다. 따라서, 콘텐츠 서비스 프로바이더는 사용자에게 콘텐츠 사용에 대하여 과금할 수 있다.
제1 실시예에서 획득되는 동일한 효과가 획득될 수 있다.
상술된 실시예는 본 발명의 실시예에 대한 예들이며, 따라서, 본 발명은 이들 실시예에 한정되지 않고, 본 발명은 다양한 방식으로 가변될 수도 있다는 것이 명백할 것이다. 이러한 변형들은 본 발명의 사상 및 범위로부터 벗어나는 것으로 간주되어서는 안되며, 당업자에게 명백할 것인 이러한 모든 변형들은 다음의 청구항의 범위 내에 포함되고자 한다. 다음 경우들 또한 본 발명내에 포함된다.
상술된 암호 시스템에 사용된 NTRU 암호용으로 사용된 파라미터는 N=l67의 정의에 한정되지 않고, 다른 값이 대신 사용될 수도 있다.
파라미터 제어 유닛(114 또는 214)은, 랜덤 파라미터를 매일 1씩 증가하는 것 외에, 특정 기간이 경과함에 따라 랜덤 파라미터가 점차 증가하는 조건 하에, 임의 기간마다 랜덤 파라미터를 증가시킬 수도 있거나, 파라미터에 대하여 임의 증가분을 정의할 수도 있다.
또한, 파라미터 제어 유닛(114 또는 214)은, 시간의 경과에 따르는 것 대신에, 랜덤 파라미터가 독출될 때마다, 또는 랜덤 파라미터가 독출되는 회수에 따라 랜덤 파라미터를 증가시킬 수도 있다. 따라서, 암호화 회수의 증가에 따라 복호 에러의 확률이 제어될 수 있다. 따라서, 이것은 폭로된 비밀키를 가지는 외부인에 의하여 동작되는 수신 장치에 의하여 시도되는, 암호문의 연속적 복호화를 방지할 수 있다. 이러한 방식으로, 음악과 같은 디지털 워크의 송신의 경우에 비밀키가 폭로될 때, 센더측의 불이익을 방지할 수 있다.
또한, 수신 장치 또는 수신 장치를 동작하는 사용자가 키를 갱신하도록 재촉할 수 있다. 따라서, 한정된 기간 사용의 콘텐츠 배송 서비스 이외에, 제한된 액세스를 가지는 콘텐츠 배송 서비스가 제공될 수 있다.
상기 실시예들에, 키 재생성 요구 신호가 입력 유닛(126 또는 236)을 통하여 외부로부터 입력되는 것이 설명되었다. 그러나, 수신 장치(120 또는 230)는 어떠한 방식으로도 복호 에러를 검출할 수도 있고, 키 재생성 요구 신호가 검출된 복호 에러에 따라 자동으로 입력될 수도 있다.
이것은, 예컨대, 제2 실시예의 복호화 유닛(233)이 복호화 콘텐츠(CNTi')가 MPEG2의 포맷에 따르는 지를 판별하여, 복호 에러를 검출하고, 복호 에러의 확률이 증가하면, 키 재생성 요구 신호를 입력 유닛(236)에 입력하는 경우에서 실현될 수 있다.
예컨대, 평문 다항식(KPi)(1≤i≤k)의 제1 10차원에 등가인 계수를 1로 정의하는 등에 의하여 포맷이 정의될 수도 있다. 또한, 복호화 유닛(123 또는 223)이 이 복호문 다항식(m')이나 복호 암호키 다항식(KPi')이, 정의된 포맷에 따르는 지를 판단하고, 복호 에러를 검출하여, 복호 에러의 확률이 증가하면, 키 재생성 요구 신호를 입력 유닛(126 또는 236)에 입력하는 경우에서 실현될 수 있다.
키 재생성 요구 신호는 에러가 30분 내에 소정 정도를 초과할 때 입력될 수도 있다.
제2 실시예에서, 인터넷(240), 전용 접속(250), 및 전화 회로(260)는, 위성 통신망과 같은 다른 송신선 또는 본 실시예에서 사용되는 것과 동일한 송신선을 사용할 수도 있다. 키 서버(220)와 수신 장치(230) 간의 송신선을 통하여 비밀키(fj)가 송신되고, 따라서 안전성을 높이기 위해서 암호화 통신이 수행될 수도 있다.
제2 실시예에서, 공통키 암호 알고리즘(Sym)으로서, AES(Advanced Encryption Standard) 암호 등과 같은 다른 공통키 암호법이 채용될 수도 있다.
제2 실시예에서, 콘텐츠(CNTi)(1≤i≤k)는, MPEG2에 제한되지 않고, WindowsMedia(R)Player나 RealPlayer(R)에 의하여 재생 가능한 디지털 데이터일 수도 있고, 데이터의 포맷은 변할 수 있다.
제2 실시예에서, 콘텐츠 서버(210)와 키 서버(220)는 동일 장치에 포함될 수도 있다.
NTRU 암호는 제1 및 제2 실시예에서 사용되고, 그러나 EESS(Efficient Embedded Security Standard)에 기초한 NTRU 암호가 대신 사용될 수도 있다. EESS 법에 기초한 NTRU 암호에 관하여, "EESS: Consortium for Efficient Embedded Security, Efficient Embedded Security Standard #1: Implementation Aspects of NTRUEncrypt and NTRUSign. Version 2.0." 2003년 5월 http://ceesstandards.org, (2003년 5월 검색)에서 사용가능"에 그 상세가 설명되어 있다. 따라서, 상세한 설명은 여기서 반복하지 않으나, 간단한 설명은 다음과 같다.
EESS 법에 기초한 NTRU 암호에서, 랜덤수 다항식(r)은, "d" 계수가 1이며 (N-d) 수 계수가 0인 다항식 또는 다중 다항식 그것으로서 사용하여 계산된다. 상술된 NTRU 암호에서와 마찬가지로, 복호 에러의 확률은 랜덤 파라미터(d)의 값이 증가함에 따라 증가한다. 따라서, EESS법에 기초하지 않은 NTRU 암호법을 사용하는 것에 대신하여, EESS법에 기초한 NTRU 암호를 채용하여 동일한 효과가 획득될 수 있다.
제2 실시예에서, 콘텐츠 사용의 요금을 지불하기 위하여 전자 머니가 사용되나, 캐쉬에 의한 지불이, 이러한 방법이 확실하게 증명될 수 있으면, 가능하고, 영수증 등이 키 서버에 전자적으로 송신될 수도 있다.
제2 실시예에서, 키의 갱신은, 키 서버가 전자 머니를 수신한다는 사실에 기초하여 수행되나, 키는 다른 구성요소에 의하여 갱신될 수도 있다. 예컨대, 키 서버는, 수신 장치 또는 사용자로부터 키 재생성 요구 신호를 받으면, 수신 장치 또는 사용자에게 요금량을 통지할 수도 있다. 그 후, 수신 장치 또는 사용자는 키 서버에 "청구됨을 승인"한다는 정보를 송신하여, 키 서버가 이 정보를 수신하면 키 갱신이 수행된다.
본 발명은 상술된 바와 같은 방법으로서 정의될 수도 있다. 이는, 이들 방법들을 컴퓨터를 사용하여 실현하는 컴퓨터 프로그램 또는 이러한 프로그램으로 구성된 디지털 신호일 수도 있다.
본 발명에 따르면, 컴퓨터 프로그램 또는 디지털 신호는, 반도체 메모리, 하드디스크 드라이브, CD-ROM(Compact Disc-Read Only Memory), DVD-ROM(Digital Versatile Disc-Read Only Memory), 및 DVD-RAM(Digital Versatile Disc-Random Access Memory) 등과 같은 컴퓨터-판독가능 기억 매체일 수도 있다.
상술된 실시예들 및 변형들은 조합될 수도 있다.
따라서, 본 발명에 따른 암호 시스템은, 수신 장치 또는 수신 장치를 동작하는 사용자가 키를 갱신하도록 촉구할 수 있는 암호 시스템, 특히 콘텐츠 데이터를 배송하는 암호 시스템으로서 적용가능하다.

Claims (35)

  1. 평문(plaintext)을 암호화함으로써 암호화문을 생성하기 위한 암호 장치에 있어서,
    암호키와, 복호 장치에 적합하며 암호화문을 복호화할 때 복호 에러의 확률을 변화시키는 파라미터를 기억하도록 동작가능한 기억 유닛;
    파라미터의 값에 따라 암호화문을 복호화할 때, 복호 에러의 확률을 변화시키는 암호 알고리즘에 따라, 상기 기억 유닛에 기억된 암호키와 파라미터를 사용하여, 평문으로부터 암호화문을 생성하도록 동작가능한 암호화 유닛; 및
    상기 기억 유닛에 기억된 파라미터를 갱신하도록 동작가능한 갱신 유닛을 구비하는, 암호 장치.
  2. 제 1 항에 있어서, 상기 갱신 유닛은 시간이 경과함에 따라 상기 기억 유닛에 기억된 상기 파라미터를 갱신하는, 암호 장치.
  3. 제 2 항에 있어서, 상기 암호화 유닛은 NTRU 암호법에 기초한 암호 알고리즘을 사용하여 암호화문을 생성하는, 암호 장치.
  4. 제 3 항에 있어서,
    상기 기억 유닛에 기억된 상기 파라미터는, 상기 NTRU 암호법에 기초한 랜덤수 다항식에서 계수들이 1을 나타내는 항수를 나타내고,
    상기 갱신 유닛은 시간이 경과함에 따라 계수들이 1을 나타내는 항수를 증가시키는, 암호 장치.
  5. 제 4 항에 있어서,
    상기 복호 장치로부터, 암호키를 갱신하는 요구를 수신하여, 상기 갱신 요구에 응답하여 상기 암호키를 갱신하도록 동작가능한 암호키 갱신 유닛; 및
    상기 복호 장치로부터, 랜덤수 다항식에서 계수들이 1을 나타내는 항수를 갱신하는 요구를 수신하여, 상기 갱신 요구에 응답하여, 상기 랜덤수 다항식에서의 계수들이 1을 나타내는 항수를, 소정값 이하인 값으로 복호 에러의 확률을 감소시키는 초기값에 설정하도록 동작가능한 초기화 유닛을 더 구비하는 암호 장치.
  6. 제 5 항에 있어서, 상기 초기화 유닛은, 상기 랜덤수 다항식의 계수들이 1을 나타내는 항수를, 상기 복호 장치가 소정량을 지불했을 때만 초기값으로 설정하는, 암호 장치.
  7. 제 2 항에 있어서, 상기 갱신 유닛은 상기 파라미터를 갱신하여, 상기 암호화문을 복호화할 때의 복호 에러의 확률이 시간이 경과함에 따라 증가하는, 암호 장치.
  8. 제 1 항에 있어서, 상기 갱신 유닛은, 상기 암호화 유닛이 암호화를 수행하는 회수에 따라 상기 기억 유닛에 기억된 상기 파라미터를 갱신하는, 암호 장치.
  9. 제 8 항에 있어서, 상기 갱신 유닛은 상기 파라미터를 갱신하여, 상기 암호 장치가 암호화를 수행하는 회수의 증가에 따라 상기 암호화문을 복호화할 때 복호 에러의 확률이 증가하는, 암호 장치.
  10. 제 1 항에 있어서, 상기 암호화 유닛은 NTRU 암호법에 기초한 암호 알고리즘을 사용하여 상기 암호화문을 생성하는, 암호 장치.
  11. 제 10 항이 있어서,
    상기 기억 유닛에 기억된 상기 파라미터는 상기 NTRU 암호법에 기초한 랜덤수 다항식의 계수들이 1을 나타내는 항수를 나타내고,
    상기 갱신 유닛은 시간이 경과함에 따라, 랜덤수 다항식의 계수들이 1을 나타내는 항수를 증가시키는, 암호 장치.
  12. 제 10 항에 있어서, 상기 암호화 유닛은 EESS(Efficient Embedded Security Standard)법에 기초한 상기 NTRU 암호법용으로 사용되는 암호 알고리즘을 사용하여 상기 암호화문을 생성하는, 암호 장치.
  13. 제 1 항에 있어서,
    상기 복호 장치로부터, 암호키를 갱신하는 요구를 수신하여, 상기 갱신 요구에 응답하여 상기 암호키를 갱신하도록 동작가능한 암호키 갱신 유닛; 및
    상기 복호화 유닛으로부터, 상기 파라미터를 갱신하는 요구를 수신하여, 초기화 요구에 응답하여, 파라미터의 값을 소정값 이하인 값으로 복호 에러의 확률을 감소시키는 초기값에 설정하도록 동작가능한 파라미터 초기화 유닛을 더 구비하는 암호 장치.
  14. 암호화문을 복호하기 위한 복호 장치에 있어서,
    파라미터의 값에 따라 암호화문을 복호할 때, 복호 에러의 확률을 변화시키는 암호 알고리즘에 따라 생성된 암호화문으로부터, 복호키를 사용하여 복호화문을 생성하도록 동작가능한 복호화 유닛;
    상기 복호화문이 올바르게 획득되는 지를 판단하도록 동작가능한 판단 유닛;
    상기 판단 유닛에 의하여 행해진 판단 결과에 따라, 상기 암호 장치가 상기 복호키를 갱신할 것을 요구하도록 동작가능한 복호키 갱신 요구 유닛; 및
    상기 암호 장치가 상기 파라미터의 값을, 상기 암호화문을 복호화할 때 복호 에러의 확률을 소정값 이하인 값으로 감소시키는 초기값으로 변화시킬 것을 요구하도록 동작가능한 파라미터 초기화 요구 유닛을 구비하는, 복호 장치.
  15. 제 14 항에 있어서, 상기 복호키 갱신 요구 유닛과 상기 파라미터 초기화 요구 유닛은 각각 상기 암호 장치에, 소정량의 지불 요구와 함께, 상기 복호키를 갱신하는 요구와 상기 파라미터를 초기화하는 요구를 보내는, 복호 장치.
  16. 제 15 항에 있어서, 상기 판단 유닛은, 소정 기간동안 상기 암호화문을 복호화할 때의 복호 에러의 확률이 소정 임계값을 초과할 때, 상기 복호화문이 올바르게 획득되지 않는다고 판단하는, 복호 장치.
  17. 제 14 항에 있어서, 상기 판단 유닛은, 소정 기간동안 상기 암호화문을 복호화할 때의 복호 에러의 확률이 소정 임계값을 초과할 때, 상기 복호화문이 올바르게 획득되지 않는다고 판단하는, 복호 장치.
  18. 평문을 암호화함으로써 암호화문을 생성하는 암호 장치와, 상기 암호화문을 복호화함으로써 복호화문을 생성하는 복호 장치를 구비하는 암호 시스템에 있어서,
    상기 암호 장치는,
    암호키와, 복호 장치에 적합하며 상기 암호화문을 복호화할 때 복호 에러의 확률을 변화시키는 파라미터를 기억하도록 동작가능한 기억 유닛;
    파라미터의 값에 따라 상기 암호화문을 복호화할 때 복호 에러의 확률을 변화시키는 암호 알고리즘에 따라, 상기 기억 유닛에 기억된 상기 암호키와 상기 파라미터를 사용하여, 상기 평문으로부터 상기 암호화문을 생성하도록 동작가능한 암호화 유닛; 및
    상기 기억 유닛에 기억된 파라미터를 갱신하도록 동작가능한 갱신 유닛을 포함하고,
    상기 복호 장치는,
    복호키를 사용하여 상기 암호화문으로부터 복호화문을 생성하도록 동작가능한 복호화 유닛;
    상기 암호 장치가 상기 복호키를 갱신할 것을 요구하도록 동작가능한 복호키 갱신 요구 유닛; 및
    상기 암호 장치가 상기 파라미터의 값을, 소정 값 이하의 값으로 복호 에러의 확률을 감소시키는 초기값으로 변화시킬 것을 요구하도록 동작가능한 파라미터 초기화 요구 유닛을 포함하는, 암호 시스템.
  19. 제 18 항에 있어서, 상기 갱신 유닛은 시간이 경과함에 따라, 상기 기억 유닛에 기억된 상기 파라미터를 갱신하는, 암호 시스템.
  20. 제 19 항에 있어서,
    상기 암호화 유닛은 NTRU 암호법에 기초한 암호 알고리즘을 사용하여 상기 암호화문을 생성하고,
    상기 기억 유닛에 기억된 상기 파라미터는, 상기 NTRU 암호법에 기초한 랜덤수 다항식의 계수들이 1을 나타내는 항수를 나타내고,
    상기 갱신 유닛은, 시간이 경과함에 따라 랜덤수 다항식의 계수들이 1을 나타내는 항수를 증가시키는, 암호 시스템.
  21. 제 20 항에 있어서,
    상기 복호키 갱신 요구 유닛과 상기 파라미터 초기화 요구 유닛은 각각 상기 암호 장치에, 소정량의 지불 요구와 함께, 상기 복호키를 갱신하는 요구와 상기 파라미터를 초기화하는 요구를 보내고,
    상기 암호 장치는,
    상기 복호 장치로부터 상기 복호키를 갱신하는 요구를 수신하여, 상기 소정량이 지불되었을 때에만 상기 갱신 요구에 응답하여 상기 복호키를 갱신하도록 동작가능한 복호키 갱신 유닛; 및
    상기 복호 장치로부터 상기 파라미터를 초기화하는 요구를 수신하여, 상기 초기화 요구에 응답하여, 상기 랜덤수 다항식의 계수들이 1을 나타내는 항수를, 소정량이 지불되었을 때만 소정값 이하인 값으로 복호 에러의 확률을 감소시키는 초기값에 설정하도록 동작가능한 초기화 유닛을 더 포함하는, 암호 시스템.
  22. 제 18 항에 있어서, 상기 갱신 유닛은 상기 암호화 유닛이 암호화를 수행하는 회수에 따라, 상기 기억 유닛에 기억된 상기 파라미터를 갱신하는, 암호 시스템.
  23. 제 18 항에 있어서, 상기 암호화 유닛은 상기 NTRU 암호법에 기초한 암호 알고리즘을 사용하여 상기 암호화문을 생성하는, 암호 시스템.
  24. 제 23 항에 있어서,
    상기 기억 유닛에 기억된 상기 파라미터는 상기 NTRU 암호법에 기초한 랜덤수 다항식의 계수들이 1을 나타내는 항수를 나타내며,
    상기 복호키 갱신 요구 유닛과 상기 파라미터 초기화 요구 유닛은 각각 상기 암호 장치에, 소정량의 지불 요구와 함께, 상기 복호키를 갱신하는 지시와 상기 파라미터를 초기화하는 요구를 보내고,
    상기 암호 장치는,
    상기 복호 장치로부터 상기 복호키를 갱신하는 요구를 수신하여, 상기 소정량이 지불되었을 때에만 상기 갱신 요구에 응답하여 상기 복호키를 갱신하도록 동작가능한 복호키 갱신 유닛; 및
    상기 복호 장치로부터 상기 파라미터를 초기화하는 요구를 수신하여, 상기 초기화 요구에 응답하여, 상기 랜덤수 다항식의 계수들이 1을 나타내는 항수를, 소정량이 지불되었을 때만 소정값 이하인 값으로 복호 에러의 확률을 감소시키는 초기값에 설정하도록 동작가능한 초기화 유닛을 더 포함하는, 암호 시스템.
  25. 제 18 항에 있어서,
    상기 복호 장치는 상기 복호화문이 올바르게 획득되는 지를 판단하도록 동작가능한 판단 유닛을 더 포함하고,
    상기 복호키 갱신 요구 유닛은, 상기 암호 장치에게 상기 판단 유닛에 의하여 행해진 판단 결과에 따라, 상기 복호키를 갱신하도록 지시하고,
    상기 파라미터 초기화 요구 유닛은, 상기 암호 장치에게 상기 파라미터의 값을, 상기 판단 유닛에 의하여 행해진 판단 결과에 따라, 소정값 이하인 값으로 복호 에러의 확률을 감소시키는 초기값으로 변화시키도록 지시하는, 암호 시스템.
  26. 평문을 암호화함으로써 암호화문을 생성하기 위한 암호 방법에 있어서,
    복호 장치에 적합한 파라미터의 값에 따라 상기 암호화문을 복호화할 때, 복호 에러의 확률을 변화시키는 암호 알고리즘에 따라, 암호키와 파라미터를 사용하여, 상기 평문으로부터 상기 암호화문을 생성하는 암호화문 생성 단계; 및
    상기 파라미터를 갱신하는 갱신 단계를 구비하는 암호 방법.
  27. 제 26 항에 있어서, 상기 갱신 단계에서, 상기 파라미터가 갱신되어, 상기 암호화문을 복호화할 때의 상기 복호 에러의 확률이 시간이 경과함에 따라 증가하는, 암호 방법.
  28. 제 26 항에 있어서, 상기 갱신 단계에서, 상기 파라미터가 갱신되어, 상기 암호화문을 복호화할 때의 복호 에러의 확률이 상기 암호화가 수행된 회수의 증가에 따라 증가하는, 암호 방법.
  29. 제 26 항에 있어서, 상기 암호화문 생성 단계에서, 상기 암호화문은 NTRU 암호법에 기초한 암호 알고리즘을 사용하여 생성되는, 암호 방법.
  30. 제 29 항에 있어서,
    상기 파라미터는 상기 NTRU 암호법에 기초한 랜덤수 다항식의 계수들이 1을 나타내는 항수를 나타내고,
    상기 갱신 단계에서, 상기 랜덤수 다항식의 계수들이 1을 나타내는 항수가 시간이 경과함에 따라 증가되는, 암호 방법.
  31. 암호화문을 복호하기 위한 복호 방법은,
    파라미터의 값에 따라 상기 암호화문을 복호할 때, 복호 에러의 확률을 변화시키는 암호 알고리즘에 따라 생성된 암호화문으로부터, 복호키를 사용하여 복호화문을 생성하는 복호 단계;
    상기 복호화문이 올바르게 획득되는 지를 판단하는 판단 단계;
    상기 판단 단계의 판단 결과에 따라, 암호 장치가 상기 복호키를 갱신할 것을 요구하는 갱신 요구 단계; 및
    상기 암호 장치가 상기 파라미터의 값을, 상기 판단 단계의 판단 결과에 따라, 소정값 이하인 값으로 복호 에러의 확률을 감소시키는 초기값으로 변화시킬 것을 요구하는 초기화 요구 단계를 구비하는 복호 방법.
  32. 평문을 암호화함으로써 암호화문을 생성하기 위한 암호 프로그램에 있어서, 컴퓨터가,
    복호 장치에 대응한 파라미터의 값에 따라 상기 암호화문을 복호화할 때, 복호 에러의 확률을 변화시키는 암호 알고리즘에 따라, 상기 평문으로부터 상기 암호화문을 암호키와 파라미터를 사용하여, 생성하는 암호화문 생성 단계; 및
    상기 파라미터를 갱신하는 갱신 단계를 실행하도록 하는 프로그램.
  33. 암호화문을 복호하기 위한 복호 프로그램에 있어서, 컴퓨터가,
    파라미터의 값에 따라 상기 암호화문을 복호할 때, 복호 에러의 확률을 변화시키는 암호 알고리즘에 따라 생성된 암호화문으로부터, 복호키를 사용하여 복호화문을 생성하는 복호 단계;
    상기 복호화문이 올바르게 획득되는 지를 판단하는 판단 단계;
    상기 판단 단계의 판단 결과에 따라, 암호 장치가 상기 복호키를 갱신할 것을 요구하는 갱신 요구 단계; 및
    상기 암호 장치가 상기 파라미터의 값을, 상기 판단 단계의 판단 결과에 따라, 소정값 이하인 값으로 복호 에러의 확률을 감소시키는 초기값으로 변화시킬 것을 요구하는 초기화 요구 단계를 실행하도록 하는 프로그램.
  34. 평문을 암호화함으로써 암호화문을 생성하기 위한 암호 프로그램이 기록되는 컴퓨터-판독가능 기억 매체에 있어서,
    상기 암호 프로그램은,
    복호 장치에 적합한 파라미터의 값에 따라 암호화문을 복호화할 때, 복호 에러의 확률을 변화시키는 암호 알고리즘에 따라, 암호키와 파라미터를 사용하여, 상기 평문으로부터 상기 암호화문을 생성하는 암호화문 생성 단계; 및
    상기 파라미터를 갱신하는 갱신 단계를 구비하는, 컴퓨터-판독가능 기억 매체.
  35. 암호화문을 복호하기 위한 복호 프로그램이 기록되는 컴퓨터-판독가능 기억 매체에 있어서,
    상기 복호 프로그램은,
    파라미터의 값에 따라 상기 암호화문을 복호할 때, 복호 에러의 확률을 변화시키는 암호 알고리즘에 따라 생성된 암호화문으로부터, 복호키를 사용하여 복호화문을 생성하는 복호 단계;
    상기 복호화문이 올바르게 획득되는 지를 판단하는 판단 단계;
    상기 판단 단계의 판단 결과에 따라, 암호 장치가 상기 복호키를 갱신할 것을 요구하는 갱신 요구 단계; 및
    상기 암호 장치가 상기 파라미터의 값을, 상기 판단 단계의 판단 결과에 따라, 소정값 이하인 값으로 복호 에러의 확률을 감소시키는 초기값으로 변화시킬 것을 요구하는 초기화 요구 단계를 구비하는, 컴퓨터-판독가능 기억 매체.
KR1020047021540A 2002-10-09 2003-10-01 암호 장치, 복호 장치, 및 암호 시스템 KR20050069936A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002296219 2002-10-09
JPJP-P-2002-00296219 2002-10-09

Publications (1)

Publication Number Publication Date
KR20050069936A true KR20050069936A (ko) 2005-07-05

Family

ID=32064137

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047021540A KR20050069936A (ko) 2002-10-09 2003-10-01 암호 장치, 복호 장치, 및 암호 시스템

Country Status (6)

Country Link
US (1) US7394902B2 (ko)
EP (1) EP1550258A1 (ko)
KR (1) KR20050069936A (ko)
CN (1) CN1692600A (ko)
AU (1) AU2003267821A1 (ko)
WO (1) WO2004034634A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101115490B1 (ko) * 2011-11-07 2012-05-08 펜타시큐리티시스템 주식회사 평문의 확률적 분포특성을 고려한 순위 보존 암호화 방법

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004303315A (ja) * 2003-03-31 2004-10-28 Funai Electric Co Ltd Dvd機器および所定情報記録方法
JP4404190B2 (ja) * 2003-07-24 2010-01-27 ソニー株式会社 電子機器、認証使用情報更新方法
FR2861235B1 (fr) * 2003-10-17 2005-12-16 Sagem Procede de protection d'un algorithme cryptographique
FR2879866B1 (fr) * 2004-12-22 2007-07-20 Sagem Procede et dispositif d'execution d'un calcul cryptographique
KR100612255B1 (ko) 2005-01-11 2006-08-14 삼성전자주식회사 무선 네트워크 시스템에서의 데이터 보안장치 및 그 방법
JP4596256B2 (ja) * 2005-08-02 2010-12-08 ソニー株式会社 送受信システムおよび方法、送信装置および方法、受信装置および方法、並びにプログラム
CN100401769C (zh) * 2005-12-27 2008-07-09 华为技术有限公司 一种对直播流媒体数据进行加密和解密的方法
US7904709B2 (en) * 2006-02-03 2011-03-08 Research In Motion Limited System and method for controlling data communications between a server and a client device
JP4197710B2 (ja) * 2006-07-19 2008-12-17 株式会社東芝 暗号装置、復号装置、プログラム及び方法
CN101400059B (zh) 2007-09-28 2010-12-08 华为技术有限公司 一种active状态下的密钥更新方法和设备
US20090300767A1 (en) * 2008-06-02 2009-12-03 Sony Corporation Method for out of band license acquisition associated with content redistributed using link protection
US20090119784A1 (en) * 2007-11-07 2009-05-07 Sony Corporation Out of band license acquisition including content identification
CN100495964C (zh) 2007-12-03 2009-06-03 西安西电捷通无线网络通信有限公司 一种轻型接入认证方法
US8045708B2 (en) * 2008-05-21 2011-10-25 Apple Inc. Discrete key generation method and apparatus
US8345861B2 (en) * 2008-08-22 2013-01-01 Red Hat, Inc. Sharing a secret using polynomial division over GF(Q)
US20100046740A1 (en) * 2008-08-22 2010-02-25 Schneider James P Embedding a secret in a larger polynomial
US8520854B2 (en) * 2008-08-28 2013-08-27 Red Hat, Inc. Sharing a secret using polynomials over polynomials
US9589159B2 (en) * 2009-06-26 2017-03-07 Intel Corporation Creating secure communication channels between processing elements
US8775825B2 (en) * 2009-08-17 2014-07-08 Cram Worldwide Llc Digital content management and delivery
TWI415435B (zh) * 2009-12-24 2013-11-11 Univ Vanung Encryption / decryption method and its architecture
CN102238001B (zh) * 2010-05-07 2014-10-01 腾讯数码(深圳)有限公司 一种提高数据安全性的方法和装置
US9596293B2 (en) * 2010-09-08 2017-03-14 Panasonic Intellectual Property Management Co., Ltd. Content transmission device and network node
WO2013101136A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Dual composite field advanced encryption standard memory encryption engine
US9008316B2 (en) * 2012-03-29 2015-04-14 Microsoft Technology Licensing, Llc Role-based distributed key management
JP2014175970A (ja) * 2013-03-12 2014-09-22 Fuji Xerox Co Ltd 情報配信システム、情報処理装置及びプログラム
CN107231354A (zh) * 2017-06-02 2017-10-03 四川铭扬通信科技有限公司 一种数据传输单元的数据传输方法及系统
RU2684492C1 (ru) * 2018-03-12 2019-04-09 Павел Владимирович Лебедев Способ формирования ключа шифрования/дешифрования
JP6977882B2 (ja) * 2018-05-25 2021-12-08 日本電信電話株式会社 秘密一括近似システム、秘密計算装置、秘密一括近似方法、およびプログラム
CN113391576A (zh) * 2020-03-13 2021-09-14 苏州拉普斯自动化有限公司 一种基于物联网的信息物理系统及方法
JP2022012403A (ja) * 2020-07-01 2022-01-17 キヤノン株式会社 プログラム、情報処理装置及び制御方法
CN113973000A (zh) * 2020-07-25 2022-01-25 华为技术有限公司 一种预共享密钥psk的处理方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0854951A (ja) * 1994-08-10 1996-02-27 Fujitsu Ltd ソフトウェア使用量管理装置
US6104810A (en) * 1997-05-15 2000-08-15 International Business Machines Corporation Pseudorandom number generator with backup and restoration capability
US6532451B1 (en) * 1998-03-23 2003-03-11 Novell, Inc. Nested strong loader apparatus and method
GB0013349D0 (en) * 2000-06-01 2000-07-26 Tao Group Ltd Pseudo-random number generator
US20020165912A1 (en) * 2001-02-25 2002-11-07 Storymail, Inc. Secure certificate and system and method for issuing and using same
EP1323027A1 (en) * 2000-08-29 2003-07-02 NTRU Cryptosystems, Inc. Speed enhanced cryptographic method and apparatus
TWI222609B (en) * 2001-07-25 2004-10-21 Matsushita Electric Ind Co Ltd A method of producing a decrypting apparatus having a cryptographic device and cryptographic information, a system for providing such device and information, and the decrypting apparatus produced by the production method
US20030059045A1 (en) * 2001-09-26 2003-03-27 Ruehle Michael D. Hash-based pseudo-random number generator

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101115490B1 (ko) * 2011-11-07 2012-05-08 펜타시큐리티시스템 주식회사 평문의 확률적 분포특성을 고려한 순위 보존 암호화 방법

Also Published As

Publication number Publication date
US7394902B2 (en) 2008-07-01
CN1692600A (zh) 2005-11-02
EP1550258A1 (en) 2005-07-06
US20040071293A1 (en) 2004-04-15
AU2003267821A1 (en) 2004-05-04
WO2004034634A1 (en) 2004-04-22

Similar Documents

Publication Publication Date Title
KR20050069936A (ko) 암호 장치, 복호 장치, 및 암호 시스템
KR101027199B1 (ko) 키공유 시스템, 공유키 생성장치 및 공유키 복원장치
KR102040120B1 (ko) 근사 암호화된 암호문에 대한 연산을 수행하는 장치 및 방법
JP3659791B2 (ja) 小時間鍵生成の方法及びシステム
US20090100264A1 (en) Communication device and communication system
CN102055760A (zh) 消息发送/接收方法和系统
KR20070011293A (ko) 암호 시스템, 암호 장치, 복호 장치, 프로그램 및 집적회로
EP3264671A1 (en) Key replacement direction control system, and key replacement direction control method
US7894608B2 (en) Secure approach to send data from one system to another
WO2018016330A1 (ja) 通信端末、サーバ装置、プログラム
JP5755557B2 (ja) 時限暗号システム、時限暗号方法、装置、プログラム
KR101533950B1 (ko) 브로드캐스트 암호화 방법 및 시스템
JP2009141674A (ja) Idベース暗号システム、方法
JP5469618B2 (ja) 暗号化システム、復号方法、鍵更新方法、鍵生成装置、受信装置、代理計算装置、プログラム
JP7325689B2 (ja) 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム
CN1981477A (zh) 用于提供数字证书功能的方法
JP4446374B2 (ja) 暗号装置、復号装置および暗号システム
US11456866B2 (en) Key ladder generating a device public key
WO2023199435A1 (ja) 暗号文変換システム、暗号文変換方法、及び暗号文変換プログラム
JP7466791B2 (ja) 暗号化装置、復号装置、復号可能検証装置、暗号システム、暗号化方法、及び暗号化プログラム
JP4485175B2 (ja) 鍵共有システム、共有鍵生成装置及び共有鍵復元装置
WO2023199436A1 (ja) 暗号文変換システム、暗号文変換方法、及び暗号文変換プログラム
TWI789115B (zh) 雲端服務的加密系統及加密方法
JP2010246149A (ja) 送信装置、送信方法、受信装置、受信方法、記録媒体および通信システム
JP5480763B2 (ja) 復号システム、汎用端末、高信頼端末、鍵生成装置、復号方法、プログラム

Legal Events

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