WO2012025988A1 - 暗号化装置、暗号化システム、暗号化方法及び暗号化プログラム - Google Patents

暗号化装置、暗号化システム、暗号化方法及び暗号化プログラム Download PDF

Info

Publication number
WO2012025988A1
WO2012025988A1 PCT/JP2010/064238 JP2010064238W WO2012025988A1 WO 2012025988 A1 WO2012025988 A1 WO 2012025988A1 JP 2010064238 W JP2010064238 W JP 2010064238W WO 2012025988 A1 WO2012025988 A1 WO 2012025988A1
Authority
WO
WIPO (PCT)
Prior art keywords
encryption
encryption key
block
terminal device
time pad
Prior art date
Application number
PCT/JP2010/064238
Other languages
English (en)
French (fr)
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 三菱電機株式会社
Priority to JP2012530456A priority Critical patent/JP5362117B2/ja
Priority to US13/816,736 priority patent/US8948377B2/en
Priority to PCT/JP2010/064238 priority patent/WO2012025988A1/ja
Priority to CN201080068707.6A priority patent/CN103081397B/zh
Priority to EP10856396.6A priority patent/EP2611062B1/en
Publication of WO2012025988A1 publication Critical patent/WO2012025988A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • 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

Abstract

 ワンタイムパッド暗号(バーナム暗号)の暗号鍵が不足した場合であっても、暗号通信を可能とすることを目的とする。ワンタイムパッド暗号化部は、ワンタイムパッド暗号鍵記憶部に記憶されたワンタイムパッド暗号鍵の一部を順に用いて、通信データをワンタイムパッド暗号により暗号化して暗号化データを生成する。ブロック暗号化部は、ブロック暗号鍵記憶部に記憶されたブロック暗号鍵を用いて、通信データをブロック暗号により暗号化して暗号化データを生成する。暗号化制御部は、ワンタイムパッド暗号鍵記憶部に記憶されたワンタイムパッド暗号鍵の残りビット数に応じて、通信データをワンタイムパッド暗号化部に暗号化させるか、ブロック暗号化部に暗号化させるかを制御する。

Description

暗号化装置、暗号化システム、暗号化方法及び暗号化プログラム
 この発明は、ワンタイムパッド暗号とブロック暗号とのどちらの暗号化方式で通信データを暗号化するかを制御する技術に関する。
 ワンタイムパッド暗号は、送信側と受信側とで鍵を共有する共通鍵暗号の一方式である。ワンタイムパッド暗号は、通信データと同量(同一ビット数)の暗号鍵を用いて暗号化を行う。また、ワンタイムパッド暗号は、一度暗号化に使用した暗号鍵を再利用せず、暗号鍵を使い捨てにする。
 ワンタイムパッド暗号の典型的な例としては、通信データと暗号鍵とについて1ビットづつ排他的論理和等を計算して、計算した結果を暗号化通信データとするバーナム暗号がある。
 ブロック暗号は、ワンタイムパッド暗号と同様に共通鍵暗号の一方式である。ブロック暗号は、データをブロックと呼ばれる単位(通常は固定長)に分割して、ブロック毎に暗号鍵を用いて暗号化を行う。通常、ブロック暗号では、複数のブロックを同じ暗号鍵で暗号化する。
 ブロック暗号の例としては、Camellia(登録商標)、AES(Advanced Encryption Standard)等がある。
 ワンタイムパッド暗号による暗号通信においては、通信データと同量の暗号鍵を消費するため、多くの暗号鍵が必要となる。そして、ワンタイムパッド暗号では、暗号鍵が枯渇した場合に暗号通信を行うことができなくなる。
 しかし、ワンタイムパッド暗号は、解読不可能であり、ブロック暗号よりも安全性が高いと言える。
 特許文献1には、暗号対象となる通信データの重要性によって、適用する暗号方式をワンタイムパッド暗号とブロック暗号とを使い分けることについての記載がある。これにより、ワンタイムパッド暗号の暗号鍵の消費を軽減している。
 特許文献2には、端末装置毎の暗号鍵の蓄積量を監視し、蓄積量が少ない端末装置に対して優先的に暗号鍵を生成させることについての記載がある。これにより、特定の端末装置の暗号鍵が枯渇することの防止を図っている。
特開2007-258850号公報 特開2008-306633号公報
 特許文献1に記載された方法は、通信データの重要性で適用する暗号方式を使い分け、ワンタイムパッド暗号の暗号鍵の消費を抑えている。しかし、特許文献1に記載された方法を適用したとしても、ワンタイムパッド暗号の暗号鍵が不足する場合が発生し、暗号通信を行うことができない場合が発生する虞がある。
 また、通信データの重要性は主観的な基準であり、暗号化の対象となっている通信データの重要性は通信開始時、もしくは、事前に利用者又は管理者が判断しなければならない。そのため、通信データの入力が行われた時点から通信データが暗号化されるまでの間に利用者による重要性の判断が必要となり、暗号通信に関する処理のすべてを自動化することができない。
 さらに、音声による通話中に重要な会話内容が含まれる場合などのように、通信データの種類によっては、重要性が事前に判断できないものもある。そのため、暗号対象の通信データの重要性を基準として暗号方式を切り替えることは、汎用的に有効な手段ではない。
 特許文献2に記載された方法では、端末装置が携帯端末といった、常時通信ができるものではない場合、不足した暗号鍵を補うことができない場合がある。したがって、暗号通信を行うことができない場合が発生する虞がある。
 この発明は、ワンタイムパッド暗号の暗号鍵が不足した場合であっても、暗号通信を可能とすることを目的とする。
 この発明に係る暗号化装置は、
 ワンタイムパッド暗号で使用するワンタイムパッド暗号鍵を記憶するワンタイムパッド暗号鍵記憶部と、
 前記ワンタイムパッド暗号鍵記憶部が記憶したワンタイムパッド暗号鍵の一部を順に用いて、通信データをワンタイムパッド暗号により暗号化して暗号化データを生成するワンタイムパッド暗号化部と、
 ブロック暗号で使用するブロック暗号鍵を記憶するブロック暗号鍵記憶部と、
 前記ブロック暗号鍵記憶部が記憶したブロック暗号鍵を用いて、通信データをブロック暗号により暗号化して暗号化データを生成するブロック暗号化部と、
 前記ワンタイムパッド暗号鍵記憶部が記憶したワンタイムパッド暗号鍵の残りビット数に応じて、通信データを前記ワンタイムパッド暗号化部に暗号化させるか、前記ブロック暗号化部に暗号化させるかを制御する暗号化制御部と
を備えることを特徴とする。
 この発明に係る暗号化装置は、ワンタイムパッド暗号鍵の残量に応じて、ワンタイムパッド暗号を使用するか、ブロック暗号を使用するかを制御する。そのため、ワンタイムパッド暗号鍵が不足した場合には、ブロック暗号で暗号通信を行うように制御することができ、ワンタイムパッド暗号の暗号鍵が不足した場合であっても、暗号通信が可能である。
実施の形態1に係る通信方式を適用可能な暗号化システム1の概略図。 鍵共有装置C104と鍵共有装置D105とが、ネットワーク101、もしくは、ネットワーク101とは物理的もしくは論理的に接続されていないネットワーク106を介して、バーナム暗号鍵の共有を行う場合の動作概要を示す図。 端末装置A102が、通信ケーブル107を介して鍵共有装置C104からバーナム暗号鍵301を取得する場合の動作概要を示す図。 端末装置A102と端末装置B103とがバーナム暗号による暗号通信を開始し、バーナム暗号用の暗号鍵が不足した時点からブロック暗号による暗号通信に方式の切り替えを行う場合の動作概要を示す図。 図4の通信処理の流れを示すフローチャート。 端末装置A102と端末装置B103とが暗号通信を開始する時点で、バーナム暗号鍵が不足しているため、ブロック暗号による暗号通信を開始する場合の動作概要を示す図。 図6の通信処理の流れを示すフローチャート。 実施の形態1における端末装置A102及び端末装置B103の機能構成を示す機能ブロック図。 端末装置801の送信制御部803の処理の流れを示すフローチャート。 端末装置801の受信制御部804の処理の流れを示すフローチャート。 実施の形態1における鍵共有装置C104及び鍵共有装置D105の機能構成を示す機能ブロック図。 鍵共有装置C104と鍵共有装置D105とがネットワーク101もしくはネットワーク106を介して、バーナム暗号鍵1201及びブロック暗号鍵1202の共有を行う場合の動作概要を示す図。 鍵共有装置C104から端末装置A102が通信ケーブル107を介して、バーナム暗号鍵1301及びブロック暗号鍵1302を取得する場合の動作概要を示す図。 実施の形態2における端末装置A102及び端末装置B103の機能構成を示す機能ブロック図。 実施の形態2における鍵共有装置C104及び鍵共有装置D105の機能構成を説明する機能ブロック図。 端末装置A102と端末装置B103とがバーナム暗号による暗号通信を開始し、バーナム暗号用の暗号鍵が不足した時点からブロック暗号による暗号通信に方式の切り替えを行う場合の動作概要を示す図。 図16の通信処理の流れを示すフローチャート。 図16の通信処理の流れを示すフローチャート。 端末装置A102と端末装置B103が暗号通信を開始する時点で、バーナム暗号鍵が不足しているため、ブロック暗号による暗号通信を開始する場合の動作概要を示す図。 図19の通信処理の流れを示すフローチャート。 実施の形態3における端末装置A102及び端末装置B103の機能構成を示す機能ブロック図。 端末装置A102と端末装置B103とがバーナム暗号による暗号通信を開始し、バーナム暗号用の暗号鍵が枯渇した時点からブロック暗号による暗号通信に方式の切り替えを行う場合の動作概要を示す図。 図22の通信処理の流れを示すフローチャート。 図22の通信処理の流れを示すフローチャート。 端末装置A102と端末装置B103が暗号通信を開始する時点で、バーナム暗号鍵が枯渇しているため、ブロック暗号による暗号通信を開始する場合の動作概要を示す図。 図25の通信処理の流れを示すフローチャート。 実施の形態4における端末装置A102及び端末装置B103の機能構成を示す機能ブロック。 端末装置A102と端末装置B103とが暗号通信を開始する時点で、バーナム暗号鍵が不足しており、かつ、ブロック暗号鍵の残りが1つしかない場合の動作概要を示す図。 図28の通信処理の流れを示すフローチャート。 実施の形態5における端末装置A102及び端末装置B103の機能構成を説明する機能ブロック図。 端末装置A102と端末装置B103とがバーナム暗号による暗号通信を開始し、バーナム暗号鍵の残量が事前に決められた量よりも少なくなった時点で、バーナム暗号鍵に増大処理を施す場合の動作概要を示す図。 図31の通信処理の流れを示すフローチャート。 図31の通信処理の流れを示すフローチャート。 図31の通信処理の流れを示すフローチャート。 実施の形態6における端末装置A102及び端末装置B103の機能構成を示す機能ブロック図。 実施の形態7におけるバーナム暗号鍵増大部819の処理を説明する図。 実施の形態8におけるバーナム暗号鍵増大部819の処理を説明する図。 実施の形態9における図4の通信処理の流れを示すフローチャート。 実施の形態9における図4の通信処理の流れを示すフローチャート。 実施の形態9において、端末装置A102と端末装置B103が暗号通信を開始する時点で、端末装置B103のバーナム暗号鍵が不足しているため、ブロック暗号による暗号通信を開始する場合の動作概要を示す図。 図40の通信処理の流れを示すフローチャート。 実施の形態9における端末装置801の送信制御部803の処理の流れを示すフローチャート。 実施の形態9における端末装置801の受信制御部804の処理の流れを示すフローチャート。 実施の形態10における図22の通信処理の流れを示すフローチャート。 実施の形態10における図22の通信処理の流れを示すフローチャート。 実施の形態10における図25の通信処理の流れを示すフローチャート。 実施の形態10における端末装置801の送信制御部803の処理の流れを示すフローチャート。 実施の形態10における端末装置801の受信制御部804の処理の流れを示すフローチャート。 実施の形態11における図28の通信処理の流れを示すフローチャート。 実施の形態11における端末装置801の送信制御部803の処理の流れを示すフローチャート。 実施の形態11における端末装置801の受信制御部804の処理の流れを示すフローチャート。 実施の形態12における端末装置の動作の説明図。 実施の形態13における端末装置A102及び端末装置B103の機能構成を説明する機能ブロック図。 端末装置801のハードウェア構成の一例を示す図。
 以下、図に基づき、発明の実施の形態を説明する。
 以下の説明において、処理装置は後述するCPU911等である。記憶装置は後述するROM913、RAM914、磁気ディスク920等の記憶装置である。つまり、処理装置、記憶装置はハードウェアである。
 以下の説明では、ワンタイムパッド暗号の例として、バーナム暗号を用いて説明する。もちろん、他のワンタイムパッド暗号を用いても構わない。この場合、以下の説明におけるバーナム暗号をワンタイムパッド暗号と読み替えればよい。
 実施の形態1.
 実施の形態1では、バーナム暗号用の暗号鍵(以下、バーナム暗号鍵)が枯渇した場合に、暗号方式をバーナム暗号からCamellia(登録商標)、AESといったブロック暗号に切り替える技術について説明する。これにより、バーナム暗号鍵が不足することによる暗号通信の中断を引き起こすことなく、バーナム暗号鍵が補充されるまでの期間においても、暗号通信の継続を可能にする。
 実施の形態1では、バーナム暗号鍵の残量(残りビット数)に応じて暗号方式を使い分ける。バーナム暗号鍵の残量は装置が容易に把握できる情報である。そのため、バーナム暗号鍵の残量を基準に暗号方式を切り替えることにより、装置を使用するユーザに暗号方式の切り替えに関する操作を求めることなく、自動で暗号方式を切り替える仕組みを実現することができる。
 図1は、実施の形態1に係る通信方式を適用可能な暗号化システム1の概略図である。
 インターネットなどのネットワーク101には、端末装置A102と端末装置B103とが接続される。また、鍵共有装置C104と鍵共有装置D105がネットワーク101、もしくは、ネットワーク101とは物理的もしくは論理的に接続されていないネットワーク106と接続される。さらに、端末装置A102と鍵共有装置C104とは、USB(Universal Serial Bus)などの通信ケーブル107で接続されている。同様に、端末装置B103と鍵共有装置D105とは、通信ケーブル108で接続されている。
 以下では、鍵共有装置C104と鍵共有装置D105との間で共有されたバーナム暗号鍵を用いて、端末装置A102と端末装置B103との間で暗号通信を行う例を説明する。
 なお、端末装置A102と端末装置B103とは、それぞれ、暗号化データを送信する送信側通信装置(暗号化装置)でもあり、暗号化データを受信する受信側通信装置(復号装置)でもある。以下では、端末装置A102を送信側通信装置の例とし、端末装置B103を受信側通信装置の例とする。
 また、端末装置A102は鍵共有装置C104からバーナム暗号鍵を取得し、端末装置B103は鍵共有装置D105からバーナム暗号鍵を取得するものとする。
 まず、鍵共有装置同士によるバーナム暗号鍵の共有方法について説明する。
 図2は、鍵共有装置C104と鍵共有装置D105とが、ネットワーク101、もしくは、ネットワーク101とは物理的もしくは論理的に接続されていないネットワーク106を介して、バーナム暗号鍵の共有を行う場合の動作概要を示す図である。
 鍵共有装置C104と鍵共有装置D105とは、ネットワーク101もしくはネットワーク106を介して、所定の方法(鍵共有アルゴリズム)によりバーナム暗号鍵201を共有する。なお、バーナム暗号鍵201を共有する方法は、どのような方法であっても構わない。例えば、鍵共有装置C104と鍵共有装置D105とが、物理的もしくは論理的に安全な通信路で接続された上でバーナム暗号鍵201を共有すればよい。実施の形態1では、一例として、量子暗号通信による鍵共有が行われるものとする。
 次に、鍵共有装置から端末装置がバーナム暗号鍵を取得する場合の動作概要について説明する。
 図3は、端末装置A102が、通信ケーブル107を介して鍵共有装置C104からバーナム暗号鍵301を取得する場合の動作概要を示す図である。
 まず、端末装置A102は、バーナム暗号鍵要求メッセージ302を鍵共有装置C104へ送信する。鍵共有装置C104は、バーナム暗号鍵要求メッセージ302を受信した後、保有しているバーナム暗号鍵301を端末装置A102へ送信する。バーナム暗号鍵301を受信した端末装置A102は、バーナム暗号鍵301を記憶装置に記憶する。
 なお、端末装置B103が、通信ケーブル108を介して鍵共有装置D105からバーナム暗号鍵を取得する方法も同様である。
 次に、端末装置A102と端末装置B103とがバーナム暗号による暗号通信を開始し、バーナム暗号用の暗号鍵が不足した時点からブロック暗号による暗号通信に方式の切り替えを行う場合の動作概要について説明する。
 図4は、端末装置A102と端末装置B103とがバーナム暗号による暗号通信を開始し、バーナム暗号用の暗号鍵が不足した時点からブロック暗号による暗号通信に方式の切り替えを行う場合の動作概要を示す図である。
 なお、暗号通信の事前準備として、端末装置A102はバーナム暗号用の暗号鍵401を保有している。また、端末装置B103もバーナム暗号鍵402を保有している。端末装置A102が保有するバーナム暗号鍵401と、端末装置B103が保有するバーナム暗号鍵402とは、前述の方法により、それぞれ鍵共有装置C104と鍵共有装置D105から取得したものである。実施の形態1においては、バーナム暗号鍵401とバーナム暗号鍵402は、同一のものであるとする。
 また、端末装置A102はブロック暗号用のブロック暗号鍵408を保有している。また、端末装置B103もブロック暗号鍵410を保有している。端末装置A102が保有するブロック暗号鍵408と、端末装置B103が保有するブロック暗号鍵410とは同一のものであるとする。端末装置A102と端末装置B103との間におけるブロック暗号鍵の共有方法については、後の実施の形態で説明する。
 まず、端末装置A102は、保有しているバーナム暗号鍵401の残量を確認する。ここでは、バーナム暗号鍵401には残量があるものとする。そこで、端末装置A102は、バーナム暗号鍵401の残量に基づき、バーナム暗号を行うことができるデータ通信量を算出する。そして、端末装置A102は、バーナム暗号通信要求メッセージ403を端末装置B103へ送信する。
 バーナム暗号通信要求メッセージ403を受信した端末装置B103は、保有しているバーナム暗号鍵402の残量を確認する。ここでは、バーナム暗号鍵402には、バーナム暗号鍵401と同じ残量があるものとする。そこで、端末装置B103は、バーナム暗号鍵402の残量に基づき、バーナム暗号を行うことができるデータ通信量を算出する。そして、端末装置B103は、バーナム暗号通信了承メッセージ404を端末装置A102へ送信する。
 バーナム暗号通信了承メッセージ404を受信した端末装置A102は、バーナム暗号鍵401を用いて、通信データにバーナム暗号による暗号化を施し、暗号化通信データ405を生成する。そして、端末装置A102は、生成した暗号化通信データ405を端末装置B103へ送信する。
 暗号化通信データ405を受信した端末装置B103は、バーナム暗号鍵402で暗号化通信データ405を復号し、通信データを得る。なお、バーナム暗号鍵401とバーナム暗号鍵402とは、同一であるため、バーナム暗号鍵401で暗号化された暗号化通信データ405は、バーナム暗号鍵402で復号可能である。
 もし、端末装置A102における暗号化通信データ405の生成時にバーナム暗号を行うことができるデータ通信量を超えて、暗号化を行う必要がある場合、端末装置A102はブロック暗号切替要求メッセージ406を端末装置B103へ送信する。
 ブロック暗号切替要求メッセージ406を受信した端末装置B103は、ブロック暗号切替了承メッセージ407を端末装置A102へ送信する。
 ブロック暗号切替了承メッセージ407を受信した端末装置A102は、通信データをブロック暗号鍵408で暗号化し、暗号化通信データ409を生成する。そして、端末装置A102は、生成した暗号化通信データ409を端末装置B103へ送信する。
 暗号化通信データ409を受信した端末装置B103は、ブロック暗号鍵410で暗号化通信データ409を復号し、通信データを得る。なお、ブロック暗号鍵408とブロック暗号鍵410とは、同一であるため、ブロック暗号鍵408で暗号化された暗号化通信データ409は、ブロック暗号鍵410で復号可能である。
 次に、図4の通信処理について詳しく説明する。図5は、図4の通信処理の流れを示すフローチャートである。
 端末装置A102は、保有しているバーナム暗号鍵401の量(ビット数)を確認し、バーナム暗号で暗号通信を行うことができるデータ量を算出する(S101)。そして、端末装置A102は、バーナム暗号通信要求メッセージ403を端末装置B103へ送信する(S102)。
 端末装置B103は、端末装置A102からバーナム暗号通信要求メッセージ403を受信する(S103)。すると、端末装置B103は、保有しているバーナム暗号鍵402の量を確認し、バーナム暗号で暗号通信を行うことができるデータ量を算出する(S104)。そして、端末装置B103は、バーナム暗号通信了承メッセージ404を端末装置A102へ送信する(S105)。
 端末装置A102は、端末装置B103からバーナム暗号通信了承メッセージ404を受信する(S106)。すると、端末装置A102は、通信データのうち単位データ量分のデータをバーナム暗号鍵401で暗号化して、暗号化通信データ405を生成する。(S107)。なお、単位データ量分のデータとは、予め決められたビット数のデータである。あるいは、予め決められた単位のデータ、例えば、1ファイルのデータ等である。また、例えば、携帯電話における音声通話データの場合であれば、10~20ミリ秒程度の短い時間毎の音声通話データである。そして、端末装置A102は、暗号化通信データ405を端末装置B103へ送信する(S108)。
 端末装置B103は、端末装置A102から暗号化通信データ405を受信する(S109)。すると、端末装置B103は、バーナム暗号鍵402で暗号化通信データ405を復号し、通信データを得る(S110)。
 続いて、端末装置A102は、未送信の通信データの有無を確認する(S111)。未送信の通信データがなければ(S111でNO)、端末装置A102は処理を終了する(S112)。一方、未送信の通信データがあれば(S111でYES)、端末装置A102はS113へ処理を進める。
 端末装置A102は、バーナム暗号で暗号通信を行うことができるデータ量が、1度に暗号化する単位データ量以上かを確認する(S113)。この際、端末装置A102は、S101で算出した、バーナム暗号で暗号通信を行うことができるデータ量から、これまでに端末装置B103へ暗号化通信データを送信した通信データのデータ量を減算して、現時点でバーナム暗号で暗号通信を行うことができるデータ量を算出する。
 バーナム暗号で暗号通信を行うことができるデータ量が単位データ量以上であれば(S113でYES)、端末装置A102はS107へ処理を戻す。一方、バーナム暗号で暗号通信を行うことができるデータ量が単位データ量未満であれば(S113でNO)、端末装置A102はブロック暗号切替要求メッセージ406を端末装置B103へ送信する(S114)。
 端末装置B103は、ブロック暗号切替要求メッセージ406を受信する。(S115)。すると、端末装置B103は、ブロック暗号切替了承メッセージ407を端末装置A102へ送信する(S116)。
 端末装置A102は、ブロック暗号切替了承メッセージ407を受信する(S117)。すると、端末装置A102は、通信データのうち単位データ量分のデータをブロック暗号鍵408で暗号化して、暗号化通信データ409を生成する(S118)。そして、端末装置A102は、暗号化通信データ409を端末装置B103へ送信する(S119)。
 端末装置B103は、暗号化通信データ409を受信する(S120)。すると、端末装置B103は、ブロック暗号鍵410で暗号化通信データ409を復号し、通信データを得る(S121)。
 続いて、端末装置A102は、未送信の通信データの有無を確認する(S122)。未送信の通信データがなければ(S122でNO)、端末装置A102は処理を終了する(S123)。一方、未送信の通信データがあれば(S122でYES)、端末装置A102はS118へ処理を戻す。
 次に、通信開始時点でバーナム暗号鍵が不足しており、バーナム暗号による暗号通信が開始できない時に、ブロック暗号による暗号通信を開始する場合の動作概要について説明する。
 図6は、端末装置A102と端末装置B103とが暗号通信を開始する時点で、バーナム暗号鍵が不足しているため、ブロック暗号による暗号通信を開始する場合の動作概要を示す図である。
 なお、端末装置A102はブロック暗号用のブロック暗号鍵603を保有している。また、端末装置B103もブロック暗号鍵605を保有している。端末装置A102が保有するブロック暗号鍵603と、端末装置B103が保有するブロック暗号鍵605とは同一のものであるとする。端末装置A102と端末装置B103との間におけるブロック暗号鍵の共有方法については、後の実施の形態で説明する。
 まず、端末装置A102は、保有しているバーナム暗号鍵の量を確認する。ここでは、バーナム暗号鍵が枯渇している(0ビットである)とする。そこで、端末装置A102は、ブロック暗号通信要求メッセージ601を端末装置B103へ送信する。
 ブロック暗号通信要求メッセージ601を受信した端末装置B103は、ブロック暗号通信了承メッセージ602を端末装置A102へ送信する。
 ブロック暗号通信了承メッセージ602を受信した端末装置A102は、ブロック暗号鍵603を用いて、通信データにブロック暗号による暗号化を施し、暗号化通信データ604を生成する。そして、端末装置A102は、生成した暗号化通信データ604を端末装置B103へ送信する。
 暗号化通信データ604を受信した端末装置B103は、ブロック暗号鍵605で暗号化通信データ604を復号し、通信データを得る。なお、ブロック暗号鍵603とブロック暗号鍵605とは、同一であるため、ブロック暗号鍵603で暗号化された暗号化通信データ604は、ブロック暗号鍵605で復号可能である。
 次に、図6の通信処理について詳しく説明する。図7は、図6の通信処理の流れを示すフローチャートである。
 端末装置A102は、保有しているバーナム暗号鍵の量を確認し、バーナム暗号鍵が不足していることを把握する(S201)。なお、バーナム暗号で暗号通信を行うことができるデータ量が、1度に暗号化する単位データ量未満である場合に、バーナム暗号鍵が不足していると判定する。そして、端末装置A102は、ブロック暗号通信要求メッセージ601を端末装置B103へ送信する(S202)。
 端末装置B103は、端末装置A102からブロック暗号通信要求メッセージ601を受信する(S203)。そして、端末装置B103は、ブロック暗号通信了承メッセージ602を端末装置A102へ送信する(S204)。
 端末装置A102は、端末装置B103からブロック暗号通信了承メッセージ602を受信する(S205)。すると、端末装置A102は、通信データのうち単位データ量分のデータをブロック暗号鍵603で暗号化して、暗号化通信データ604を生成する(S206)。そして、端末装置A102は、暗号化通信データ604を端末装置B103へ送信する(S207)。
 端末装置B103は、暗号化通信データ604を受信する(S208)。すると、端末装置B103は、ブロック暗号鍵605で暗号化通信データ604を復号し、通信データを得る(S209)。
 続いて、端末装置A102は、未送信の通信データの有無を確認する(S210)。未送信の通信データがなければ(S210でNO)、端末装置A102は処理を終了する(S211)。一方、未送信の通信データがあれば(S210でYES)、端末装置A102はS206へ処理を戻す。
 次に、実施の形態1における端末装置A102及び端末装置B103の機能について説明する。
 図8は、実施の形態1における端末装置A102及び端末装置B103の機能構成を示す機能ブロック図である。ここで、端末装置A102と端末装置B103とは、同一の機能構成である。そこで、ここでは、端末装置A102と端末装置B103とを端末装置801として説明する。
 端末装置801は、通信インターフェイス802、送信制御部803(暗号化制御部)、受信制御部804(復号制御部)、バーナム暗号鍵管理部805、バーナム暗号化部806、バーナム復号部807、ブロック暗号化部808、ブロック復号部809、バーナム暗号鍵取得部810、送信データ記憶部811、受信データ記憶部812、バーナム暗号鍵記憶部813(バーナム復号鍵記憶部)及びブロック暗号鍵記憶部814(ブロック復号鍵記憶部)を備える。
 通信インターフェイス802は、外部装置と通信を行う通信装置である。
 より具体的には、通信インターフェイス802は、鍵共有装置C104や鍵共有装置D105からバーナム暗号鍵を受信するための装置である。
 また、通信インターフェイス802は、端末装置801が暗号通信の送信側である場合は受信側となる端末装置に暗号化通信データを送信し、通信インターフェイス802暗号通信の受信側である場合は送信側となる端末装置から暗号化通信データを受信するための装置である。
 送信制御部803は、バーナム暗号鍵管理部805から得られるバーナム暗号鍵の残量情報を参照し、バーナム暗号化部806とブロック暗号化部808とのどちらに通信データの暗号化をさせるかを処理装置により制御する。また、送信制御部803は、バーナム暗号化部806又はブロック暗号化部808に暗号化させ、得られた暗号化通信データを送信する。
 受信制御部804は、暗号化通信データを受信する。そして、受信制御部804は、バーナム暗号鍵管理部805から得られるバーナム鍵の残量情報を参照して、受信した暗号化通信データに対する復号をバーナム復号部807とブロック復号部809とのどちらに復号させるかを処理装置により制御する。
 バーナム暗号鍵管理部805は、バーナム暗号鍵記憶部813が記憶するバーナム暗号鍵の残量に関する情報を送信制御部803や受信制御部804に提供する。より具体的には、バーナム暗号鍵管理部805は、バーナム暗号鍵の残量が不足しているか否かを示す情報を提供する。
 なお、バーナム暗号鍵管理部805は、バーナム暗号で暗号通信を行うことができるデータ量が、1度に暗号化する単位データ量未満である場合に、バーナム暗号鍵が不足していると判定する。
 バーナム暗号化部806は、送信データ記憶部811から通信データを取得し、バーナム暗号鍵記憶部813からバーナム暗号鍵を取得する。そして、バーナム暗号化部806は、処理装置によりバーナム暗号鍵を用いたバーナム暗号を通信データに施し、暗号化通信データを生成する。得られた暗号化通信データは送信制御部803に渡される。
 バーナム復号部807は、バーナム暗号鍵記憶部813からバーナム暗号鍵を取得し、受信制御部804から暗号化通信データを取得する。そして、バーナム復号部807は、処理装置によりバーナム暗号鍵を用いて暗号化通信データを復号し、通信データを生成する。得られた通信データは受信データ記憶部812に記憶される。
 ブロック暗号化部808は、送信データ記憶部811から通信データを取得し、ブロック暗号鍵記憶部814からブロック暗号鍵を取得する。そして、ブロック暗号化部808は、処理装置によりブロック暗号鍵を用いたブロック暗号を通信データに施し、暗号化通信データを生成する。得られた暗号化通信データは送信制御部803に渡される。
 ブロック復号部809は、ブロック暗号鍵記憶部814からブロック暗号鍵を取得し、受信制御部804から暗号化通信データを取得する。そして、ブロック復号部809は、処理装置によりブロック暗号鍵を用いて暗号化通信データを復号し、通信データを生成する。得られた通信データは受信データ記憶部812に記憶される。
 バーナム暗号鍵取得部810は、鍵共有装置C104や鍵共有装置D105等の鍵共有装置からバーナム暗号鍵を取得し、得られたバーナム暗号鍵をバーナム暗号鍵記憶部813に記憶する。
 送信データ記憶部811は、受信側となる端末装置へ送信する通信データを記憶する記憶装置である。
 受信データ記憶部812は、送信側となる端末装置から取得した通信データを記憶する記憶装置である。
 バーナム暗号鍵記憶部813は、バーナム暗号鍵を記憶する記憶装置である。
 ブロック暗号鍵記憶部814は、ブロック暗号鍵を記憶する記憶装置である。
 次に、送信側の端末装置である端末装置A102の処理について詳しく説明する。
 図9は、端末装置801の送信制御部803の処理の流れを示すフローチャートである。
 送信制御部803は、バーナム暗号鍵管理部805からバーナム暗号鍵の残量が不足しているか否かを示す残量情報を取得する(S301)。そして、送信制御部803は、バーナム暗号鍵の残量が不足していなければ(S302でNO)、S303に処理を進め、残量が不足していれば(S302でYES)、S311に処理を進める(S302)。
 S303~S310の処理について説明する。
 送信制御部803は、通信インターフェイス802を介して、バーナム暗号通信要求メッセージを端末装置B103へ送信し(S303)、端末装置B103からバーナム暗号通信了承メッセージを受信する(S304)。そして、送信制御部803は、バーナム暗号化部806に通信データのうち単位データ量分のデータを暗号化させ、暗号化通信データを取得する(S305)。送信制御部803は、取得した暗号化通信データを通信インターフェイス802を解して端末装置B103へ送信する(S306)。
 続いて、送信制御部803は、未送信の通信データの有無を確認する(S307)。未送信の通信データがなければ(S307でNO)、送信制御部803は処理を終了する。一方、未送信の通信データがあれば(S307でYES)、送信制御部803はS308へ処理を進める。
 送信制御部803は、バーナム暗号鍵管理部805からバーナム暗号鍵の残量が不足しているか否かを示す残量情報を取得して、バーナム暗号による暗号通信が継続可能であるか否かを判定する(S308)。継続可能であれば(S308でYES)、送信制御部803はS305へ処理を戻す。一方、継続不可能であれば(S308でNO)、送信制御部803はS309へ処理を進める。
 送信制御部803は、通信インターフェイス802を介して、ブロック暗号切替要求メッセージを端末装置B103に送信し(S309)、端末装置B103からブロック暗号切替了承メッセージを受信し(S310)、S313に処理を進める。
 S311~312の処理について説明する。
 送信制御部803は、ブロック暗号通信要求メッセージを端末装置B103に送信し(S311)、端末装置B103からブロック暗号通信了承メッセージを受信し(S312)、S313に処理を進める。
 S313以降の処理について説明する。
 送信制御部803は、ブロック暗号化部808に通信データのうち単位データ量分のデータを暗号化させ、暗号化通信データを取得する(S313)。そして、送信制御部803は、暗号化通信データを端末装置B103へ送信する(S314)。
 続いて、送信制御部803は、未送信の通信データの有無を確認する(S315)。未送信の通信データがなければ(S315でNO)、送信制御部803は処理を終了する。一方、未送信の通信データがあれば(S315でYES)、送信制御部803はS313へ処理を戻す。
 次に、受信側の端末装置である端末装置B103の処理について詳しく説明する。
 図10は、端末装置801の受信制御部804の処理の流れを示すフローチャートである。
 受信制御部804は、バーナム暗号通信要求メッセージ、又は、ブロック暗号通信要求メッセージを端末装置A102から通信インターフェイス802を介して受信する(S401)。受信制御部804は、バーナム暗号要求メッセージを受信した場合はS403に処理を進め、ブロック暗号要求メッセージを受信した場合はS410に処理を進める(S402)。
 S403~409の処理について説明する。
 受信制御部804は、通信インターフェイス802を介して、バーナム暗号了承メッセージを端末装置A102へ送信し(S403)、端末装置A102から暗号化通信データを受信する(S404)。受信制御部804は、受信した暗号化通信データをバーナム復号部807に送信して、復号させ通信データを生成させる(S405)。生成された通信データは、受信データ記憶部812に記憶される。
 続いて、受信制御部804は、未受信の通信データの有無を確認する(S406)。未受信の通信データがなければ(S406でNO)、受信制御部804は処理を終了する。一方、未受信の通信データがあれば(S406でYES)、受信制御部804はS407へ処理を進める。
 なお、未受信の通信データがあるか否かは、例えば、所定の時間内に次の暗号化データ、又は、ブロック暗号切替要求メッセージが送信されているかによって判定される。
 受信制御部804は、バーナム暗号鍵管理部805からバーナム暗号鍵の残量が不足しているか否かを示す残量情報を取得して、バーナム暗号による暗号通信が継続可能であるか否かを判定する(S407)。継続可能であれば(S407でYES)、受信制御部804はS404へ処理を戻す。一方、継続不可能であれば(S407でNO)、受信制御部804はS408へ処理を進める。
 受信制御部804は、端末装置A102からブロック暗号切替要求メッセージを受信し(S408)、ブロック暗号切替了承メッセージを端末装置A102に送信し(S409)、S411に処理を進める。
 S410の処理について説明する。
 受信制御部804は、ブロック暗号通信了承メッセージを端末装置A102に送信し(S410)、S411に処理を進める。
 S411以降の処理について説明する。
 受信制御部804は、端末装置A102から暗号化通信データを受信する(S411)。受信制御部804は、受信した暗号化通信データをブロック復号部809に送信して、復号させ通信データを生成させる(S412)。生成された通信データは、受信データ記憶部812に記憶される。
 続いて、受信制御部804は、未送信の通信データの有無を確認する(S413)。未送信の通信データがなければ(S413でNO)、受信制御部804は処理を終了する。一方、未送信の通信データがあれば(S413でYES)、受信制御部804はS411へ処理を戻す。
 なお、上記説明では、S407で受信制御部804がバーナム暗号による暗号通信が継続可能であるか否かを判定し、バーナム暗号による暗号通信を継続するか、ブロック暗号による暗号通信に切り替えるかを決定した。しかし、受信制御部804は、バーナム暗号による暗号通信が継続可能であるか否かを判定せず、端末装置A102からブロック暗号切替要求メッセージを受信したか否かにより、バーナム暗号による暗号通信を継続するか、ブロック暗号による暗号通信に切り替えるかを決定してもよい。
 次に、実施の形態1における鍵共有装置C104及び鍵共有装置D105の機能について説明する。
 図11は、実施の形態1における鍵共有装置C104及び鍵共有装置D105の機能構成を示す機能ブロック図である。ここで、鍵共有装置C104と鍵共有装置D105とは、同一の機能構成である。そこで、ここでは、鍵共有装置C104と鍵共有装置D105とを鍵共有装置1101として説明する。
 鍵共有装置1101は、通信インターフェイス1102、バーナム暗号鍵共有部1103、バーナム暗号鍵転送部1104及びバーナム暗号鍵記憶部1105を備える。
 通信インターフェイス1102は、外部装置と通信を行う通信装置である。
 より具体的には、通信インターフェイス1102は、他の鍵共有装置とバーナム暗号鍵を共有するための通信を行うための装置である。
 また、通信ケーブル等で接続されている端末装置に、バーナム暗号鍵を送信するための装置である。
 バーナム暗号鍵共有部1103は、他の鍵共有装置と通信を行い、バーナム暗号鍵を共有し、共有したバーナム暗号鍵をバーナム暗号鍵記憶部1105に記憶する。
 バーナム暗号鍵転送部1104は、バーナム暗号鍵記憶部1105からバーナム暗号鍵を取得し、端末装置へ送信する。
 バーナム暗号鍵記憶部1105は、他の鍵共有装置との通信により得られたバーナム暗号鍵を記憶する記憶装置である。
 以上のように、実施の形態1に係る暗号化システム1では、2者間で行われているバーナム暗号による暗号通信において、バーナム暗号鍵の不足を検知する。これにより、暗号通信中もしくは暗号通信開始時にバーナム暗号鍵が不足した場合であっても、バーナム暗号による暗号通信からブロック暗号による暗号通信に切り替え、暗号通信を継続することができる。
 また、実施の形態1では、バーナム暗号による暗号通信からブロック暗号による暗号通信への切り替えをバーナム暗号鍵の不足時に行っている。バーナム暗号鍵の不足は装置内で検知できるものであるため、端末装置A102、端末装置B103の利用者の判断や処理を必要としないで、暗号通信の切り替えを実現することが可能である。
 なお、ブロック暗号による暗号通信を行っている場合に、端末装置A102や端末装置B103が鍵共有装置C104や鍵共有装置D105からバーナム暗号鍵を取得して、再びバーナム暗号鍵の残りビット数が所定のビット数以上になることが考えられる。この場合、端末装置A102と端末装置B103とは、ブロック暗号による暗号通信からバーナム暗号による暗号通信へ切り替えてもよい。
 実施の形態2.
 実施の形態2では、ブロック暗号鍵の共有方法について説明する。実施の形態2では、実施の形態1において、端末装置A102及び端末装置B103が鍵共有装置C104及び鍵共有装置D105からバーナム暗号鍵を取得する際に、併せてブロック暗号鍵も同時に取得する。これにより、ブロック暗号鍵についても端末装置間で安全に共有する。
 まず、鍵共有装置同士によるバーナム暗号鍵及びブロック暗号鍵の共有方法について説明する。
 図12は、鍵共有装置C104と鍵共有装置D105とがネットワーク101もしくはネットワーク106を介して、バーナム暗号鍵1201及びブロック暗号鍵1202の共有を行う場合の動作概要を示す図である。
 鍵共有装置C104と鍵共有装置D105とは、ネットワーク101もしくはネットワーク106を介して、所定の方法(鍵共有アルゴリズム)によりバーナム暗号鍵1201及びブロック暗号鍵1202を共有する。なお、バーナム暗号鍵1201及びブロック暗号鍵1202を共有する方法は、どのような方法であっても構わない。例えば、鍵共有装置C104と鍵共有装置D105とが、物理的もしくは論理的に安全な通信路で接続された上でバーナム暗号鍵1201及びブロック暗号鍵1202を共有すればよい。実施の形態2では、一例として、量子暗号通信による鍵共有が行われるものとする。
 次に、鍵共有装置から端末装置がバーナム暗号鍵及びブロック暗号鍵を取得する場合の動作概要について説明する。
 図13は、鍵共有装置C104から端末装置A102が通信ケーブル107を介して、バーナム暗号鍵1301及びブロック暗号鍵1302を取得する場合の動作概要を示す図である。
 まず、端末装置A102は、暗号鍵要求メッセージ1303を鍵共有装置C104へ送信する。鍵共有装置C104は、暗号鍵要求メッセージ1303を受信した後、保有しているバーナム暗号鍵1301及びブロック暗号鍵1302を端末装置A102へ送信する。バーナム暗号鍵1301及びブロック暗号鍵1302を受信した端末装置A102は、バーナム暗号鍵1301及びブロック暗号鍵1302を記憶する。
 なお、端末装置B103が、通信ケーブル108を介して鍵共有装置D105からバーナム暗号鍵及びブロック暗号鍵を取得する方法も同様である。
 次に、実施の形態2における端末装置A102及び端末装置B103の機能について説明する。
 図14は、実施の形態2における端末装置A102及び端末装置B103の機能構成を示す機能ブロック図である。図14に示す端末装置は、図8に示す端末装置が備える機能に加え、ブロック暗号鍵取得部815を備える。
 ブロック暗号鍵取得部815は、鍵共有装置C104や鍵共有装置D105等の鍵共有装置からブロック暗号鍵を取得し、得られたブロック暗号鍵をブロック暗号鍵記憶部814に記憶する。
 次に、実施の形態2における鍵共有装置C104及び鍵共有装置D105の機能について説明する。
 図15は、実施の形態2における鍵共有装置C104及び鍵共有装置D105の機能構成を説明する機能ブロック図である。図15に示す鍵共有装置は、図11に示す鍵共有装置が備える機能に加え、ブロック暗号鍵共有部1106、ブロック暗号鍵転送部1107及びブロック暗号鍵記憶部1108を備える。
 ブロック暗号鍵共有部1106は、他の鍵共有装置と通信を行い、ブロック暗号鍵を共有し、共有したブロック暗号鍵をブロック暗号鍵記憶部1108に記憶する。
 ブロック暗号鍵転送部1107はブロック暗号鍵記憶部1108からブロック暗号鍵を取得し、端末装置へ送信する。
 ブロック暗号鍵記憶部1108は他の鍵共有装置との通信により得られたブロック暗号鍵を記憶する記憶装置である。
 以上のように、実施の形態2に係る暗号化システム1では、鍵共有装置C104と鍵共有装置D105とで、バーナム暗号鍵とともにブロック暗号鍵も共有する。そして、端末装置A102と端末装置B103とが、鍵共有装置C104と鍵共有装置D105とのそれぞれからバーナム暗号鍵とともにブロック暗号鍵も取得する。これにより、ブロック暗号鍵についても端末装置間で安全に共有する。
 実施の形態3.
 実施の形態3では、バーナム暗号鍵の残量が所定の量よりも少なくなった時点で、残存するバーナム暗号鍵からブロック暗号鍵を生成することについて説明する。これにより、事前にブロック暗号鍵を端末装置間で共有していなくても、バーナム暗号鍵の不足時にブロック暗号による暗号通信に切り替えることを可能とする。
 そこで、実施の形態3においては、端末装置A102と端末装置B103とは、暗号通信開始時、バーナム暗号鍵のみを共有しており、ブロック暗号鍵は保持していないものとする。
 なお、ここでは、バーナム暗号鍵が不足した時点において、バーナム暗号鍵はブロック暗号鍵の生成に必要となる量が残っているものとして説明する。
 まず、実施の形態3において、端末装置同士がバーナム暗号による暗号通信を開始し、バーナム暗号用の暗号鍵が不足した時点からブロック暗号による暗号通信に方式の切り替えを行う場合の動作概要について説明する。
 図16は、端末装置A102と端末装置B103とがバーナム暗号による暗号通信を開始し、バーナム暗号用の暗号鍵が不足した時点からブロック暗号による暗号通信に方式の切り替えを行う場合の動作概要を示す図である。図16に示す処理では、実施の形態1における図4の処理に加えて、バーナム暗号鍵からブロック暗号鍵を生成する処理が行われる。
 なお、暗号通信の事前準備として、端末装置A102はバーナム暗号用のバーナム暗号鍵1601を保有している。また、端末装置B103もバーナム暗号鍵1602を保有している。端末装置A102が保有するバーナム暗号鍵1601と端末装置B103が保有するバーナム暗号鍵1602は、前述の方法により、それぞれ鍵共有装置C104と鍵共有装置D105から取得したものである。実施の形態3においては、バーナム暗号鍵1601とバーナム暗号鍵1602とは、同一のものであるとする。
 また、暗号通信前の時点で、端末装置A102と端末装置B103とは、それぞれブロック暗号鍵1608とブロック暗号鍵1610とを保有していない。
 処理の開始から、端末装置B103がブロック暗号切替了承メッセージ1607を端末装置A102へ送信するまでの処理は、図4に示す処理と同様であるため、説明を省略する。
 ブロック暗号切替了承メッセージ1607を受信した端末装置A102は、残存しているバーナム暗号鍵1601からブロック暗号鍵1608を生成する。端末装置A102は、通信データをブロック暗号鍵1608で暗号化し、暗号化通信データ1609を生成する。そして、端末装置A102は、生成した暗号化通信データ1609を端末装置B103へ送信する。
 暗号化通信データ1609を受信した端末装置B103は、残存しているバーナム暗号鍵1602からブロック暗号鍵1610を生成する。端末装置B103は、ブロック暗号鍵1610で暗号化通信データ1609を復号し、通信データを得る。
 なお、端末装置A102と端末装置B103とは、予め共有された同一の方法により、バーナム暗号鍵からブロック暗号鍵を生成するものとする。
 例えば、端末装置A102と端末装置B103とは、残存するバーナム暗号鍵の一部を、そのままブロック暗号鍵とする。つまり、ブロック暗号鍵が256ビットである場合、残存するバーナム暗号鍵のうち所定の256ビットを切り出してブロック暗号鍵とする。
 次に、図16の通信処理について詳しく説明する。図17及び図18は、図16の通信処理の流れを示すフローチャートである。図17及び図18に示す処理では、実施の形態1における図5に示す処理に加えて、バーナム暗号鍵からブロック暗号鍵を生成する処理が行われる。
 S501からS517までの処理は、図5に示すS101からS117までの処理と同様であるため、説明を省略する。
 端末装置A102は、ブロック暗号切替了承メッセージ407を受信すると、残存しているバーナム暗号鍵1601からブロック暗号鍵1608を生成する(S518)。端末装置A102は、通信データのうち単位データ量分のデータをブロック暗号鍵1608で暗号化して、暗号化通信データ1609を生成する(S519)。そして、端末装置A102は、暗号化通信データ1609を端末装置B103へ送信する(S520)。
 端末装置B103は、暗号化通信データ1609を受信する(S521)。すると、端末装置B103は、残存しているバーナム暗号鍵1602からブロック暗号鍵1610を生成する(S522)。そして、端末装置B103は、ブロック暗号鍵1610で暗号化通信データ1609を復号し、通信データを得る(S523)。
 S524からS525までの処理は、図5に示すS122からS123までの処理と同様であるため、説明を省略する。
 次に、実施の形態3において、通信開始時点でバーナム暗号鍵が残りわずかとなっており、バーナム暗号による暗号通信が開始できない時に、ブロック暗号による暗号通信を開始する場合の動作概要について説明する。
 図19は、端末装置A102と端末装置B103が暗号通信を開始する時点で、バーナム暗号鍵が不足しているため、ブロック暗号による暗号通信を開始する場合の動作概要を示す図である。図19に示す処理では、実施の形態1における図6の処理に加えて、バーナム暗号鍵からブロック暗号鍵を生成する処理が行われる。
 なお、ここでは、通信開始時点でバーナム暗号鍵は枯渇しておらず、ブロック暗号鍵の生成に必要な量以上残っているものとする。
 処理の開始から、端末装置B103がブロック暗号切替了承メッセージ1903を端末装置A102へ送信するまでの処理は、図6に示す処理と同様であるため、説明を省略する。
 ブロック暗号通信了承メッセージ1903を受信した端末装置A102は、残存しているバーナム暗号鍵1901からブロック暗号鍵1904を生成する。端末装置A102は、通信データをブロック暗号鍵1904で暗号化し、暗号化通信データ1905を生成する。そして、端末装置A102は、生成した暗号化通信データ1905を端末装置B103へ送信する。
 暗号化通信データ1905を受信した端末装置B103は、残存しているバーナム暗号鍵1906からブロック暗号鍵1907を生成する。端末装置B103は、ブロック暗号鍵1907で暗号化通信データ1905を復号し、通信データを得る。
 次に、図19の通信処理について詳しく説明する。図20は、図19の通信処理の流れを示すフローチャートである。図19に示す処理では、実施の形態1における図7に示す処理に加えて、バーナム暗号鍵からブロック暗号鍵を生成する処理が行われる。
 S601からS605までの処理は、図7に示すS201からS205までの処理と同様であるため、説明を省略する。
 端末装置A102は、ブロック暗号通信了承メッセージ1903を受信すると、残存するバーナム暗号鍵1901からブロック暗号鍵1904を生成する(S606)。端末装置A102は、通信データのうち単位データ量分のデータをブロック暗号鍵1904で暗号化して、暗号化通信データ1905を生成する(S607)。そして、端末装置A102は、暗号化通信データ1905を端末装置B103へ送信する(S608)。
 端末装置B103は、暗号化通信データ1905を受信する(S609)。すると、端末装置B103は、残存しているバーナム暗号鍵1906からブロック暗号鍵1907を生成する(S610)。そして、端末装置B103は、ブロック暗号鍵1907で暗号化通信データ1905を復号し、通信データを得る(S611)。
 S612からS613までの処理は、図7に示すS210からS211までの処理と同様であるため、説明を省略する。
 次に、実施の形態3における端末装置A102及び端末装置B103の機能について説明する。
 図21は、実施の形態3における端末装置A102及び端末装置B103の機能構成を示す機能ブロック図である。図21に示す端末装置は、図8に示す端末装置が備える機能に加え、暗号鍵変換部816を備える。
 暗号鍵変換部816は、バーナム暗号鍵記憶部813からバーナム暗号鍵を取得し、取得したバーナム暗号鍵から処理装置によりブロック暗号鍵を生成してブロック暗号鍵記憶部814に記憶する。
 以上のように、実施の形態3に係る暗号化システム1では、残存しているバーナム暗号鍵からブロック暗号鍵を生成する。これにより、実施の形態2のように、事前にブロック暗号鍵を共有することなく、バーナム暗号鍵による暗号通信からブロック暗号による暗号通信へ切り替えることができる。
 なお、上記説明では、バーナム暗号鍵が不足した場合に、残存するバーナム暗号鍵からブロック暗号鍵を生成した。この場合、バーナム暗号鍵が不足した時点において、ブロック暗号鍵を生成するために必要な量以上、バーナム暗号鍵が残存することが前提となる。
 そこで、バーナム暗号鍵が不足する前に、残存するバーナム暗号鍵からブロック暗号鍵を生成してもよい。例えば、端末装置が鍵共有装置からバーナム暗号鍵を取得した時点で、残存するバーナム暗号鍵からブロック暗号鍵を生成してもよい。この場合、ブロック暗号鍵を生成するために必要な量以上、バーナム暗号鍵が残存しており、残存するバーナム暗号鍵からブロック暗号鍵を生成できないということがない。
 実施の形態4.
 実施の形態4では、ブロック暗号鍵を複数保持しておき、暗号通信に利用しているブロック暗号鍵を定期的に破棄し、新しいブロック暗号鍵を使って暗号通信を行うことについて説明する。これにより、ブロック暗号による暗号通信をより安全な通信として実現する。
 以下の説明では、一例として実施の形態1に上記の機能を追加したものを示す。
 まず、実施の形態4において、端末装置同士がバーナム暗号による暗号通信を開始し、バーナム暗号用の暗号鍵が不足した時点からブロック暗号による暗号通信に方式の切り替えを行う場合の動作概要について説明する。
 図22は、端末装置A102と端末装置B103とがバーナム暗号による暗号通信を開始し、バーナム暗号用の暗号鍵が不足した時点からブロック暗号による暗号通信に方式の切り替えを行う場合の動作概要を示す図である。図22に示す処理では、実施の形態1における図4の処理に加えて、利用したブロック暗号鍵を破棄し、次のブロック暗号鍵を設定する処理が行われる。
 なお、暗号通信の事前準備として、端末装置A102はバーナム暗号用のバーナム暗号鍵2201と複数のブロック暗号鍵2202~2204(ブロック暗号鍵1~n)を保有している。また、端末装置B103もバーナム暗号鍵2205と複数のブロック暗号鍵2206~2208(ブロック暗号鍵1~n)を保有している。実施の形態4においては、バーナム暗号鍵2201とバーナム暗号鍵2205とは同一のものであり、ブロック暗号鍵2202~2204とブロック暗号鍵2206~2208とも、それぞれ同一のものである。
 なお、ブロック暗号鍵の1~nの値は、ブロック暗号鍵を識別する識別番号(識別情報)である。
 処理の開始から、端末装置B103がブロック暗号切替了承メッセージ2213を端末装置A102へ送信するまでの処理は、図4に示す処理と同様であるため、説明を省略する。
 ブロック暗号切替了承メッセージ2213を受信した端末装置A102は、通信データをブロック暗号鍵2202で暗号化し、暗号化通信データ2214を生成し、端末装置B103へ送信する。
 暗号化通信データ2214を受信した端末装置B103は、ブロック暗号鍵2206で暗号化通信データ2214を復号し、通信データを得る。
 端末装置A102と端末装置B103とは、それぞれ、ブロック暗号鍵2202、ブロック暗号鍵2206を破棄する。そして、端末装置A102と端末装置B103とは、それぞれ、次にブロック暗号鍵による暗号化を行う場合には、それぞれブロック暗号鍵2203、ブロック暗号鍵2207を用いるように設定する。
 次に、図22の通信処理について詳しく説明する。図23及び図24は、図22の通信処理の流れを示すフローチャートである。図23及び図24に示す処理では、実施の形態1における図5に示す処理に加えて、利用したブロック暗号鍵を破棄し、次のブロック暗号鍵を設定する処理が行われる。
 S701からS717までの処理は、図5に示すS101からS117までの処理と同様であるため、説明を省略する。
 端末装置A102は、ブロック暗号切替了承メッセージ2213を受信すると、通信データのうち単位データ量分のデータをブロック暗号鍵2202で暗号化して暗号化通信データ2214を生成する(S718)。そして、端末装置A102は、暗号化通信データ2214を端末装置B103へ送信する(S719)。
 端末装置B103は、暗号化通信データ2214を受信する(S720)。すると、端末装置B103は、ブロック暗号鍵2206で暗号化通信データ2214を復号し、通信データを得る(S721)。
 続いて、端末装置A102は、未送信の通信データの有無を確認する(S722)。未送信の通信データがなければ(S722でNO)、端末装置A102はブロック暗号鍵2202を破棄し、次にブロック暗号鍵による暗号化を行う場合には、ブロック暗号鍵2203を用いるように設定する(S723)。そして、端末装置A102は、処理を終了する(S724)。一方、未送信の通信データがあれば(S722でYES)、端末装置A102はS718へ処理を戻す。
 同様に、端末装置B103は、未受信の通信データの有無を確認する(S725)。なお、例えば、端末装置B103は、端末装置A102から所定の時間内に次の通信データを受信しない場合、未受信の通信データがないと判定する。未受信の通信データがなければ(S725でNO)、端末装置A102はブロック暗号鍵2206を破棄し、次にブロック暗号鍵による暗号化を行う場合には、ブロック暗号鍵2207を用いるように設定する(S726)。そして、端末装置B103は、処理を終了する(S727)。一方、未受信の通信データがあれば(S725でYES)、端末装置B103はS720へ処理を戻す。
 次に、実施の形態4において、通信開始時点でバーナム暗号鍵が不足しており、バーナム暗号による暗号通信が開始できない時に、ブロック暗号による暗号通信を開始する場合の動作概要について説明する。
 図25は、端末装置A102と端末装置B103が暗号通信を開始する時点で、バーナム暗号鍵が不足しているため、ブロック暗号による暗号通信を開始する場合の動作概要を示す図である。図25に示す処理では、実施の形態1における図6の処理に加えて、利用したブロック暗号鍵を破棄し、次のブロック暗号鍵を設定する処理が行われる。
 なお、暗号通信の事前準備として、端末装置A102は複数のブロック暗号鍵2501~2503(ブロック暗号鍵1~n)を保有している。また、端末装置B103も複数のブロック暗号鍵2504~2506(ブロック暗号鍵1~n)を保有している。端末装置A102が保有するブロック暗号鍵2501~2503と、端末装置B103が保有するブロック暗号鍵2504~2506とは、それぞれ同一のものであるとする。
 処理の開始から、端末装置B103がブロック暗号切替了承メッセージ2508を端末装置A102へ送信するまでの処理は、図6に示す処理と同様であるため、説明を省略する。
 ブロック暗号通信了承メッセージ2508を受信した端末装置A102は、ブロック暗号鍵2501を用いて、通信データにブロック暗号による暗号化を施し、暗号化通信データ2509を生成する。そして、端末装置A102は、生成した暗号化通信データ2509を端末装置B103へ送信する。
 暗号化通信データ2509を受信した端末装置B103は、ブロック暗号鍵2504で暗号化通信データ2509を復号し、通信データを得る。
 暗号通信の終了後、端末装置A102と端末装置B103とは、それぞれブロック暗号鍵2501、ブロック暗号鍵2504を破棄し、次にブロック暗号鍵による暗号化を行う場合には、それぞれブロック暗号鍵2502、ブロック暗号鍵2505を用いるように設定する。
 端末装置A102と端末装置B103とは、それぞれ、ブロック暗号鍵2501、ブロック暗号鍵2504を破棄する。そして、端末装置A102と端末装置B103とは、それぞれ、次にブロック暗号鍵による暗号化を行う場合には、それぞれブロック暗号鍵2502、ブロック暗号鍵2505を用いるように設定する。
 次に、図25の通信処理について詳しく説明する。図26は、図25の通信処理の流れを示すフローチャートである。図26に示す処理では、実施の形態1における図7に示す処理に加えて、利用したブロック暗号鍵を破棄し、次のブロック暗号鍵を設定する処理が行われる。
 S801からS805までの処理は、図7に示すS201からS205までの処理と同様であるため、説明を省略する。
 端末装置A102は、端末装置B103からブロック暗号通信了承メッセージ2508を受信すると、通信データのうち単位データ量分のデータをブロック暗号鍵2501で暗号化して、暗号化通信データ2509を生成する(S806)。そして、端末装置A102は、暗号化通信データ2509を端末装置B103へ送信する(S807)。
 端末装置B103は、暗号化通信データ2509を受信する(S808)。すると、端末装置B103は、ブロック暗号鍵2504で暗号化通信データ2509を復号し、通信データを得る(S809)。
 続いて、端末装置A102は、未送信の通信データの有無を確認する(S810)。未送信の通信データがなければ(S810でNO)、端末装置A102はブロック暗号鍵2501を破棄し、次にブロック暗号鍵による暗号化を行う場合には、ブロック暗号鍵2502を用いるように設定する(S811)。そして、端末装置A102は、処理を終了する(S812)。一方、未送信の通信データがあれば(S810でYES)、端末装置A102はS806へ処理を戻す。
 同様に、端末装置B103は、未受信の通信データの有無を確認する(S813)。なお、例えば、端末装置B103は、端末装置A102から所定の時間内に次の通信データを受信しない場合、未受信の通信データがないと判定する。未受信の通信データがなければ(S813でNO)、端末装置B103はブロック暗号鍵2504を破棄し、次にブロック暗号鍵による暗号化を行う場合には、ブロック暗号鍵2505を用いるように設定する(S814)。そして、端末装置B103は、処理を終了する(S815)。一方、未受信の通信データがあれば(S813でYES)、端末装置A102はS808へ処理を戻す。
 次に、実施の形態4における端末装置A102及び端末装置B103の機能について説明する。
 図27は、実施の形態4における端末装置A102及び端末装置B103の機能構成を示す機能ブロック図である。図27に示す端末装置は、図8に示す端末装置が備える機能に加え、ブロック暗号鍵更新部817を備える。
 ブロック暗号鍵更新部817は、ブロック暗号鍵記憶部814から現在使われているブロック暗号鍵を削除し、次のブロック暗号鍵を設定する。
 以上のように、実施の形態4に係る暗号化システム1では、ブロック暗号鍵を複数保持しておき、暗号通信に利用しているブロック暗号鍵を定期的に破棄し、新しいブロック暗号鍵を使って暗号通信を行う。これにより、ブロック暗号による暗号通信の安全性を高めることができる。
 なお、ここでは、ブロック暗号鍵を定期的に破棄し、新しいブロック暗号鍵を使って暗号通信を行う機能を実施の形態1に係る暗号化システム1に追加した場合について説明した。しかし、ブロック暗号鍵を定期的に破棄し、新しいブロック暗号鍵を使って暗号通信を行う機能を実施の形態3に係る暗号化システム1に追加してもよい。この場合、暗号鍵変換部816(図21参照)は、バーナム暗号鍵から複数のブロック暗号鍵を生成する。例えば、残存するバーナム暗号鍵を、所定のビット毎に分割して複数のブロック暗号鍵とする。つまり、ブロック暗号鍵が256ビットである場合、残存するバーナム暗号鍵(の一部)を、256ビット毎に分割して複数のブロック暗号鍵とする。
 実施の形態5.
 実施の形態5では、実施の形態4において、ブロック暗号鍵が残り1つとなった時点でブロック暗号による暗号化を行う場合には、現在のブロック暗号鍵をハッシュ関数などのランダム化によって更新することについて説明する。これにより、同じブロック暗号鍵を繰り返し用いることによる安全性の低下を防ぐ技術について説明する。
 バーナム暗号鍵が不足しており、ブロック暗号鍵の残りが1つしかない時に端末装置間でブロック暗号による暗号通信を行うと、次回以降のブロック暗号による暗号通信においても同じブロック暗号鍵を用いることになる。そのため、暗号通信を行うほど、暗号通信の安全性が低下していくことになる。
 そこで、実施の形態5では、ブロック暗号鍵の残りが1つしかない時にブロック暗号による暗号通信を行った場合、そのブロック暗号鍵をハッシュ関数などを用いたランダム化によって更新する。
 まず、通信開始時点でバーナム暗号鍵が不足しており、かつ、ブロック暗号鍵の残りが1つである時に、ブロック暗号による暗号通信を開始する場合の動作概要について説明する。
 図28は、端末装置A102と端末装置B103とが暗号通信を開始する時点で、バーナム暗号鍵が不足しており、かつ、ブロック暗号鍵の残りが1つしかない場合の動作概要を示す図である。
 なお、端末装置A102はブロック暗号用のブロック暗号鍵2803を保有している。また、端末装置B103もブロック暗号鍵2805を保有している。端末装置A102が保有するブロック暗号鍵2803と、端末装置B103が保有するブロック暗号鍵2805とは、それぞれ同一のものであるとする。
 処理の開始から、端末装置B103がブロック暗号切替了承メッセージ2802を端末装置A102へ送信するまでの処理は、図6に示す処理と同様であるため、説明を省略する。
 ブロック暗号通信了承メッセージ2802を受信した端末装置A102は、ブロック暗号鍵2803を用いて、通信データにブロック暗号による暗号化を施し、暗号化通信データ2804を生成する。そして、端末装置A102は、生成した暗号化通信データ2804を端末装置B103へ送信する。
 暗号化通信データ2804を受信した端末装置B103は、ブロック暗号鍵2805で暗号化通信データ2804を復号し、通信データを得る。
 暗号通信の終了時、端末装置A102と端末装置B103とは、それぞれ、ブロック暗号鍵2803、ブロック暗号鍵2805にハッシュ関数などによるランダム化を施し、ブロック暗号鍵2806、ブロック暗号鍵2807を生成する。そして、端末装置A102と端末装置B103とは、次にブロック暗号鍵による暗号化を行う場合には、それぞれブロック暗号鍵2806、ブロック暗号鍵2807を用いるように設定する。このとき、端末装置A102と端末装置B103とは、それぞれ、ブロック暗号鍵2803、2805を削除する。
 次に、図28の通信処理について詳しく説明する。図29は、図28の通信処理の流れを示すフローチャートである。図29に示す処理では、実施の形態1における図7に示す処理に加えて、利用したブロック暗号鍵を更新する処理が行われる。
 S901からS905までの処理は、図7に示すS201からS205までの処理と同様であるため、説明を省略する。
 端末装置A102は、端末装置B103からブロック暗号通信了承メッセージ2802を受信すると、通信データのうち単位データ量分のデータをブロック暗号鍵2803で暗号化して、暗号化通信データ2804を生成する(S906)。そして、端末装置A102は、暗号化通信データ2804を端末装置B103へ送信する(S907)。
 端末装置B103は、暗号化通信データ2804を受信する(S908)。すると、端末装置B103は、ブロック暗号鍵2805で暗号化通信データ2804を復号し、通信データを得る(S909)。
 続いて、端末装置A102は、未送信の通信データの有無を確認する(S910)。未送信の通信データがなければ(S910でNO)、端末装置A102はブロック暗号鍵2803にハッシュ関数などによるランダム化を施し、ブロック暗号鍵2806を生成する(S911)。そして、端末装置A102は、次回の暗号通信にブロック暗号鍵2806を設定し、ブロック暗号鍵2803を破棄して(S912)、処理を終了する(S913)。一方、未送信の通信データがあれば(S910でYES)、端末装置A102はS906へ処理を戻す。
 同様に、端末装置B103は、未受信の通信データの有無を確認する(S914)。なお、例えば、端末装置B103は、端末装置A102から所定の時間内に次の通信データを受信しない場合、未受信の通信データがないと判定する。未受信の通信データがなければ(S914でNO)、端末装置A102はブロック暗号鍵2805にハッシュ関数などによるランダム化を施し、ブロック暗号鍵2807を生成する(S915)。なお、端末装置B103がランダム化に用いるハッシュ関数などは、S911で端末装置A102が用いたものと同じものである。したがって、ここで、生成されるブロック暗号鍵2807と、S911で生成されるブロック暗号鍵2806とは同じである。そして、端末装置B103は、処理を終了する(S815)。一方、未受信の通信データがあれば(S914でYES)、端末装置B103は処理をS908へ戻す。
 次に、実施の形態5における端末装置A102及び端末装置B103の機能について説明する。
 図30は、実施の形態5における端末装置A102及び端末装置B103の機能構成を説明する機能ブロック図である。図30に示す端末装置は、図27に示す端末装置が備える機能に加え、ハッシュ関数処理部818(ブロック暗号鍵生成部)を備える。また、ブロック暗号鍵更新部817の処理が異なる。
 ブロック暗号鍵更新部817は、ブロック暗号鍵記憶部814から現在使われているブロック暗号鍵を削除し、次のブロック暗号鍵を設定する。
 但し、ブロック暗号鍵の残りが1つしかなく、次のブロック暗号鍵が存在しない場合は、ブロック暗号鍵更新部817は、現在使われているブロック暗号鍵をハッシュ関数処理部に渡す。そして、ブロック暗号鍵更新部817は、ハッシュ関数処理部818から新しいブロック暗号鍵を受け取り、ブロック暗号鍵記憶部814に記憶する。
 ハッシュ関数処理部818は、ブロック暗号鍵更新部817からブロック暗号鍵を受け取る。ハッシュ関数処理部818は、受け取ったブロック暗号鍵にハッシュ関数などによるランダム化を施し、新しいブロック暗号鍵を生成する。そして、生成したブロック暗号鍵をブロック暗号鍵更新部817に渡す。
 以上のように、実施の形態5に係る暗号化システム1では、ブロック暗号鍵の残りが1つである場合、現在使われているブロック暗号鍵から新しいブロック暗号鍵を生成する。これにより、ブロック暗号による暗号通信の安全性を高めることができる。
 なお、上記に示したような、現在使われているブロック暗号鍵から新しいブロック暗号鍵を生成する処理は、ブロック暗号鍵の残りが1つである状態が継続している限り、暗号通信を行うたびに行われる。
 実施の形態6.
 実施の形態6では、実施の形態1~5において、バーナム暗号鍵の残量が一定量よりも少なくなった時点で、残存するバーナム暗号鍵を増大することについて説明する。これにより、バーナム暗号鍵が不足することを防止する。
 以下の説明では、一例として、実施の形態1に上記の機能を追加したものを示す。
 バーナム暗号を行うためには、暗号化の対象となるデータと同量の暗号鍵が必要である。そのため、暗号化対象のデータが膨大である場合、暗号鍵の消費もそれに比例して膨大となる。そこで、実施の形態6においては、バーナム暗号鍵の残量が事前に決められた量よりも少なくなった場合に、残存しているバーナム暗号鍵に増大処理を施し、バーナム暗号鍵の分量を増大させる。
 例えば、バーナム暗号鍵が半分になった時点で、残っているバーナム暗号鍵に増大処理を施し、2倍の長さにすれば、元の長さと同じだけのバーナム暗号鍵が確保できる。
 しかし、鍵共有装置から取得したバーナム暗号鍵に対して、何度も増大処理を行うと、バーナム暗号鍵の安全性が低下する虞がある。例えば、鍵共有装置から取得したバーナム暗号鍵が真性乱数である場合に、後の実施の形態で説明するように、擬似乱数を用いてバーナム暗号鍵を増大させると、バーナム暗号鍵の安全性が低下する虞がある。
 そこで、実施の形態6においては、鍵共有装置から取得したバーナム暗号鍵に対して増大処理を実行する回数を制限する。
 まず、実施の形態6において、端末装置同士がバーナム暗号による暗号通信を開始し、バーナム暗号鍵の残量が事前に決められた量よりも少なくなった時点で、バーナム暗号鍵に増大処理を施す場合の動作概要について説明する。
 図31は、端末装置A102と端末装置B103とがバーナム暗号による暗号通信を開始し、バーナム暗号鍵の残量が事前に決められた量よりも少なくなった時点で、バーナム暗号鍵に増大処理を施す場合の動作概要を示す図である。
 暗号通信の事前準備として、端末装置A102はバーナム暗号用のバーナム暗号鍵3101を保有している。また、端末装置B103もバーナム暗号鍵3102を保有している。バーナム暗号鍵3101とバーナム暗号鍵3102とは同一のものであるとする。
 また、端末装置A102はブロック暗号用のブロック暗号鍵3113を保有している。また、端末装置B103もブロック暗号鍵3115を保有している。端末装置A102が保有するブロック暗号鍵3113と、端末装置B103が保有するブロック暗号鍵3115とは同一のものであるとする。
 処理の開始から、端末装置B103がバーナム暗号により生成した暗号化通信データ3105から通信データを得るまでの処理は、図4に示す処理と同様であるため、説明を省略する。
 もし、暗号化通信データ3105を生成することでバーナム暗号鍵の残量が事前に決められた量より少なくなった場合、端末装置A102はバーナム暗号鍵増大要求メッセージ3106を端末装置B103へ送信する。
 バーナム暗号鍵増大要求メッセージ3106を受信した端末装置B103は、バーナム暗号鍵増大了承メッセージ3107を端末装置A102へ送信する。
 バーナム暗号鍵増大了承メッセージ3107を受信した端末装置A102は、バーナム暗号鍵3101に増大処理を施し、新たなバーナム暗号鍵3108を生成する。端末装置A102は、生成したバーナム暗号鍵3108で通信データを暗号化し、暗号化通信データ3109を生成する。そして、端末装置A102は、生成した暗号化通信データ3109を端末装置B103へ送信する。
 暗号化通信データ3109を受信した端末装置B103は、バーナム暗号鍵3102に増大処理を施し、新たなバーナム暗号鍵3110を生成する。端末装置B103は、生成したバーナム暗号鍵3110で暗号化通信データ3109を復号し、通信データを得る。
 なお、端末装置A102と端末装置B103とは、予め共有された同一の方法により、バーナム暗号鍵を増大させるものとする。
 端末装置A102と端末装置B103とは、事前に決められた回数までは、現在のバーナム暗号鍵の残量が事前に決められた量より少なくなる度に、同様の増大処理を行う。一方、事前に決められた回数だけ増大処理を行った場合、バーナム暗号鍵が事前に決められた量より少なくなっても増大処理は行わず、以降に示す処理を実行する。
 もし、端末装置A102における暗号化通信データ3109の生成時にバーナム暗号を行うことができるデータ通信量を超えて、暗号化を行う必要がある場合、端末装置A102はブロック暗号切替要求メッセージ3111を端末装置B103へ送信する。
 ブロック暗号切替要求メッセージ3111を受信した端末装置B103は、ブロック暗号切替了承メッセージ3112を端末装置A102へ送信する。
 ブロック暗号切替了承メッセージ3112を受信した端末装置A102は、通信データをブロック暗号鍵3113で暗号化し、暗号化通信データ3114を生成する。そして、端末装置A102は、生成した暗号化通信データ3114を端末装置B103へ送信する。
 暗号化通信データ3114を受信した端末装置B103は、ブロック暗号鍵3115で暗号化通信データ3114を復号し、通信データを得る。
 次に、図31の通信処理について詳しく説明する。図32から図34は、図31の通信処理の流れを示すフローチャートである。図32から図34に示す処理では、実施の形態1における図5の処理に加えて、バーナム暗号鍵を増大するための処理が行われる。
 S1001からS1012までの処理は、図5に示すS101からS112までの処理と同様であるため、説明を省略する。
 未送信の通信データがあった場合(S1011でYES)、端末装置A102は、バーナム暗号鍵の残量が事前に決められた量より少ないかを確認する(S1013)。残量が事前に決められた量以上の場合(S1013でNO)、S1007へ処理を戻す。一方、残量が事前に決められた量より少ない場合(S1013でYES)、S1014へ処理を進める。
 そして、端末装置A102は、今までにバーナム暗号鍵の増大処理を行った回数が事前に決められた制限回数より少ないかを確認する(S1014)。増大処理を行った回数が事前に定められた回数以上の場合(S1014でNO)、S1025へ処理を進める。一方、増大処理を行った回数が事前に定められた回数より少ない場合(S1014でYES)、端末装置A102は、バーナム暗号鍵増大要求メッセージ3106を端末装置B103へ送信する(S1015)。
 端末装置B103は、バーナム暗号鍵増大要求メッセージ3106を受信する(S1016)。すると、端末装置B103は、バーナム暗号鍵増大了承メッセージ3107を端末装置A102へ送信する(S1017)。
 端末装置A102は、バーナム暗号鍵増大了承メッセージ3107を受信する(S1018)。すると、バーナム暗号鍵3101に増大処理を施し、新たなバーナム暗号鍵3108を生成する(S1019)。端末装置A102は、生成したバーナム暗号鍵3108で通信データのうち単位データ量分のデータを暗号化し、暗号化通信データ3109を生成する(S1020)。そして、端末装置A102は、暗号化通信データ3109を端末装置B103へ送信する(S1021)。
 端末装置B103は、暗号化通信データ3109を受信する(S1022)。すると、端末装置B103は、バーナム暗号鍵3102に増大処理を施し、新たなバーナム暗号鍵3110を生成する(S1023)。端末装置B103は、生成したバーナム暗号鍵3110で暗号化通信データ3109を復号し、通信データを得る(S1024)。
 S1021で暗号化通信データ3109を端末装置B103へ送信した後、端末装置A102はS1011へ処理を戻す。
 増大処理を行った回数が事前に定められた回数以上の場合(S1014でNO)、端末装置A102は、引き続き通信データをバーナム暗号で暗号化する(S1025)。
 S1026からS1041までの処理は、図5に示すS108からS123までの処理と同様であるため、説明を省略する。
 次に、実施の形態6における端末装置A102及び端末装置B103の機能について説明する。
 図35は、実施の形態6における端末装置A102及び端末装置B103の機能構成を示す機能ブロック図である。図35に示す端末装置は、図8に示す端末装置が備える機能に加え、バーナム暗号鍵増大部819を備える。
 バーナム暗号鍵増大部819は、バーナム暗号鍵記憶部813から残存しているバーナム暗号鍵を取得し、増大処理を行う。増大処理を行った結果として得られたバーナム暗号鍵をバーナム暗号鍵記憶部813に渡す。
 以上のように、実施の形態6に係る暗号化システムでは、バーナム暗号鍵の残量が所定量より少なくなると、残りのバーナム暗号鍵に対して増大処理を実行して、バーナム暗号鍵の残量を増大させる。これにより、バーナム暗号鍵が不足することを防止する。
 また、鍵共有装置から取得したバーナム暗号鍵に対して、増大処理を実行する回数を制限することにより、バーナム暗号鍵の安全性が所定以上に低下することを防止している。
 実施の形態7.
 実施の形態7では、実施の形態6で説明したバーナム暗号鍵の増大方法の一例について説明する。
 実施の形態7では、残存するバーナム暗号鍵に一定の割合で擬似乱数を混ぜることによりバーナム暗号鍵を増大させる。これにより、バーナム暗号鍵の乱数性を維持しつつ、バーナム暗号鍵の不足を防止する。
 図36は、実施の形態7におけるバーナム暗号鍵増大部819の処理を説明する図である。
 バーナム暗号鍵増大部819は、内部に擬似乱数生成器3601を有する。バーナム暗号鍵増大部819は、バーナム暗号鍵3602が入力されると、小さな単位、例えば1ビットごとに分解する。そして、バーナム暗号鍵増大部819は、擬似乱数生成器3601から受け取った擬似乱数3603を分解したバーナム暗号鍵3602の間に挿入する。
 この処理により、バーナム暗号鍵増大部819は、入力されたバーナム暗号鍵3602から新しいバーナム暗号鍵3604を生成し、出力する。この例では、新しいバーナム暗号鍵3604の長さは、入力されたバーナム暗号鍵3602長さの2倍となる。
 実施の形態8.
 実施の形態8では、実施の形態6で説明したバーナム暗号鍵の増大方法の、実施の形態7とは異なる例について説明する。
 実施の形態8では、残存するバーナム暗号鍵を種として、ハッシュ関数や暗号方式による擬似乱数生成を行い、得られた擬似乱数を新しいバーナム暗号鍵とする。これにより、バーナム暗号鍵の乱数性を維持しつつ、バーナム暗号鍵の枯渇を防止する。
 図37は、実施の形態8におけるバーナム暗号鍵増大部819の処理を説明する図である。
 バーナム暗号鍵増大部819は、内部に擬似乱数生成器3701とハッシュ関数3702を有する。バーナム暗号鍵増大部819は、バーナム暗号鍵3703が入力されると、擬似乱数生成器3701から受け取った擬似乱数3704とバーナム暗号鍵3703とを組み合わせ、ハッシュ関数3702に入力する。擬似乱数3704とバーナム暗号鍵3703とを組み合わせるとは、例えば、バーナム暗号鍵3703の前又は後に擬似乱数3704を付加することである。そして、ハッシュ関数3702でランダム化されたものを新しいバーナム暗号鍵3705として出力する。
 この処理により、バーナム暗号鍵増大部819は、入力されたバーナム暗号鍵3703から新しいバーナム暗号鍵3705を生成し、出力する。この例では、新しいバーナム暗号鍵3705の長さは、ハッシュ関数3702によって元のバーナム暗号鍵の長さと同じになる。
 実施の形態9.
 実施の形態1~8においては、端末装置が鍵共有装置と接続されていることを前提として説明した。しかし、例えば、端末装置が携帯電話等の携帯端末である場合には、端末装置と鍵共有装置が接続されていない状況も起こりうる。この場合、鍵共有装置から端末装置へのバーナム暗号鍵又はブロック暗号鍵の転送処理を行う時期が、端末装置間で一致していないことにより、端末装置間で保有している暗号鍵の量が異なっている場合が起こりえる。
 例えば、ある時点で端末装置A102が鍵共有装置C104からバーナム暗号鍵を取得したとする。その後、鍵共有装置C104と鍵共有装置D105との間で新たなバーナム暗号鍵が共有されたとする。そして、端末装置B103が鍵共有装置D105からバーナム暗号鍵を取得したとする。すると、端末装置B103は端末装置A102が保有していないバーナム暗号鍵を保有していることになる。この場合、端末装置A102と端末装置B103との間で暗号通信を行う場合、端末装置A102のバーナム暗号鍵が先に不足することになる。
 そこで、実施の形態9では、暗号通信を行う前に端末装置間で互いの保有しているバーナム暗号鍵の情報を共有し、互いの保有しているバーナム暗号鍵の状況に応じて暗号通信を切り替えることを説明する。
 まず、実施の形態9において、端末装置A102と端末装置B103とがバーナム暗号による暗号通信を開始し、バーナム暗号鍵が不足した時点からブロック暗号による暗号通信に方式の切り替えを行う場合の処理について説明する。
 図38及び図39は、実施の形態9における図4の通信処理の流れを示すフローチャートである。図38及び図39に示す処理では、実施の形態1における図5の処理に加えて、事前にバーナム暗号鍵の残量を端末装置間で共有する処理が行われる。
 端末装置A102は、保有しているバーナム暗号鍵401の量を確認し(S1101)、バーナム暗号通信要求メッセージ403をバーナム暗号鍵401の残量値と共に端末装置B103へ送信する(S1102)。
 端末装置B103は、端末装置A102からバーナム暗号通信要求メッセージ403を受信する(S1103)。すると、端末装置B103は、保有しているバーナム暗号鍵402の量を確認し(S1104)、バーナム暗号で暗号通信を行うことができるデータ量を算出する(S1105)。そして、端末装置B103は、バーナム暗号通信了承メッセージ404をバーナム暗号鍵402の残量値と共に端末装置A102へ送信する(S1106)。
 端末装置A102は、端末装置B103からバーナム暗号通信了承メッセージ404を受信する(S1107)。すると、端末装置A102は、バーナム暗号で暗号通信を行うことができるデータ量を算出する(S1108)。また、端末装置A102は、通信データのうち単位データ量分のデータにバーナム暗号鍵401を用いた暗号化を施して、暗号化通信データ405を生成する(S1109)。そして、端末装置A102は、暗号化通信データ405を端末装置B103へ送信する(S1110)。
 端末装置B103は、端末装置A102から暗号化通信データ405を受信する(S1111)。すると、端末装置B103は、バーナム暗号鍵402を用いて暗号化通信データ405を復号して通信データを得る(S1112)。
 続いて、端末装置A102は、未送信の通信データの有無を確認する(S1113)。未送信の通信データがなければ(S1113でNO)、端末装置A102は処理を終了する(S1114)。一方、未送信の通信データがあれば(S1113でYES)、端末装置A102はS1115へ処理を進める。
 端末装置A102は、バーナム暗号で暗号化通信を行うことができるデータ量が、1度に暗号化する単位データ量以上かを確認する(S1115)。この際、端末装置A102は、(S1108)で算出したデータ量から、現時点で端末装置A102がバーナム暗号で暗号通信を行うことができるデータ量を算出する。また、端末装置A102は、バーナム暗号通信了承メッセージ404とともに受信した端末装置B103が保有するバーナム暗号鍵の残量から、現時点で端末装置B103がバーナム暗号で暗号通信を行うことができるデータ量を算出する。そして、端末装置A102と端末装置B103とがバーナム暗号で暗号通信を行うことができるデータ量のうち、少ない方のデータ量が、1度に暗号化する単位データ量を超えているかを確認する。
 少ない方のデータ量が単位データ量以上であれば(S1115でYES)、端末装置A102はS1109へ処理を戻す。一方、少ない方のデータ量が単位データ量未満であれば(S1115でNO)、端末装置A102はブロック暗号切替要求メッセージ406を端末装置B103へ送信する(S1116)。
 S1117からS1125までの処理は、図5に示すS115からS123までの処理と同様であるため、説明を省略する。
 次に、通信開始時点で受信側端末装置のバーナム暗号鍵が不足しており、バーナム暗号による暗号通信が開始できない時に、ブロック暗号による暗号通信を開始する場合の動作概要について説明する。
 図40は、実施の形態9において、端末装置A102と端末装置B103が暗号通信を開始する時点で、端末装置B103のバーナム暗号鍵が不足しているため、ブロック暗号による暗号通信を開始する場合の動作概要を示す図である。
 なお、端末装置A102はバーナム暗号鍵4001とブロック暗号鍵4002とを保有しており、端末装置B103はバーナム暗号鍵を保有せず、ブロック暗号鍵4003を保有しているとする。つまり、端末装置B103はバーナム暗号鍵が枯渇している状態であるとする。
 まず、端末装置A102は、保有しているバーナム暗号鍵4001の量を確認し、端末装置B103にバーナム暗号通信要求メッセージ4004を送信する。
 バーナム暗号通信要求メッセージ4004を受信した端末装置B103は、バーナム暗号鍵が枯渇していることを確認し、バーナム暗号通信拒否メッセージ4005を送信する。
 バーナム暗号通信拒否メッセージ4005を受信した端末装置A102は、端末装置B103にブロック暗号通信要求メッセージ4006を送信する。
 ブロック暗号通信要求メッセージ4006を受信した端末装置B103は、端末装置A102にブロック暗号通信了承メッセージ4007を送信する。
 以降の処理は、図6に示す処理と同様であるため、説明を省略する。
 次に、図40の通信処理について詳しく説明する。図41は、図40の通信処理の流れを示すフローチャートである。
 まず、端末装置A102は、保有しているバーナム暗号鍵4001の量を確認し(S1201)、端末装置B103にバーナム暗号通信要求メッセージ4004を送信する(S1202)。
 端末装置B103は、バーナム暗号通信要求メッセージ4004を受信する(S1203)。すると、端末装置B103は、保有しているバーナム暗号鍵の量を確認し(S1204)、バーナム暗号による暗号通信が可能なデータ量が不足していることを算出する(S1205)。そして、端末装置B103は、バーナム暗号通信拒否メッセージ4005を端末装置A102へ送信する(S1206)。
 端末装置A102は、バーナム暗号通信拒否メッセージ4005を受信する(S1207)。すると、端末装置A102は、ブロック暗号通信要求メッセージ4006を端末装置B103へ送信する(S1208)。
 S1209からS1217までの処理は、図7に示すS203からS211までの処理と同様であるため、説明を省略する。
 次に、送信側の端末装置である端末装置A102の処理について詳しく説明する。
 図42は、実施の形態9における端末装置801の送信制御部803の処理の流れを示すフローチャートである。
 送信制御部803は、バーナム暗号鍵管理部805からバーナム暗号鍵の残量が不足しているか否かを示す残量情報を取得する(S1301)。そして、送信制御部803は、バーナム暗号鍵の残量が不足していなければ(S1302でNO)、S1303に処理を進め、残量が不足していれば(S1302でYES)、S1312に処理を進める(S1302)。
 送信制御部803は、通信インターフェイス802を介して、バーナム暗号通信要求メッセージを端末装置B103へ送信し(S1303)、端末装置B103からメッセージを受信する(S1304)。そして、送信制御部803は、受信したメッセージがバーナム暗号通信了承メッセージであれば、処理をS1306へ進め、バーナム暗号通信拒否メッセージであれば、処理をS1312へ進める。
 S1306からS1316までの処理は、図9に示すS305からS315までの処理と同様であるため、説明を省略する。
 次に、受信側の端末装置である端末装置B103の処理について詳しく説明する。
 図43は、実施の形態9における端末装置801の受信制御部804の処理の流れを示すフローチャートである。
 受信制御部804は、バーナム暗号通信要求メッセージ、又は、ブロック暗号通信要求メッセージを端末装置A102から通信インターフェイス802を介して受信する(S1401)。受信制御部804は、バーナム暗号要求メッセージを受信した場合はS1403に処理を進め、ブロック暗号要求メッセージを受信した場合はS1412に処理を進める(S1402)。
 受信制御部804は、バーナム暗号鍵管理部805からバーナム暗号鍵の残量が不足しているか否かを示す残量情報を取得する(S1403)。受信制御部804は、バーナム暗号鍵の残量が不足していれば(S1403でYES)、処理をS1404へ進め、バーナム暗号鍵の残量が不足していなければ(S1403でNO)、処理をS1405へ進める。
 バーナム暗号鍵の残量が不足していた場合、受信制御部804は、バーナム暗号通信拒否メッセージを端末装置A102へ送信し(S1404)、処理をS1413へ進める。
 S1405からS1415までの処理は、図10に示すS403からS413までの処理と同様であるため、説明を省略する。
 以上のように、実施の形態9に係る暗号化システム1では、端末装置間で互いの保有しているバーナム暗号鍵の残量を共有することで、保有するバーナム暗号鍵に差異がある場合であっても、暗号方式の切り替えを行うことができる。
 なお、上記説明では、単に、端末装置A102と端末装置B103とのうち、バーナム暗号鍵の残量の少ない方に合わせて、暗号方式の切り替えを行った。
 しかし、端末装置A102と端末装置B103とで保有するバーナム暗号鍵にずれがある場合も考えられる。つまり、端末装置A102が保有しているバーナム暗号鍵のうち、一部を端末装置B103が保有しておらず、端末装置B103が保有しているバーナム暗号鍵のうち、一部を端末装置A102が保有していない場合が考えられる。この場合、端末装置A102と端末装置B103とが共通して保有しているバーナム暗号鍵の残量に応じて、暗号方式を切り替える必要がある。
 この場合、例えば、端末装置は、鍵共有装置からバーナム暗号鍵を取得する場合、バーナム暗号鍵のビット数をカウントしておく。例えば、初めに、端末装置が鍵共有装置から1000ビットのバーナム暗号鍵を取得した場合、端末装置は1ビット目から1000ビット目までのバーナム暗号鍵を取得したとカウントする。次に、端末装置が鍵共有装置から500ビットのバーナム暗号鍵を取得した場合、端末装置は1001ビット目から1500ビット目までのバーナム暗号鍵を取得したとカウントする。
 また、端末装置は、使用したバーナム暗号鍵のビット数もカウントしておく。例えば、初めに100ビットのバーナム暗号鍵を使用したのであれば、1ビット目から100ビット目までのバーナム暗号鍵を使用したとカウントする。
 したがって、端末装置は、現在何ビット目から何ビット目までのバーナム暗号鍵が使用できる状態で残っているかを知ることができる。
 この場合、端末装置A102は、バーナム暗号鍵の残量を確認する代わりに、何ビット目から何ビット目までのバーナム暗号鍵が使用できる状態で残っているか確認する。そして、バーナム暗号通信要求メッセージとともに、何ビット目から何ビット目までのバーナム暗号鍵が使用できる状態で残っているかを示す情報を端末装置B103へ送信する。
 端末装置B103は、何ビット目から何ビット目までのバーナム暗号鍵が使用できる状態で残っているか確認する。そして、端末装置A102が保有するバーナム暗号鍵と端末装置B103が保有するバーナム暗号鍵との共通部分を特定する。共通部分で暗号通信できるデータ量が1度に暗号化する単位データ量を超えていれば、端末装置B103は、バーナム暗号通信了承メッセージとともに、何ビット目から何ビット目までのバーナム暗号鍵が使用できる状態で残っているかを示す情報を端末装置A102へ送信する。一方、共通部分が1度に暗号化する単位データ量を超えていなければ、端末装置B103は、バーナム暗号通信拒否メッセージを返す。
 端末装置A102は、バーナム暗号通信了承メッセージを受信した場合、端末装置A102が保有するバーナム暗号鍵と端末装置B103が保有するバーナム暗号鍵との共通部分を特定する。そして、特定した共通部分のバーナム暗号鍵で通信データのうち単位データ量分のデータを暗号化して、暗号化データを生成し、端末装置B103へ送信する。
 また、端末装置A102は、未送信の通信データがある場合、共通部分のバーナム暗号鍵の残りで暗号通信を行うことができるデータ量が、1度に暗号化する単位データ量を超えているかを確認する。超えていれば、バーナム暗号による暗号通信を行い、超えていなければ、ブロック暗号による暗号通信に切り替える。
 実施の形態10.
 実施の形態4では、ブロック暗号鍵を複数保持しておき、暗号通信に利用しているブロック暗号鍵を定期的に破棄し、新しいブロック暗号鍵を使って暗号通信を行うことについて説明した。実施の形態4においては、端末装置が鍵共有装置と接続されていることを前提として説明した。
 しかし、実施の形態9で説明したように、例えば、端末装置が携帯端末である場合では、端末装置と鍵共有装置が接続されていない状況も起こりうる。この場合、鍵共有装置から端末装置へのバーナム暗号鍵又はブロック暗号鍵の転送処理を行う時期や頻度が、端末装置間で一致していないことにより、端末装置間で保有している暗号鍵が異なっている場合があり得る。また、端末装置間での通信エラーなどにより、バーナム暗号鍵及びブロック暗号鍵の消費にずれが生じる可能性もある。そのため、通信開始時に暗号通信に用いる暗号鍵を確定させておく必要がある。
 そこで、実施の形態10では、暗号通信を行う前に端末装置間で互いの保有しているブロック暗号鍵の個数を共有し、互いの保有しているブロック暗号鍵の状況に応じて暗号通信の切り替えを行うことについて説明する。
 まず、実施の形態10において、端末装置A102と端末装置B103とがバーナム暗号による暗号通信を開始し、バーナム暗号鍵が不足した時点からブロック暗号による暗号通信に方式の切り替えを行う場合の処理について説明する。
 図44及び図45は、実施の形態10における図22の通信処理の流れを示すフローチャートである。図44及び図45に示す処理では、実施の形態4における図23及び図24の処理に加えて、事前にブロック暗号鍵の情報を端末装置間で共有する処理が行われる。
 なお、実施の形態10では、実施の形態4と同様、図22に示すように、各ブロック暗号鍵は識別番号により識別されるものとする。
 S1501からS1513までの処理は、図23に示すS701からS713までの処理(図5に示すS101からS113までの処理)と同様であるため、説明を省略する。
 バーナム暗号で暗号通信を行うことができるデータ量が、1度に暗号化する単位データ量を超えている場合(S1513でYES)、端末装置A102は識別番号何番から何番までのブロック暗号鍵を保有しているかを確認する(S1514)。そして、端末装置A102は、ブロック暗号切替要求メッセージ2212と共に、保有しているブロック暗号鍵の識別番号を端末装置B103へ送信する(S1515)。
 端末装置B103は、ブロック暗号切替要求メッセージ2212とブロック暗号鍵の識別番号とを受信する(S1516)。すると、端末装置B103は、保有しているブロック暗号鍵の識別番号を確認し(S1517)、暗号通信で利用するブロック暗号鍵を確定する(S1518)。例えば、端末装置B103は、端末装置A102と端末装置B103との両方が保有しているブロック暗号鍵のうち、最も識別番号の小さいブロック暗号鍵を暗号通信で利用するブロック暗号鍵として確定する。そして、端末装置B103は、ブロック暗号切替了承メッセージ2213とともに、確定したブロック暗号鍵の識別番号を端末装置A102へ送信する(S1519)。
 端末装置A102は、ブロック暗号切替了承メッセージ2213と、確定したブロック暗号鍵の識別番号とを受信する(S1520)。すると、端末装置A102は、受信した識別番号が示すブロック暗号鍵で通信データを暗号化して、暗号化通信データ2214を生成する(S1521)。そして、端末装置A102は、暗号化通信データ2214を端末装置B103へ送信する(S1522)。
 端末装置B103は、暗号化通信データ2214を受信する(S1523)。すると、端末装置B103は、(S1518)で確定した識別番号のブロック暗号鍵で暗号化通信データ2214を復号し、通信データを得る(S1524)。
 S1525からS1530までの処理は、S722からS727までの処理と同様であるため、説明を省略する。
 次に、通信開始時点で受信側端末装置のバーナム暗号鍵が不足しており、バーナム暗号による暗号通信が開始できない時に、ブロック暗号による暗号通信を開始する場合の動作概要について説明する。
 図46は、実施の形態10における図25の通信処理の流れを示すフローチャートである。図46に示す処理では、実施の形態4における図26の処理に加えて、事前にブロック暗号鍵の情報を端末装置間で共有する処理が行われる。
 端末装置A102は、保有しているバーナム暗号鍵の量を確認し、バーナム暗号鍵が不足していることを把握する(S1601)。なお、バーナム暗号で暗号通信を行うことができるデータ量が、1度に暗号化する単位データ量未満である場合に、バーナム暗号鍵が不足していると判定する。すると、端末装置A102は、端末装置A102は識別番号何番から何番までのブロック暗号鍵を保有しているかを確認する(S1602)。そして、端末装置A102は、ブロック暗号切替要求メッセージ2507と共に、保有しているブロック暗号鍵の識別番号を端末装置B103へ送信する(S1603)。
 端末装置B103は、ブロック暗号切替要求メッセージ2507とブロック暗号鍵の識別番号とを受信する(S1604)。すると、端末装置B103は、保有しているブロック暗号鍵の識別番号を確認し(S1605)、暗号通信で利用するブロック暗号鍵を確定する(S1606)。例えば、端末装置B103は、端末装置A102と端末装置B103との両方が保有しているブロック暗号鍵のうち、最も識別番号の小さいブロック暗号鍵を暗号通信で利用するブロック暗号鍵として確定する。そして、端末装置B103は、ブロック暗号切替了承メッセージ2508とともに、確定したブロック暗号鍵の識別番号を端末装置A102へ送信する(S1607)。
 端末装置A102は、ブロック暗号切替了承メッセージ2508と、確定したブロック暗号鍵の識別番号とを受信する(S1608)。すると、端末装置A102は、受信した識別番号が示すブロック暗号鍵で通信データを暗号化して、暗号化通信データ2509を生成する(S1609)。そして、端末装置A102は、暗号化通信データ2509を端末装置B103へ送信する(S1610)。
 端末装置B103は、暗号化通信データ2509を受信する(S1611)。すると、端末装置B103は、(S1606)で確定した識別番号のブロック暗号鍵で暗号化通信データ2509を復号し、通信データを得る(S1612)。
 S1613からS1618までの処理は、図26のS810からS815までの処理と同様であるため、説明を省略する。
 次に、送信側の端末装置である端末装置A102の処理について詳しく説明する。
 図47は、実施の形態10における端末装置801の送信制御部803の処理の流れを示すフローチャートである。
 S1701からS1708までの処理は、図9に示すS301からS308までの処理と同様であるため、説明を省略する。
 S1709~1711の処理について説明する。
 送信制御部803は、ブロック暗号鍵記憶部814が記憶したブロック暗号鍵の識別番号を確認する(S1709)。送信制御部803は、通信インターフェイス802を介して、ブロック暗号切替要求メッセージとともに、ブロック暗号鍵記憶部814が記憶したブロック暗号鍵の識別番号を端末装置B103へ送信する(S1710)。そして、送信制御部803は、端末装置B103から、ブロック暗号切替了承メッセージとともに、暗号通信で利用するブロック暗号鍵の識別番号を受信し(S1711)、S1715に処理を進める。
 S1712からS1714の処理について説明する。
 送信制御部803は、ブロック暗号鍵記憶部814が記憶したブロック暗号鍵の識別番号を確認する(S1712)。送信制御部803は、通信インターフェイス802を介して、ブロック暗号通信要求メッセージとともに、ブロック暗号鍵記憶部814が記憶したブロック暗号鍵の識別番号を端末装置B103へ送信する(S1713)。そして、送信制御部803は、端末装置B103から、ブロック暗号通信了承メッセージとともに、暗号通信で利用するブロック暗号鍵の識別番号を受信し(S1714)、S1715に処理を進める。
 S1715以降の処理について説明する。
 送信制御部803は、S1711やS1714で受信した識別番号のブロック暗号鍵で、ブロック暗号化部808に通信データのうち単位データ量分のデータを暗号化させ、暗号化通信データを取得する(S1715)。そして、送信制御部803は、暗号化通信データを端末装置B103へ送信する(S1716)。
 続いて、送信制御部803は、未送信の通信データの有無を確認する(S1717)。未送信の通信データがなければ(S1717でNO)、送信制御部803は処理を終了する。一方、未送信の通信データがあれば(S1717でYES)、送信制御部803はS1715へ処理を戻す。
 次に、受信側の端末装置である端末装置B103の処理について詳しく説明する。
 図48は、実施の形態10における端末装置801の受信制御部804の処理の流れを示すフローチャートである。
 S1801からS1807までの処理は、図10に示すS401からS407までの処理と同様であるため、説明を省略する。
 S1808~1811の処理について説明する。
 受信制御部804は、端末装置A102からブロック暗号切替要求メッセージと、端末装置A102が保有するブロック暗号鍵の識別番号とを受信する(S1808)。受信制御部804は、ブロック暗号鍵記憶部814が記憶したブロック暗号鍵の識別番号を確認する(S1809)。受信制御部804は、(S1808)で受信した端末装置A102が保有するブロック暗号鍵の識別番号と、(S1809)で確認した端末装置B103が保有するブロック暗号鍵の識別番号とから暗号通信で用いるブロック暗号鍵を確定する(S1810)。そして、受信制御部804は、通信インターフェイス802を介して、ブロック暗号切替了承メッセージとともに、確定したブロック暗号鍵の識別番号を端末装置A102へ送信し(S1811)、S1815に処理を進める。
 S1812からS1814の処理について説明する。
 受信制御部804は、ブロック暗号鍵記憶部814が記憶したブロック暗号鍵の識別番号を確認する(S1812)。受信制御部804は、(S1802)で受信した端末装置A102が保有するブロック暗号鍵の識別番号と、(S1812)で確認した端末装置B103が保有するブロック暗号鍵の識別番号とから暗号通信で用いるブロック暗号鍵を確定する(S1813)。そして、受信制御部804は、通信インターフェイス802を介して、ブロック暗号通信了承メッセージとともに、確定したブロック暗号鍵の識別番号を端末装置A102へ送信し(S1814)、S1815に処理を進める。
 S1815以降の処理について説明する。
 受信制御部804は、端末装置A102から暗号化通信データを受信する(S1815)。受信制御部804は、受信した暗号化通信データをブロック復号部809に送信して、S1810やS1813で確定した識別番号のブロック暗号鍵で復号させ通信データを生成させる(S1816)。生成された通信データは、受信データ記憶部812に記憶される。
 続いて、受信制御部804は、未受信の通信データの有無を確認する(S1817)。未受信の通信データがなければ(S1817でNO)、受信制御部804は処理を終了する。一方、未受信の通信データがあれば(S1817でYES)、受信制御部804はS1815へ処理を戻す。
 以上のように、実施の形態10に係る暗号化システム1では、端末装置間で互いの保有しているブロック暗号鍵の分量を共有することで、保有するブロック暗号鍵に差異がある場合であっても、暗号方式の切り替えを行うことができる。
 実施の形態11.
 実施の形態5では、ブロック暗号鍵が残り1つとなった時点でブロック暗号による暗号化を行う場合には、現在のブロック暗号鍵をハッシュ関数などのランダム化によって更新することについて説明した。実施の形態5においては、通信エラーなどにより、ブロック暗号鍵の更新回数が同期しなくなった場合に暗号通信が行えなくなる。
 そこで、実施の形態11では、暗号通信を行う前に端末装置間で互いの保有しているブロック暗号鍵の更新回数を共有し、互いの保有しているブロック暗号鍵の更新回数を同期することについて説明する。
 まず、通信開始時点で受信側端末装置のバーナム暗号鍵が不足しており、バーナム暗号による暗号通信が開始できない時に、ブロック暗号による暗号通信を開始する場合の動作概要について説明する。
 図49は、実施の形態11における図28の通信処理の流れを示すフローチャートである。図49に示す処理では、実施の形態5における図29の処理に加えて、事前にブロック暗号鍵の更新回数を端末装置間で共有する処理が行われる。
 端末装置A102は、保有しているバーナム暗号鍵の量を確認し、バーナム暗号鍵が不足していることを把握する(S1901)。なお、バーナム暗号で暗号通信を行うことができるデータ量が、1度に暗号化する単位データ量未満である場合に、バーナム暗号鍵が不足していると判定する。すると、端末装置A102は、保有しているブロック暗号鍵の更新回数を確認する(S1902)。そして、端末装置A102は、ブロック暗号通信要求メッセージ2801とともに、ブロック暗号鍵の更新回数を端末装置B103へ送信する(S1903)。
 端末装置B103は、端末装置A102からブロック暗号通信要求メッセージ2801と、ブロック暗号鍵の更新回数とを受信する(S1904)。すると、端末装置B103は、保有しているブロック暗号鍵の更新回数を確認する(S1905)。端末装置B103は、暗号通信で用いるブロック暗号鍵の更新回数を確定する(S1906)。例えば、端末装置B103は、ブロック暗号鍵について、端末装置A102における更新回数と端末装置B103における更新回数とのうち、多いほうの更新回数を、暗号通信で利用するブロック暗号鍵の更新回数として確定する。そして、端末装置B103は、ブロック暗号通信了承メッセージ2804とともに、確定したブロック暗号鍵の更新回数を端末装置A102へ送信する(S1907)。
 また、端末装置B103は、(S1906)で確定したブロック暗号鍵について、確定した更新回数になっていない場合、確定した更新回数になるまで更新処理を繰り返し実行する(S1908)。これにより、ブロック暗号鍵が暗号通信で使用する状態になる。なお、確定した更新回数になっていない場合とは、確定した更新回数よりも、更新回数が少ない場合という意味である。
 端末装置A102は、ブロック暗号切替了承メッセージ2804と、確定したブロック暗号鍵の更新回数とを受信する(S1909)。端末装置A102は、ブロック暗号鍵が受信した更新回数になっていない場合、受信した更新回数になるまで更新処理を繰り返し実行する(S1910)。これにより、ブロック暗号鍵が暗号通信で使用する状態になる。なお、受信した更新回数になっていない場合とは、受信した更新回数よりも、更新回数が少ない場合という意味である。端末装置A102は、暗号通信で使用する状態のブロック暗号鍵で通信データを暗号化して、暗号化通信データ2804を生成する(S1911)。そして、端末装置A102は、暗号化通信データ2804を端末装置B103へ送信する(S1912)。
 端末装置B103は、暗号化通信データ2804を受信する(S1913)。すると、端末装置B103は、暗号通信で使用する状態のブロック暗号鍵で暗号化通信データ2804を復号し、通信データを得る(S1914)。
 S1915からS1922までの処理は、図29に示すS910からS917までの処理と同様であるため、説明を省略する。
 次に、送信側の端末装置である端末装置A102の処理について詳しく説明する。
 図50は、実施の形態11における端末装置801の送信制御部803の処理の流れを示すフローチャートである。
 S2001からS2008までの処理は、図9に示すS301からS308までの処理と同様であるため、説明を省略する。
 送信制御部803は、ブロック暗号鍵記憶部814が記憶したブロック暗号鍵の更新回数とを確認する(S2009)。送信制御部803は、通信インターフェイス802を介して、ブロック暗号切替要求メッセージとともに、ブロック暗号鍵記憶部814が記憶したブロック暗号鍵の更新回数を端末装置B103へ送信する(S2010)。そして、送信制御部803は、端末装置B103から、ブロック暗号切替了承メッセージとともに、暗号通信で利用するブロック暗号鍵の更新回数を受信し(S2011)、S2015に処理を進める。
 S2012からS2014の処理について説明する。
 送信制御部803は、ブロック暗号鍵記憶部814が記憶したブロック暗号鍵の更新回数とを確認する(S2012)。送信制御部803は、通信インターフェイス802を介して、ブロック暗号通信要求メッセージとともに、ブロック暗号鍵記憶部814が記憶したブロック暗号鍵の更新回数を端末装置B103へ送信する(S2013)。そして、送信制御部803は、端末装置B103から、ブロック暗号通信了承メッセージとともに、暗号通信で利用するブロック暗号鍵の更新回数を受信し(S2014)、S2015に処理を進める。
 S2015以降の処理について説明する。
 送信制御部803は、ブロック暗号鍵について、S2011やS2014で受信した更新回数になっていない場合、受信した更新回数になるまで更新処理を繰り返し実行する(S2015)。これにより、ブロック暗号鍵が暗号通信で使用する状態になる。送信制御部803は、暗号通信で使用する状態のブロック暗号鍵で、ブロック暗号化部808に通信データのうち単位データ量分のデータを暗号化させ、暗号化通信データを取得する(S2016)。そして、送信制御部803は、暗号化通信データを端末装置B103へ送信する(S2017)。
 続いて、送信制御部803は、未送信の通信データの有無を確認する(S2018)。未送信の通信データがなければ(S2018でNO)、送信制御部803は処理を終了する。一方、未送信の通信データがあれば(S2018でYES)、送信制御部803はS2016へ処理を戻す。
 次に、受信側の端末装置である端末装置B103の処理について詳しく説明する。
 図51は、実施の形態11における端末装置801の受信制御部804の処理の流れを示すフローチャートである。
 S2101からS2107までの処理は、図10に示すS401からS407までの処理と同様であるため、説明を省略する。
 S2108~2111の処理について説明する。
 受信制御部804は、端末装置A102からブロック暗号切替要求メッセージと、端末装置A102が保有するブロック暗号鍵の更新回数とを受信する(S2108)。受信制御部804は、ブロック暗号鍵記憶部814が記憶したブロック暗号鍵の更新回数を確認する(S2109)。受信制御部804は、(S2108)で受信した端末装置A102が保有するブロック暗号鍵の更新回数と、(S2109)で確認した端末装置B103が保有するブロック暗号鍵の更新回数とから暗号通信で用いるブロック暗号鍵及びその更新回数を確定する(S2110)。そして、受信制御部804は、通信インターフェイス802を介して、ブロック暗号切替了承メッセージとともに、確定したブロック暗号鍵の更新回数を端末装置A102へ送信し(S2111)、S2115に処理を進める。
 S2112からS2114の処理について説明する。
 受信制御部804は、ブロック暗号鍵記憶部814が記憶したブロック暗号鍵の更新回数を確認する(S2112)。受信制御部804は、(S2102)で受信した端末装置A102が保有するブロック暗号鍵の更新回数と、(S2112)で確認した端末装置B103が保有するブロック暗号鍵の更新回数とから暗号通信で用いるブロック暗号鍵及びその更新回数を確定する(S2113)。そして、受信制御部804は、通信インターフェイス802を介して、ブロック暗号通信了承メッセージとともに、確定したブロック暗号鍵の更新回数を端末装置A102へ送信し(S2114)、S2115に処理を進める。
 S2115以降の処理について説明する。
 受信制御部804は、ブロック暗号鍵について、S2110やS2113で確定した更新回数になっていない場合、確定した更新回数になるまで更新処理を繰り返し実行する(S2115)。これにより、ブロック暗号鍵が暗号通信で使用する状態になる。受信制御部804は、端末装置A102から暗号化通信データを受信する(S2116)。受信制御部804は、受信した暗号化通信データをブロック復号部809に送信して、暗号通信で使用する状態のブロック暗号鍵で復号させ通信データを生成させる(S2117)。生成された通信データは、受信データ記憶部812に記憶される。
 続いて、受信制御部804は、未受信の通信データの有無を確認する(S2118)。未受信の通信データがなければ(S2118でNO)、受信制御部804は処理を終了する。一方、未受信の通信データがあれば(S2118でYES)、受信制御部804はS2116へ処理を戻す。
 以上のように、実施の形態11に係る暗号化システム1では、端末装置間で互いの保有しているブロック暗号鍵の更新回数を共有することで、保有するブロック暗号鍵の更新回数に差異がある場合であっても、暗号方式の切り替えを行うことができる。
 実施の形態12.
 通常、バーナム暗号鍵及びブロック暗号鍵は未使用時には不揮発性メモリなどに保存されている。実施の形態12では、バーナム暗号鍵及びブロック暗号鍵を、使用する直前にRAMなどの揮発性メモリにロードし、不揮発性メモリからは消去する。これにより、不正な電源遮断などによって、すでに使用したバーナム暗号鍵及びブロック暗号鍵を取り出されることを防止する。
 通常、バーナム暗号鍵及びブロック暗号鍵(以下、この実施の形態においては暗号鍵と呼ぶ)は、装置の電源が遮断された場合でも、装置内で保持されている必要がある。そのため、未使用の暗号鍵はHDD等の不揮発性の記憶装置に保存されることになる。
 実施の形態12においては、暗号化通信データを不正者により復号されることを防ぐため、暗号鍵による暗号化もしくは復号が完了した後、暗号化や復号に使用した暗号鍵を消去し、再度同じ装置内で同じ暗号鍵を用いないこととする。
 ところが、暗号化もしくは復号処理が開始されてから完了する前に、装置の電源を遮断すると、暗号鍵の消去処理が正常に行われない場合がある。特に、この場合、暗号化通信データが通信路を流れており、かつ、装置内に暗号鍵が残る状態が発生し得る。この状態では、装置から暗号鍵を不正に抜き取られ、暗号化通信データを復号されてしまう危険性がある。
 図52は、実施の形態12における端末装置の動作の説明図である。
 図52に示すように、端末装置は、未使用時にはHDD等の不揮発性の記憶装置に保存している暗号鍵を、使用する直前に揮発性メモリにロードし、HDDや不揮発性メモリにある暗号鍵を消去する。これにより、装置の電源を遮断されたとしても装置内には暗号鍵が残留することがないため、不正な抜き取りによって暗号鍵が露見することがなく、暗号化通信データを復号される危険性がない。
 例えば、バーナム暗号鍵記憶部813やブロック暗号鍵記憶部814は、HDD等の不揮発性の記憶装置である。
 送信制御部803や受信制御部804から暗号化や復号の指示を受けたバーナム暗号化部806、バーナム復号部807、ブロック暗号化部808、ブロック復号部809は、バーナム暗号鍵記憶部813やブロック暗号鍵記憶部814から暗号鍵を取得する。すると、バーナム暗号化部806、バーナム復号部807、ブロック暗号化部808、ブロック復号部809は、取得した暗号鍵をRAM(Random Access Memory)等の揮発性の記憶装置に記憶するとともに、取得した暗号鍵をバーナム暗号鍵記憶部813やブロック暗号鍵記憶部814から削除する。そして、バーナム暗号化部806、バーナム復号部807、ブロック暗号化部808、ブロック復号部809は、揮発性の記憶装置に記憶した暗号鍵で暗号化や復号を行う。
 実施の形態13.
 実施の形態13では、バーナム暗号鍵及びブロック暗号鍵の残量や、現在の暗号通信に使われている暗号方式や、暗号方式が切り替わる時を通知することについて説明する。これにより、端末装置の利用者が現在の暗号通信及び暗号鍵の状況を直感的に把握することを可能にする。
 通常、バーナム暗号鍵及びブロック暗号鍵(以下、この実施の形態においては暗号鍵と呼ぶ)は、端末装置内で保有されているため、その情報を利用者が把握することは容易ではない。また、暗号通信における暗号化処理、復号処理についても端末装置内で行われるものである。そのため、例えば、バーナム暗号鍵の不足によって、バーナム暗号による暗号通信からブロック暗号による暗号通信に切り替わった時に、暗号方式の切り替えを利用者が把握することは容易ではない。
 暗号方式の切り替えは、暗号通信の安全性が変化することを意味している。また、暗号鍵の残量は暗号方式の切り替えが起こるまでの期間を示す指標となるものである。そのため、これらの情報を利用者が把握できることは重要である。そこで、実施の形態13では、暗号通信中に、現在の暗号鍵の残量と暗号方式とを画面表示、音及び端末の振動によって、利用者に通知する。
 まず、実施の形態13における端末装置A102及び端末装置B103の機能について説明する。
 図53は、実施の形態13における端末装置A102及び端末装置B103の機能構成を説明する機能ブロック図である。図53に示す端末装置は、図8に示す端末装置が備える機能に加え、暗号鍵残量通知制御部820(残量通知部)、暗号方式通知制御部821(残量通知部)、画面表示制御部822、音声出力制御部823、振動制御部824、ディスプレイ825、スピーカー826及び振動装置827を備える。
 暗号鍵残量通知制御部820は、バーナム暗号鍵記憶部813からバーナム暗号鍵の残量情報を取得し、ブロック暗号鍵記憶部814からブロック暗号鍵の残量情報を取得する。そして、暗号鍵残量通知制御部820は、取得したバーナム暗号鍵の残量情報とブロック暗号鍵の残量情報とを、利用者に暗号鍵の残量を通知するための通知情報に処理装置により変換して、画面表示制御部822、音声出力制御部823、振動制御部824に送る。
 暗号方式通知制御部821は、送信制御部803、受信制御部804から、現在使用している暗号方式を示す情報を取得する。そして、暗号方式通知制御部821は、取得した暗号方式を示す情報を、利用者に暗号方式を通知するための情報に変換して、画面表示制御部822、音声出力制御部823、振動制御部824に送る。また、暗号方式通知制御部821は、暗号方式が切り替わった場合には、暗号方式が切り替わったことを示す情報を画面表示制御部822、音声出力制御部823、振動制御部824に送る。
 画面表示制御部822は、暗号鍵残量通知制御部820及び暗号方式通知制御部821から受け取った情報より、ディスプレイ825に対して、画面表示を指示する。
 音声出力制御部823は、暗号鍵残量通知制御部820及び暗号方式通知制御部821から受け取った情報より、スピーカー826に対して、音声出力を指示する。
 振動制御部824は、暗号鍵残量通知制御部820及び暗号方式通知制御部821から受け取った情報より、振動装置827に対して、端末を振動させるように指示する。
 ディスプレイ825は、液晶ディスプレイなどの画面に絵や文字を表示することができる機器である。
 スピーカー826は、音声出力が可能な機器である。
 振動装置827は、端末を振動させることができる装置である。
 例えば、暗号鍵残量通知制御部820は、バーナム暗号鍵の残量やブロック暗号鍵の残量を、常時、数値等によりディスプレイ825に表示させておく。そして、暗号鍵残量通知制御部820は、バーナム暗号鍵が事前に決められた所定の量より少なくなり、実施の形態6で説明した増大処理が実行された場合、そのことを示す情報をディスプレイ825に表示するとともに、スピーカー826から音を出力させ、振動装置827を振動させる。また、暗号方式通知制御部821は、バーナム暗号からブロック暗号に暗号方式が切り替えられた場合、そのことを示す情報をディスプレイ825に表示するとともに、スピーカー826から音を出力させ、振動装置827を振動させる。さらに、暗号鍵残量通知制御部820は、最後の1つのブロック暗号鍵が使用され、実施の形態5で説明したブロック暗号鍵のランダム化が行われた場合、そのことを示す情報をディスプレイ825に表示するとともに、スピーカー826から音を出力させ、振動装置827を振動させる。
 つまり、暗号鍵残量通知制御部820と暗号方式通知制御部821とは、暗号鍵の変換や暗号方式の切り替えが行われ、暗号通信の安全性が低下する度に、そのことを利用者へ通知する。
 例えば、暗号鍵の変換や暗号方式の切り替えが行われる度に、使用される暗号鍵や暗号方式に応じて、ディスプレイ825に表示させる情報の色や表示させる文字、記号、図形や、音の種類、音の長さや、振動の種類、振動の間隔を変化させてもよい。
 なお、暗号鍵残量通知制御部820と暗号方式通知制御部821とは、暗号鍵の変換や暗号方式の切り替えが行われ、暗号通信の安全性が低下する前に、もうすぐ暗号鍵の変換や暗号方式の切り替えが行われることを利用者へ通知してもよい。これにより、例えば、利用者にバーナム暗号鍵を鍵共有装置から取得するように促すことができる。
 実施の形態14.
 実施の形態14では、上述した実施の形態における暗号通信の実現方法について説明する。
 実装の形態1~13における、暗号通信を行う前までの通信処理は、SIP(Session Initiation Protocol)で実現できる。
 具体的には、SIPのシーケンスに従い、バーナム暗号通信要求メッセージ、ブロック暗号通信要求メッセージをINVITEメッセージで行い、暗号鍵の情報などはSDP(Session Description Protocol)で記述する。バーナム暗号通信了承メッセージ、ブロック暗号通信了承メッセージは200 OKを示す応答メッセージで行い、INVITEメッセージと同様に暗号鍵の情報などはSDPで記述する。一方、バーナム暗号通信拒否メッセージは、488 Not Acceptableを示す応答メッセージで行う。
 また、暗号通信及び暗号通信中の暗号方式の切り替えなどはSRTP(Secure Real-Time Protocol)で実現できる。
 つまり、SIPに従ったネゴシエーションにより、開始する暗号方式と暗号鍵を決定し、SRTPに従った通信により、暗号通信と暗号方式の切り替えを実現することができる。
 以上の実施の形態における端末装置801のハードウェア構成について説明する。
 図54は、端末装置801のハードウェア構成の一例を示す図である。
 図54に示すように、端末装置801は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、ディスプレイ825、キーボード902(K/B)、スピーカー826、振動装置827、通信ボード915(通信インターフェイス802の一例)、磁気ディスク装置920(HDD,固定ディスク装置)と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置920は、所定の固定ディスクインタフェースを介して接続される。
 磁気ディスク装置920又はROM913などには、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
 プログラム群923には、上記の説明において「送信制御部803」、「受信制御部804」、「バーナム暗号鍵管理部805」、「バーナム暗号化部806」、「バーナム復号部807」、「ブロック暗号化部808」、「ブロック復号部809」、「バーナム暗号鍵取得部810」、「ブロック暗号鍵取得部815」、「暗号鍵変換部816」、「ブロック暗号鍵更新部817」、「ハッシュ関数処理部818」、「バーナム暗号鍵増大部819」、「暗号鍵残量通知制御部820」、「暗号方式通知制御部821」、「画面表示制御部822」、「音声出力制御部823」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
 ファイル群924には、上記の説明において「送信データ記憶部811」、「受信データ記憶部812」、「バーナム暗号鍵記憶部813」、「ブロック暗号鍵記憶部814」に格納される情報やデータや信号値や変数値やパラメータが、「データベース」の各項目として記憶される。「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPU911の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPU911の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
 なお、鍵共有装置1101も、端末装置801と同様に、プログラムを実行するCPU911を備えている。CPU911は、バス912を介してROM913、RAM914、キーボード902(K/B)、通信ボード915(通信インターフェイス1102の一例)、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
 磁気ディスク装置920又はROM913などには、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
 プログラム群923には、上記の説明において「バーナム暗号鍵共有部1103」、「バーナム暗号鍵転送部1104」、「ブロック暗号鍵共有部1106」、「ブロック暗号鍵転送部1107」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。
 ファイル群924には、上記の説明において「バーナム暗号鍵記憶部1105」、「ブロック暗号鍵記憶部1108」に格納される情報やデータや信号値や変数値やパラメータが、「データベース」の各項目として記憶される。
 また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、その他光ディスク等の記録媒体やICチップに記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
 また、上記の説明において「~部」として説明するものは、「~回路」、「~装置」、「~機器」、「~手段」、「~機能」であってもよく、また、「~ステップ」、「~手順」、「~処理」であってもよい。また、「~装置」として説明するものは、「~回路」、「~機器」、「~手段」、「~機能」であってもよく、また、「~ステップ」、「~手順」、「~処理」であってもよい。すなわち、「~部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組合せ、さらには、ファームウェアとの組合せで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ROM913等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、上記で述べた「~部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「~部」の手順や方法をコンピュータ等に実行させるものである。
 101,106 ネットワーク、102 端末装置A、103 端末装置B、104 鍵共有装置C、105 鍵共有装置D、107,108 通信ケーブル、604 暗号化通信データ、801 端末装置、802 通信インターフェイス、803 送信制御部、804 受信制御部、805 バーナム暗号鍵管理部、806 バーナム暗号化部、807 バーナム復号部、808 ブロック暗号化部、809 ブロック復号部、810 バーナム暗号鍵取得部、811 送信データ記憶部、812 受信データ記憶部、813 バーナム暗号鍵記憶部、814 ブロック暗号鍵記憶部、815 ブロック暗号鍵取得部、816 暗号鍵変換部、817 ブロック暗号鍵更新部、818 ハッシュ関数処理部、819 バーナム暗号鍵増大部、820 暗号鍵残量通知制御部、821 暗号方式通知制御部、822 画面表示制御部、823 音声出力制御部、824 振動制御部、825 ディスプレイ、826 スピーカー、827 振動装置、1101 鍵共有装置、1102 通信インターフェイス、1103 バーナム暗号鍵共有部、1104 バーナム暗号鍵転送部、1105 バーナム暗号鍵記憶部、1106 ブロック暗号鍵共有部、1107 ブロック暗号鍵転送部、1108 ブロック暗号鍵記憶部。

Claims (18)

  1.  ワンタイムパッド暗号で使用する、複数ビットからなるワンタイムパッド暗号鍵を記憶するワンタイムパッド暗号鍵記憶部と、
     前記ワンタイムパッド暗号鍵記憶部が記憶したワンタイムパッド暗号鍵の一部を順に用いて、通信データをワンタイムパッド暗号により暗号化して暗号化データを生成するワンタイムパッド暗号化部と、
     ブロック暗号で使用するブロック暗号鍵を記憶するブロック暗号鍵記憶部と、
     前記ブロック暗号鍵記憶部が記憶したブロック暗号鍵を用いて、通信データをブロック暗号により暗号化して暗号化データを生成するブロック暗号化部と、
     前記ワンタイムパッド暗号鍵記憶部が記憶したワンタイムパッド暗号鍵の残りビット数に応じて、通信データを前記ワンタイムパッド暗号化部に暗号化させるか、前記ブロック暗号化部に暗号化させるかを制御する暗号化制御部と
    を備えることを特徴とする暗号化装置。
  2.  前記暗号化制御部は、通信データを所定の単位データ毎に順次前記ワンタイムパッド暗号化部に暗号化させている場合に、前記ワンタイムパッド暗号鍵記憶部が記憶したワンタイムパッド暗号鍵のビット数が次に暗号化させる単位データのビット数より少なくなると、通信データを前記ブロック暗号化部に暗号化させるように切り替える
    ことを特徴とする請求項1に記載の暗号化装置。
  3.  前記暗号化制御部は、通信データを前記ブロック暗号化部に暗号化させている場合に、前記ワンタイムパッド暗号鍵記憶部が記憶したワンタイムパッド暗号鍵が前記単位データのビット数よりも多い所定の第1ビット数以上になると、通信データを前記ワンタイムパッド暗号化部に暗号化させるように切り替える
    ことを特徴とする請求項2に記載の暗号化装置。
  4.  前記暗号化制御部は、前記ワンタイムパッド暗号鍵記憶部が記憶したワンタイムパッド暗号鍵が通信開始時に前記単位データ量以上である場合、通信データを前記ワンタイムパッド暗号化部に暗号化させ、通信開始時に前記ワンタイムパッド暗号鍵記憶部が記憶したワンタイムパッド暗号鍵が前記単位データ量よりも少ない場合、通信データを前記ブロック暗号化部に暗号化させる
    ことを特徴とする請求項2又は3に記載の暗号化装置。
  5.  前記暗号化制御部は、さらに、通信データの送信先の端末が記憶したワンタイムパッド暗号鍵の残りビット数に応じて、通信データを前記ワンタイムパッド暗号化部に暗号化させるか、前記ブロック暗号化部に暗号化させるかを制御する
    ことを特徴とする請求項1から4までのいずれかに記載の暗号化装置。
  6.  前記暗号化装置は、さらに、
     前記ワンタイムパッド暗号鍵記憶部が記憶したワンタイムパッド暗号鍵が予め定められた第2ビット数よりも少なくなった場合に、通信データの送信先の端末と予め共有した方法により、前記ワンタイムパッド暗号鍵記憶部が記憶したワンタイムパッド暗号鍵のビット数を増大させるワンタイムパッド暗号鍵増大部
    を備えることを特徴とする請求項1から5までのいずれかに記載の暗号化装置。
  7.  前記ワンタイムパッド暗号鍵増大部は、ワンタイムパッド暗号鍵のビット数を増大させる処理を所定の回数以上実行した場合には、ワンタイムパッド暗号鍵を増大させることを止める
    ことを特徴とする請求項6に記載の暗号化装置。
  8.  前記ワンタイムパッド暗号鍵増大部は、前記ワンタイムパッド暗号鍵記憶部が記憶したワンタイムパッド暗号鍵に対して、所定のビット毎に乱数値を挿入する方法により、ワンタイムパッド暗号鍵のビット数を増大させる
    ことを特徴とする請求項6又は7に記載の暗号化装置。
  9.  前記ワンタイムパッド暗号鍵増大部は、前記ワンタイムパッド暗号鍵記憶部が記憶したワンタイムパッド暗号鍵を入力として、所定の乱数発生関数を計算する方法により発生した乱数値を新たなワンタイムパッド暗号鍵とする
    ことを特徴とする請求項6又は7に記載の暗号化装置。
  10.  前記暗号化装置は、さらに、
     通信データの送信先の端末と予め共有した方法により、前記ワンタイムパッド暗号鍵記憶部が記憶したワンタイムパッド暗号鍵からブロック暗号鍵を生成する暗号鍵変換部
    を備え、
     前記ブロック暗号鍵記憶部は、前記暗号鍵変換部が生成したブロック暗号鍵を記憶する
    ことを特徴とする請求項1から9までのいずれかに記載の暗号化装置。
  11.  前記ブロック暗号鍵記憶部は、複数のブロック暗号鍵を記憶し、
     前記暗号化装置は、さらに、
     前記ブロック暗号化部が暗号化に用いた使用済のブロック暗号鍵を前記ブロック暗号鍵記憶部から削除するブロック暗号鍵更新部
    を備えることを特徴とする請求項1から10までのいずれかに記載の暗号化装置。
  12.  前記暗号化装置は、さらに、
     通信データの送信先の端末と予め共有した方法により、前記ブロック暗号鍵記憶部が記憶したブロック暗号鍵から新たなブロック暗号鍵を生成するブロック暗号鍵生成部
    を備えることを特徴とする請求項1から11までのいずれかに記載の暗号化装置。
  13.  前記暗号化制御部は、前記ブロック暗号化部に暗号化させる場合に、通信データの送信先端末との間で、どのブロック暗号鍵を使用するかを確定し、確定したブロック暗号鍵を用いて前記ブロック暗号化部に暗号化させる
    ことを特徴とする請求項11又は12に記載の暗号化装置。
  14.  前記ワンタイムパッド暗号鍵記憶部は、ワンタイムパッド暗号鍵を記憶する不揮発性の記憶装置であり、
     前記ワンタイムパッド暗号化部は、ワンタイムパッド暗号鍵を前記ワンタイムパッド暗号鍵記憶部から揮発性の記憶装置へコピーするとともに、コピー元のワンタイムパッド暗号鍵を前記ワンタイムパッド暗号鍵記憶部から削除した上で、前記揮発性の記憶装置にコピーしたワンタイムパッド暗号鍵を用いて通信データを暗号化する
    ことを特徴とする請求項1から13までのいずれかに記載の暗号化装置。
  15.  前記暗号化装置は、さらに、
     前記暗号化制御部が用いる暗号化方式を切り替えた場合に、ユーザへ通知する通知部
    を備えることを特徴とする1から14までのいずれかに記載の暗号化装置。
  16.  暗号化装置と復号装置とを備える暗号化システムであり、
     前記暗号化装置は、
     ワンタイムパッド暗号で使用する、複数ビットからなるワンタイムパッド暗号鍵を記憶するワンタイムパッド暗号鍵記憶部と、
     前記ワンタイムパッド暗号鍵記憶部が記憶したワンタイムパッド暗号鍵の一部を順に用いて、通信データをワンタイムパッド暗号により暗号化して暗号化データを生成するワンタイムパッド暗号化部と、
     ブロック暗号で使用するブロック暗号鍵を記憶するブロック暗号鍵記憶部と、
     前記ブロック暗号鍵記憶部が記憶したブロック暗号鍵を用いて、通信データをブロック暗号により暗号化して暗号化データを生成するブロック暗号化部と、
     前記ワンタイムパッド暗号鍵記憶部が記憶したワンタイムパッド暗号鍵の残りビット数に応じて、通信データを前記ワンタイムパッド暗号化部に暗号化させるか、前記ブロック暗号化部に暗号化させるかを制御するとともに、前記ワンタイムパッド暗号化部と前記ブロック暗号化部とのどちらに暗号化させるかを示すメッセージを前記復号装置へ通知する暗号化制御部と、
    を備え、
     前記復号装置は、
     ワンタイムパッド暗号で使用する、複数ビットからなるワンタイムパッド復号鍵を記憶するワンタイムパッド復号鍵記憶部と、
     前記ワンタイムパッド復号鍵記憶部が記憶したワンタイムパッド復号鍵の一部を順に用いて、暗号化データをワンタイムパッド暗号により復号して通信データを生成するワンタイムパッド復号部と、
     ブロック暗号で使用するブロック復号鍵を記憶するブロック復号鍵記憶部と、
     前記ブロック復号鍵記憶部が記憶したブロック復号鍵を用いて、暗号化データをブロック暗号により復号して通信データを生成するブロック復号部と、
     前記暗号化制御部から通知されたメッセージに応じて、暗号化データを前記ワンタイムパッド復号部に復号させるか、前記ブロック復号部に復号させるかを制御する復号制御部と
    を備えることを特徴とする暗号化システム。
  17.  処理装置が、記憶装置に記憶された複数ビットからなるワンタイムパッド暗号鍵の一部を順に用いて、通信データをワンタイムパッド暗号により暗号化して暗号化データを生成するワンタイムパッド暗号化工程と、
     処理装置が、記憶装置に記憶されたブロック暗号鍵を用いて、通信データをブロック暗号により暗号化して暗号化データを生成するブロック暗号化工程と、
     処理装置が、記憶装置に記憶されたワンタイムパッド暗号鍵の残りビット数に応じて、通信データを前記ワンタイムパッド暗号化工程でワンタイムパッド暗号により暗号化させるか、前記ブロック暗号化工程でブロック暗号により暗号化させるかを制御する暗号化制御工程と
    を備えることを特徴とする暗号化方法。
  18.  記憶装置に記憶された複数ビットからなるワンタイムパッド暗号鍵の一部を順に用いて、通信データをワンタイムパッド暗号により暗号化して暗号化データを生成するワンタイムパッド暗号化処理と、
     記憶装置に記憶されたブロック暗号鍵を用いて、通信データをブロック暗号により暗号化して暗号化データを生成するブロック暗号化処理と、
     記憶装置に記憶されたワンタイムパッド暗号鍵の残りビット数に応じて、通信データを前記ワンタイムパッド暗号化処理でワンタイムパッド暗号により暗号化させるか、前記ブロック暗号化処理でブロック暗号により暗号化させるかを制御する暗号化制御処理と
    をコンピュータに実行させることを特徴とする暗号化プログラム。
PCT/JP2010/064238 2010-08-24 2010-08-24 暗号化装置、暗号化システム、暗号化方法及び暗号化プログラム WO2012025988A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2012530456A JP5362117B2 (ja) 2010-08-24 2010-08-24 暗号化装置、暗号化システム、暗号化方法及び暗号化プログラム
US13/816,736 US8948377B2 (en) 2010-08-24 2010-08-24 Encryption device, encryption system, encryption method, and encryption program
PCT/JP2010/064238 WO2012025988A1 (ja) 2010-08-24 2010-08-24 暗号化装置、暗号化システム、暗号化方法及び暗号化プログラム
CN201080068707.6A CN103081397B (zh) 2010-08-24 2010-08-24 加密装置、加密系统、加密方法
EP10856396.6A EP2611062B1 (en) 2010-08-24 2010-08-24 Encryption device, encryption system, encryption method and encryption program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/064238 WO2012025988A1 (ja) 2010-08-24 2010-08-24 暗号化装置、暗号化システム、暗号化方法及び暗号化プログラム

Publications (1)

Publication Number Publication Date
WO2012025988A1 true WO2012025988A1 (ja) 2012-03-01

Family

ID=45723017

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/064238 WO2012025988A1 (ja) 2010-08-24 2010-08-24 暗号化装置、暗号化システム、暗号化方法及び暗号化プログラム

Country Status (5)

Country Link
US (1) US8948377B2 (ja)
EP (1) EP2611062B1 (ja)
JP (1) JP5362117B2 (ja)
CN (1) CN103081397B (ja)
WO (1) WO2012025988A1 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103441841A (zh) * 2013-08-08 2013-12-11 唐山松下产业机器有限公司 一种焊接数据自加密解密系统及方法
JP2014068313A (ja) * 2012-09-27 2014-04-17 Toshiba Corp 通信方法、アプリケーション装置、プログラム及び通信システム
JP2014143493A (ja) * 2013-01-22 2014-08-07 Toshiba Corp 通信装置、通信システムおよびプログラム
JP2015097423A (ja) * 2015-01-21 2015-05-21 株式会社東芝 通信装置、鍵生成装置、通信方法、プログラムおよび通信システム
JP2015154342A (ja) * 2014-02-17 2015-08-24 株式会社東芝 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法
JP2015159619A (ja) * 2015-06-09 2015-09-03 株式会社東芝 通信方法、アプリケーション装置、プログラム及び通信システム
JP2015179974A (ja) * 2014-03-19 2015-10-08 株式会社東芝 通信装置、通信方法およびプログラム
WO2016147340A1 (ja) * 2015-03-18 2016-09-22 三菱電機株式会社 暗号通信装置及び暗号通信端末及び暗号通信方法及び暗号通信プログラム
JP2017038413A (ja) * 2016-11-24 2017-02-16 株式会社東芝 通信装置、鍵生成装置、通信方法、プログラムおよび通信システム
JP2017220698A (ja) * 2016-06-03 2017-12-14 日本電気株式会社 鍵管理装置、通信システム、端末装置、鍵管理方法、通信方法、処理方法、プログラム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10454674B1 (en) * 2009-11-16 2019-10-22 Arm Limited System, method, and device of authenticated encryption of messages
CN103548300B (zh) 2011-07-25 2016-10-19 三菱电机株式会社 加密装置以及加密方法
US9792451B2 (en) * 2011-12-09 2017-10-17 Echarge2 Corporation System and methods for using cipher objects to protect data
US9428056B2 (en) 2014-03-11 2016-08-30 Textron Innovations, Inc. Adjustable synthetic vision
JP6203093B2 (ja) * 2014-03-19 2017-09-27 株式会社東芝 通信システム、通信装置、通信方法およびプログラム
JP6338949B2 (ja) * 2014-07-04 2018-06-06 国立大学法人名古屋大学 通信システム及び鍵情報共有方法
CN105141756B (zh) * 2015-07-29 2018-03-09 飞天诚信科技股份有限公司 一种处理异常的方法和装置
US9660803B2 (en) 2015-09-15 2017-05-23 Global Risk Advisors Device and method for resonant cryptography
UY36412A (es) 2015-11-27 2017-06-30 Murguía Hughes Julián Técnica de encriptación simétrica polialgorítmica
CN107086907B (zh) * 2016-02-15 2020-07-07 阿里巴巴集团控股有限公司 用于量子密钥分发过程的密钥同步、封装传递方法及装置
CN107347058B (zh) * 2016-05-06 2021-07-23 阿里巴巴集团控股有限公司 数据加密方法、数据解密方法、装置及系统
CN107317789B (zh) * 2016-04-27 2020-07-21 华为技术有限公司 密钥分发、认证方法,装置及系统
US10116450B1 (en) * 2016-11-02 2018-10-30 ISARA Corporation Merkle signature scheme using subtrees
US10581616B1 (en) 2019-07-11 2020-03-03 ISARA Corporation Managing nodes of a cryptographic hash tree in a hash-based digital signature scheme
GB2601925B (en) * 2019-11-08 2022-10-26 Arqit Ltd Quantum-safe networking
CN111740819B (zh) * 2020-07-01 2022-10-25 重庆理工大学 一种适用于plc的时间基一次性密码方法及系统
WO2022228684A1 (en) * 2021-04-29 2022-11-03 Telefonaktiebolaget Lm Ericsson (Publ) Quantum communication method and apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07250057A (ja) * 1994-03-14 1995-09-26 Mita Ind Co Ltd 通信機器
JPH1117673A (ja) * 1997-06-25 1999-01-22 Canon Inc 共通鍵暗号通信方法及びその通信ネットワーク
JP2000278260A (ja) * 1999-03-24 2000-10-06 Hitachi Information Systems Ltd 暗号通信方法およびそのプログラムを記録した記録媒体

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1310719A (en) 1919-07-22 Secret signaling system
US6307940B1 (en) 1997-06-25 2001-10-23 Canon Kabushiki Kaisha Communication network for encrypting/deciphering communication text while updating encryption key, a communication terminal thereof, and a communication method thereof
US6598161B1 (en) * 1999-08-09 2003-07-22 International Business Machines Corporation Methods, systems and computer program products for multi-level encryption
JP3742282B2 (ja) * 2000-06-30 2006-02-01 株式会社東芝 放送受信方法および放送受信装置および情報配信方法および情報配信装置
JP4015385B2 (ja) * 2001-07-31 2007-11-28 三菱電機株式会社 暗号化装置及び暗号化方法及び暗号化プログラム及び復号装置及び復号方法及び復号プログラム及び暗号化復号システム
US7197142B2 (en) * 2001-08-24 2007-03-27 Alten Alexander I System and methods for a vernam stream cipher
US6898288B2 (en) * 2001-10-22 2005-05-24 Telesecura Corporation Method and system for secure key exchange
JP2002185445A (ja) * 2001-10-29 2002-06-28 Hiroshi Sato 暗号化方法
US20020076044A1 (en) * 2001-11-16 2002-06-20 Paul Pires Method of and system for encrypting messages, generating encryption keys and producing secure session keys
JP2003283485A (ja) 2002-03-22 2003-10-03 Matsushita Electric Ind Co Ltd 暗号鍵管理方法及び暗号鍵管理システム
US7190791B2 (en) * 2002-11-20 2007-03-13 Stephen Laurence Boren Method of encryption using multi-key process to create a variable-length key
US7227955B2 (en) * 2003-02-07 2007-06-05 Magiq Technologies, Inc. Single-photon watch dog detector for folded quantum key distribution system
US7961874B2 (en) * 2004-03-03 2011-06-14 King Fahd University Of Petroleum & Minerals XZ-elliptic curve cryptography with secret key embedding
JP2005318281A (ja) * 2004-04-28 2005-11-10 Mitsubishi Electric Corp 通信システムおよび通信装置
US20060177065A1 (en) * 2005-02-09 2006-08-10 Wal-Mart Stores, Inc. System and methods for encrypting data utilizing one-time pad key
US7769168B2 (en) * 2005-03-31 2010-08-03 Microsoft Corporation Locally interative encryption generating compliant ciphertext for general syntax specifications
KR20080073348A (ko) * 2005-11-23 2008-08-08 코닌클리케 필립스 일렉트로닉스 엔.브이. 멀티 레인 고속 암호화 및 복호화
JP4595853B2 (ja) * 2006-03-22 2010-12-08 日本電気株式会社 暗号システム、暗号回路及びそれらに用いる暗号制御方法
US8396211B2 (en) * 2006-07-11 2013-03-12 Research In Motion Limited System and method for dynamic modification of allowable electronic message properties
JP5424008B2 (ja) 2006-12-19 2014-02-26 日本電気株式会社 共有情報の管理方法およびシステム
JP4802123B2 (ja) * 2007-03-07 2011-10-26 富士通株式会社 情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体
JP5288087B2 (ja) 2007-06-11 2013-09-11 日本電気株式会社 秘匿通信ネットワークにおける暗号鍵管理方法および装置
EP2186250B1 (en) * 2007-08-31 2019-03-27 IP Reservoir, LLC Method and apparatus for hardware-accelerated encryption/decryption
JP2009194860A (ja) * 2008-02-18 2009-08-27 Toshiba Corp 送信装置、受信装置、コンテンツ送受信システム、コンテンツ送信方法、コンテンツ受信方法及びプログラム
US20100290627A1 (en) 2008-02-29 2010-11-18 Mitsubishi Electric Corporation Key management server, terminal, key sharing system, key delivery program, key reception program, key delivery method, and key reception method
EP2301185B1 (en) * 2008-05-02 2019-06-26 EntIT Software LLC Format-preserving cryptographic systems
WO2010070230A1 (fr) * 2008-12-19 2010-06-24 France Telecom Procede de mise en oeuvre d'un algorithme de chiffrement par blocs
JP5464413B2 (ja) * 2009-08-19 2014-04-09 日本電気株式会社 秘匿通信システムにおける通信装置および通信制御方法
US8160243B1 (en) * 2009-10-01 2012-04-17 Rockwell Collins, Inc. System, apparatus, and method for the secure storing of bulk data using one-time pad encryption
US8509424B2 (en) * 2009-11-15 2013-08-13 Ante Deng Fast key-changing hardware apparatus for AES block cipher

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07250057A (ja) * 1994-03-14 1995-09-26 Mita Ind Co Ltd 通信機器
JPH1117673A (ja) * 1997-06-25 1999-01-22 Canon Inc 共通鍵暗号通信方法及びその通信ネットワーク
JP2000278260A (ja) * 1999-03-24 2000-10-06 Hitachi Information Systems Ltd 暗号通信方法およびそのプログラムを記録した記録媒体

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9197608B2 (en) 2012-09-27 2015-11-24 Kabushiki Kaisha Toshiba Communication method, application device, program, and communication system
JP2014068313A (ja) * 2012-09-27 2014-04-17 Toshiba Corp 通信方法、アプリケーション装置、プログラム及び通信システム
JP2014143493A (ja) * 2013-01-22 2014-08-07 Toshiba Corp 通信装置、通信システムおよびプログラム
CN103441841A (zh) * 2013-08-08 2013-12-11 唐山松下产业机器有限公司 一种焊接数据自加密解密系统及方法
CN103441841B (zh) * 2013-08-08 2016-06-22 唐山松下产业机器有限公司 一种焊接数据自加密解密系统及方法
JP2015154342A (ja) * 2014-02-17 2015-08-24 株式会社東芝 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法
JP2015179974A (ja) * 2014-03-19 2015-10-08 株式会社東芝 通信装置、通信方法およびプログラム
JP2015097423A (ja) * 2015-01-21 2015-05-21 株式会社東芝 通信装置、鍵生成装置、通信方法、プログラムおよび通信システム
WO2016147340A1 (ja) * 2015-03-18 2016-09-22 三菱電機株式会社 暗号通信装置及び暗号通信端末及び暗号通信方法及び暗号通信プログラム
JPWO2016147340A1 (ja) * 2015-03-18 2017-06-08 三菱電機株式会社 暗号通信装置及び暗号通信端末及び暗号通信方法及び暗号通信プログラム
JP2015159619A (ja) * 2015-06-09 2015-09-03 株式会社東芝 通信方法、アプリケーション装置、プログラム及び通信システム
JP2017220698A (ja) * 2016-06-03 2017-12-14 日本電気株式会社 鍵管理装置、通信システム、端末装置、鍵管理方法、通信方法、処理方法、プログラム
JP2017038413A (ja) * 2016-11-24 2017-02-16 株式会社東芝 通信装置、鍵生成装置、通信方法、プログラムおよび通信システム

Also Published As

Publication number Publication date
JPWO2012025988A1 (ja) 2013-10-28
EP2611062A4 (en) 2017-07-19
CN103081397A (zh) 2013-05-01
EP2611062B1 (en) 2018-07-18
CN103081397B (zh) 2015-09-23
EP2611062A1 (en) 2013-07-03
US8948377B2 (en) 2015-02-03
US20130142328A1 (en) 2013-06-06
JP5362117B2 (ja) 2013-12-11

Similar Documents

Publication Publication Date Title
JP5362117B2 (ja) 暗号化装置、暗号化システム、暗号化方法及び暗号化プログラム
JP5512045B2 (ja) 暗号化装置、暗号化方法及び暗号化プログラム
EP2611061A1 (en) Communication terminal, communication system, communication method and communication program
JP4595853B2 (ja) 暗号システム、暗号回路及びそれらに用いる暗号制御方法
WO2012111714A1 (ja) ファイルサーバ装置およびファイルサーバシステム
JP2006191626A (ja) 電子文書をセキュアに通信するシステム、方法およびプログラム
KR20200135128A (ko) 음성 통신용 대칭형 양자 암호화 키 기반 암호화 장치
KR100991222B1 (ko) 암호화 및 복호를 위한 장치, 방법 및 기록 매체
JP2007114404A (ja) データ処理装置、およびデータ処理方法
KR20200135157A (ko) 네트워크 보안 대칭형 양자 암호키 기반 암호화 장치
JP2007142591A (ja) 暗号管理方法
KR102285885B1 (ko) 무선 데이터 통신용 대칭형 양자 암호화 키 기반 암호화 장치
JP6058514B2 (ja) 暗号処理方法、暗号システム、およびサーバ
JP2006139784A (ja) ドキュメント処理装置とその装置にデータ暗号化サービスを追加する方法およびプログラム
JP2008035305A (ja) 暗号化方法及びデータ秘匿方法
JP6301008B2 (ja) 暗号通信システムの端末装置、暗号通信システムの中継装置、暗号通信システムの制御方法
EP2175579B1 (en) Encryption and decryption device and method for voice communications
CN111064570B (zh) 共享密钥处理方法、装置、存储介质和电子设备
JPH1041934A (ja) 情報暗号化復号化方法および情報暗号化復号化装置
JP2008219743A (ja) ファイル暗号管理システムとそのシステムを実施する方法
JP4664692B2 (ja) 暗号化方法、復号方法、暗号化装置、復号装置、暗号装置、およびプログラム
JP2008219849A (ja) 暗号管理装置及びその装置における暗号管理方法と暗号管理プログラム
JP4277833B2 (ja) コンテンツ暗号化装置、コンテンツ暗号化方法
JP2020127084A (ja) 暗号化システム及び暗号化方法
JPH08223152A (ja) 暗号化方法および暗号情報変換装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080068707.6

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10856396

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012530456

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2010856396

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13816736

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE