KR20070092325A - 통신 시스템, 통신 방법 - Google Patents

통신 시스템, 통신 방법 Download PDF

Info

Publication number
KR20070092325A
KR20070092325A KR1020077018060A KR20077018060A KR20070092325A KR 20070092325 A KR20070092325 A KR 20070092325A KR 1020077018060 A KR1020077018060 A KR 1020077018060A KR 20077018060 A KR20077018060 A KR 20077018060A KR 20070092325 A KR20070092325 A KR 20070092325A
Authority
KR
South Korea
Prior art keywords
data
encrypted
communication device
cut
transmission target
Prior art date
Application number
KR1020077018060A
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 KR20070092325A publication Critical patent/KR20070092325A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • G09C1/04Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system with sign carriers or indicators moved relative to one another to positions determined by a permutation code, or key, so as to indicate the appropriate corresponding clear or ciphered text
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Facsimile Transmission Control (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

2개의 통신 장치를 포함하는 통신 시스템을, 제3자에 의한 통신의 해독의 가능성을 보다 작게 하도록 개량한다. 통신 시스템은, 제1 통신 장치와 제2 통신 장치를 포함하고, 한쪽의 통신 장치에서 송신 대상 데이터를 암호화하여 생성한 암호화 데이터를 다른 쪽의 통신 장치에 송신하고, 그 다른 쪽의 통신 장치에서, 수취한 암호화 데이터의 복호화를 행한다. 각 통신 장치는, 암호화를 행하기에 앞서, 송신 대상 데이터를 소정의 비트수마다 절단하여 송신 대상 절단 데이터를 생성한다. 이 때, 각 통신 장치는, 송신 대상 절단 데이터의 비트수에 변화를 줌과 함께, 송신 대상 절단 데이터의 비트수 중 가장 비트수가 큰 것 이외의 송신 대상 절단 데이터에, 가장 비트수가 큰 것에 그 비트수를 맞추는 크기의 더미 데이터를 혼입한다.
IF, 전처리부, 암호화·복호화부, 공통 데이터 생성부, 알고리즘 생성부, 키생성부, 통신부, 접속부, 네트워크, 버스

Description

통신 시스템, 통신 방법{COMMUNICATION SYSTEM AND COMMUNICATION METHOD}
본 발명은, 평문인 송신 대상 데이터를 암호화하여 암호화 데이터로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터로 할 수 있는 2개의 통신 장치를 포함하는 통신 시스템에 관한 것이다.
전술한 바와 같은 통신 시스템은, 2개의 통신 장치 사이에서 송신되는 송신 대상 데이터의 제3자에 대한 비닉이 필요한 장면에서 사용되고 있다. 송신 대상 데이터의 비닉을 위하여 다양한 암호화의 기술이 제안되어, 이용되고 있지만, 암호의 해독을 완전하게 방지하는 것은 어렵다.
일반적으로 송신 대상 데이터를 암호화하여 행하는 통신은, 발송인측의 송수신 장치에서 송신 대상 데이터를 소정의 비트수마다 절단하고, 그 절단한 데이터의 각각을 암호화하여 상대측의 통신 장치에 보내고, 수신인측의 송수신 장치에서 수취한 데이터를 복호화한다고 하는 수순으로 행해진다.
이 때, 발송인측의 송수신 장치와, 수신인측의 송수신 장치는, 예를 들면 8비트, 16비트 등의 정해진 단위로 암호화 또는 복호화의 처리를 행하도록 되어 있다.
따라서, 이러한 단위가 외부에 알려진 경우에는, 암호화를 위하여 이용되는 알고리즘이 해독되고, 나아가서는 통신의 내용이 해독될 우려가 커진다.
또한, 기존의 장치에서는, 8비트나 16비트 등의 규격화된 단위로 암호화 또는 복호화를 행하고 있기 때문에, 송수신 장치가 이와 같은 규격된 단위와 동일한 단위로 암호화 또는 복호화를 행하는 경우에는, 암호화를 위하여 이용되는 알고리즘의 해독이 용이해진다.
본 발명은, 평문인 송신 대상 데이터를 암호화하여 암호화 데이터로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터로 할 수 있는 2개의 통신 장치를 포함하는 통신 시스템을, 제3자에 의한 통신의 해독의 가능성을 작게 하도록 개량하는 것을 과제로 하는 것이다.
<발명의 개시>
이러한 과제를 해결하기 위하여, 본원 발명자는, 이하에 설명하는 제1 발명, 제2 발명을 제안한다.
제1 발명에 의한 통신 시스템은, 평문인 송신 대상 데이터를 암호화하여 암호화 데이터로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터로 할 수 있는 2개의 통신 장치인 제1 통신 장치 및 제2 통신 장치를 포함하고 있다.
이 통신 시스템에서의 상기 제1 통신 장치 및 상기 제2 통신 장치는 모두, 상기 송신 대상 데이터를 소정의 비트수마다 절단하여 복수의 송신 대상 절단 데이터로 함과 함께, 상기 암호화 데이터를 그 암호화 데이터가 암호화되었을 때에 절 단된 것과 동일한 비트수마다 절단하여 복수의 암호화 절단 데이터로 하는 절단 수단과, 상기 송신 대상 절단 데이터를, 상기 제1 통신 장치와 상기 제2 통신 장치에서 공통으로 된 알고리즘에 의해 암호화하여 암호화 데이터로 함과 함께, 상기 암호화 절단 데이터를 그 암호화 절단 데이터를 암호화할 때에 이용된 알고리즘에 의해 복호화하여 송신 대상 절단 데이터로 하는 암호화·복호화 수단과, 복호화된 상기 송신 대상 절단 데이터를 접속하여 상기 송신 대상 데이터로 하는 접속 수단과, 상기 암호화 데이터를 송수신하는 송수신 수단을 구비하고 있다.
그리고, 이 통신 시스템에서의, 상기 절단 수단은, 상기 송신 대상 데이터를, 상기 송신 대상 절단 데이터 중 적어도 하나를 다른 송신 대상 절단 데이터와 서로 다른 비트수로 되도록 절단하도록 되어 있다.
이 통신 시스템에서는, 송신 대상 데이터를 절단하여 송신 대상 절단 데이터를 생성할 때에, 송신 대상 절단 데이터 중 적어도 하나를 다른 송신 대상 절단 데이터와 서로 다른 비트수로 하도록 되어 있으므로, 제3자는, 암호화된 데이터가 어떤 단위로 암호화되어 있는지를 알 수 없는 한, 가령 암호화를 위하여 사용된 알고리즘을 알 수 있었다고 하여도, 그 암호화 데이터를 복호화할 수 없다. 또한, 이 통신 시스템에서는, 송신 대상 절단 데이터 및 암호화 절단 데이터 중 적어도 하나를 다른 송신 대상 절단 데이터 또는 암호화 절단 데이터와 서로 다른 비트수로 할 수 있으므로, 암호의 해독을 행하자고 할 때에, 일반적인 데이터 처리의 단위인 8비트나 16비트와는 서로 다른 단위에서의 처리가 적어도 하나의 송신 대상 절단 데이터 또는 암호화 절단 데이터에서 필요하게 되므로, 일반적인 컴퓨터로 해석하기 어려운 것으로 된다.
따라서, 이 통신 시스템에서의 암호화 통신은, 제3자에 해독되기 어려운 것으로 된다.
제1 발명에서의 통신 시스템은, 이하와 같은 것으로 할 수 있다.
이 통신 시스템은, 평문인 송신 대상 데이터를 암호화하여 암호화 데이터로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터로 할 수 있는 2개의 통신 장치인 제1 통신 장치 및 제2 통신 장치를 포함하고 있다.
그리고, 그 상기 제1 통신 장치 및 상기 제2 통신 장치가 모두, 상기 송신 대상 데이터를 소정의 비트수마다 절단하여 복수의 송신 대상 절단 데이터로 함과 함께, 상기 암호화 데이터를 그 암호화 데이터가 암호화되었을 때에 절단된 것과 동일한 비트수마다 절단하여 복수의 암호화 절단 데이터로 하는 절단 수단과, 상기 제1 통신 장치와 상기 제2 통신 장치에서 공통의 공통 데이터를 순차적으로 발생시키는 공통 데이터 발생 수단과, 상기 송신 대상 절단 데이터를, 상기 공통 데이터 발생 수단으로부터 받아들인 상기 공통 데이터에 기초하여 생성한 상기 제1 통신 장치와 상기 제2 통신 장치에서 공통으로 된 알고리즘에 의해 암호화하여 암호화 데이터로 함과 함께, 상기 암호화 절단 데이터를 그 암호화 절단 데이터를 암호화할 때에 이용된 알고리즘에 의해 복호화하여 송신 대상 절단 데이터로 하는 암호화·복호화 수단과, 복호화된 상기 송신 대상 절단 데이터를 접속하여 상기 송신 대상 데이터로 하는 접속 수단과, 상기 암호화 데이터를 송수신하는 송수신 수단을 구비하고 있고, 또한, 상기 공통 데이터 발생 수단은, 상기 암호화·복호화 수단이 상기 송신 대상 절단 데이터 또는 상기 암호화 절단 데이터를 받아들인 것을 계기로 상기 공통 데이터를 발생하도록 되어 있다.
또한, 이 통신 시스템의 상기 절단 수단은, 상기 송신 대상 데이터를, 상기 송신 대상 절단 데이터 중 적어도 하나를 다른 송신 대상 절단 데이터와 서로 다른 비트수로 되도록 절단하도록 되어 있다.
이 통신 시스템은, 암호화와 복호화를 제1 통신 장치와 제2 통신 장치에서 동일한 알고리즘을 이용하여 행할 수 있는 등의 타이밍에서 알고리즘을 갱신하도록 되어 있으므로, 암호가 해독될 가능성이 보다 낮은 것으로 된다.
제1 발명에서의 상기 제1 통신 장치 및 상기 제2 통신 장치는 모두, 상기 송신 대상 절단 데이터 중 가장 많은 비트수의 것을 제거하는 것에, 상기 송신 대상 데이터와는 관계없는 더미 데이터를 포함시킴으로써, 모든 상기 송신 대상 절단 데이터의 비트수를 상기 송신 대상 절단 데이터 중 가장 비트수가 많은 것의 비트수에 일치시키는 혼합 수단을 구비하고 있어도 된다. 이와 같이 하면, 제1 통신 장치 또는 제2 통신 장치에서 암호화 또는 복호화의 단위로 되는 송신 대상 절단 데이터 또는 암호화 절단 데이터의 비트수가 모두 일치하므로, 암호화·복호화의 처리를 행하기 쉬워진다. 그 한편으로, 제3자에게는 어느 데이터가 본래의 송신 대상 절단 데이터 또는 암호화 절단 데이터인지, 또한 어느 데이터가 더미 데이터인지 모르므로, 암호가 해독될 가능성은 낮은 그대로이다.
제2 발명에 의한 통신 시스템은, 평문인 송신 대상 데이터를 암호화하여 암 호화 데이터로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터로 할 수 있는 2개의 통신 장치인 제1 통신 장치 및 제2 통신 장치를 포함하고 있다.
이 통신 시스템에 의한 상기 제1 통신 장치 및 상기 제2 통신 장치는 모두, 상기 송신 대상 데이터를 소정의 비트수마다 절단하여 복수의 송신 대상 절단 데이터로 함과 함께, 상기 암호화 데이터를 그 암호화 데이터가 암호화되었을 때에 절단된 것과 동일한 비트수마다 절단하여 복수의 암호화 절단 데이터로 하는 절단 수단과, 상기 송신 대상 절단 데이터를 상기 제1 통신 장치와 상기 제2 통신 장치에서 공통으로 된 알고리즘에 의해 암호화하여 암호화 데이터로 함과 함께, 상기 암호화 절단 데이터를 그 암호화 절단 데이터를 암호화할 때에 이용된 알고리즘에 의해 복호화하여 송신 대상 절단 데이터로 하는 것이며, 기준으로 되는 기준 비트수마다 상기 암호화 또는 상기 복호화를 행하도록 되어 있는 암호화·복호화 수단과, 복호화된 상기 송신 대상 절단 데이터를 접속하여 상기 송신 대상 데이터로 하는 접속 수단과, 상기 암호화 데이터를 송수신하는 송수신 수단을 구비하고 있다.
그리고, 이 통신 시스템에서의 상기 절단 수단은, 상기 송신 대상 데이터를, 상기 기준 비트수보다도 짧은 비트수로 절단하도록 되어 있음과 함께, 상기 제1 통신 장치 및 상기 제2 통신 장치는 모두, 상기 송신 대상 절단 데이터에, 상기 송신 대상 데이터와는 관계없는 더미 데이터를 포함시킴으로써, 상기 송신 대상 절단 데이터를 상기 기준 비트수에 일치시키는 혼합 수단을 구비하고 있다.
이 통신 시스템에서의 절단 수단은, 송신 대상 데이터를, 기준 비트수보다도 짧은 비트수로 절단하는데, 이 기준 비트수는, 예를 들면, 일반적인 데이터의 처리 단위와 동일한 8비트나 16비트로 할 수 있다. 이와 같이 하면, 암호의 해독을 행하고자 했을 때에, 일반적인 데이터 처리 단위인 8비트나 16비트와는 서로 다른 처리 단위에서의 처리가 적어도 하나의 송신 대상 절단 데이터 또는 암호화 절단 데이터에서 필요하게 되므로, 일반적인 컴퓨터에서의 해석을 행하기 어려운 것으로 된다. 또한, 이 통신 시스템에 포함되는 제1 통신 장치 및 제2 통신 장치는, 상기 송신 대상 절단 데이터에, 상기 송신 대상 데이터와는 관계없는 더미 데이터를 포함시킴으로써, 상기 송신 대상 절단 데이터를 상기 기준 비트수에 일치시키는 혼합 수단을 구비하고 있다. 따라서, 이 통신 시스템에 포함되는 제1 통신 장치 및 제2 통신 장치는, 결과적으로 일반적인 컴퓨터에서 행하는 처리 단위로 암호화·복호화의 처리를 행할 수 있게 되므로, 그 하드웨어 구성을, 종래의 것과 다르게 하지 않아도 된다. 그 한편으로, 제3자에게는 어느 데이터가 본래의 송신 대상 절단 데이터 또는 암호화 절단 데이터인지, 또한 어느 데이터가 더미 데이터인지 모르므로, 암호가 해독될 가능성은 낮은 그대로이다.
제2 발명에서의 통신 시스템은, 이하와 같은 것으로 할 수 있다.
제2 발명에서의 통신 시스템은, 평문인 송신 대상 데이터를 암호화하여 암호화 데이터로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터로 할 수 있는 2개의 통신 장치인 제1 통신 장치 및 제2 통신 장치를 포함한다.
그리고, 그 상기 제1 통신 장치 및 상기 제2 통신 장치가 모두, 상기 송신 대상 데이터를 소정의 비트수마다 절단하여 복수의 송신 대상 절단 데이터로 함과 함께, 상기 암호화 데이터를 그 암호화 데이터가 암호화되었을 때에 절단된 것과 동일한 비트수마다 절단하여 복수의 암호화 절단 데이터로 하는 절단 수단과, 상기 제1 통신 장치와 상기 제2 통신 장치에서 공통의 공통 데이터를 순차적으로 발생시키는 공통 데이터 발생 수단과, 상기 송신 대상 절단 데이터를 상기 공통 데이터 발생 수단으로부터 받아들인 상기 공통 데이터에 기초하여 생성한 상기 제1 통신 장치와 상기 제2 통신 장치에서 공통으로 된 알고리즘에 의해 암호화하여 암호화 데이터로 함과 함께, 상기 암호화 절단 데이터를 그 암호화 절단 데이터를 암호화할 때에 이용된 알고리즘에 의해 복호화하여 송신 대상 절단 데이터로 하는 것이며, 기준으로 되는 기준 비트수마다 상기 암호화 또는 상기 복호화를 행하도록 되어 있는 암호화·복호화 수단과, 복호화된 상기 송신 대상 절단 데이터를 접속하여 상기 송신 대상 데이터로 하는 접속 수단과, 상기 암호화 데이터를 송수신하는 송수신 수단을 구비하고 있고, 또한, 상기 공통 데이터 발생 수단은, 상기 암호화·복호화 수단이 상기 송신 대상 절단 데이터 또는 상기 암호화 절단 데이터를 받아들인 것을 계기로 상기 공통 데이터를 발생하도록 되어 이루어진다.
이 통신 시스템의 상기 절단 수단은, 상기 송신 대상 데이터를, 상기 기준 비트수보다도 짧은 비트수로 절단하도록 되어 있음과 함께, 상기 제1 통신 장치 및 상기 제2 통신 장치는 모두, 상기 송신 대상 절단 데이터에, 상기 송신 대상 데이터와는 관계없는 더미 데이터를 포함시킴으로써, 상기 송신 대상 절단 데이터의 비트수를 상기 기준 비트수에 일치시키는 혼합 수단을 구비하고 있다.
이 통신 시스템은, 암호화와 복호화에 이용되는 알고리즘을, 암호화와 복호화를 제1 통신 장치와 제2 통신 장치에서 동일한 알고리즘을 이용하여 행할 수 있는 등의 타이밍에서 갱신하도록 되어 있으므로, 암호가 해독될 가능성이 보다 낮은 것으로 된다.
상기 절단 수단은, 상기 송신 대상 데이터를, 상기 기준 비트수보다도 짧게 절단하는 것이라면, 일정한 비트수로 절단하도록 되어 있어도 되고, 또한, 서로 다른 비트수로 절단하도록 되어 있어도 된다. 전자 쪽이 처리가 간단하지만, 후자 의 경우에는 암호가 해독될 가능성이 보다 낮아진다.
상기 절단 수단이, 상기 송신 대상 데이터를, 상기 기준 비트수보다도 짧은 일정한 비트수로 절단하는 경우, 상기 혼합 수단은, 상기 더미 데이터를, 상기 송신 대상 데이터의 특정한 위치에 포함시키도록 되어 있어도 되고, 상기 더미 데이터를, 상기 송신 대상 데이터마다 서로 다른 소정의 위치에 포함시키도록 되어 있어도 된다. 전자 쪽이 처리가 간단하지만, 후자의 경우에는 암호가 해독될 가능성이 보다 낮아진다.
이하의 내용은, 제1 발명, 제2 발명에 공통된다.
상기 공통 데이터 발생 수단은, 상기 공통 데이터로서 의사 난수를 발생시키는 것으로 되어 있어도 된다. 공통 데이터 발생 수단은, 다른 데이터를 발생시키는 것으로 되어 있어도 물론 된다.
상기 공통 데이터 발생 수단은, 암호화와 복호화에 이용되는 알고리즘을, 암호화와 복호화를 제1 통신 장치와 제2 통신 장치에서 동일한 알고리즘을 이용하여 행할 수 있는 타이밍에서 생성할 수 있는 타이밍에서 전술한 공통 데이터를 생성하도록 되어 있으면 된다. 예를 들면, 상기 공통 데이터 발생 수단은, 상기 송신 대상 데이터의 암호화, 또는 상기 암호화 데이터의 복호화가 행해질 때마다 상기 공통 데이터를 발생시키도록 되어 있어도 된다. 또한, 상기 공통 데이터 발생 수단은, 상기 송신 대상 절단 데이터의 암호화, 또는 상기 암호화 절단 데이터의 복호화가 행해질 때마다 상기 공통 데이터를 발생시키도록 되어 있어도 된다.
또한, 상기 혼합 수단은, 상기 공통 데이터에 기초하여, 상기 더미 데이터를 포함시키는 상기 소정의 위치를 결정하도록 되어 있어도 된다. 송신 대상 절단 데이터의 서로 다른 위치에 더미 데이터가 포함되는 경우(송신 대상 데이터가 절단 된 시점에서의 송신 대상 절단 데이터 중 적어도 하나의 비트수가, 다른 송신 대상 절단 데이터의 비트수와 서로 다른 경우도 포함함)에는, 제1 통신 장치와 제2 통신 장치는, 송신측의 통신 장치가 송신 대상 절단 데이터의 어디에 더미 데이터를 포함시켰는지에 대하여 모르면, 수취한 암호화 절단 데이터의 복호화를 행할 수 없다. 상기 혼합 수단이, 상기 공통 데이터에 기초하여, 상기 더미 데이터를 포함시키는 상기 소정의 위치를 결정하도록 되어 있으면, 그와 같이 하여 송신 대상 절단 데이터에 포함시켜진 더미 데이터의 위치를, 수신인측의 통신 장치는 그것이 가지고 있는 데이터(이 데이터는, 제1 통신 장치와 제2 통신 장치에서 공통임)에 의하여 알 수 있다. 또한, 이 경우, 제1 통신 장치와 제2 통신 장치 사이에서, 송신 대상 절단 데이터의 어디에 더미 데이터가 포함시켜져 있는 것인가라고 하는 것에 대한 정보의 교환이 일체 없기 때문에, 제3자가 이 통신 시스템에서의 암호를 푸는 것이 거의 불가능하게 된다.
상기 송신 대상 절단 데이터 중 적어도 하나를 다른 송신 대상 절단 데이터와 서로 다른 비트수로 되도록 절단하는 경우, 상기 절단 수단은, 상기 공통 데이터에 기초하여, 상기 송신 대상 절단 데이터 중 적어도 하나를 다른 송신 대상 절단 데이터와 서로 다른 비트수로 되도록 절단하도록 되어 있어도 된다. 송신 대상 절단 데이터 중 적어도 하나가 다른 송신 대상 데이터와 서로 다른 비트수로 되어 있는 경우, 발송인측의 통신 장치에서 송신 대상 절단 데이터가 어떤 비트수로 절단되었는지를 모르면, 복호화를 행할 수 없다. 상기 절단 수단이, 상기 공통 데이터에 기초하여, 송신 대상 데이터를 절단하도록 되어 있으면, 송신 대상 데이터가 어떤 비트수로 절단되었는지를, 수신인측의 통신 장치는 그것이 가지고 있는 데이터(이 데이터는, 제1 통신 장치와 제2 통신 장치에서 공통임)에 의하여 알 수 있다. 또한, 이 경우, 제1 통신 장치와 제2 통신 장치 사이에서, 송신 대상 데이터가 어디에서 절단되었는가라고 하는 것에 대한 정보의 교환이 일체 없기 때문에, 제3자가 이 통신 시스템에서의 암호를 푸는 것이 거의 불가능하게 된다.
제1 발명은, 이하와 같은 방법에 의해서도 실현할 수 있다.
그 방법의 일례는, 평문인 송신 대상 데이터를 암호화하여 암호화 데이터로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터로 할 수 있는 2개의 통신 장치인 제1 통신 장치 및 제2 통신 장치를 포함하는 통신 시스템에서 실행되는 방법이다.
그리고, 이 방법은, 상기 제1 통신 장치 및 상기 제2 통신 장치의 한쪽이, 상기 송신 대상 데이터를 소정의 비트수마다 절단하여 복수의 송신 대상 절단 데이터로 하는 과정과, 상기 송신 대상 절단 데이터를, 소정의 알고리즘에 의해 암호화하여 암호화 데이터로 하는 과정과, 상기 암호화 데이터를 상기 제1 통신 장치 및 상기 제2 통신 장치의 다른 쪽에 송신하는 과정과, 상기 제1 통신 장치 및 상기 제2 통신 장치의 다른 쪽이, 받아들인 상기 암호화 데이터를, 그 암호화 데이터가 암호화되었을 때에 절단된 것과 동일한 비트수마다 절단하여 복수의 암호화 절단 데이터로 하는 과정과, 상기 암호화 절단 데이터를 그 암호화 절단 데이터를 암호화할 때에 이용된 알고리즘에 의해 복호화하여 송신 대상 절단 데이터로 하는 과정과, 복호화된 상기 송신 대상 절단 데이터를 접속하여 상기 송신 대상 데이터로 하는 과정을 포함하고 있다.
또한, 이 방법에서는, 상기 제1 통신 장치 및 상기 제2 통신 장치는, 상기 송신 대상 데이터를, 상기 송신 대상 절단 데이터 중 적어도 하나를 다른 송신 대상 절단 데이터와 서로 다른 비트수로 되도록 절단한다.
그 방법의 다른 예는, 평문인 송신 대상 데이터를 암호화하여 암호화 데이터로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터로 할 수 있는 2개의 통신 장치인 제1 통신 장치 및 제2 통신 장치를 포함하는 통신 시스템에서 실행되는 방법이다.
그리고, 이 방법은, 상기 제1 통신 장치 및 상기 제2 통신 장치의 한쪽이, 상기 송신 대상 데이터를 소정의 비트수마다 절단하여 복수의 송신 대상 절단 데이터로 하는 과정과, 상기 송신 대상 절단 데이터를 소정의 알고리즘에 의해 암호화 하여 암호화 데이터로 하는 과정과, 상기 암호화 데이터를 상기 제1 통신 장치 및 상기 제2 통신 장치의 다른 쪽에 송신하는 과정과, 상기 제1 통신 장치 및 상기 제2 통신 장치의 다른 쪽이, 받아들인 상기 암호화 데이터를, 그 암호화 데이터가 암호화되었을 때에 절단된 것과 동일한 비트수마다 절단하여 복수의 암호화 절단 데이터로 하는 과정과, 상기 암호화 절단 데이터를 그 암호화 절단 데이터를 암호화할 때에 이용된 알고리즘에 의해 복호화하여 송신 대상 절단 데이터로 하는 과정과, 복호화된 상기 송신 대상 절단 데이터를 접속하여 상기 송신 대상 데이터로 하는 과정을 포함하고 있음과 함께, 상기 제1 통신 장치 및 상기 제2 통신 장치는, 상기 송신 대상 절단 데이터 또는 상기 암호화 절단 데이터를 받아들인 것을 계기로 상기 공통 데이터를 발생함과 함께, 상기 암호화 또는 복호화를 기준으로 되는 기준 비트수마다 행하고, 상기 제1 통신 장치 및 상기 제2 통신 장치의 상기 한쪽은, 상기 송신 대상 데이터를, 상기 기준 비트수보다도 짧은 비트수로 절단함과 함께, 상기 송신 대상 절단 데이터에, 상기 송신 대상 데이터와는 관계없는 더미 데이터를 포함시킴으로써, 상기 송신 대상 절단 데이터의 비트수를 상기 기준 비트수에 일치시킨다.
제2 발명은, 이하와 같은 방법에 의해서도 실현할 수 있다.
제2 발명의 일례는, 평문인 송신 대상 데이터를 암호화하여 암호화 데이터로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터로 할 수 있는 2개의 통신 장치인 제1 통신 장치 및 제2 통신 장치를 포함하는 통신 시스템에서 실행되는 방법이다.
그리고, 이 방법은, 상기 제1 통신 장치 및 상기 제2 통신 장치의 한쪽이, 상기 송신 대상 데이터를 소정의 비트수마다 절단하여 복수의 송신 대상 절단 데이터로 하는 과정과, 소정의 공통 데이터를 순차적으로 발생시키는 과정과, 상기 송신 대상 절단 데이터를, 상기 공통 데이터에 기초하여 생성한 알고리즘에 의해 암호화하여 암호화 데이터로 하는 과정과, 상기 암호화 데이터를 상기 제1 통신 장치 및 상기 제2 통신 장치의 다른 쪽에 송신하는 과정과, 상기 제1 통신 장치 및 상기 제2 통신 장치의 다른 쪽이, 받아들인 상기 암호화 데이터를, 그 암호화 데이터가 암호화되었을 때에 절단된 것과 동일한 비트수마다 절단하여 복수의 암호화 절단 데이터로 하는 과정과, 상기 제1 통신 장치 및 상기 제2 통신 장치의 상기 한쪽의 것과 공통으로 된 공통 데이터를 순차적으로 발생시키는 과정과, 상기 암호화 절단 데이터를, 발생된 상기 공통 데이터에 기초하여 생성한 그 암호화 절단 데이터를 암호화할 때에 이용된 알고리즘에 의해 복호화하여, 송신 대상 절단 데이터로 하는 과정과, 복호화된 상기 송신 대상 절단 데이터를 접속하여 상기 송신 대상 데이터로 하는 과정을 포함하고 있다.
또한, 이 방법에서의 상기 제1 통신 장치 및 상기 제2 통신 장치는, 상기 송신 대상 절단 데이터 또는 상기 암호화 절단 데이터를 받아들인 것을 계기로 상기 공통 데이터를 발생함과 함께, 상기 송신 대상 데이터를, 상기 송신 대상 절단 데이터 중 적어도 하나를 다른 송신 대상 절단 데이터와 서로 다른 비트수로 되도록 절단한다.
이 방법의 다른 예는, 평문인 송신 대상 데이터를 암호화하여 암호화 데이터 로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터로 할 수 있는 2개의 통신 장치인 제1 통신 장치 및 제2 통신 장치를 포함하고 있는 통신 시스템에서 실행되는 방법이다.
그리고, 이 방법은, 상기 제1 통신 장치 및 상기 제2 통신 장치의 한쪽이, 상기 송신 대상 데이터를 소정의 비트수마다 절단하여 복수의 송신 대상 절단 데이터로 하는 과정과, 소정의 공통 데이터를 순차적으로 발생시키는 과정과, 상기 송신 대상 절단 데이터를 상기 공통 데이터에 기초하여 생성한 알고리즘에 의해 암호화하여 암호화 데이터로 하는 과정과, 상기 암호화 데이터를 상기 제1 통신 장치 및 상기 제2 통신 장치의 다른 쪽에 송신하는 과정과, 상기 암호화 데이터를 상기 제1 통신 장치 및 상기 제2 통신 장치의 다른 쪽에 송신하는 과정과, 상기 제1 통신 장치 및 상기 제2 통신 장치의 다른 쪽이, 받아들인 상기 암호화 데이터를, 그 암호화 데이터가 암호화되었을 때에 절단된 것과 동일한 비트수마다 절단하여 복수의 암호화 절단 데이터로 하는 과정과, 상기 제1 통신 장치 및 상기 제2 통신 장치의 상기 한쪽의 것과 공통으로 된 공통 데이터를 순차적으로 발생시키는 과정과, 상기 암호화 절단 데이터를, 발생된 상기 공통 데이터에 기초하여 생성한 그 암호화 절단 데이터를 암호화할 때에 이용된 알고리즘에 의해 복호화하여, 송신 대상 절단 데이터로 하는 과정과, 복호화된 상기 송신 대상 절단 데이터를 접속하여 상기 송신 대상 데이터로 하는 과정을 포함하고 있다.
또한, 이 방법에서의 상기 제1 통신 장치 및 상기 제2 통신 장치는, 상기 송신 대상 절단 데이터 또는 상기 암호화 절단 데이터를 받아들인 것을 계기로 상기 공통 데이터를 발생함과 함께, 상기 암호화 또는 복호화를 기준으로 되는 기준 비트수마다 행하고, 상기 제1 통신 장치 및 상기 제2 통신 장치의 상기 한쪽은, 상기 송신 대상 데이터를, 상기 기준 비트수보다도 짧은 비트수로 절단함과 함께, 상기 송신 대상 절단 데이터에, 상기 송신 대상 데이터와는 관계없는 더미 데이터를 포함시킴으로써, 상기 송신 대상 절단 데이터의 비트수를 상기 기준 비트수에 일치시킨다.
도 1은, 실시 형태의 통신 시스템의 전체 구성을 도시하는 도면.
도 2는, 도 1에 도시한 통신 시스템에 포함되는 제1 통신 장치 및 제2 통신 장치의 하드웨어 구성을 도시하는 도면.
도 3은, 도 1에 도시한 통신 시스템에 포함되는 제1 통신 장치 및 제2 통신 장치의 통신 장치의 구성을 도시하는 블록도.
도 4는, 도 1에 도시한 통신 시스템에서 실행되는 처리의 흐름을 도시하는 흐름도.
도 5는, 도 1에 도시한 통신 시스템의 제1 통신 장치에서 실행되는 암호화의 처리의 흐름을 도시하는 흐름도.
도 6은, 도 1에 도시한 통신 시스템의 제2 통신 장치에서 실행되는 복호화의 처리의 흐름을 도시하는 흐름도.
<발명을 실시하기 위한 최량의 형태>
이하, 본 발명의 바람직한 실시 형태를, 도면을 참조하면서 상세히 설명한 다.
이 실시 형태에 따른 통신 시스템은, 개략적으로 도 1에 도시한 바와 같이 구성된다. 통신 시스템은, 네트워크(13)를 통하여 서로 접속된 제1 통신 장치(11), 및 제2 통신 장치(12)를 포함하고 있다. 제1 통신 장치(11)와 제2 통신 장치(12)는, 서로 암호화 통신을 행한다.
또한, 제1 통신 장치(11)와 제2 통신 장치(12)를 접속하는 네트워크(13)는, 예를 들면 인터넷이다. 단 이 대신에, 다른 수단, 예를 들면 인트라네트나 전용 선으로 네트워크(13)를 구성해도 된다.
제1 통신 장치(11), 제2 통신 장치(12)의 구성을 설명한다. 또한, 제1 통신 장치(11)와 제2 통신 장치(12)는, 이 실시 형태에서는 마찬가지의 구성으로 되어 있으므로, 대표적으로 제1 통신 장치(11)의 구성만을 설명하기로 한다.
제1 통신 장치(11)의 하드웨어 구성을 도 2에 도시한다.
제1 통신 장치(11)는, 이 실시 형태에서는, CPU(central processing unit)(21), ROM(read only memory)(22), HDD(hard disk drive)(23), RAM(random acccss memory)(24), 입력 장치(25), 표시 장치(26), 통신 장치(27), 버스(28)를 포함하는 구성으로 되어 있다. CPU(21), ROM(22), HDD(23), RAM(24), 입력 장치(25), 표시 장치(26), 통신 장치(27)는, 버스(28)를 통하여 데이터의 교환이 가능하게 되어 있다.
ROM(22), 혹은 HDD(23)에는, 소정의 프로그램, 및 소정의 데이터(이것에는, 송신 대상 데이터로 되는 것이 포함되는 경우가 있고, 본 실시 형태에서는 그와 같 이 되어 있다. 또한, 소정의 데이터에는, 상기 프로그램을 실행하기 위하여 필요한 데이터가 포함된다)가 기록되어 있다. CPU(21)는, 제1 통신 장치(11) 전체의 제어를 행하는 것이며, ROM(22), 혹은 HDD(23)에 기억된 프로그램이나 데이터에 기초하여, 후술하는 처리를 실행하는 것이다. RAM(24)은, CPU(21)에서 처리를 행할 때의 작업용 기억 영역으로서 이용된다.
입력 장치(25)는, 키보드, 마우스 등으로 구성되어 있고, 커맨드나 데이터의 입력에 이용된다. 표시 장치(26)는, LCD(liquid crystal display), CRT(cathode ray tube) 등으로 구성되어 있고, 커맨드나 입력된 데이터나, 후술하는 처리의 상황 등을 표시하기 위하여 이용된다.
통신 장치(27)는, 네트워크(13)를 통한 제2 통신 장치(12)와의 통신을 실행하는 것이다. 또한, 제2 통신 장치(12)의 통신 장치(27)는, 네트워크(13)를 통한 제1 통신 장치(11)와의 통신을 실행한다.
다음으로, 통신 장치(27)의 구성에 대하여 설명한다. 도 3에, 통신 장치(27)의 블록 구성도를 도시한다.
통신 장치(27)는, 인터페이스부(31), 전처리부(32), 암호화·복호화부(33), 공통 데이터 생성부(34), 알고리즘 생성부(35), 키생성부(36), 통신부(37), 및 접속부(38)로 구성된다.
인터페이스부(31)는, 버스(28)와 암호화·복호화부(33) 사이에서의 데이터의 교환을 행하는 것이다. 인터페이스부(31)는, 또한, 버스(28)로부터의 데이터를 공통 데이터 생성부(34)에 보내고, 접속부(38)로부터의 데이터를 버스(28)에 보내는 기능을 갖는다.
전처리부(32)는, 인터페이스부(31)을 통하여 버스(28)로부터 수취한 송신 대상 데이터 또는 암호화 데이터를, 소정의 비트수마다 절단하고, 송신 대상 절단 데이터 또는 암호화 절단 데이터를 생성하고, 이것을 암호화·복호화부(33)에 보내는 기능을 가지고 있다. 송신 대상 데이터 또는 암호화 데이터를 어떻게 절단하는지에 대해서는 후술한다. 또한, 전처리부(32)는, 이 실시 형태에서는, 송신 대상 데이터에 후술하는 바와 같은 방법으로, 송신 대상 데이터와는 관계없는 데이터인 더미 데이터를 포함시키는 기능을 가지고 있다.
암호화·복호화부(33)는, 송신 대상 절단 데이터 또는 암호화 절단 데이터를 전처리부(32)로부터 수취하고, 송신 대상 절단 데이터를 받아들인 경우에는 그것을 암호화하고, 암호화 절단 데이터를 받아들인 경우에는 그것을 복호화하는 기능을 가지고 있다. 또한, 이 실시 형태에서의 암호화·복호화부(33)는, 암호화 및 복호화의 처리를 행하는 경우의 처리 단위인 기준 비트수가 고정되어 있다. 이 실시 형태에서의 기준 비트수는, 이것에는 한정되지 않지만 8비트로 되어 있다. 암호화 및 복호화의 처리의 상세에 대해서는 이후에 설명한다.
공통 데이터 생성부(34)는, 제1 통신 장치(11)와 제2 통신 장치(12)에서 공통되는 데이터인 공통 데이터를 순차적으로 생성하는 것이다. 이 실시 형태에서의, 제1 통신 장치(11)와 제2 통신 장치(12)에서의 공통 데이터 생성부(34)는, 동일한 순번의 공통 데이터가 동일한 것으로 되도록 하고, 순차적으로 공통 데이터를 발생시키도록 되어 있다. 또한, 이 실시 형태에서의 공통 데이터는, 반드시 그럴 필요는 없지만 의사 난수이다. 생성된 공통 데이터는, 전처리부(32)와, 알고리즘 생성부(35)와, 키생성부(36)에 보내진다.
알고리즘 생성부(35)는, 공통 데이터 생성부(34)로부터 받아들인 공통 데이터에 기초하여 알고리즘을 생성하는 것이다. 이 알고리즘은, 암호화·복호화부(33)에서, 암호화 처리 및 복호화 처리를 행할 때에 사용되는 것이다.
키생성부(36)는, 공통 데이터 생성부(34)로부터 받아들인 공통 데이터에 기초하여 키를 생성하는 것이다. 키는, 암호화·복호화부(33)에서, 암호화 처리 및 복호화 처리를 행할 때에 사용되는 것이다.
통신부(37)는, 네트워크(13)와의 사이에서 데이터의 교환을 행하는 것이다. 암호화·복호화부(33)에서 송신 대상 절단 데이터를 암호화함으로써 생성된 암호화 절단 데이터는, 접속부(38)에서 접속되고, 통신부(37)를 통하여 상대측의 통신 장치에 보내지게 된다. 또한, 통신부(37)는, 상대측 통신 장치로부터 암호화 데이터를 받아들인다. 이 암호화 데이터는, 통신부(37)로부터 전처리부(32)에 보내지게 된다.
접속부(38)는, 암호화·복호화부(33)에서 암호화 절단 데이터를 복호화함으로써 생성된 송신 대상 절단 데이터를 원래의 순서로 접속하여 일괄 송신 대상 데이터로 하는 기능을 가지고 있다. 이 송신 대상 데이터는, 인터페이스부(31)에 보내지고, 버스(28)를 통하여, 필요에 따라서, HDD(23), 혹은 CPU(21) 등에 보내지도록 되어 있다. 접속부(38)는, 또한, 암호화·복호화부(33)에서 송신 대상 절단 데이터를 암호화함으로써 생성된 암호화 절단 데이터를 접속하여 일괄 암호화 데이터 로 하는 기능을 가지고 있다. 이 암호화 데이터는, 통신부(37)에 보내지고, 통신부(37)로부터 상대측의 통신 장치에 보내지도록 되어 있다. 또한, 접속부(38)는, 암호화·복호화부(33)에서 송신 대상 절단 데이터를 암호화함으로써 생성된 암호화 절단 데이터를 접속하는 기능을 가지지 않아도 된다. 이 경우에는, 암호화 절단 데이터는 암호화된 순으로 순차적으로 상대측의 통신 장치에 보내지게 된다. 접속부(38)가 그와 같은 것인 경우, 암호화 절단 데이터는 접속부(38)를 통하지 않고 통신부(37)로 직접 보내지도록 할 수 있다.
다음으로, 이 통신 시스템에서 행해지는 처리의 흐름에 대하여 설명한다.
도 4를 이용하여 개략적으로 설명하면, 이 통신 시스템에서 행해지는 처리의 흐름은 이하와 같다.
우선, 제1 통신 장치(11)가 송신 대상 데이터를 암호화하여 암호화 데이터를 생성한다(S110). 다음으로, 제1 통신 장치(11)가 그 암호화 데이터를 제2 통신 장치(12)에 보낸다(S120). 다음으로, 암호화 데이터를 수취한 제2 통신 장치(12)가 그 암호화 데이터를 복호화하여 송신 대상 데이터로 되돌린다(S130).
이와 같이, 이하의 설명에서는, 제1 통신 장치(11)로부터 제2 통신 장치(12)에 암호화 데이터를 보내는 것으로 하지만, 제2 통신 장치(12)로부터 제1 통신 장치(11)에 암호화 데이터를 보내는 전술한 경우와 반대의 처리가 행해지는 경우에도 처리의 내용에 변함이 없는 것은, 자명할 것이다.
우선, 제1 통신 장치(11)가 송신 대상 데이터를 암호화하여 암호화 데이터를 생성하는 전술한 S110의 과정에 대하여, 도 5를 참조하면서 자세히 설명한다.
우선, 송신 대상 데이터의 판독이 행해진다. 송신 대상 데이터는 제1 통신 장치(11)로부터 제2 통신 장치(12)에 송신할 필요가 있는 데이터이면 어떤 것이어도 된다. 이 실시 형태에서는, 송신 대상 데이터는 HDD(23)에 기록되어 있는 것으로 한다. 예를 들면 입력 장치(25)로부터 송신 대상 데이터를 제2 통신 장치(12)에 보내라고 하는 내용의 커맨드가 입력된 경우, CPU(21)는, 송신 대상 데이터를 HDD(23)로부터 판독하고, 예를 들면 RAM(24)에 일시적으로 기록시킨다. 이 송신 대상 데이터는, RAM(24)으로부터 버스(28), 통신 장치(27) 내의 인터페이스부(31)를 통하여, 전처리부(32)에 보내진다(S1101).
전처리부(32)에서, 송신 대상 데이터는, 소정의 비트수마다 절단되어, 송신 대상 절단 데이터로 된다(S1102). 전처리부(32)는, 필요에 따라서, 송신 대상 절단 데이터에 더미 데이터를 포함시킨다.
송신 대상 데이터로부터 송신 대상 절단 데이터를 생성하는 방법은 한 가지이어도 되지만, 이 실시 형태에서는, 이하의 세 가지의 방법 중 어느 하나로, 송신 대상 데이터로부터 송신 대상 절단 데이터를 생성하도록 되어 있다.
A) 송신 대상 데이터를 기준 비트수보다도 짧은 일정한 비트수로 절단하여 송신 대상 절단 데이터로 함과 함께, 그 모두가 기준 비트수보다도 비트수가 짧게 되어 있는 송신 대상 절단 데이터의 각각의 일정한 위치에 더미 데이터를 포함시키는 경우
B) 송신 대상 데이터를 기준 비트수보다도 짧은 비트수의 일정한 비트수로 절단하여 송신 대상 절단 데이터로 함과 함께, 그 모두가 기준 비트수보다도 비트 수가 짧게 되어 있는 송신 대상 절단 데이터의 각각의 다른 위치에 더미 데이터를 포함시키는 경우
C) 송신 대상 데이터를 기준 비트수와 동일하거나 그것보다도 짧은 비트수로 절단하여 송신 대상 절단 데이터로 함과 함께, 기준 비트수보다도 비트수가 짧은 송신 대상 절단 데이터의 각각에 더미 데이터를 포함시키는 경우
전술한 세 가지의 방법 중 어느 것으로, 송신 대상 데이터로부터 송신 대상 절단 데이터를 생성할지는, 공통 데이터 생성부(34)가 생성한 공통 데이터에 의해 결정되도록 되어 있다.
따라서, 공통 데이터 생성부(34)가 어떻게 공통 데이터를 생성하는지에 대하여 먼저 설명하기로 한다.
공통 데이터 생성부(34)는, 인터페이스부(31)가 버스(28)로부터 송신 대상 데이터를 받아들인 경우, 그 정보를 인터페이스부(31)로부터 받아들인다.
이것을 계기로 공통 데이터 생성부(34)는, 공통 데이터의 생성을 개시한다. 이 실시 형태에서는, 공통 데이터 생성부(34)는, 송신 대상 데이터가 인터페이스부(31)에서 받아들여질 때마다, 공통 데이터를 생성하도록 되어 있다. 또한, 이것에는 한정되지 않지만, 이 실시 형태에서의 공통 데이터는 8행 8열의 행렬(X)이다.
공통 데이터 생성부(34)는, 반드시 그렇게 되어 있을 필요는 없지만, 이 실시 형태에서는, 공통 데이터를, 비선형 천이하는 등의 것으로 하여 연속하여 발생시킨다.
비선형 천이하도록 공통 데이터를 연속하여 발생시키는 데에는, 예를 들면, (1) 공통 데이터의 생성의 과정에, 과거의 공통 데이터의 누승의 연산을 포함하거나, (2) 공통 데이터를 발생의 과정에, 과거의 2개 이상의 공통 데이터의 곱을 포함하거나, 혹은, (1)과 (2)를 조합하는 등의 방법이 생각된다.
이 실시 형태에서는, 공통 데이터 생성부(34)는, 초기 행렬로서, 제01해(X01)와 제02해(X02)를 미리 정해진 것으로 하여 가지고 있다(예를 들면, 제01해와 제02해는, 소정의 메모리에 기록되어 있음).
공통 데이터 생성부(34)는, 이 초기 행렬을 해 생성용 알고리즘에 대입하여, 제1해(X1)를 아래와 같이 생성한다.
제1해(X1)=X02X01+α(α=8행 8열의 행렬)
이것이 최초로 생성되는 공통 데이터이다.
다음으로 인터페이스부(31)가 버스(28)로부터 송신 대상 데이터를 받아들인 경우, 공통 데이터 생성부(34)는, 제2해(X2)를 아래와 같이 생성한다.
제2해(X2)=X1X02
마찬가지로, 인터페이스부(31)가 버스(28)로부터 송신 대상 데이터를 받아들일 때마다, 공통 데이터 생성부(34)는, 제3해, 제4해, …제N해를, 아래와 같이 생성한다.
제3해(X3)=X2X1
제4해(X4)=X3X2
제N해(XN)=XN -1XN -2
이와 같이 하여 생성된 해(즉, 공통 데이터)는, 전처리부(32) 및 알고리즘 생성부(35)에 보내짐과 함께, 공통 데이터 생성부(34)에서 유지되게 된다. 이 실시 형태에서는, 제N해(XN)를 생성하기 위하여, 제N-1해(XN -1)와 제N-2해(XN -2)를, 결국, 그 직전에 생성된 2개의 해를 이용한다. 따라서, 공통 데이터 생성부(34)는, 새로운 해를 생성하는 데에 있어서, 과거에 생성된 직근 2개의 해를 유지하고 있어야만 한다(또는, 다른 누구인가가 이들 2개의 해를 유지하고 있어야만 함). 반대로 과거에 생성된 직근 2개의 해보다도 오래된 해는, 새로운 해를 생성하기 때문이 앞으로 사용될 일이 없는 것이다. 따라서, 이 실시 형태에서는, 항상 과거 2개의 해를 공통 데이터 생성부(34)에서 유지하는 것으로 하지만, 새로운 해가 생성됨으로써 직근 3개째의 해로 된 거기까지 직근 2개째이었던 해를, 그 해가 기록되어 있던 소정의 메모리 등으로부터 소거하는 것으로 하고 있다.
또한, 이와 같이 생성되는 해는, 비선형 천이하는 카오스적인 것으로 되고, 의사 난수로 된다.
비선형 천이를 일으키게 하기 위해서는, 제N해를 구할 때에, 전술한
제N해(XN)=XN -1XN -2
라고 하는 식을 이용하는 것 외에, 이하와 같은 식을 이용하는 것이 생각된다.
예를 들면,
(a) 제N해(XN)=(XN -1)P
(b) 제N해(XN)=(XN -1)P(XN -2)Q(XN -3)R(XN -4)S
(C) 제N해(XN)=(XN -1)P+(XN -2)Q
등이다.
또한, P, Q, R, S는 각각 소정의 상수이다. 또한, 수식 (a) 또는 (c)를 이용하는 경우에는, 2개, 수식 (b)를 이용하는 경우에는 4개의 초기 행렬을, 공통 데이터 생성부(34)는 가지고 있다.
또한, 전술한 α은 상수이었지만, 이것을, 특정의 변화되는 환경 정보로 할 수도 있다. 이 환경 정보는, 시간의 경과에 따라서 차례로 자연 발생하는 정보로서 떨어진 장소에서도 공통되어 취득할 수 있는 정보이며 예를 들면, 특정 지방의 날씨에 기초하여 정해지는 정보, 특정한 시간에 방송되는 임의의 텔레비전국의 텔레비전 방송의 내용에 기초하여 정해지는 정보, 특정한 스포츠의 결과에 의해 정해지는 정보 등이다.
이와 같은 환경 정보로부터, 전술한 α를 차례로 작성하여 공통 정보를 생성하기로 하면, 통신의 비닉성을 보다 높일 수 있다.
전술한, 수식 (a)∼(c)의 우변에, α(이것은 환경 정보로부터 생성된 것이어도 됨)를 더하는 것도 물론 가능하다.
전술한 바와 같이, 공통 데이터(즉, 전술한 해)를 받아들인 전처리부(32)는, 그것에 따라서, 전술한 A), B), C) 중 어느 방법으로 송신 대상 절단 데이터를 생성할지를 결정한다. 이 실시 형태에서는, 이것에는 한정되지 않지만, 공통 데이터인 8행 8열의 행렬을 구성하는 숫자를 서로 더한 합을 3으로 나누고, 그 나머지가 0일 때에는 A)의 방법으로, 그 나머지가 1일 때에는 B)의 방법으로, 그 나머지가 2일 때에는 C)의 방법으로, 각각 송신 대상 절단 데이터를 생성하는 것으로 하고 있다.
A)의 방법으로 송신 대상 절단 데이터를 생성하는 경우에는, 전처리부(32)는, 인터페이스부(31)로부터 받아들인 송신 대상 데이터를 선두부터 순서대로, 기준 비트수보다도 짧은 일정한 비트수(이 실시 형태에서는, 7비트)로 절단함으로써, 송신 대상 절단 데이터를 생성해 간다. 또한, 전처리부(32)는, 송신 대상 절단 데이터의 일정한 위치에, 더미 데이터를 매립해 간다. 또한, 더미 데이터를 매립하는 송신 대상 절단 데이터에서의 위치는, 변화하여도 되고, 고정되어 있어도 된다. 후자의 경우, 더미 데이터가 매립되는 위치는, 예를 들면, 송신 대상 절단 데이터의 선두나 말미, 혹은 2비트째나 3비트째 등의 소정의 중간의 위치로 할 수 있다. 이 더미 데이터는, 송신 대상 데이터와는 무관계한 데이터이면 어떤 것이어도 된다. 예를 들면, 항상 0이라고 하는 데이터를 매립해 가거나, 또는 1이라고 하는 데이터를 매립해 가거나, 혹은 1과 0이라고 하는 데이터를 교대로 매립해 가는 등의 처리가 생각된다. 또 다른 예로서, 전술한 공통 데이터에 기초하여, 어떤 더미 데이터를 매립해 갈지를 결정할 수도 있다. 예를 들면, 공통 데이터인 8행 8열의 행렬을 구성하는 숫자를 서로 더한 합을 9로 나누고, 그 나머지가 0일 때에는, 0, 0, 0, 0…으로 0을 연속하고, 그 나머지가 1 일 때는, 0, 1, 0, 1…로 1개 걸러서 1을 삽입하고, 그 나머지가 2일 때에는, 0, 0, 1, 0, 0, 1…로 2개 걸러서 1을 삽입하고, 마찬가지로, 나머지가 3일 때에는 3개 걸러서, 나머지가 4일 때는 4개 걸러서, …나머지가 9일 때에는 9개 걸러서 1을 삽입하도록 하는 등의 것으로 할 수 있다.
B)의 방법으로 송신 대상 절단 데이터를 생성하는 경우에는, 전처리부(32)는, 송신 대상 데이터를 기준 비트수보다도 짧은 비트수의 일정한 비트수(예를 들면, 7비트)로 절단하여 송신 대상 절단 데이터로 함과 함께, 그 모두가 기준 비트수보다도 비트수가 짧게 되어 있는 송신 대상 절단 데이터의 각각의 서로 다른 위치에 더미 데이터를 포함시킨다. 이 경우, 더미 데이터가 매립되는 위치는, 고정이어도 되고, 송신 대상 절단 데이터의 각각에 대하여, 1비트째, 2비트째, 3비트째 …8비트째, 1비트째, 2비트째…8비트째로, 순서대로 이동해 가는, 규칙적으로 변화되는 것이어도, 혹은, 랜덤하게 변화되는 것이어도 된다. 더미 데이터가 매립되는 위치가 랜덤하게 변화되는 경우에는, 예를 들면, 더미 데이터가 매립되는 위치가, 공통 데이터에 기초하여 결정되도록 되어 있어도 된다.
공통 데이터에 의해, 더미 데이터가 매립되는 기준 비트수를 결정하는 방법으로서는, 예를 들면, 공통 데이터인 8행 8열의 행렬을 구성하는 숫자를 서로 더한 합을 8로 나누고, 그 나머지가 0일 때에는, 송신 대상 절단 데이터 1개 걸러서, 선두와 말미에 교대로 더미 데이터를 매립하고, 나머지가 1일 때에는 선두에 더미 데이터가 매립된 송신 대상 절단 데이터와, 말미에 더미 데이터가 매립된 송신 대상 절단 데이터가 2개 걸러서 되도록 하고, 나머지가 2일 때에는 선두에 더미 데이터가 매립된 송신 대상 절단 데이터와, 말미에 더미 데이터가 매립된 송신 대상 절단 데이터가 3개 걸러서 되도록 하고, …나머지가 7일 때에는 선두에 더미 데이터가 매립된 송신 대상 절단 데이터와, 말미에 더미 데이터가 매립된 송신 대상 절단 데이터가 8개 걸러서 되도록 한다고 하는 처리를 행하도록 할 수 있다. 선두와 말미와 같이, 더미 데이터를 매립하는 위치를 고정하지 않고, 그 위치를 더욱 움직이도록 할 수도 있다.
C)의 방법에 의해 송신 대상 절단 데이터를 생성하는 경우에는, 송신 대상 데이터를 기준 비트수와 동일하거나 그것보다도 짧은 비트수로 절단한다. 이 절단은, 송신 대상 데이터를, 8비트 보다도 짧은 랜덤한 길이로 절단함으로써 행할 수 있고, 예를 들면, 공통 데이터인 8행 8열의 행렬을 구성하는 숫자를 서로 더한 합을 8로 나누고, 그 나머지가 0일 때에는 송신 대상 데이터의 그 시점에서의 선두 부분을 8비트로 절단하고, 그 나머지가 1일 때에는 송신 대상 데이터의 그 시점에서의 선두 부분을 1비트로 절단하고, 그 나머지가 2일 때에는 송신 대상 데이터의 그 시점에서의 선두 부분을 2비트로 절단하고, … 그 나머지가 7일 때에는 송신 대상 데이터의 그 시점에서의 선두 부분을 7비트로 절단하도록 할 수 있다. 또한, 전처리부(32)는, 이에 의해 생성된 송신 대상 절단 데이터 중, 기준 비트수보다도 비트수가 짧은 송신 대상 절단 데이터의 각각에, 더미 데이터를 매립한다. 이 경우의 더미 데이터의 매립 위치는 선두, 말미 등의 특정한 위치이어도 되고, 예를 들면 공통 데이터에 의해 특정되는 변화하는 소정의 위치이어도 된다.
어느 쪽이든, 이와 같이 하여 생성된 송신 대상 절단 데이터는, 생성된 순번으로, 암호화·복호화부(33)로 스트림적으로 보내진다.
송신 대상 절단 데이터의 생성과 병행하여, 알고리즘 생성부(35)가, 송신 대상 절단 데이터를 암호화할 때에 이용되는 알고리즘을 생성한다.
알고리즘 생성부(35)는, 알고리즘을, 공통 데이터에 기초하여 생성한다.
이 실시 형태에서는, 알고리즘 생성부(35)는, 알고리즘을 이하와 같은 것으로 하여 생성한다.
이 실시 형태에서의 알고리즘은, 『8비트의 데이터인 송신 대상 절단 데이터를 1행 8열의 행렬 Y로 한 경우에, 공통 데이터인 8행 8열의 행렬 X를 a승하고 나서, 시계 방향으로 n×90°만큼 회전시킨 행렬에, Y를 곱하여 구해지는 것』이라고 정의된다.
여기에서, a는 소정의 상수로 되는 경우도 있지만, 이 실시 형태에서는, 공통 데이터에 기초하여 변화되는 숫자이다. 즉, 이 실시 형태에서의 알고리즘은, 공통 데이터에 기초하여 변화된다. 예를 들면 a는, 8행 8열의 행렬인 공통 데이터에 포함되어 있는 행렬의 요소인 수 모두를 서로 더하여 얻어지는 수를 5로 나눈 경우의 나머지(단, 나머지가 0인 경우에는 a=1로 함)와 같이 정할 수 있다.
또한, 전술한 n은, 키에 의해 정해지는 소정의 수이다. 키가 일정한 수이면 n은 고정이지만, 이하에 설명한 바와 같이, 키는 공통 데이터에 기초하여 변화된다. 즉, 이 실시 형태에서는, 이 n도 공통 데이터에 기초하여 변화되도록 되어 있다.
단, 알고리즘을 다른 것으로 하여 결정할 수도 있다.
이 실시 형태에서는, 알고리즘 생성부(35)는, 공통 데이터 생성부(34)로부터 공통 데이터를 수취할 때마다 알고리즘을 생성하고, 그것을 암호화·복호화부(33)에 보낸다.
송신 대상 절단 데이터의 생성과 병행하여, 키생성부(36)가, 송신 대상 절단 데이터를 암호화할 때에 이용되는 키를 생성한다.
키생성부(36)는, 키를 공통 데이터에 기초하여 생성한다.
이 실시 형태에서는, 키생성부(36)는, 키를 이하와 같은 것으로 하여 생성한다.
이 실시 형태에서의 키는, 8행 8열의 행렬인 공통 데이터에 포함되어 있는 행렬의 요소인 수 모두를 서로 더하여 얻어지는 수로 된다. 따라서, 키는, 이 실시 형태에서는, 공통 데이터에 기초하여 변화된다.
또한, 키를 다른 것으로 하여 결정할 수도 있다.
이 실시 형태에서는, 키생성부(36)는, 공통 데이터 생성부(34)로부터 공통 데이터를 수취할 때마다 키를 생성하고, 그것을 암호화·복호화부(33)에 보낸다.
암호화·복호화부(33)는, 알고리즘 생성부(35)로부터 받아들인 알고리즘과, 키생성부(36)로부터 받아들인 키에 기초하여, 전처리부(32)로부터 받아들인 송신 대상 절단 데이터를 암호화한다(S1103).
알고리즘은, 전술한 바와 같이, 『8비트의 데이터인 송신 대상 절단 데이터를 1행 8열의 행렬 Y로 한 경우에, 공통 데이터인 8행 8열의 행렬 X를 a승하고 나 서, 시계 방향으로 n×90°만큼 회전시킨 행렬에, Y를 곱하여 구해지는 것』이라고 하는 규칙이며, 키인 n은, 전술한 바와 같은 수이다.
예를 들면, a가 3, n이 6인 경우에는, X를 3승하여 얻어지는 8행 8열의 행렬을, 6×90°=540°만큼 시계 방향으로 회전시킴으로써 얻어진 8행 8열의 행렬에, 송신 대상 절단 데이터를 곱하여 암호화가 행해진다.
이에 의해 생성된 데이터가 암호화 절단 데이터이다.
암호화 절단 데이터는, 접속부(38)에 보내진다. 접속부(38)는, 암호화 절단 데이터를 일괄 접속하고, 암호화 데이터를 생성한다(S11O4). 이 때의 암호화 절단 데이터의 배열순은, 원래의 송신 대상 절단 데이터의 배열순에 대응한 것으로 된다.
이상과 같이 하여, 우선, 제1 통신 장치(11)가 송신 대상 데이터를 암호화하여 암호화 데이터를 생성하는 S110의 과정이 종료한다.
암호화 데이터는 통신부(37)에 보내지고, 네트워크(13)를 통하여 제2 통신 장치(12)에 보내진다.
이 암호화 데이터를 수취한 제2 통신 장치(12)에서, 암호화 데이터를 복호화하여 송신 대상 데이터로 되돌리는 S130의 과정이 실행된다.
이하, 이 복호화의 과정에 대하여 상술한다.
제2 통신 장치(12)에 보내진 암호화 데이터는, 제2 통신 장치(12)의 통신부(37)가 받아들인다(S1201).
통신부(37)는, 이 암호화 데이터를 전처리부(32)에 보낸다.
전처리부(32)는, 받아들인 암호화 데이터를 소정의 비트수마다 절단하고, 암호화 절단 데이터를 생성한다(S1202).
암호화 데이터를 절단하여 암호화 절단 데이터를 생성하는 경우, 전처리부(32)는, 제1 통신 장치(11)의 접속부(38)에서 행해진 것과 반대의 처리를 행한다. 즉, 암호화 데이터는, 선두로부터 8비트마다 절단되어, 복수의 암호화 절단 데이터로 나누어진다.
다음으로, 암호화 절단 데이터는 암호화·복호화부(33)에 보내지고, 거기에서 복호화되어, 송신 대상 절단 데이터로 된다(S1203).
복호화는, 제1 통신 장치(11)에서의 암호화·복호화부(33)에서 행해진 것과 반대의 처리로서 실행된다. 그 때문에, 제2 통신 장치(12)에서는, 제1 통신 장치(11)에서 암호화를 행할 때에 필요로 한 알고리즘과 키를 필요로 한다.
복호화에 이용되는 알고리즘과 키는, 제2 통신 장치(12) 내에서 생성된다. 그 구조를 설명한다.
제2 통신 장치(12)의 통신부(37)가 암호화 데이터를 받아들였다고 하는 정보는, 통신부(37)로부터 공통 데이터 생성부(34)에 보내진다. 공통 데이터 생성부(34)는, 이 정보를 받아들인 것을 계기로 하여, 이 정보를 받아들일 때마다 공통 데이터를 생성한다.
제2 통신 장치(12)의 공통 데이터 생성부(34)에서 행해지는 공통 데이터의 생성은, 제1 통신 장치(11)의 공통 데이터 생성부(34)에서 행해진 것과 동일한 과정을 거쳐서 행해진다. 또한, 제2 통신 장치(12)의 공통 데이터 생성부(34)는, 제 1 통신 장치(11)의 공통 데이터 생성부(34)가 가지고 있는 것과 마찬가지의 초기 행렬과, 해 생성용 알고리즘을 가지고 있다. 따라서, 제2 통신 장치(12)에서 생성되는 공통 데이터는, 생성된 순번이 동일한 것끼리를 비교하면, 제1 통신 장치(11)에서 생성되는 공통 데이터와 동일하게 되어 있다.
생성된 공통 데이터는, 공통 데이터 생성부(34)로부터, 전처리부(32)와, 알고리즘 생성부(35)와, 키생성부(36)에 보내진다.
알고리즘 생성부(35)는, 받아들인 공통 데이터에 기초하여, 공통 데이터를 받아들일 때마다 알고리즘을 생성한다. 제2 통신 장치(12)의 알고리즘 생성부(35)가 알고리즘을 생성하는 과정은, 제1 통신 장치(11)의 알고리즘 생성부(35)가 알고리즘을 생성하는 과정과 동일하다. 생성된 알고리즘은, 알고리즘 생성부(35)로부터 암호화·복호화부(33)에 보내진다.
키생성부(36)는, 공통 데이터를 받아들일 때마다, 받아들인 공통 데이터에 기초하여 키를 생성한다. 제2 통신 장치(12)의 키생성부(36)가 키를 생성하는 과정은, 제1 통신 장치(11)의 키생성부(36)가 키를 생성하는 과정과 동일하다. 생성된 키는, 키생성부(36)로부터 암호화·복호화부(33)에 보내진다.
그런데, 이 통신 시스템에서는, 제1 통신 장치(11)에서 암호화가 행해질 때마다 제1 통신 장치(11)에서 새로운 공통 데이터가 생성되고, 제2 통신 장치(12)에서 복호화가 행해질 때마다 제2 통신 장치(12)에서 새로운 공통 데이터가 생성된다. 또한, 전술한 바와 같이, 제2 통신 장치(12)에서 생성되는 공통 데이터는, 생성된 순번이 동일한 것끼리를 비교하면, 제1 통신 장치(11)에서 생성되는 공통 데 이터와 동일하게 되어 있다. 따라서, 제1 통신 장치(11)인 송신 대상 데이터를 암호화할 때에 생성된 공통 데이터와, 그 공통 데이터에 기초하여 생성된 알고리즘 및 키는 모두, 그 공통 데이터와, 그 공통 데이터를 이용하여 생성된 알고리즘 및 키를 이용하여 생성된 암호화 데이터를 복호화할 때에, 제2 통신 장치(12)에서 생성되는 공통 데이터와, 그 공통 데이터에 기초하여 생성된 알고리즘 및 키에, 항상 일치한다. 또한, 이 사정은, 제2 통신 장치(12)에서 암호화가 행해지고, 제1 통신 장치(11)에서 복호화가 행해지는 경우도 마찬가지이다.
암호화·복호화부(33)에서는, 전술한 바와 같이, 알고리즘 생성부(35)로부터 받아들인 알고리즘을 이용하여 복호화의 처리가 행해진다. 보다 상세하게는, 암호화·복호화부(33)는, 알고리즘 생성부(35)로부터 받아들인 알고리즘(『8비트의 데이터인 송신 대상 절단 데이터를 1행 8열의 행렬 Y로 한 경우에, 공통 데이터인 8행 8열의 행렬 X를 a승하고 나서, 시계 방향으로 n×90°만큼 회전시킨 행렬에, Y를 곱하여 구해지는 것이 암호화 절단 데이터이다』 라고 하는 정의)에 기초하여, 복호화 처리를 행하기 위한 알고리즘(암호화 절단 데이터를 1행 8열의 행렬 Z로 본 경우에, 공통 데이터인 8행 8열의 행렬 X를 a승하고 나서, 시계 방향으로 n×90°만큼 회전시킨 행렬의 역 행열에, Y를 곱하여 구해지는 것이 송신 대상 절단 데이터이다』 라고 하는 정의)을 생성하고, 키를 이용하여 전술한 정의에 따른 연산을 행함으로써, 복호화의 처리를 행한다. 이와 같이 하여, 암호화·복호화부(33)에서는, 전처리부(32)로부터 스트림적으로 공급되는 암호화 절단 데이터를 차례로 복호화하여, 송신 대상 절단 데이터를 생성한다.
다음으로, 암호화·복호화부(33)는, 필요에 따라서, 송신 대상 절단 데이터로부터, 더미 데이터를 제거한다(S1204). 전술한 바와 같이, 공통 데이터 생성부(34)에서 생성된 공통 데이터는 전처리부(32)에 보내지고 있다. 이 공통 데이터는, 제1 통신 장치(11)의 전처리부(32)에서 어떻게 하여 더미 데이터를 송신 대상 절단 데이터에 매립할지를 결정할 때에 사용된 것이다. 즉, 제2 통신 장치(12)의 전처리부(32)가 그 시점에서 가지고 있는 공통 데이터는, 제2 통신 장치(12)의 암호화·복호화부(33)가 복호화를 끝낸(혹은 복호화를 행하고 있거나, 혹은 앞으로 복호화를 하려고 하고 있음) 암호화 절단 데이터(보다 정확하게는, 그 암호화 절단 데이터가 암호화되기 전의 송신 대상 절단 데이터)에 어떻게 하여 더미 데이터를 매립했는지를 나타내는 것이다.
전처리부(32)는, 암호화·복호화부(33)에서 복호화된 송신 대상 절단 데이터의 어디에 더미 데이터가 매립되어 있는지라고 하는 것에 대한 정보를, 암호화·복호화부(33)에 보낸다.
이것을 이용하여, 암호화·복호화부(33)는, 더미 데이터를 송신 대상 절단 데이터 중에서 제거한다.
이와 같이 하여 생성된 송신 대상 절단 데이터는, 접속부(38)에 보내진다. 접속부(38)는, 수취한 송신 대상 절단 데이터를 일괄 접속하고, 제1 통신 장치(11)에서 암호화되기 전의 원래의 상태의 송신 대상 데이터로 되돌린다(S1205).
이와 같이 하여, 제2 통신 장치(12)가 암호화 데이터를 복호화하여 송신 대상 데이터로 되돌리는 S130의 과정이 종료한다.
생성된 송신 대상 데이터는, 접속부(38)로부터 인터페이스부(31)에 보내지고, 버스(28)를 통하여 예를 들면 HDD(23)에 보내지고, 그곳에 보존된다.
《변형예》
이상 설명한 통신 시스템에서는, 공통 데이터 생성부(34)는, 송신 대상 데이터를 인터페이스부(31)가 받아들일 때마다, 또한, 암호화 데이터를 통신부(37)가 받아들일 때마다, 공통 데이터를 생성하도록 되어 있었다. 이 경우에는, 하나의 송신 대상 데이터로부터 생성되는 송신 대상 절단 데이터의 모두에 동일한 알고리즘에 의한 암호화가 행해지게 된다.
이 대신에, 공통 데이터 생성부(34)는, 암호화·복호화부(33)에 송신 대상 절단 데이터가 받아들여질 때마다, 또한, 암호화·복호화부(33)에 암호화 절단 데이터가 받아들여질 때마다, 공통 데이터를 생성하도록 되어 있어도 된다. 이 경우에는, 하나의 송신 대상 데이터로부터 생성되는 송신 대상 절단 데이터마다, 서로 다른 알고리즘과 키에 의해 암호화가 행해지게 된다.
이와 같은 변형예에서는, 암호화를 행하는 경우에는, 이하와 같이 공통 데이터와 알고리즘 및 키를 생성한다.
우선은, 암호화가 행해지는 경우에 대해 설명한다.
인터페이스부(31)가 송신 대상 데이터를 받아들이면, 그 취지의 정보가 인터페이스부(31)로부터 공통 데이터 생성부(34)에 보내진다. 이것을 받아들인 공통 데이터 생성부(34)는, 전술한 실시 형태의 경우와 마찬가지로 하여 공통 데이터를 생성한다. 이 공통 데이터는, 전처리부(32)와 알고리즘 생성부(35)와 키생성 부(36)에 보내진다. 공통 데이터를 받아들인 전처리부(32)는, 송신 대상 데이터를 절단하여 전술한 실시 형태의 경우와 마찬가지로 송신 대상 절단 데이터의 생성을 개시한다. 한편, 알고리즘 생성부(35)는, 받아들인 공통 데이터에 기초하여 알고리즘의 생성을 행하고, 생성한 알고리즘을 암호화·복호화부(33)에 보낸다. 또한, 키생성부(36)는, 받아들인 공통 데이터에 기초하여 키의 생성을 행하고, 생성한 키를 암호화·복호화부(33)에 보낸다.
암호화·복호화부(33)는, 받아들인 송신 대상 절단 데이터를, 받아들인 알고리즘과 키로 암호화하고, 첫번째의 암호화 절단 데이터를 생성한다.
다음으로, 공통 데이터 생성부(34)는, 전처리부(32)로부터 두번째의 송신 대상 절단 데이터가 암호화·복호화부(33)에 보내지기 전에 공통 데이터를 생성하고, 그것을 알고리즘 생성부(35)와 키생성부(36)에 보낸다. 알고리즘 생성부(35)는, 이것을 받아들여 첫번째의 암호화 절단 데이터를 생성하는 데에 이용한 것과는 서로 다른 알고리즘을 생성하고, 이것을 암호화·복호화부(33)에 보낸다. 키생성부(36)도 마찬가지로, 첫번째의 키와는 서로 다른 키를 생성하고, 이것을 암호화·복호화부(33)에 보낸다. 암호화·복호화부(33)는, 이 알고리즘과 키를 이용하여 두번째의 송신 대상 절단 데이터를 이용하여, 두번째의 암호화 절단 데이터를 생성한다.
이것을 반복하여, 각각의 송신 대상 절단 데이터에 서로 다른 암호화를 행한다.
또한, 이 변형예에서는, 두번째 이후의 공통 데이터를 알고리즘 생성부(35) 와 키생성부(36)에만 보내는 것으로 했지만, 두번째 이후의 공통 데이터를 전처리부(32)에도 보내도록 할 수도 있다. 이 경우에는, 송신 대상 절단 데이터의 생성 방법을, 송신 대상 절단 데이터마다 바꾸는 것이 가능하게 된다.
다음으로, 복호화가 행해지는 경우에 대해 설명한다.
통신부(37)가 암호화 데이터를 받아들이면, 그 취지의 정보가 통신부(37)로부터 공통 데이터 생성부(34)에 보내진다. 이것을 받아들인 공통 데이터 생성부(34)는, 전술한 실시 형태의 경우와 마찬가지로 하여 공통 데이터를 생성한다. 이 공통 데이터는, 전처리부(32)와 알고리즘 생성부(35)와 키생성부(36)에 보내진다. 공통 데이터를 받아들인 전처리부(32)는, 송신 대상 절단 데이터가 어떻게 하여 생성되었는지에 대한 정보를 전술한 실시 형태의 경우와 마찬가지로 생성하고, 이것을 암호화·복호화부(33)에 보낸다. 한편, 알고리즘 생성부(35)는, 받아들인 공통 데이터에 기초하여 알고리즘의 생성을 행하고, 생성한 알고리즘을 암호화·복호화부(33)에 보낸다. 키생성부(36)는, 받아들인 공통 데이터에 기초하여 키의 생성을 행하고, 생성한 키를 암호화·복호화부(33)에 보낸다. 이 알고리즘과 키는, 그 송신 대상 절단 데이터를 암호화할 때에 이용된 알고리즘과 키에 각각 동등하다. 또한, 전처리부(32)는, 전술한 실시 형태의 경우와 마찬가지로, 암호화 데이터를 절단하여 생성한 암호화 절단 데이터를, 암호화·복호화부(33)에 보낸다.
암호화·복호화부(33)는, 받아들인 암호화 절단 데이터를, 받아들인 알고리즘을 이용하여 생성한 복호화용의 알고리즘으로 복호화하여, 첫번째의 송신 대상 절단 데이터를 생성한다. 또한, 암호화·복호화부(33)는, 받아들인 송신 대상 절 단 데이터가 어떻게 하여 생성되었는지에 대한 전술한 정보에 의해, 생성한 송신 대상 절단 데이터로부터 더미 데이터를 제거한다.
다음으로, 공통 데이터 생성부(34)는, 전처리부(32)로부터 두번째의 송신 대상 절단 데이터가 암호화·복호화부(33)에 보내지기 전에 다음 공통 데이터를 생성하고, 그것을 알고리즘 생성부(35)에 보낸다. 알고리즘 생성부(35)는, 이것을 받아들여 첫번째의 송신 대상 절단 데이터를 생성하는 데에 이용한 것과는 서로 다른 알고리즘을 생성하고, 이것을 암호화·복호화부(33)에 보낸다. 이 알고리즘은, 그 송신 대상 절단 데이터를 암호화할 때에 이용한 알고리즘과 동일하다. 키생성부(36)는, 공통 데이터를 받아들여 첫번째의 송신 대상 절단 데이터를 생성하는 데에 이용한 것과는 서로 다른 키를 생성하고, 이것을 암호화·복호화부(33)에 보낸다. 이 키는, 그 송신 대상 절단 데이터를 암호화할 때에 이용한 키와 동일하다.
암호화·복호화부(33)는, 이 알고리즘과 키를 이용하여 두번째의 암호화 절단 데이터를 복호화하여, 두번째의 송신 대상 절단 데이터를 생성한다. 또한, 전술한 경우와 마찬가지로 하여 더미 데이터를 제거한다.
이것을 반복하여, 각각의 암호화 절단 데이터를, 서로 다른 알고리즘과 키로 복호화하여 차례로 송신 대상 절단 데이터를 생성한다.
또한, 암호화를 행하는 경우에, 두번째 이후의 공통 데이터를 전처리부(32)로도 보냄으로써 송신 대상 절단 데이터의 생성 방법을 송신 대상 절단 데이터마다 다르게 하고 있는 경우에는, 복호화를 행하는 경우에도 두번째 이후의 공통 데이터를 전처리부(32)로도 보낸다. 이에 의해, 전처리부(32)는, 송신 대상 절단 데이터 가 어떻게 하여 생성되었는지에 대한 정보를, 암호화 절단 데이터의 각각에 대하여 생성하게 된다. 이와 같이 하여 생성된 송신 대상 절단 데이터가 어떻게 하여 생성되었는지에 대한 전술한 정보는, 암호화·복호화부(33)에서 암호화 절단 데이터의 복호화가 행해질 때마다 암호화·복호화부(33)에 보내진다. 이 정보를 이용하여, 암호화·복호화부(33)는, 서로 다른 방법으로 송신 대상 절단 데이터의 각각에 매립된 더미 데이터를 확실하게 제거한다.

Claims (19)

  1. 평문인 송신 대상 데이터를 암호화하여 암호화 데이터로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터로 할 수 있는 2개의 통신 장치인 제1 통신 장치 및 제2 통신 장치를 포함하고,
    상기 제1 통신 장치 및 상기 제2 통신 장치가 모두,
    상기 송신 대상 데이터를 소정의 비트수마다 절단하여 복수의 송신 대상 절단 데이터로 함과 함께, 상기 암호화 데이터를 그 암호화 데이터가 암호화되었을 때에 절단된 것과 동일한 비트수마다 절단하여 복수의 암호화 절단 데이터로 하는 절단 수단과,
    상기 송신 대상 절단 데이터를, 상기 제1 통신 장치와 상기 제2 통신 장치에서 공통으로 된 알고리즘에 의해 암호화하여 암호화 데이터로 함과 함께, 상기 암호화 절단 데이터를 그 암호화 절단 데이터를 암호화할 때에 이용된 알고리즘에 의해 복호화하여 송신 대상 절단 데이터로 하는 암호화·복호화 수단과,
    복호화된 상기 송신 대상 절단 데이터를 접속하여 상기 송신 대상 데이터로 하는 접속 수단과,
    상기 암호화 데이터를 송수신하는 송수신 수단을 구비하고 있는 통신 시스템으로서,
    상기 절단 수단은, 상기 송신 대상 데이터를, 상기 송신 대상 절단 데이터 중 적어도 하나를 다른 송신 대상 절단 데이터와 서로 다른 비트수로 되도록 절단 하도록 되어 있는 통신 시스템.
  2. 평문인 송신 대상 데이터를 암호화하여 암호화 데이터로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터로 할 수 있는 2개의 통신 장치인 제1 통신 장치 및 제2 통신 장치를 포함하고,
    상기 제1 통신 장치 및 상기 제2 통신 장치가 모두,
    상기 송신 대상 데이터를 소정의 비트수마다 절단하여 복수의 송신 대상 절단 데이터로 함과 함께, 상기 암호화 데이터를 그 암호화 데이터가 암호화되었을 때에 절단된 것과 동일한 비트수마다 절단하여 복수의 암호화 절단 데이터로 하는 절단 수단과,
    상기 송신 대상 절단 데이터를 상기 제1 통신 장치와 상기 제2 통신 장치에서 공통으로 된 알고리즘에 의해 암호화하여 암호화 데이터로 함과 함께, 상기 암호화 절단 데이터를 그 암호화 절단 데이터를 암호화할 때에 이용된 알고리즘에 의해 복호화하여 송신 대상 절단 데이터로 하는 것이며, 기준으로 되는 기준 비트수마다 상기 암호화 또는 상기 복호화를 행하도록 되어 있는 암호화·복호화 수단과,
    복호화된 상기 송신 대상 절단 데이터를 접속하여 상기 송신 대상 데이터로 하는 접속 수단과,
    상기 암호화 데이터를 송수신하는 송수신 수단을 구비하고 있는 통신 시스템으로서,
    상기 절단 수단은, 상기 송신 대상 데이터를, 상기 기준 비트수보다도 짧은 비트수로 절단하도록 되어 있음과 함께,
    상기 제1 통신 장치 및 상기 제2 통신 장치는 모두, 상기 송신 대상 절단 데이터에, 상기 송신 대상 데이터와는 관계없는 더미 데이터를 포함시킴으로써, 상기 송신 대상 절단 데이터의 비트수를 상기 기준 비트수에 일치시키는 혼합 수단을 구비하고 있는 통신 시스템.
  3. 평문인 송신 대상 데이터를 암호화하여 암호화 데이터로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터로 할 수 있는 2개의 통신 장치인 제1 통신 장치 및 제2 통신 장치를 포함하고,
    상기 제1 통신 장치 및 상기 제2 통신 장치가 모두,
    상기 송신 대상 데이터를 소정의 비트수마다 절단하여 복수의 송신 대상 절단 데이터로 함과 함께, 상기 암호화 데이터를 그 암호화 데이터가 암호화되었을 때에 절단된 것과 동일한 비트수마다 절단하여 복수의 암호화 절단 데이터로 하는 절단 수단과,
    상기 제1 통신 장치와 상기 제2 통신 장치에서 공통의 공통 데이터를 순차적으로 발생시키는 공통 데이터 발생 수단과,
    상기 송신 대상 절단 데이터를, 상기 공통 데이터 발생 수단으로부터 받아들인 상기 공통 데이터에 기초하여 생성한 상기 제1 통신 장치와 상기 제2 통신 장치에서 공통으로 된 알고리즘에 의해 암호화하여 암호화 데이터로 함과 함께, 상기 암호화 절단 데이터를 그 암호화 절단 데이터를 암호화할 때에 이용된 알고리즘에 의해 복호화하여 송신 대상 절단 데이터로 하는 암호화·복호화 수단과,
    복호화된 상기 송신 대상 절단 데이터를 접속하여 상기 송신 대상 데이터로 하는 접속 수단과,
    상기 암호화 데이터를 송수신하는 송수신 수단을 구비하고 있음과 함께,
    상기 공통 데이터 발생 수단은, 상기 암호화·복호화 수단이 상기 송신 대상 절단 데이터 또는 상기 암호화 절단 데이터를 받아들인 것을 계기로 상기 공통 데이터를 발생하도록 되어 이루어지는 통신 시스템으로서,
    상기 절단 수단은, 상기 송신 대상 데이터를, 상기 송신 대상 절단 데이터 중 적어도 하나를 다른 송신 대상 절단 데이터와 서로 다른 비트수로 되도록 절단하도록 되어 있는 통신 시스템.
  4. 제3항에 있어서,
    상기 제1 통신 장치 및 상기 제2 통신 장치는 모두,
    상기 송신 대상 절단 데이터 중 가장 많은 비트수의 것을 제거하는 것에, 상기 송신 대상 데이터와는 관계없는 더미 데이터를 포함시킴으로써, 모든 상기 송신 대상 절단 데이터의 비트수를 상기 송신 대상 절단 데이터 중 가장 비트수가 많은 것의 비트수에 일치시키는 혼합 수단을 구비하고 있는 통신 시스템.
  5. 평문인 송신 대상 데이터를 암호화하여 암호화 데이터로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터 로 할 수 있는 2개의 통신 장치인 제1 통신 장치 및 제2 통신 장치를 포함하고,
    상기 제1 통신 장치 및 상기 제2 통신 장치가 모두,
    상기 송신 대상 데이터를 소정의 비트수마다 절단하여 복수의 송신 대상 절단 데이터로 함과 함께, 상기 암호화 데이터를 그 암호화 데이터가 암호화되었을 때에 절단된 것과 동일한 비트수마다 절단하여 복수의 암호화 절단 데이터로 하는 절단 수단과,
    상기 제1 통신 장치와 상기 제2 통신 장치에서 공통의 공통 데이터를 순차적으로 발생시키는 공통 데이터 발생 수단과,
    상기 송신 대상 절단 데이터를 상기 공통 데이터 발생 수단으로부터 받아들인 상기 공통 데이터에 기초하여 생성한 상기 제1 통신 장치와 상기 제2 통신 장치에서 공통으로 된 알고리즘에 의해 암호화하여 암호화 데이터로 함과 함께, 상기 암호화 절단 데이터를 그 암호화 절단 데이터를 암호화할 때에 이용된 알고리즘에 의해 복호화하여 송신 대상 절단 데이터로 하는 것이며, 기준으로 되는 기준 비트수마다 상기 암호화 또는 상기 복호화를 행하도록 되어 있는 암호화·복호화 수단과,
    복호화된 상기 송신 대상 절단 데이터를 접속하여 상기 송신 대상 데이터로 하는 접속 수단과,
    상기 암호화 데이터를 송수신하는 송수신 수단을 구비하고 있음과 함께,
    상기 공통 데이터 발생 수단은, 상기 암호화·복호화 수단이 상기 송신 대상 절단 데이터 또는 상기 암호화 절단 데이터를 받아들인 것을 계기로 상기 공통 데 이터를 발생하도록 되어 이루어지는 통신 시스템으로서,
    상기 절단 수단은, 상기 송신 대상 데이터를, 상기 기준 비트수보다도 짧은 비트수로 절단하도록 되어 있음과 함께,
    상기 제1 통신 장치 및 상기 제2 통신 장치는 모두, 상기 송신 대상 절단 데이터에, 상기 송신 대상 데이터와는 관계없는 더미 데이터를 포함시킴으로써, 상기 송신 대상 절단 데이터의 비트수를 상기 기준 비트수에 일치시키는 혼합 수단을 구비하고 있는 통신 시스템.
  6. 제5항에 있어서,
    상기 절단 수단은, 상기 송신 대상 데이터를, 상기 기준 비트수보다도 짧은 일정한 비트수로 절단하도록 되어 있는 통신 시스템.
  7. 제6항에 있어서,
    상기 혼합 수단은, 상기 더미 데이터를, 상기 송신 대상 데이터의 특정한 위치에 포함시키도록 되어 있는 통신 시스템.
  8. 제6항에 있어서,
    상기 혼합 수단은, 상기 더미 데이터를, 상기 송신 대상 데이터마다 서로 다른 소정의 위치에 포함시키도록 되어 있는 통신 시스템.
  9. 제6항에 있어서,
    상기 절단 수단은, 상기 송신 대상 절단 데이터 중 적어도 하나를 다른 송신 대상 절단 데이터와 서로 다른 비트수로 되도록 절단하도록 되어 있는 통신 시스템.
  10. 제3항 또는 제5항에 있어서,
    상기 공통 데이터 발생 수단은, 상기 공통 데이터로서 의사 난수를 발생시키는 것으로 되어 있는 통신 시스템.
  11. 제10항에 있어서,
    상기 공통 데이터 발생 수단은, 상기 송신 대상 데이터의 암호화, 또는 상기 암호화 데이터의 복호화가 행해질 때마다 상기 공통 데이터를 발생시키도록 되어 있는 통신 시스템.
  12. 제10항에 있어서,
    상기 공통 데이터 발생 수단은, 상기 송신 대상 절단 데이터의 암호화, 또는 상기 암호화 절단 데이터의 복호화가 행해질 때마다 상기 공통 데이터를 발생시키도록 되어 있는 통신 시스템.
  13. 제8항에 있어서,
    상기 혼합 수단은, 상기 공통 데이터에 기초하여, 상기 더미 데이터를 포함시키는 상기 소정의 위치를 결정하도록 되어 있는 통신 시스템.
  14. 제9항에 있어서,
    상기 절단 수단은, 상기 공통 데이터에 기초하여, 상기 송신 대상 절단 데이터 중 적어도 하나를 다른 송신 대상 절단 데이터와 서로 다른 비트수로 되도록 절단하도록 되어 있는 통신 시스템.
  15. 평문인 송신 대상 데이터를 암호화하여 암호화 데이터로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터로 할 수 있는 2개의 통신 장치인 제1 통신 장치 및 제2 통신 장치를 포함하는 통신 시스템에서 실행되는 방법으로서,
    상기 제1 통신 장치 및 상기 제2 통신 장치의 한쪽이,
    상기 송신 대상 데이터를 소정의 비트수마다 절단하여 복수의 송신 대상 절단 데이터로 하는 과정과,
    상기 송신 대상 절단 데이터를, 소정의 알고리즘에 의해 암호화하여 암호화 데이터로 하는 과정과,
    상기 암호화 데이터를 상기 제1 통신 장치 및 상기 제2 통신 장치의 다른 쪽에 송신하는 과정과,
    상기 제1 통신 장치 및 상기 제2 통신 장치의 다른 쪽이,
    받아들인 상기 암호화 데이터를, 그 암호화 데이터가 암호화되었을 때에 절단된 것과 동일한 비트수마다 절단하여 복수의 암호화 절단 데이터로 하는 과정과,
    상기 암호화 절단 데이터를 그 암호화 절단 데이터를 암호화할 때에 이용된 알고리즘에 의해 복호화하여 송신 대상 절단 데이터로 하는 과정과,
    복호화된 상기 송신 대상 절단 데이터를 접속하여 상기 송신 대상 데이터로 하는 과정을 포함하고 있음과 함께,
    상기 제1 통신 장치 및 상기 제2 통신 장치의 상기 한쪽은,
    상기 송신 대상 데이터를, 상기 송신 대상 절단 데이터 중 적어도 하나를 다른 송신 대상 절단 데이터와 서로 다른 비트수로 되도록 절단하는 통신 방법.
  16. 평문인 송신 대상 데이터를 암호화하여 암호화 데이터로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터로 할 수 있는 2개의 통신 장치인 제1 통신 장치 및 제2 통신 장치를 포함하고 있는 통신 시스템에서 실행되는 방법으로서,
    상기 제1 통신 장치 및 상기 제2 통신 장치의 한쪽이,
    상기 송신 대상 데이터를 소정의 비트수마다 절단하여 복수의 송신 대상 절단 데이터로 하는 과정과,
    상기 송신 대상 절단 데이터를 소정의 알고리즘에 의해 암호화하여 암호화 데이터로 하는 과정과,
    상기 암호화 데이터를 상기 제1 통신 장치 및 상기 제2 통신 장치의 다른 쪽 에 송신하는 과정과,
    상기 제1 통신 장치 및 상기 제2 통신 장치의 다른 쪽이,
    받아들인 상기 암호화 데이터를, 그 암호화 데이터가 암호화되었을 때에 절단된 것과 동일한 비트수마다 절단하여 복수의 암호화 절단 데이터로 하는 과정과,
    상기 암호화 절단 데이터를 그 암호화 절단 데이터를 암호화할 때에 이용된 알고리즘에 의해 복호화하여 송신 대상 절단 데이터로 하는 과정과,
    복호화된 상기 송신 대상 절단 데이터를 접속하여 상기 송신 대상 데이터로 하는 과정을 포함하고 있음과 함께,
    상기 제1 통신 장치 및 상기 제2 통신 장치는,
    상기 송신 대상 절단 데이터 또는 상기 암호화 절단 데이터를 받아들인 것을 계기로 상기 공통 데이터를 발생함과 함께,
    상기 암호화 또는 복호화를 기준으로 되는 기준 비트수마다 행하고,
    상기 제1 통신 장치 및 상기 제2 통신 장치의 상기 한쪽은,
    상기 송신 대상 데이터를, 상기 기준 비트수보다도 짧은 비트수로 절단함과 함께,
    상기 송신 대상 절단 데이터에, 상기 송신 대상 데이터와는 관계없는 더미 데이터를 포함시킴으로써, 상기 송신 대상 절단 데이터의 비트수를 상기 기준 비트수에 일치시키는 통신 방법.
  17. 평문인 송신 대상 데이터를 암호화하여 암호화 데이터로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터로 할 수 있는 2개의 통신 장치인 제1 통신 장치 및 제2 통신 장치를 포함하는 통신 시스템에서 실행되는 방법으로서,
    상기 제1 통신 장치 및 상기 제2 통신 장치의 한쪽이,
    상기 송신 대상 데이터를 소정의 비트수마다 절단하여 복수의 송신 대상 절단 데이터로 하는 과정과,
    소정의 공통 데이터를 순차적으로 발생시키는 과정과,
    상기 송신 대상 절단 데이터를, 상기 공통 데이터에 기초하여 생성한 알고리즘에 의해 암호화하여 암호화 데이터로 하는 과정과,
    상기 암호화 데이터를 상기 제1 통신 장치 및 상기 제2 통신 장치의 다른 쪽에 송신하는 과정과,
    상기 제1 통신 장치 및 상기 제2 통신 장치의 다른 쪽이,
    받아들인 상기 암호화 데이터를, 그 암호화 데이터가 암호화되었을 때에 절단된 것과 동일한 비트수마다 절단하여 복수의 암호화 절단 데이터로 하는 과정과,
    상기 제1 통신 장치 및 상기 제2 통신 장치의 상기 한쪽의 것과 공통으로 된 공통 데이터를 순차적으로 발생시키는 과정과,
    상기 암호화 절단 데이터를, 발생된 상기 공통 데이터에 기초하여 생성한 그 암호화 절단 데이터를 암호화할 때에 이용된 알고리즘에 의해 복호화하여, 송신 대상 절단 데이터로 하는 과정과,
    복호화된 상기 송신 대상 절단 데이터를 접속하여 상기 송신 대상 데이터로 하는 과정을 포함하고 있음과 함께,
    상기 제1 통신 장치 및 상기 제2 통신 장치는,
    상기 송신 대상 절단 데이터 또는 상기 암호화 절단 데이터를 받아들인 것을 계기로 상기 공통 데이터를 발생함과 함께,
    상기 송신 대상 데이터를, 상기 송신 대상 절단 데이터 중 적어도 하나를 다른 송신 대상 절단 데이터와 서로 다른 비트수로 되도록 절단하는 통신 방법.
  18. 평문인 송신 대상 데이터를 암호화하여 암호화 데이터로 하고 나서 상대측의 통신 장치에 보냄과 함께, 받아들인 암호화 데이터를 복호화하여 송신 대상 데이터로 할 수 있는 2개의 통신 장치인 제1 통신 장치 및 제2 통신 장치를 포함하고 있는 통신 시스템에서 실행되는 방법으로서,
    상기 제1 통신 장치 및 상기 제2 통신 장치의 한쪽이,
    상기 송신 대상 데이터를 소정의 비트수마다 절단하여 복수의 송신 대상 절단 데이터로 하는 과정과,
    소정의 공통 데이터를 순차적으로 발생시키는 과정과,
    상기 송신 대상 절단 데이터를 상기 공통 데이터에 기초하여 생성한 알고리즘에 의해 암호화하여 암호화 데이터로 하는 과정과,
    상기 암호화 데이터를 상기 제1 통신 장치 및 상기 제2 통신 장치의 다른 쪽에 송신하는 과정과,
    상기 제1 통신 장치 및 상기 제2 통신 장치의 다른 쪽이,
    받아들인 상기 암호화 데이터를, 그 암호화 데이터가 암호화되었을 때에 절단된 것과 동일한 비트수마다 절단하여 복수의 암호화 절단 데이터로 하는 과정과,
    상기 제1 통신 장치 및 상기 제2 통신 장치의 상기 한쪽의 것과 공통으로 된 공통 데이터를 순차적으로 발생시키는 과정과,
    상기 암호화 절단 데이터를, 발생된 상기 공통 데이터에 기초하여 생성한 그 암호화 절단 데이터를 암호화할 때에 이용된 알고리즘에 의해 복호화하여 송신 대상 절단 데이터로 하는 과정과,
    복호화된 상기 송신 대상 절단 데이터를 접속하여 상기 송신 대상 데이터로 하는 과정을 포함하고 있음과 함께,
    상기 제1 통신 장치 및 상기 제2 통신 장치는,
    상기 송신 대상 절단 데이터 또는 상기 암호화 절단 데이터를 받아들인 것을 계기로 상기 공통 데이터를 발생함과 함께,
    상기 암호화 또는 복호화를 기준으로 되는 기준 비트수마다 행하고,
    상기 제1 통신 장치 및 상기 제2 통신 장치의 상기 한쪽은,
    상기 송신 대상 데이터를, 상기 기준 비트수보다도 짧은 비트수로 절단함과 함께,
    상기 송신 대상 절단 데이터에, 상기 송신 대상 데이터와는 관계없는 더미 데이터를 포함시킴으로써, 상기 송신 대상 절단 데이터의 비트수를 상기 기준 비트수에 일치시키는 통신 방법.
  19. 제1항, 제2항, 제3항 또는 제5항의 통신 시스템에 포함되는 통신 장치.
KR1020077018060A 2005-01-07 2006-01-04 통신 시스템, 통신 방법 KR20070092325A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00003260 2005-01-07
JP2005003260A JP2006191509A (ja) 2005-01-07 2005-01-07 通信システム、通信方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020107011582A Division KR20100061765A (ko) 2005-01-07 2006-01-04 통신 시스템, 통신 방법

Publications (1)

Publication Number Publication Date
KR20070092325A true KR20070092325A (ko) 2007-09-12

Family

ID=36647678

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020077018060A KR20070092325A (ko) 2005-01-07 2006-01-04 통신 시스템, 통신 방법
KR1020107011582A KR20100061765A (ko) 2005-01-07 2006-01-04 통신 시스템, 통신 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020107011582A KR20100061765A (ko) 2005-01-07 2006-01-04 통신 시스템, 통신 방법

Country Status (13)

Country Link
US (1) US8798270B2 (ko)
EP (1) EP1835656B1 (ko)
JP (1) JP2006191509A (ko)
KR (2) KR20070092325A (ko)
CN (2) CN103220138A (ko)
AU (2) AU2006204262A1 (ko)
BR (1) BRPI0606152A2 (ko)
CA (1) CA2592703A1 (ko)
HK (1) HK1108993A1 (ko)
IL (1) IL184388A0 (ko)
RU (1) RU2410842C2 (ko)
TW (2) TWI501613B (ko)
WO (1) WO2006073201A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006191509A (ja) * 2005-01-07 2006-07-20 N-Crypt Inc 通信システム、通信方法
US20110243322A1 (en) * 2008-01-17 2011-10-06 Vodafone Group Plc Security in telecommunications systems
EP2099241A1 (en) * 2008-03-05 2009-09-09 Vodafone Group PLC Method for improving the security in gsm networks
CN102014381B (zh) * 2009-09-08 2012-12-12 华为技术有限公司 加密算法协商方法、网元及移动台
EP3419005A1 (en) * 2017-06-22 2018-12-26 Gemalto Sa Computing device processing expanded data
JP2020120297A (ja) * 2019-01-24 2020-08-06 株式会社 エヌティーアイ 送受信システム、送信装置、受信装置、方法、並びにコンピュータプログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5068752A (en) * 1987-09-29 1991-11-26 Matsushita Electric Industrial Co., Ltd. Apparatus for recording/reproducing a digital audio signal with a video signal
JPH027080A (ja) * 1988-06-27 1990-01-11 Nec Corp 可変型暗号化装置
JPH06216897A (ja) * 1993-01-20 1994-08-05 Nippon Signal Co Ltd:The データ送受信装置
JP2546504B2 (ja) * 1993-07-14 1996-10-23 日本電気株式会社 暗号における暗号化前処理装置および復号後処理装置
EP1265122A3 (en) * 1994-03-15 2006-01-18 Kabushiki Kaisha Toshiba Shared file editing system with file content secrecy, version management and asynchronous editing
US5727062A (en) * 1995-07-06 1998-03-10 Ritter; Terry F. Variable size block ciphers
JP3086887B2 (ja) * 1996-08-08 2000-09-11 株式会社ローレルインテリジェントシステムズ 情報伝達方法、情報発信方法、情報再生方法及び通信装置
JPH1155241A (ja) * 1997-07-30 1999-02-26 Sharp Corp 鍵暗号化方式による通信装置
US6490353B1 (en) * 1998-11-23 2002-12-03 Tan Daniel Tiong Hok Data encrypting and decrypting apparatus and method
JP2000261423A (ja) * 1999-03-05 2000-09-22 Matsushita Electric Ind Co Ltd 暗号化装置
JP2001194991A (ja) * 2000-01-12 2001-07-19 Murata Mach Ltd 暗号化方法及び暗号通信方法
US20020051537A1 (en) * 2000-09-13 2002-05-02 Rogaway Phillip W. Method and apparatus for realizing a parallelizable variable-input-length pseudorandom function
JP2002261748A (ja) * 2000-12-28 2002-09-13 Sony Corp データ送信装置及び方法並びにデータ記録装置及び方法
US7382878B2 (en) * 2001-06-22 2008-06-03 Uponus Technologies, Llc System and method for data encryption
JP2003152706A (ja) * 2001-11-12 2003-05-23 Toshiba Information Systems (Japan) Corp 暗号生成装置、暗号復号装置、暗号生成プログラム、暗号復号プログラム、認証システム、電子装置
JPWO2003084077A1 (ja) * 2002-03-25 2005-08-04 アライドテレシスホールディングス株式会社 可変長/固定長データ変換方法及び装置
TWI235579B (en) * 2002-03-29 2005-07-01 Nti Inc Communication apparatus, communication system, encrypting apparatus information processing apparatus, information processing system, information processing method, and service providing method
FR2838894A1 (fr) * 2002-04-19 2003-10-24 St Microelectronics Sa Chiffrement du contenu d'une memoire externe a un processeur
CA2396213A1 (en) * 2002-07-31 2004-01-31 Anthony Gerkis Automatic retransmit request protocol for channels with time-varying capacity
JP4212339B2 (ja) * 2002-11-01 2009-01-21 富士通マイクロエレクトロニクス株式会社 メッセージダイジェスト生成回路およびパディング回路
KR100509489B1 (ko) * 2003-02-06 2005-08-22 삼성전자주식회사 가변 폭의 데이터 패킷을 암호화하는 장치 및 방법
US7346160B2 (en) * 2003-04-23 2008-03-18 Michaelsen David L Randomization-based encryption apparatus and method
JP4354233B2 (ja) * 2003-09-05 2009-10-28 株式会社日立製作所 バックアップシステム及び方法
EP1538508A1 (fr) * 2003-12-04 2005-06-08 Axalto S.A. Procédé et dispositif de chiffrement et dechiffrement à la volée
JP2006191509A (ja) * 2005-01-07 2006-07-20 N-Crypt Inc 通信システム、通信方法

Also Published As

Publication number Publication date
CN101103589A (zh) 2008-01-09
US20090232306A1 (en) 2009-09-17
EP1835656B1 (en) 2014-10-15
AU2010202554A1 (en) 2010-07-08
HK1108993A1 (en) 2008-05-23
KR20100061765A (ko) 2010-06-08
AU2006204262A1 (en) 2006-07-13
RU2410842C2 (ru) 2011-01-27
RU2007129928A (ru) 2009-02-20
TWI387297B (zh) 2013-02-21
BRPI0606152A2 (pt) 2009-11-10
EP1835656A4 (en) 2011-11-02
CA2592703A1 (en) 2006-07-13
EP1835656A1 (en) 2007-09-19
IL184388A0 (en) 2007-10-31
US8798270B2 (en) 2014-08-05
WO2006073201A1 (ja) 2006-07-13
TWI501613B (zh) 2015-09-21
CN103220138A (zh) 2013-07-24
TW200637322A (en) 2006-10-16
TW201325176A (zh) 2013-06-16
JP2006191509A (ja) 2006-07-20

Similar Documents

Publication Publication Date Title
US8577022B2 (en) Data processing apparatus
US20100061550A1 (en) Data processing apparatus
KR20070092325A (ko) 통신 시스템, 통신 방법
JP5992651B2 (ja) 暗号化方法、プログラム、および、システム
KR20070096003A (ko) 통신 시스템, 통신 방법
JP2011259439A (ja) 通信システム、通信方法
JP5837625B2 (ja) 通信システム、通信方法
US8351610B2 (en) Communication system and communication method
Bhattacharyya et al. Text steganography: a novel approach
JP2011259446A (ja) 通信システム、通信方法
JP2014099875A (ja) 通信システム、通信方法
JP2005295164A (ja) 共通鍵暗号方式における安全な秘密鍵配送方法およびプログラム
KR20030085097A (ko) 콘텐트를 암호화하기 위한 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
A107 Divisional application of patent
AMND Amendment
J201 Request for trial against refusal decision
E801 Decision on dismissal of amendment
B601 Maintenance of original decision after re-examination before a trial
J121 Written withdrawal of request for trial
WITB Written withdrawal of application