[go: up one dir, main page]

JP5346933B2 - 暗号化装置及び暗号化システム - Google Patents

暗号化装置及び暗号化システム Download PDF

Info

Publication number
JP5346933B2
JP5346933B2 JP2010515742A JP2010515742A JP5346933B2 JP 5346933 B2 JP5346933 B2 JP 5346933B2 JP 2010515742 A JP2010515742 A JP 2010515742A JP 2010515742 A JP2010515742 A JP 2010515742A JP 5346933 B2 JP5346933 B2 JP 5346933B2
Authority
JP
Japan
Prior art keywords
data
encryption
encrypted
unit
area
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2010515742A
Other languages
English (en)
Other versions
JPWO2009147788A1 (ja
Inventor
真佐男 野仲
裕一 布田
薫 横田
なつめ 松崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2010515742A priority Critical patent/JP5346933B2/ja
Publication of JPWO2009147788A1 publication Critical patent/JPWO2009147788A1/ja
Application granted granted Critical
Publication of JP5346933B2 publication Critical patent/JP5346933B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]
    • 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/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
    • 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/88Medical equipments

Landscapes

  • Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本発明は、暗号化を行う単位データのサイズよりも小さな複数のデータを暗号化して蓄積する技術に関する。
技術に関する。
近年、温度センサーなどの各種センサー機能と通信機能の両方を兼ね備えたタグの開発が進められており、それらを用いた各種アプリケーションも検討されている。例えば、輸送する生鮮食料品や美術品に、温度センサーを有するタグを付けて、輸送時の温度を計測するような応用が考えられる。また別の応用として、体温などを長期間あるいは定期的に計測する必要のある患者向けの健康管理用途が考えられる。このようにして、それら計測機能を有するタグ(以降、センサータグと呼ぶ)を輸送時の品物や患者の体に貼り付けることで、定期的に状態を計測することができる。計測した情報は、センサータグ内に蓄積しておき、一定期間の計測が終わった後に、品物や患者の体から取り外して、通信機能を用いて内部のデータを読み出す。センサータグは超小型化することにより、品物の運搬者や患者が意識することなく定期的な計測が可能となる。
上記の健康管理用途にセンサータグを用いる場合、センサータグ内に蓄積する計測情報の機密性担保が必要となる。なぜなら、計測した生体情報は、被計測者にとってはプライバシー情報であるからである。そのため、体に貼り付けていたセンサータグが気づかないうちに剥がれ落ちて第三者に拾得された場合や、データ読出し後のセンサータグの管理の不徹底により第三者の手に渡った場合には、被計測者の生体情報の漏洩を防止する必要がある。そこで、データ漏洩を防止するために、計測した生体情報をセンサータグ内部で暗号化して蓄積するような仕組みが必要である。
暗号化の方法には大きく2種類存在する。秘密鍵暗号を用いる方法と、公開鍵暗号を用いる方法である。秘密鍵暗号は暗号化鍵と復号鍵は同一で、公開鍵暗号は暗号化鍵(公開鍵)と復号鍵(秘密鍵)が異なる点が特徴である。また、何れの場合にも、センサータグには暗号化鍵のみを入れることになる。ここでは、センサータグが解析され、内部データが漏洩する場合を想定する。そのような想定の下では、暗号化鍵が解析されることを意味する。
秘密鍵暗号を用いた場合、暗号化鍵は復号鍵と同じなので、その暗号化鍵を用いて、センサータグに入っている暗号化データを容易に復号することが出来る。よって、機密性担保が十分であるとは言えない。
一方、公開鍵暗号を用いた場合、暗号化鍵は入手することが出来るが、公開鍵暗号の特徴により、暗号化鍵から復号鍵を現実時間で導出することができない。よって、復号鍵を導出できず、センサータグに入っている暗号化データを復号することが出来ない。このように、蓄積データを暗号化する場合に公開鍵暗号を用いると、機密性を高めることが出来る。その公開鍵暗号には様々な方式が提案されており、例えばRSA方式(Rivest Shamir Adleman)や、ElGamal方式、楕円ElGamal方式や、NTRU方式などがある。
特表2000−516733号公報
公開鍵暗号を用いる場合、暗号化を行う生体情報のサイズは、公開鍵暗号で暗号化する単位に比べて小さいという特徴がある。また、生体情報は連続して取得される。
このような場合における暗号化の実現方法は、大きく二つに分けられる。
一つ目は、小さなサイズの生体情報に対して固定値(パディング)を埋めて、暗号化する方法である。二つ目は、小さなサイズの生体情報を暗号化せずに一時的に蓄積し、それらがある一定サイズ以上に貯まったら連結して暗号化する方法である。
一つ目の方法の場合、暗号文サイズが大きくなるという課題が存在する。具体例を挙げて説明する。ここでは、1024ビットのRSA暗号と167次元のNTRU暗号を想定し、生体情報は24ビットとする。1024ビットのRSA暗号の場合、暗号化の単位は1024ビットとなる。そのため生体情報24ビットに対して1000ビット分の固定値(パディング)を連結して、その連結した値に対して暗号化する。これにより、1024ビット分の平文に対する暗号文が生成されることになるが、実質有意な値は24ビット分のみとなる。また167次元のNTRU暗号の場合、暗号化の単位は167ビットとなる。そのため生体情報24ビットに対して143ビット分の固定値(パディング)を連結して、その連結した値に対して暗号化する。よって、167ビット分の平文に対する暗号文が生成されることになるが、実質有意な値は24ビット分のみとなる。共に、本来暗号化する必要のない固定値(パディング)のサイズ分、暗号文データのサイズが増加してしまい、非効率的となる。
一方、二つ目の方法の場合、一時的に蓄積するデータはまだ暗号化されていない状態なので、万が一内部解析されると、そのデータがそのまま漏洩するというセキュリティの課題が存在する。
本発明は、上記課題に鑑みて、暗号化されたデータのサイズの増加を極力抑えつつ、蓄積データが解析されたとしても平文データは漏洩しない暗号化装置、暗号化システム、暗号化方法、コンピュータプログラム、集積回路を提供することを目的とする。
上記目的を達成するために、本発明の一態様である、暗号化する単位長より小さい暗号化対象のデータを暗号化する暗号化装置は、前記暗号化する単位長に基づいて定められる暗号化領域の中で既に暗号化に用いられた利用済領域を示す管理情報を記憶する記憶部と、前記暗号化する単位長より小さい新たな暗号化対象のデータを暗号化する際、前記管理情報に基づいて前記暗号化領域の中の利用済領域を確認し、前記暗号化領域の中で前記利用済領域以外の未利用領域に前記新たな暗号化対象のデータを追加することで暗号化データを生成する暗号部と、前記暗号化データを生成すると、前記新たに暗号化されたデータが前記利用済領域に含まれるように前記管理情報を更新する制御部とを具備することを特徴とする。
この構成によると、暗号化装置は、未利用領域に前記新たな暗号化対象のデータを追加することで暗号化データを生成している。これにより、暗号化する単位長より小さい暗号化対象のデータを暗号化する毎に、暗号化装置は前記単位長の暗号化データを生成する必要がなくなるので、暗号化に利用されるデータサイズを全体として大幅に削減できる。したがって、暗号化装置は、暗号化されたデータのサイズの増加を極力抑えることができる。また、蓄積されたデータが解析されたとしても、暗号化されているので平文データの漏洩をも防止できる。
本発明の実施の形態に係るデータ暗号化システム1の構成を示すブロック図である。 データ暗号化装置11の構成を示すブロック図である。 変換可能情報テーブルT100のデータ構造の一例を示す図である。 暗号文格納部151のデータ構造の一例を示す図である。 図5(a)は、変換済サイズUSIZEの値の変化を示し、図5(b)は、暗号文データの変化を示す。 暗号文生成部150、及び変換処理部152における演算の具体例を示す図である。 データ暗号化装置11の測定処理の動作を示すフローチャートである。 変換処理の動作を示すフローチャートである。 測定処理におけるステップS105の判断動作の具体例を示す図である。 データ暗号化装置11の送信処理の動作を示すフローチャートである。 データ復号装置13の構成を示すブロック図である。 復号文格納部204のデータ構造の一例を示す図である。 データ復号装置13の受信処理の動作を示すフローチャートである。 復号処理の動作を示すフローチャートである。 データ暗号化システム1aの構成を示すブロック図である。 暗号文データCTDATA(=p・r×h)に予め乱数を変換した場合における暗号文生成部150、及び変換処理部152の動作の具体例を示す図である。
本発明の一態様である、暗号化する単位長より小さい暗号化対象のデータを暗号化する暗号化装置であって、前記暗号化する単位長に基づいて定められる暗号化領域の中で既に暗号化に用いられた利用済領域を示す管理情報を記憶する記憶部と、前記暗号化する単位長より小さい新たな暗号化対象のデータを暗号化する際、前記管理情報に基づいて前記暗号化領域の中の利用済領域を確認し、前記暗号化領域の中で前記利用済領域以外の未利用領域に前記新たな暗号化対象のデータを追加することで暗号化データを生成する暗号部と、前記暗号化データを生成すると、前記新たに暗号化されたデータが前記利用済領域に含まれるように前記管理情報を更新する制御部とを具備することを特徴とする。
この構成によると、暗号化装置は、未利用領域に前記新たな暗号化対象のデータを追加することで暗号化データを生成している。これにより、暗号化する単位長より小さい暗号化対象のデータを暗号化する毎に、暗号化装置は前記単位長の暗号化データを生成する必要がなくなるので、暗号化に利用されるデータサイズを全体として大幅に削減できる。したがって、暗号化装置は、暗号化されたデータのサイズの増加を極力抑えることができる。また、蓄積されたデータが解析されたとしても、暗号化されているので平文データの漏洩をも防止できる。
ここで、前記暗号部は、前記暗号化する単位長より小さい新たな暗号化対象のデータを暗号化する際、前記管理情報に基づいて前記暗号化領域の中の利用済領域を確認し、前記暗号化対象のデータが暗号化される際に利用されるべき領域が前記未利用領域に含まれる場合、前記未利用領域に前記新たな暗号化対象のデータを追加するように暗号化データを生成するとしてもよい。
この構成によると、暗号化装置は、前記暗号化対象のデータが暗号化される際に利用される領域が前記未利用領域に含まれる場合に、当該未利用領域に新たな暗号化対象データを追加するので、既に暗号化されたデータを含む暗号化領域に確実に暗号化することができる。
ここで、前記暗号部は、前記暗号化する単位長より小さい新たな暗号化対象のデータを暗号化する際、前記管理情報に基づいて前記暗号化領域の中の利用済領域を確認し、前記暗号化対象のデータが暗号化される際に利用されるべき領域が前記未利用領域を超える場合、新たな暗号化領域を用いて前記新たに暗号化されたデータが最初の暗号データとなる第2の暗号化データを生成し、前記制御部は、前記第2の暗号化データを生成すると、前記第2の暗号化データに基づいて前記新たな暗号化対象のデータの暗号化に用いられた利用済領域を示す第2の管理情報を、前記第2の暗号化データのために生成して前記記憶部に記憶するとしてもよい。
この構成によると、暗号化装置は、既に暗号化されたデータを含む暗号化領域を用いた暗号化ができない場合であっても、第2の暗号化データを生成するので、新たな暗号化対象データが漏洩しないようにすることができる。
ここで、前記管理情報は、前記利用済領域のデータ長を示す情報を含むとしてもよい。
さらに、前記単位長は、暗号化可能な平文のデータ長であり、前記利用済領域のデータ長は、暗号化可能な平文のデータ長のうち暗号化に利用されたデータ長であり、前記暗号部は、前記単位長から前記利用済領域のデータ長を減算した値が前記新たな暗号化対象データのデータ長より大きい場合、前記暗号化対象のデータが暗号化される際に利用されるべき領域が前記未利用領域に含まれると判断するとしてもよい。
ここで、前記暗号部は、前記単位長から前記利用領域のデータ長を減算した値が前記新たな暗号化対象データのデータ長より小さい場合、前記暗号化対象のデータが暗号化される際に利用されるべき領域が前記未利用領域を超えると判断するとしてもよい。
この構成によると、暗号化装置は、暗号化する単位長及び利用済領域のデータを用いて、既に暗号化されたデータを含む暗号化領域を用いた暗号化の可否を容易に判断できる。
ここで、前記暗号部は、公開鍵暗号の暗号化鍵を保持する保持部と、乱数の生成部と、を有し、前記保持部にて保持されている前記公開鍵及び前記生成部にて生成された前記乱数を用いて前記単位長に基づいて定められる可変暗号鍵を生成し、この可変暗号鍵からなるデータ領域を暗号化領域として、前記新たな暗号化対象のデータを追加するとしてもよい。
この構成によると、暗号化装置は、公開鍵に基づいて公開鍵とは異なる可変暗号鍵を生成して、この可変暗号鍵を用いて暗号化データを生成するので、データの漏洩を一層強固に防止できる。
ここで、前記暗号部は、前記暗号化する単位長毎に、前記生成部に新たな乱数を生成させて、異なる可変暗号鍵を生成するとしてもよい。
この構成によると、暗号化装置は、前記可変暗号鍵を前記暗号化する単位長毎に更新することにより、前記可変暗号鍵の漏洩により一部の暗号化データが解析されても、他の暗号化データについてデータの漏洩を防止できるので、全体としてデータの漏洩を一層強固に防止できる。
ここで、前記暗号部は、前記新たな暗号化対象のデータを暗号化する際、前記新たな暗号化対象データが前記暗号化する単位長に基づいて定められた暗号化領域を用いて最初に暗号化される場合であって、前記新たな暗号化対象データを暗号化した際の利用済領域のデータサイズが所定の最小サイズより小さい場合、前記新たな対象データを暗号化した際の利用済領域のデータサイズが前記最小サイズ以上となるよう所定の初期データを付加して前記暗号化データを生成するとしてもよい。
前記新たな暗号化対象のデータを暗号化する際、前記新たな対象データが前記暗号化する単位長の暗号化データの最初のデータとなる場合であって、前記新たな対象データを暗号化した際のデータサイズが所定の最小サイズより小さい場合、仮に前記新たな暗号化対象のデータを暗号化したデータのみを含む暗号化データが外部に出力されると、前記新たな対象データを暗号化した際のデータサイズが小さいために、解析されるおそれがある。
そこで、この構成によると、暗号化装置は、前記新たな対象データを暗号化した際のデータサイズが前記最小サイズ以上となるよう所定の初期データを付加して前記暗号化データを生成するので、仮に前記新たな暗号化対象のデータを暗号化したデータのみを含む暗号化データが外部に出力されても、前記新たな対象データを暗号化した際のデータサイズは所定の最小サイズを確保されるので、解析されてもデータが漏洩する可能性を低減できる。
ここで、前記所定の初期データは、乱数により生成される数値列であるとしてもよい。
この構成によると、暗号化装置は、初期データとして乱数を暗号化データに含めるので、暗号化対象データが利用する箇所の特定を困難にすることができる。
ここで、公開鍵暗号の暗号化鍵を保持する保持部と、乱数の乱数生成部と、前記公開鍵及び前記乱数を用いて可変暗号鍵を生成する鍵生成部と、を具備する外部装置と接続する接続部を有し、前記暗号部は、前記外部装置から前記可変暗号鍵を入力し、この入力した可変暗号鍵からなるデータ領域を暗号化領域として用いて前記暗号化データを生成するとしてもよい。
この構成によると、暗号化装置は、可変暗号鍵の生成に係る構成要素を必要としないので、当該装置の製造コストを抑えつつ、確実に可変暗号鍵を取得することができる。
ここで、第2の記憶部を設け、前記暗号部は、公開鍵暗号の暗号化鍵を保持する保持部と、乱数の生成部と、を有し、前記公開鍵及び前記乱数を用いて前記単位長に基づいて定められる可変暗号鍵を生成し、前記可変暗号鍵を前記第2の記憶部に保存し、前記暗号化する単位長毎に、前記第2の記憶部から異なる可変暗号鍵を読み出し、読み出した可変暗号鍵からなるデータ領域を暗号化領域として、前記新たな暗号化対象のデータを追加するとしてもよい。
この構成によると、暗号化装置は、可変暗号鍵を保存しているので、暗号化時に生成する場合に比べて、暗号化に係る処理時間を短くすることができる。
ここで、公開鍵暗号の暗号化鍵を保持する外部装置と接続する接続部を有し、前記暗号部は、乱数の乱数生成部を有し、前記外部装置から入力した公開鍵及び前記乱数を用いて前記単位長に基づく可変暗号鍵を生成し、この可変暗号鍵からなるデータ領域を暗号化領域として、前記新たな暗号化対象のデータを追加するとしてもよい。
この構成によると、暗号化装置は、製造時に暗号鍵を保持しておく必要がない、つまり出荷後に鍵設定が可能になるため、より利便性が向上する。
ここで、前記暗号化データを復号する外部装置と接続される接続部を設け、前記制御部は、前記新たな暗号化対象のデータを暗号化する際、前記新たな対象データが前記暗号化する単位長の暗号化データの最初のデータとなる場合であって、前記新たな暗号化対象データを暗号化した際の利用済領域のデータサイズが所定の最小サイズより小さい場合、前記暗号化データに別の新たな暗号化対象のデータを追加して生成された暗号化データによる利用済領域のデータサイズが前記最小サイズに到達するまで前記暗号化データを前記外部装置に出力しない制御を行うとしてもよい。
前記新たな対象データを暗号化した際の利用済領域のデータサイズが所定の最小サイズ以下の場合、仮に前記新たな暗号化対象のデータを暗号化したデータを含む暗号化データが外部に出力されると、暗号化に利用されたデータサイズが小さいために、解析されるおそれがある。
そこで、この構成によると、暗号化装置は、暗号化に利用されたデータサイズが最小サイズに到達するまで出力しないよう制御するので、外部との通信中に当該データが第三者に取得され、解析される恐れがない。
ここで、前記暗号部は、前記暗号化データに別の新たな暗号化対象のデータを追加して生成された暗号化データによる利用済領域のデータサイズが前記最小サイズに到達して前記暗号化データを前記外部装置に出力した場合、前記暗号化する単位長より小さい次の暗号化対象のデータが最初の暗号されたデータとなる第2の暗号化データを生成するとしてもよい。
この構成によると、暗号化装置は、暗号化データを外部に出力する場合、次の暗号化対象データが最初の暗号されたデータとなる第2の暗号化データを生成することができる。これにより、暗号化装置は、一度出力した暗号化データを再度出力することを抑止するので、第三者による暗号化されたデータの解析を防止することができる。
ここで、前記暗号化データを復号する外部装置と接続される接続部を設け、前記制御部は、前記暗号化データを前記管理情報と共に前記外部装置に出力するとしてもよい。
この構成によると、暗号化装置は、暗号化データとともに、管理情報をも外部装置へ出力するので、外部装置は、暗号化データのうち暗号化に利用された領域を容易に特定することができる。
ここで、前記暗号化は、NTRU暗号、ELGamal暗号、楕円ELG暗号のいずれかの暗号化方式であるとしてもよい。
この構成によると、暗号化装置は、NTRU暗号、ElGamal暗号、もしくは、楕円ElGamal暗号の何れかの暗号化方式を用いることで、利用データのサイズの増加を極力抑えつつ、記憶しているデータが解析されても対象データが漏洩しないようにすることができる。
ここで、前記記憶部は、耐タンパー技術により保護されているとしてもよい。
この構成によると、管理情報が第三者に漏洩しないので、暗号化装置は、暗号化対象データを推測する攻撃を防止することが出来る。
また、本発明は、暗号化する単位長より小さい暗号化対象のデータを暗号化する暗号化装置と、前記暗号化されたデータを復号する復号装置とを含む暗号化システムであって、前記暗号化装置は、前記暗号化する単位長に基づいて定められる暗号化領域の中で既に暗号化に用いられた利用済領域を示す管理情報を記憶する記憶部と、前記暗号化する単位長より小さい新たな暗号化対象のデータを暗号化する際、前記管理情報に基づいて前記暗号化領域の中の利用済領域を確認し、前記暗号化領域の中で前記利用済領域以外の未利用領域に前記新たな暗号化対象のデータを追加することで暗号化データを生成する暗号部と、前記暗号化データを生成すると、前記新たに暗号化されたデータが前記利用済領域に含まれるように前記管理情報を更新し、前記暗号化データを前記更新された管理情報と共に前記復号装置に出力する制御部とを具備し、前記復号装置は、前記暗号化装置から入力した前記暗号化データを復号し、復号されたデータのうち、前記暗号化装置から入力した前記管理情報が示す利用済領域に基づく領域に存在する復号対象データを取得する復号処理部を具備することを特徴とする。
この構成によると、暗号化システムは、暗号化装置により、未利用領域に前記新たな暗号化対象のデータを追加するように暗号化データを生成している。これにより、暗号化する単位長より小さい暗号化対象のデータを暗号化する毎に、暗号化装置は前記単位長の暗号化データを生成する必要がなくなるので、暗号化に利用されるデータサイズを全体として大幅に削減できる。したがって、暗号化システムは、暗号化されたデータのサイズの増加を極力抑えることができる。また、蓄積されたデータが解析されたとしても、暗号化されているので平文データの漏洩をも防止できる。
1.実施の形態1
以下、本発明の実施の形態1について、図面を参照しながら説明する。
1.1 準備
ここでは、本実施の形態にて用いるNTRU暗号について説明する。
以下において、NTRU暗号のパラメータ生成方法、鍵生成方法、暗号化及び復号について概要を説明する。なお、これらの詳細は、特許文献1に記載されているので、ここでは、簡単に説明する。
(1)NTRU暗号のパラメータ生成方法
NTRU暗号は、非負整数のパラメータ、N,p,q,df,dg,dを持つ。以下に、これらのパラメータの意味を説明する。
(1−1)パラメータN
NTRU暗号は、多項式の演算により暗号化と復号を行う公開鍵暗号方式である。NTRU暗号で扱う多項式の次元は、上記パラメータNにより決まる。NTRU暗号で扱う多項式は、上記パラメータNに対し、N−1次以下の整数係数多項式であり、例えばN=5のとき、X^4+X^3+1等の多項式である。ここで、「X^a」はXのa乗を意味する。また、暗号化時あるいは復号時に用いる、公開鍵h、秘密鍵f、平文m、乱数r、暗号文cはいずれも、N−1次以下の多項式として表現される。そして、多項式演算は、上記パラメータNに対し、X^N=1という関係式を用いて、演算結果が常にN−1次以下の多項式になるように演算される。例えば、N=5の場合、多項式X^4+X^2+1と多項式X^3+Xの積は、多項式と多項式の積を×、整数と多項式の積(あるいは整数と整数の積)を・とすると、X^5=1という関係から、
(X^4+X^2+1)×(X^3+X)
=X^7+2・X^5+2・X^3+X
=X^2×1+2・1+2・X^3+X
=2・X^3+X^2+X+2
というように、常にN−1次元以下の多項式になるように演算される。
(1−2)パラメータp、q
NTRU暗号では、2以上の整数であるパラメータp、qを用いる。NTRU暗号で出現する多項式の係数は、p、qを法とした剰余を取る。ここで、このパラメータp、qは互いに素となる必要がある。
(1−3)パラメータdf、dg、d
NTRU暗号で扱う秘密鍵の一部である多項式f,公開鍵である多項式hを生成するときに多項式fと共に用いる多項式g,及び平文を暗号化するときに用いる乱数である多項式rの選び方は、それぞれパラメータdf、dg、dにより決まる。まず、多項式fは、df個の係数が1であり、かつ(df−1)個の係数が−1であり、かつ他の係数は0となるように選ぶ。すなわち、多項式fはN−1次以下の多項式であり、0次元(定数項)からN−1次まで、N個の係数があるが、このN個の係数のうち、df個の係数が1であり、かつ(df−1)個の係数が−1であり、かつ(N−2df+1)個の係数が0となるように選ぶ。そして、多項式gは、dg個の係数が1であり、かつdg個の係数が−1であり、かつ他の係数は0となるように選ぶ。また、乱数である多項式rは、d個の係数が1であり、かつd個の係数が−1であり、かつ他の係数は0となるように選ぶ。
NTRU暗号のパラメータの例として、(N,p,q,df,dg,d)=(107,3,64,15,12,5)、(N,p,q,df,dg,d)=(167,3,128,61,20,18)、(N,p,q,df,dg,d)=(503,3,256,216,72,55)などが考えられる。以後使用するパラメータは(N,p,q,df,dg,d)=(167,3,128,61,20,18)とする。ただし、これに限るものではない。ちなみに、本パラメータはNTRU暗号の安全性、及び性能(処理速度や各種データのサイズなど)に影響する。一般に大きなパラメータは、安全性は高いが、性能は劣る。
(2)NTRU暗号の鍵生成方法
NTRU暗号では、上述したように、パラメータdf、dgを用いてランダムに多項式f、多項式gを生成する。そして、Fp×f=1(mod p)となる多項式Fpを算出する。また、Fq×f=1(mod q)となる多項式Fqを用いて、
h=Fq×g(mod q)
により、多項式hを生成する。このとき、2つの値の組(f,Fp)が秘密鍵データ(復号鍵)となり、値hが公開鍵データ(暗号化鍵)となる。ここで、x=y(mod q)は、多項式yの第i次の係数を、剰余が0からq−1の範囲に収まるように法qで割ったときの剰余を、多項式xの第i次の係数とする演算である(0≦i≦N−1)。すなわち、yの各係数を、0から(q−1)の範囲に収まるようにmod q演算した多項式を、多項式xとする演算である。ちなみに、通常演算装置でNTRU暗号が処理される場合、各種データ(秘密鍵データや公開鍵データ)は、係数のみを保持し、(つまり、x^aという部分は意識しない)。暗号処理を行う際には、その係数同士を作用させれば十分である。よって、秘密鍵データfは、2・Nビット(0もしくは1もしくは−1を表すための2ビットをN次元分)、秘密鍵データFpも、pが3の場合、2・Nビット(0もしくは1もしくは−1を表すための2ビットをN次元分)となる。公開鍵データhは、パラメータqが128の場合、7・Nビット(0から127を表すための7ビットをN次元分)となる。なお、記号“・”は、上述したように整数と整数の積を示す。
(3)暗号化
NTRU暗号の暗号化では、平文である多項式mを暗号化し、暗号文である多項式cを算出(取得)する。先ず、上述したような多項式である乱数rをランダムに生成する。すなわち、乱数rはN−1次以下の多項式、つまり0次元(定数項)からN−1次元までのN個の係数を有する多項式である。このとき、多項式rは、N個の係数のうち、d個の係数が1であり、かつd個の係数が−1であり、かつ(N−2d)個の係数が0となるように、ランダムに選択(生成)される。
そして、生成した乱数r(多項式r)と公開鍵hとを用いて、係数が0、1若しくは−1であるN−1次以下の平文に対し、"c=p・r×h+m (mod q)"により、暗号文cを生成する。なお、特許文献1では、1組の平文L_mからメッセージmを選択し(多項式への変換)、選択したメッセージm(平文m)に対する暗号文の生成について記載されている。
この演算は、上述した通り、多項式(p・r×h+m)の各係数を0から(q−1)の範囲に収まるように(mod q)演算した多項式を、多項式cとする演算である。
(4)復号
NTRU暗号の復号では、暗号文である多項式cを復号して、復号文である多項式m'を算出(取得)する。復号では、先ず、暗号文cに対して、秘密鍵の一部である多項式fを用いて、"a=f×c (mod q*)"により、多項式aを計算する。
ここで、(mod q*)は、上述の(mod q)演算とは異なり、多項式(f×c)の第i次の係数を<−q/2>+1から<q/2>の範囲に収まるように法qで割ったときの剰余を多項式aの第i次の係数とする演算である(ここで、iは、0以上N−1以下の整数)。すなわち、係数が<q/2>からq−1である場合には、q減算して、上記範囲に収まるように調整する。ここで、<x>は、x以下の数のうちで最も大きい数を示す。例えば、<−1/2>=−1である。
次に、多項式aに対して、パラメータpを用いて、b=a (mod q)により多項式bを生成する。
そして、多項式bに対して、秘密鍵の一部である多項式Fpを用いて、m'=Fp×b (mod p*)により、復号文m'を計算(取得)する。
なお、(mod p*)演算は、上述したように、多項式(Fp×b)の第i次の係数を<−p/2>+1から<p/2>の範囲に収まるように法pで割ったときの剰余を、多項式m'の第i次の係数とする演算である(ここで、iは、0以上N−1以下の整数)。
(5)その他
なお、このNTRU暗号に関して、上述のパラメータは全てp=3となるパラメータであるが、このパラメータの他にp=2となるパラメータも開示されている。
p=3の場合における平文mは、係数が0、1若しくは−1の3値である多項式であるが、p=2の場合における平文mは、係数が0、若しくは1の2値である多項式である。そして、秘密鍵データである多項式f,多項式g,乱数rは、p=2かp=3かに関わらず係数が0もしくは1もしくは−1の3値である多項式である。
また、NTRU暗号に関して、鍵生成処理を"h=p・Fq×g (mod q)"を満たすように、公開鍵hを生成することで、暗号化処理を"c=r×h+m (mod q)"にて行う方法も開示されている。
1.2 データ暗号化システムの概要
データ暗号化システム1は、図1に示すように、データ暗号化装置11、通信路12、データ復号装置13から構成される。
データ暗号化装置11は、被計測者の体温などの生体情報を計測する機能を有する。計測データは、その都度、データ暗号化装置11の内部に暗号化した状態で、蓄積される。
データ暗号化装置11は、データ復号装置13の要求により、蓄積している暗号化されたデータをデータ復号装置13へ送信する。なお、データ暗号化装置11は、一度送信した暗号化されたデータは、再度送信しない。
データ復号装置13は、データ暗号化装置11の内部に蓄積された1つ以上の暗号化されたデータを取得する。データ復号装置13は、更に、取得した1つ以上の暗号化されたデータを、復号鍵を用いて復号し、平文の計測データを算出(取得)する。
通信路12は、データ暗号化装置11とデータ復号装置13との間で、各種データを送受信出来る通信路である。例えば、インターネットや電話線、専用線、Bluetoothや特定省電力無線等の近距離無線、USBケーブルなどである。
データ暗号化システム1の具体的な適用例としては、以下のようなものが考えられる。データ暗号化装置11は、病院から患者である被計測者に提供される。被計測者は、病院の指示に従って、適切なタイミングでデータ暗号化装置11を、自身の体に装着し、生体情報の計測を行う。病院は、あるタイミングで、データ復号装置13を用いて、データ暗号化装置11から暗号化計測データを読み取り、更に、復号鍵を用いて暗号化計測データを復号して、平文の計測データを得る。病院は、得られた計測データを元に患者である被計測者の診断などを行う。
1.3 データ暗号化装置11の構成
次に、データ暗号化装置11の構成について説明する。
データ暗号化装置11は、図2に示すように、パラメータ格納部110、センサー部111、変換可能情報格納部112、変換可否判定部113、乱数生成部114、暗号化鍵格納部115、暗号化処理部116及び送信処理部117とから構成される。
(1)パラメータ格納部110
パラメータ格納部110は、NTRU暗号の各パラメータ(N,p,q,df,dg,d)を予め記憶している。
(2)センサー部111
センサー部111は、被計測者から測定データDを計測し、それとカウンタ情報CTRと連結して、暗号化の対象となる対象データTDを生成する。
センサー部111は、生成した対象データTDを変換可否判定部113に出力する。
ここで、測定データDは、例えば、体温や血圧、血糖値、脈拍数、心拍数、歩数、運動量などである。具体的に体温の場合、測定データDは、十の位、一の位、小数点一の位がそれぞれ1バイトである合計3バイトからなるデータである。
また、カウンタ情報CTRは、0からインクリメントしていく値であり、計測された対象データTDの順番を把握するために用いられ、十の位、一の位がそれぞれ1バイトである合計2バイトからなるデータである。カウンタ情報CTRにより、センサー部111は、最大99までカウントすることができる。
なお、センサー部111は、定期的に計測するのではなく、何らかのトリガが与えられた際に計測してもよい。例えば、データ暗号化装置11がボタンを有し、ボタンが押された場合に計測するようにしてもよい。
(3)変換可能情報格納部112
変換可能情報格納部112は、図3で示すように、暗号文識別子CTID、総サイズTSIZE、変換済サイズUSIZE、送信可否フラグUFLAGの組からなる変換可能情報を一つ以上保持するための変換可能情報テーブルT100を有している。
暗号文識別子CTIDは、後述する暗号文格納部151に格納されている暗号文データCTDATAを特定する識別子である。
総サイズTSIZEは、暗号文識別子CTIDの特定する暗号文データCTDATAに対して、初期段階で変換出来るサイズの合計を表す。なお、総サイズTSIZEの単位はビットである。例えば、TSIZEが167であれば、初期状態の暗号文データCTDATAでは、最大167ビット分のデータを変換可能であることを意味する。
変換済サイズUSIZEは、暗号文格納部151で保持されている、暗号文識別子CTIDの特定する暗号文データCTDATAに対して、既に変換を行ったデータのサイズを表す。変換済サイズUSIZEの単位はビットである。例えば、USIZEが150であれば、暗号文格納部151で保持されている暗号文データCTDATAには、既に150ビット分のデータが変換されていることを意味する。
送信可否フラグUFLAGは、暗号文格納部151で保持されている、暗号文識別子CTIDの特定する暗号文データCTDATAが、既にデータ復号装置13へ送信されたか否かを示すフラグであり、TRUEとFALSEをとりうる。TRUEはまだ送信されていないことを示し、FALSEは既に送信されたことを示す。ここで、送信可否フラグがTRUEの場合には、当該送信可否フラグに対応する暗号文データがデータ復号装置13へ未だ送信されていないため変換が可能であることを示し、送信可否フラグがFALSEの場合には、当該送信可否フラグに対応する暗号文データがデータ復号装置13へ既に送信されているため変換が不可能であることを示している。
変換可能情報格納部112が変換可能情報テーブルT100を用いて保持する情報を使うことによって、データ暗号化装置11は、同じ暗号文データを2個以上にコピーして、それぞれに対して異なる対象データで変換しないように制御する。この理由は、出力を盗聴する第三者が、万が一、二つの暗号文データの初期の暗号文データが同じだと知っていたら、それら二つの暗号文データの差分(算術減算)を取ることで、変換に用いた対象データの一部の情報(差分)を特定されてしまうためである。それを実現するために、ここでの変換済サイズUSIZEは、ある暗号文データCTDATAの同じ箇所を二度以上変換しないように制御するために用いる。また、送信可否フラグUFLAGは、一度外部に出力した暗号文データCTDATAに対して、それ以上その暗号文データCTDATAに対して変換を行わないように制御するために用いられる。その理由は、外部に出力する途中を盗聴する第三者が存在した場合に、変換に使った対象データを特定することが可能となるためである。具体的には、一度目に出力した暗号文データCTDATAと二度目に出力した暗号文データCTDATAの差分(算術減算)を取ることにより、一度目の出力以降に変換した対象データは容易に得られる。
ちなみに、本実施の形態においては、総サイズ、変換済サイズとも、暗号化可能なデータ(変換可能なデータ)の単位長(167ビット)を基準としている。上述したように、総サイズ(167ビット)は暗号化可能なデータの単位長を示し、変換済サイズはそのうち変換に利用された利用済の領域(データ長)を示している。
なお、総サイズ、変換済サイズは、暗号文データのデータ長を基準としてもよい。この場合、総サイズ、変換済サイズとも、暗号化可能なデータの単位長(167ビット)を基準した場合の7倍の値となる。
(4)変換可否判定部113
変換可否判定部113は、センサー部111から対象データTDを受け取る。
変換可否判定部113は、受け取った対象データTDのデータサイズであるサイズ情報SIZEを取得する。サイズ情報を取得する方法は、対象データTDそのものから計算する方法がある。なお、サイズ情報SIZEが固定長の場合、計算は不要であり、予め設定された値を用いる。また、センサー部111からサイズ情報SIZEを取得してもよい。
次に、変換可否判定部113は、変換可能情報格納部112にアクセスし、暗号文識別子CTIDの小さい順から、送信可否フラグUFLAGがTRUEで、さらに、総サイズTSIZEから変換済サイズUSIZEを減算した値がサイズ情報SIZEよりも大きくなるような暗号文識別子CTIDが存在するかどうかを確認する。
もし一つでも存在する場合、変換可否判定部113は、対象データTDと該当する一つの暗号文識別子CTIDとを変換処理部152へ出力する。
もし存在しない場合、変換可否判定部113は、対象データTDと暗号文生成依頼信号REQCTを暗号文生成部150へ出力する。
なお、サイズ情報SIZEは、毎回変わってもよい。
(5)乱数生成部114
乱数生成部114は、後述する暗号文生成部150からの要求に応じて、乱数を生成して、その乱数を暗号文生成部150へ出力する。
具体的には、乱数生成部114は、暗号文生成部150から乱数生成を要求する旨の乱数生成要求情報を受け取ると、パラメータ格納部110にて格納されているパラメータN、df、dg、dそれぞれに基づいて、多項式である乱数rをランダムに生成する。
ここで、乱数rはN−1次以下の多項式、つまり0次元(定数項)からN−1次元までのN個の係数を有する多項式である。このとき、乱数生成部114は、N個の係数のうち、d個の係数が1であり、かつd個の係数が−1であり、かつ(N−2d)個の係数が0となるように、乱数r(多項式r)をランダムに選択(生成)する。
(6)暗号化鍵格納部115
暗号化鍵格納部115は、公開鍵暗号の暗号化鍵データEKを保持する。
具体的には、暗号化鍵データEKは、NTRU暗号の公開鍵hである。
(7)暗号化処理部116
暗号化処理部116は、図2に示すように、暗号文生成部150、暗号文格納部151及び変換処理部152とから構成されている。
暗号化処理部116は、変換可否判定部113から対象データTDと暗号文生成依頼信号REQCTとからなる組、若しくは対象データTDと暗号文識別子CTIDとからなる組を受け取ると、受け取った対象データTDに対する暗号化を行う。
(7−1)暗号文生成部150
暗号文生成部150は、変換可否判定部113から暗号文生成依頼信号REQCTを受け取ると、暗号化鍵格納部115から公開鍵hを取得する。
暗号文生成部150は、公開鍵hを用いて、NTRU暗号の暗号文データCTDATAを生成する。
下記で、暗号文データCTDATAを生成する方法について述べる。まず、暗号文生成部150は、乱数生成要求情報を乱数生成部114へ出力する。その後、暗号文生成部150は、乱数生成部114から乱数rを受け取る。そして、暗号文生成部150は、受け取った乱数rと、暗号化鍵格納部115にて保持している公開鍵h(暗号化鍵データEK)と、パラメータ格納部110にて保持しているパラメータp、qとを用いて、暗号文データ CTDATA=p・r×h (mod q)を算出(生成)する。
この演算は、上述した通り、多項式(p・r×h)の各係数を、0から(q−1)の範囲に収まるようにmod q演算した多項式を、多項式c(=CTDATA)とする演算である。
暗号文生成部150は、暗号文格納部151において、まだ使われていない暗号文識別子CTIDを生成する。暗号文識別子CTIDを生成する方法は、カウンタを用いても良いし、使用されている暗号文識別子に1を加えた値にしてもよい。
暗号文生成部150は、生成した暗号文識別子CTIDと暗号文データCTDATAとの組を暗号文格納部151に格納する。さらに、総サイズTSIZEは167、変換済サイズUSIZEは0、送信可否フラグUFLAGはTRUEとして、先に生成した暗号文識別子CTIDと対応付けて、変換可能情報格納部112に格納する。
暗号文生成部150は、生成した暗号文識別子CTIDを変換処理部152へ出力する。
なお、変換可能情報格納部112に対して初期値として追加する情報は、暗号化鍵格納部115で格納されている暗号化鍵データEKが生成されたときのパラメータに依存するので、これに限るものではない。
ここで、従来の暗号化方法と異なる点は、以下の通りである。
従来の暗号化方法は、"p・r×h+m (mod q)"により、平文m(多項式m)に対する暗号化を行っているが、ここでは、暗号文生成部150は、"p・r×h"演算のみを行い、平文mとの加算は行わない(従来の暗号化における計算式の最後の"+m"の部分、メッセージとの融合処理)。特許文献1と比較すると、暗号文生成部150では、暗号文生成部150では、1組の平文L_mからメッセージmを選択しない(多項式への変換)こと、及び暗号文データを計算する際に、mとの加算は行わない(計算式の最後の"+m"の部分、メッセージとの融合処理)ことが、特許文献1とは異なる点である。
つまり、暗号文生成部150で生成される暗号文データCTDATAは、平文mが暗号化される直前の状態のデータである。
ちなみに、NTRU暗号は、平文の単位長がNビットであり、それに対応する暗号文サイズが7・Nビット(パラメータqが128の場合)となる。よって、1個の暗号文データCTDATAに対して、後に説明する変換処理部152で変換できる最大サイズ(つまり埋め込めるメッセージの合計サイズ)は、7・Nビット(パラメータqが128の場合)となる。
なお、本発明における可変暗号鍵は、平文mが暗号化される直前の状態の暗号文データCTDATAに相当する。
(7−2)暗号文格納部151
暗号文格納部151は、図4で示すとおり、暗号文識別子CTIDと暗号文データCTDATAの組を一つ以上保持する。
ここで、暗号文識別子CTIDは、変換可能情報格納部112に格納されている値と対応するものである。暗号文データCTDATAは、NTRU暗号の公開鍵データで暗号化された暗号文データである。
(7−3)変換処理部152
変換処理部152は、変換可否判定部113から受け取った対象データTDのデータサイズであるサイズ情報SIZEを取得する。サイズ情報を取得する方法は、変換可否判定部113と同じなので、省略する。
変換処理部152は、対象データTDから、ベクトル化された多項式であるメッセージm(係数はm_1、・・・、m_(SIZE))を計算する。NTRU暗号の場合で、p=3のとき、メッセージmは係数が0もしくは1もしくは−1の3値である多項式であるが、p=2の場合は、メッセージmは係数が0もしくは1の2値である多項式である。多項式への変換方法については、対象データTDをバイナリ化して、それぞれを多項式の係数にする方法などが考えられる。
変換処理部152は、変換可否判定部113もしくは暗号文生成部150から暗号文識別子CTIDを受け取ると、暗号文格納部151にアクセスし、受け取った暗号文識別子CTIDに対応する暗号文データCTDATAを取得する。そして、変換処理部152は、変換可能情報格納部112にアクセスし、暗号文識別子CTIDに対応する変換済サイズUSIZEを取得する。
変換処理部152は、取得した変換済サイズUSIZEをもとに、取得した暗号文データCTDATAのどの部分に対象データTDを変換するかを判断する。具体的には、暗号文データCTDATAの多項式の係数をe_1(多項式eの0次の係数)、e_2(多項式eの1次の係数)、・・・、e_N(多項式eのN−1次の係数)とした場合、(USIZE)次の係数から(USIZE+SIZE−1)次の係数までが変換対象となる。言い換えると、e_(USIZE+1)、e_(USIZE+2)、・・・、e_(USIZE+SIZE)が変換対象となる。この処理は、特許文献1の35ページ(1.3 符号化)で記載されている処理と同様に、多項式の加算"+"で行う。対象データTDを多項式にしたメッセージmを暗号文データCTDATAの特定の一部に加算する。具体的には、e_(USIZE+1)にm_1(多項式mの0次の係数)を加算し、e_(USIZE+2)にm_2(多項式mの1次の係数)を加算し、・・・、e_(USIZE+SIZE)にm_(SIZE) (多項式mのSIZE−1次の係数)を加算する。なお、このとき、各係数が0から(q−1)の範囲に収まるように(mod q)演算を施す。
そして、変換後の暗号文データCTDATAを、暗号文格納部151の同じ場所に上書きする。最後、変換可能情報格納部112の、暗号文識別子CTIDに対応する変換済サイズUSIZEに、サイズ情報SIZEを加算する。
(具体例)
図5を用いて、平文m#1及びm#2を暗号化する場合について説明する。なお、平文m#1及びm#2はs−1次の多項式とする。
図5(a)は、変換済サイズUSIZEの値の変化を示す。ここでの暗号化単位長は、総サイズTSIZE(=167)である。
先ず、暗号化が一度も行われていない場合、暗号化単位長D10における変換済サイズUSIZEは値“0”である。この状態で、平文m#1(SIZE=s)が暗号化されると、総サイズTSIZEのうちSIZE分だけ暗号化に利用されるので、USIZE=sとなる(暗号化単位長D11を参照)。次に、平文m#2(SIZE=s)が暗号化されると、暗号化にSIZE分だけ利用されるので、平文m#1の暗号化時のUSIZEにさらに、値sが加算され、USIZE=2sとなる(暗号化単位長D12を参照)。
図5(b)は、暗号文データの変化を示す。
先ず、暗号文生成部150は、"p・r×h"演算により平文mが暗号化される直前の状態のデータである暗号文データD100を生成し、暗号文格納部151に格納する。このとき、変換可能情報格納部112にて格納される暗号文データD100に対応する変換済サイズUSIZEは、0である。ちなみに、上述したように、暗号文データD100のデータ長は、167ビットの7倍、つまり1169ビットである。
変換処理部152は、平文m#1を暗号化する際に、暗号文データD100を暗号文格納部151から取得し、暗号文データD100に対応する変換済サイズを変換可能情報格納部112から取得する。
取得した変換済サイズUSIZEの値は0であるので、変換処理部152は、e_1、e_2、・・・、e_Sそれぞれに、平文m#1の多項式の係数m_1(0次の係数)、m_2(1次の係数)、・・・、m_s(s−1次の係数)を加算し、平文m#1が暗号化された暗号文データD101を生成し、暗号文格納部151に格納している暗号文データD100を暗号文データD101へと更新する。さらに、変換処理部152は、図5(a)にて示すように、変換可能情報格納部112にて格納している暗号文データD101に対応する変換済サイズUSIZEを0からsへと更新する。これは、暗号化可能なデータ(変換可能なデータ)の単位長(167ビット)を基準とした場合には単位長(167ビット)のうちsビット分を利用していることを意味している。なお、暗号文データD100のデータ長(1169ビット)を基準とした場合には、変換済サイズUSIZEは、0から7・sへと更新される。
変換処理部152は、平文m#2を暗号化する際に、暗号文データD101を暗号文格納部151から取得し、暗号文データD101に対応する変換済サイズを変換可能情報格納部112から取得する。
取得した変換済サイズUSIZEの値はsであるので、変換処理部152は、e_(s+1)、e_(s+2)、・・・、e_(s+s)それぞれに、平文m#2の多項式の係数m'_1(0次の係数)、m'_2(1次の係数)、・・・、m'_s(s−1次の係数)を加算し、平文m#2が暗号化された暗号文データD102を生成し、暗号文格納部151に格納している暗号文データD101を暗号文データD102へと更新する。さらに、変換処理部152は、変換可能情報格納部112にて格納している暗号文データD102に対応する変換済サイズUSIZEをsから2sへと更新する。これは、暗号化可能なデータの単位長(167ビット)を基準とした場合には単位長(167ビット)のうち2sビット分を利用していることを意味する。なお、暗号文データD100のデータ長(1169ビット)を基準とした場合には、変換済サイズUSIZEは、0から7・2s(=14s)へと更新される。
次に、図6を用いて、平文m#1及びm#2に対する演算について、一例を用いて説明する。
暗号文生成部150は、図6(a)に示すように、p・r×h(mod q)により、
CTDATA=p・r×h(mod q)
=e_1+e_2×X+・・・+e_s×X^(s−1)+e_(s+1)×X^s
+e_(s+2)×X^(s+1)+・・・+e_2s×X^(2s)+・・・+e_N×X^(N−1)
を算出することにより、暗号文データD100を生成する。
変換処理部152は、平文m#1を暗号化する際には、図6(b)に示すように、平文m#1の多項式にX^(USIZE)を乗算して、暗号文データD100に加算する。
つまり、図6(b)にて示すように、暗号文データ(CTDATA)D100に対して、CTDATA+m#1×X^(USIZE)を計算することにより、e_1、e_2、・・・、e_sそれぞれに、平文m#1の多項式の係数m_1(0次の係数)、m_2(1次の係数)、・・・、m_s(s−1次の係数)を加算することができる。
また、さらに、変換処理部152は、平文m#2を暗号化する際には、図6(c)に示すように、平文m#2の多項式にX^(USIZE)を乗算して、暗号文データD101に加算する。
つまり、図6(c)にて示すように、暗号文データ(CTDATA)D101に対して、CTDATA+m#2×X^(USIZE)を計算することにより、e_(s+1)、e_(s+2)、・・・、e_(s+s)それぞれに、平文m#2の多項式の係数m'_1(0次の係数)、m'_2(1次の係数)、・・・、m'_s(s−1次の係数)が加算され、暗号文データD102が生成される。
ここで、図6(b)、(c)にて示すように、平文m#2を暗号文データD101を用いて暗号化(変換)する際には、m#1が暗号化(変換)に利用された暗号文データD101の0次からs−1次までの係数について何ら影響を与えることなく、平文m#2の多項式の係数m'_1、m'_2、・・・、m'_sが加算されていることが分かる。
ここでの処理のポイントは、暗号文データCTDATAの同じビット位置に対して、二度以上対象データを加算しないために行うものであり、それを達成する方法であれば、他の方法でもよい。ちなみに、通常演算装置でNTRU暗号が処理される場合、各種データ(秘密鍵データや公開鍵データ)は、係数のみを保持するようにし、暗号処理時には、その係数同士のみを計算に用いればよい。
(8)送信処理部117
送信処理部117は、データ復号装置13からの要求により、通信路12を介して、暗号文格納部151で保持する暗号文データCTDATAをデータ復号装置13に送信する処理を行う。
まず、データ復号装置13からデータの要求を示す送信要求情報を受け取ったら、変換可能情報格納部112にアクセスし、送信可否フラグUFLAGがTRUEで、変換済サイズUSIZEが予め与えられるサイズ以上となる暗号文識別子CTIDが存在するかを確認する。予め与えられるサイズは、例えば80である。これは、ある一定ビット以下しか変換していない暗号文を送信した場合、不正な第三者により解析が可能になることを防止するためである。その解析方法は、下記の通りである。
(手順1)公開鍵hに対して、h×inv_h=1 (mod q)となるinv_hを計算する。
(手順2)変換済となる箇所を含む平文データ候補値をm'に仮定する。変換済となる箇所は予想値、その他の箇所については0とする。
(手順3)暗号文データCTDATAに対して、多項式である第一中間値CV1=CTDATA−m'を計算する。
(手順4)第一中間値CV1に対して、多項式である第二中間値CV2=p・CV1×inv_hを計算する。
(手順5)多項式である第二中間値CV2に対して、各係数が乱数rを生成したときの条件と全て一致(N個の係数のうち、d個の係数が1であり、かつd個の係数が−1であり、かつ(N−2d)個の係数は0となる)するかどうかを確認する。もし一致していたら、(手順2)で仮定して平文データ候補値m'を正しい平文データmとして出力する。一致していなかったら、(手順2)で仮定して平文データ候補値m'を別のものに変えて、再度(手順3)〜(手順5)を繰り返す。
ここで、予めある一定ビット以上を変換しておく理由は、(手順2)で仮定すべきパターン数を増やすことで、総当りが出来ないようにするためである。
もし、そのような暗号文識別子CTIDが存在しない場合、データ復号装置13に送信すべき情報はないと判断し、その旨を回答する。一方、もしそのような暗号文識別子CTIDが存在する場合、その暗号文識別子CTIDに対応する送信可否フラグUFLAGをFALSEに設定し、暗号文識別子CTIDに対応する暗号文データCTDATAを暗号文格納部151から取得し、その暗号文データCTDATAと変換済サイズUSIZEを、通信路12を介して、データ復号装置13へ送信する。
送信処理部117は、送信処理にて送信された一つ以上の暗号文データに対応付けられた識別子CTIDに対応する送信可否フラグUFLAGをFALSEに設定する。
1.4 データ暗号化装置11の動作
ここでは、データ暗号化装置11の動作の一例について説明する。以下において、測定時の動作、及びデータ送信時の動作に分けて説明を行う。
(1)測定時の動作
以下、図7のフローチャートを参照しながら、測定時の動作について説明する。
センサー部111は、被計測者から生体情報BDを計測し、カウンタ情報CTRを連結した対象データTDを変換可否判定部113に出力する(ステップS100)。
変換可否判定部113は、センサー部111から対象データTDを受け取る。対象データTDのデータサイズであるサイズ情報SIZEを取得する。そして、変換可能情報格納部112にアクセスし、暗号文識別子CTIDの小さい順から、送信可否フラグUFLAGがTRUEで、さらに、総サイズTSIZEから変換済サイズUSIZEを減算した値がサイズ情報SIZEより大きくなるような暗号文データCTDATAに対応する暗号文識別子CTIDが存在するかどうかを判断する(ステップS105)。
存在すると判断する場合(ステップS105における「YES」)、変換可否判定部113は、その暗号文識別子CTIDに対応する暗号文データCTDATAに、受け取った対象データを変換することが可能であると判断し、変換可否判定部113は、暗号文識別子CTIDと対象データTDを変換処理部152へ出力する。このとき、測定処理は、ステップS115へ移行する。
存在しないと判断する場合(ステップS105における「NO」)、変換可否判定部113は、暗号文生成依頼信号REQCTと対象データTDを暗号化処理部116へ出力する。
暗号化処理部116の暗号文生成部150は、変換可否判定部113から暗号文生成依頼信号REQCTを受け取ると、乱数生成要求情報を乱数生成部114へ出力する。その後、暗号文生成部150は、乱数生成部114から乱数rを受け取る。そして、暗号文生成部150は、暗号化鍵格納部115から、公開鍵hを取得する。暗号文生成部150は、取得した公開鍵h、乱数r、及びパラメータ格納部110にて保持しているパラメータp、qを用いて、暗号文データCTDATA(=p・r×h (mod q))を生成する。暗号文生成部150は、続いて、暗号文格納部151においてまだ使われていない暗号文識別子CTIDを生成し、暗号文識別子CTIDと暗号文データCTDATAとの組を暗号文格納部151に格納する。さらに、総サイズTSIZEや送信可否フラグUFLAGを初期値(TRUE)に、変換済サイズUSIZEを初期値(0)にそれぞれ設定し、先に生成した暗号文識別子CTIDと対応付けて、変換可能情報格納部112に追加する。最後に、暗号文識別子CTIDと対象データTDを変換処理部152へ出力する(ステップS110)。
変換処理部152は、変換可否判定部113もしくは暗号文生成部150から暗号文識別子CTIDを受け取り、さらに、変換可否判定部113から対象データTDを受け取る。変換処理部152は、受け取った暗号文識別子CTIDに対対応する暗号文データを用いて、受け取った対象データTDを暗号化する、つまり、受け取った暗号文識別子CTIDに対対応する暗号文データを受け取った対象データTDが埋め込まれた暗号文データへと変換する(ステップS115)。
変換処理部152は、変換可能情報格納部112で保持している暗号文識別子CTIDに対応する変換済サイズUSIZEに、サイズ情報SIZEを加算することにより、変換対象である暗号文データに対応する変換可能情報を更新する(ステップS120)。
<変換処理>
ここでは、ステップS115にて行われる変換処理について、図8にて示すフローチャートを用いて説明する。
変換処理部152は、変換可否判定部113もしくは暗号文生成部150から暗号文識別子CTIDを受け取り、さらに変換可否判定部113から対象データTDを受け取る(ステップS200)。
変換処理部152は、受け取った対象データTDのデータサイズであるサイズ情報SIZEを取得する(ステップS205)。
変換処理部152は、暗号文格納部151にアクセスし、暗号文識別子CTIDに対応する暗号文データCTDATAを取得する(ステップS210)。
変換処理部152は、変換可能情報格納部112にアクセスし、暗号文識別子CTIDに対応する変換済サイズUSIZEを取得する(ステップS215)。
変換処理部152は、取得した変換済サイズUSIZEをもとに、取得した暗号文データCTDATAのどの部分に対象データTDを変換するかを決定、つまり、変換対象の係数e_(USIZE+1)、e_(USIZE+2)、・・・、e_(USIZE+SIZE)を決定する(ステップS220)。
変換処理部152は、変換対象の係数e_(USIZE+1)、e_(USIZE+2)、・・・、e_(USIZE+SIZE)それぞれに、対象データTDの各係数m_1、m_2、・・・、m_SIZEそれぞれを加算し、対象データTDが埋め込まれた暗号文データCTDATAを生成する(ステップS225)。
<ステップS105の具体例>
ここでは、ステップS105における判断時の具体例を、図9(a)、(b)に示す。
図9(a)は、暗号文データD200における変換済サイズUSIZEと対象データTDのサイズSIZEとの和(USIZE+SIZE)が、暗号化単位長D200の総サイズTSIZE以下である場合を示している。この場合、ステップS105では、既存の暗号文データを用いて対象データTDの変換(暗号化)が可能であると判断し、それに対応する暗号文識別子CTIDが存在すると決定する。
図9(b)は、暗号文データD201における変換済サイズUSIZEと対象データTDのサイズSIZEとの和(USIZE+SIZE)が、暗号化単位長D201の総サイズTSIZEより大きい場合を示している。この場合、ステップS105では、既存の暗号文データを用いた対象データTDの変換(暗号化)が不可能であると判断し、対象データTDの変換(暗号化)が可能となる他の暗号文データに対して同様の処理を行う。
なお、ここでは、暗号化可能なデータ(変換可能なデータ)の単位長(167ビット)を基準とした場合に基づいて説明している。上述したように、暗号文データD100のデータ長(1169ビット)を基準とした場合には、総サイズ、変換済サイズ及び対象データTDのサイズそれぞれを7倍して、上記の判断を行えばよい。
(2)データ送信時の動作
以下、図10のフローチャートを参照しながら、データ送信時の動作について説明する。
送信処理部117は、データ復号装置13からの送信要求情報を受け取る(ステップS300)。
送信処理部117は、変換可能情報格納部112にアクセスし、送信可否フラグUFLAGがTRUEで、変換済サイズUSIZEが一定以上となる暗号文識別子CTIDが存在するかを確認する(ステップS305)。
存在しないと判断する場合(ステップS305における「NO」)、送信処理部117は、データ復号装置13に送信すべき情報はない旨を回答し、終了する。
存在すると判断する場合(ステップS305における「YES」)、送信処理部117は、変換済サイズUSIZEが一定以上となる一つ以上の暗号文識別子CTIDのそれぞれに対応する暗号文データCTDATAを暗号文格納部151から取得する(ステップS310)。
送信処理部117は、変換可能情報格納部112から、取得した暗号文識別子CTIDそれぞれに対応する変換済サイズUSIZEを取得する(ステップS315)。
送信処理部117は、取得した暗号文データCTDATAそれぞれに対して、当該暗号文データCTDATAと、それに対応する変換済サイズUSIZEを対応付けて、通信路12を介して、データ復号装置13へ送信する(ステップS320)。
送信処理部117は、送信処理にて送信された一つ以上の暗号文識別子CTIDに対応する送信可否フラグUFLAGをFALSEに設定する(ステップS325)。
1.5 データ復号装置13の構成
次に、データ復号装置13の構成について説明する。
データ復号装置13は、図11に示すように、要求受付部200、送受信処理部201、復号鍵格納部202、復号処理部203、復号文格納部204及び表示部205から構成される。
(1)要求受付部200
要求受付部200は、ユーザ操作により、ユーザから測定データDの収集の指示を受け付けると、送信要求情報を送受信処理部201へ出力する。
(2)送受信処理部201
送受信処理部201は、要求受付部200から送信要求情報を受け付けると、受け付けた送信要求情報を、通信路12を介してデータ暗号化装置11へ送信する。
送受信処理部201は、データ暗号化装置11から、通信路12を介して、1つ以上の暗号文データCTDATAと、前記1つ以上の暗号文データCTDATAそれぞれに対応する変換済サイズUSIZEとを受信する。送受信処理部201は、受信した暗号文データCTDATAと変換済サイズUSIZEを、復号処理部203へ出力する。
送受信処理部201は、データ暗号化装置11から、送信すべき情報はない旨の情報を受け取ると、受け取った情報を表示部205へ出力する。
(3)復号鍵格納部202
復号鍵格納部202は、公開鍵暗号の復号鍵データDKを保持している。
ここで、復号鍵格納部202が保持している復号鍵データDKは、暗号化鍵格納部115に格納されている公開鍵hに対応するNTRU暗号の秘密鍵(f,Fp)である。NTRU暗号の秘密鍵データの生成方法は、先ほど説明したので省略する。
(4)復号処理部203
復号処理部203は、公開鍵暗号の復号処理を行う。
復号処理部203は、測定データDとカウンタ情報CRTとからなるデータのデータサイズの値を予め記憶している。なお、本実施の形態では、測定データDとカウンタ情報CRTとからなるデータのデータサイズは、5バイトである。
復号処理部203は、送受信処理部201から1つ以上の暗号文データCTDATAと、前記1つ以上の暗号文データCTDATAそれぞれに変換済サイズUSIZEとを受け取ると、復号鍵格納部202にアクセスし、復号鍵データDKとして、NTRU暗号の秘密鍵(f、Fp)を取得する。
復号処理部203は、NTRU暗号の復号処理に従い、取得した秘密鍵(f、Fp)を用いて、受け取った1つ以上の暗号化データCTDATAそれぞれに対して復号処理を施す。
なお、暗号化データの復号については、上述した1.1(4)に説明しているので、ここでは、簡単に説明する。なお、復号の詳細については特許文献1の35〜36ページ(1.4 復号)に記載されている。なお、その動作原理についても、同じく特許文献1の36ページ(1.5 なぜ復号が機能するのか)に記載されている。
<NTRU暗号の復号方法>
復号処理部203は、多項式である暗号文データDTDATAを復号し、同じく多項式である復号文データDTDATAを計算(取得)する。
復号処理部203は、NTRU暗号における各パラメータ(N,p,q,df,dg,d)を予め記憶している。
復号処理部203は、暗号文データDTDATAに対し、秘密鍵(復号鍵)の一部である多項式fを用いて、a=f×c(mod q*)により多項式aを計算する。
次に、復号処理部203は、多項式aに対し、パラメータpを用いて、b=a(mod p)により、多項式bを生成する。
そして、復号処理部203は、多項式bに対し、秘密鍵(復号鍵)の一部である多項式Fpを用いて、x=Fp×b(mod p*)により,仮復号文データxを計算(取得)する。
復号処理部203は、算出した仮復号文データxのうち、最初の要素から変換済サイズUSIZE分だけの要素x'(以下、メッセージx')を取り出す。復号処理部203は、具体的には、(x_1、・・・、x_(USIZE))だけを取り出し、(x_(USIZE+1)、・・・、x_N)は破棄する。
復号処理部203は、係数がx_1、・・・、x_(USIZE)からなる多項式であるメッセージx'から、測定データDとそれに対応するカウンタ情報CRTとからなる1つ以上の復号文データDTDATAを取得し、取得した1つ以上の復号文データDTDATAを復号文格納部204へ格納する。具体的には、復号処理部203は、予め記憶している値"5"を用いて、メッセージx'の先頭の係数(0次の係数)から5つの係数毎に分割して、1つ以上の復号文データDTDATAを取得する。
(5)復号文格納部204
復号文格納部204は、図12にて示すように、複数の復号文データDTDATAを保持する。
(6)表示部205
表示部205は、復号文格納部204に格納されている復号文データDTDATAを表示する。復号文データに含まれるカウンタ情報に基づいて、対応する測定データDの数値の推移をグラフ化して表示する。
また、表示部205は、送受信処理部201から、送信すべき情報はない旨の情報を受け取ると、データ暗号化装置11から受信した暗号文データは0件である旨を表示する。
1.6 データ復号装置13の動作
ここでは、データ復号装置13の動作の一例について説明する。ここでは、データ受信時の動作について説明を行う。
(1)データ受信時の動作
以下、図13のフローチャートを参照しながら、データ受信時の動作について説明する。
要求受付部200がユーザから測定データDの収集の指示を受け付けると、送受信処理部201は、送信要求情報を、通信路12を介してデータ暗号化装置11へ送信する(ステップS400)。
送受信処理部201は、データ暗号化装置11から通信路12を介して、1つ以上の暗号文データCTDATAと前記1つ以上の暗号文データCTDATAそれぞれに対応する変換済サイズUSIZEとを受信、若しくは送信すべき情報はない旨の情報を受信する(ステップS405)。
送受信処理部201は、1つ以上の暗号文データCTDATAを受信したか否かを判断する(ステップS410)。
1つ以上の暗号文データCTDATAを受信したと判断する場合には(ステップS410における「YES」)、送受信処理部201は、受信した1つ以上の暗号文データと、前記1つ以上の暗号文データCTDATAそれぞれに対応する変換済サイズUSIZEとを、復号処理部203へ出力する。
復号処理部203は、送受信処理部201から1つ以上の暗号文データと、前記1つ以上の暗号文データCTDATAそれぞれに対応する変換済サイズUSIZEとを受け取ると、受け取った1つ以上の暗号化データCTDATAそれぞれに対して復号処理を施す(ステップS415)。
表示部205は、復号文格納部204に格納されている復号文データDTDATAを表示する(ステップS420)。
1つ以上の暗号文データCTDATAを受信していない、つまり送信すべき情報はない旨の情報を受信したと判断する場合には(ステップS410における「NO」)、送受信処理部201は、受信した情報を表示部205へ出力する。表示部205は、送受信処理部201から、送信すべき情報はない旨の情報を受け取ると、データ暗号化装置11から受信した暗号文データは0件である旨を表示して、処理を終了する。
<復号処理>
ここでは、ステップS415にて行われる復号処理について、図14にて示すフローチャートを用いて説明する。
復号処理部203は、復号鍵格納部202にアクセスし、復号鍵データDKを取得する(ステップS500)。
復号処理部203は、受け取った1つ以上の暗号文データCTDATAのうち未復号の暗号文データCTDATAを1つ取得する(ステップS505)。
復号処理部203は、取得した暗号文データCTDATAを復号して、仮復号文xを取得する(ステップS510)。
復号処理部203は、取得した暗号文データCTDATAに対応する変換済サイズUSIZEを用いて、メッセージx'を取得する(ステップS515)。
復号処理部203は、取得したメッセージx'から測定データDとカウンタ情報CRTとからなる1つ以上の復号文データを取得する(ステップS520)。
復号処理部203は、取得した1以上の復号文データDTDATAそれぞれを、復号文格納部204へ格納する(ステップS525)。
復号処理部203は、未復号の暗号文データCTDATAが存在するか否かを判断する(ステップS530)。
存在すると判断する場合には(ステップS530における「YES」)、復号処理部203はステップS505へ戻り、処理を続行する。
存在しないと判断する場合には(ステップS530における「NO」)、復号処理部203は復号処理を終了する。
1.7 変形例
上記に説明した実施の形態は、本発明の実施の形態の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その旨を逸脱しない範囲において主な態様で実施し得るものである。以下のような場合も本発明に含まれる。
(1)暗号文生成部150で生成する暗号文データは、NTRU暗号の暗号化処理の平文との算術加算(融合処理)を行う直前の値であったが、これに限るものではない。
例えば、暗号化鍵(公開鍵h)を用いて、予め与えられる固定値(オール0)を平文として暗号化した値を暗号文データとしてもよい。これは、NTRU暗号において、暗号文データは平文データを(多項式の係数同士の)加算をすることによって生成されるが、オール0を加算しても結果は変化しないためである。このようにすることで、既にあるNTRU暗号化装置などを流用して、本発明を実施することが出来るようになる。
(2)暗号文生成部150は、暗号文データを計算により生成していたが、これに限らない。
例えば、外部から通信路を介して新しい暗号文データを受信してもよい。また、予め装置出荷時に装置に埋め込まれているものを取得してもよい。さらに、予め装置出荷時に暗号化された状態で暗号化装置に埋め込まれていて、その復号鍵を外部から受信するようにしてもよい。これにより、装置で暗号文データを計算して生成する必要がなくなる。
以下、外部装置から通信路を介して新しい暗号文データを受信する場合についてのデータ暗号化システム1aについて、実施の形態とは異なる点を中心に説明する。
データ暗号化システム1aは、図15に示すように、データ暗号化装置11a、通信路12a、データ復号装置13a、暗号文データ生成装置14aから構成される。
データ復号装置13aは、上記実施の形態にて示すデータ復号装置13と同様であるので、ここでの説明は省略する。
データ暗号化装置11aは、上記実施の形態にて示すデータ暗号化装置11と同様に、計測データを、内部に暗号化した状態で蓄積し、データ復号装置13aの要求により蓄積している暗号化されたデータをデータ復号装置13aへ送信する。なお、データ暗号化装置11aは、一度送信した暗号化されたデータは、再度送信しない。
通信路12aは、データ暗号化装置11aとデータ復号装置13aとの間、及びデータ暗号化装置11aと暗号文データ生成装置14aで、各種データを送受信出来る通信路である。
(2−1)データ暗号化装置11aの構成
ここでは、データ暗号化装置11aの構成について説明する。
データ暗号化装置11aは、図15に示すように、パラメータ格納部110a、センサー部111a、変換可能情報格納部112a、変換可否判定部113a、暗号化処理部116a及び送受信処理部117aとから構成される。
パラメータ格納部110a、センサー部111a及び変換可能情報格納部112aのそれぞれは、上記実施の形態にて示すパラメータ格納部110、センサー部111及び変換可能情報格納部112のそれぞれと同様であるので、ここでの説明は、省略する。
(変換可否判定部113a)
変換可否判定部113aは、上記実施の形態にて示す変換可否判定部113と同様に、 対象データTDの受け取り、当該対象データTDのサイズ情報SIZEの取得を行う。
変換可否判定部113aは、変換可能情報格納部112aにアクセスし、暗号文識別子CTIDの小さい順から、送信可否フラグUFLAGがTRUEで、さらに、総サイズTSIZEから変換済サイズUSIZEを減算した値がサイズ情報SIZEよりも大きくなるような暗号文識別子CTIDが存在するかどうかを確認する。
もし一つでも存在する場合、変換可否判定部113aは、対象データTDと該当する一つの暗号文識別子CTIDとを変換処理部152aへ出力する。
もし存在しない場合、変換可否判定部113aは、対象データTDと暗号文生成依頼信号REQCTを変換処理部152aへ出力する。
(暗号化処理部116a)
暗号化処理部116aは、図15に示すように、暗号文格納部151a及び変換処理部152aから構成されている。
暗号化処理部116aは、上記実施の形態にて示す暗号化処理部116と同様に、変換可否判定部113aから対象データTDと暗号文生成依頼信号REQCTとからなる組、若しくは対象データTDと暗号文識別子CTIDとからなる組を受け取ると、受け取った対象データTDに対する暗号化を行う。
暗号文格納部151aは、上記実施の形態にて示す暗号文格納部151と同様であるので、ここでの説明は省略する。
以下、変換処理部152aについて説明する。
変換処理部152aは、変換可否判定部113aから受け取った対象データTDのデータサイズであるサイズ情報SIZEを取得する。
変換処理部152aは、変換可否判定部113aから暗号文識別子CTIDを受け取ると、上記実施の形態にて示す変換処理部152と同様に、受け取った暗号文識別子CTIDに対応する暗号文データCTDATAの取得、変換済サイズUSIZEの取得、取得した暗号文データCTDATA及び変換済サイズUSIZEを用いた対象データTDの変換、上書き、変換済サイズUSIZEの更新を行う。
変換処理部152aは、変換可否判定部113aから暗号文生成依頼信号REQCTを受け取ると、新たな暗号文データCTDATA(=p・r×h (mod q))を要求する旨の要求情報を送受信処理部117aを介して暗号文データ生成装置14aへ送信する。
変換処理部152aは、暗号文データ生成装置14aから、新たな暗号文データを受け取ると、暗号文格納部151aにおいてまだ使われていない新たな暗号文識別子CTIDを生成する。変換処理部152aは、生成した新たな暗号文識別子CTIDと新たな暗号文データとの組を暗号文格納部151aに格納する。さらに、総サイズTSIZEは167、変換済サイズUSIZEは0、送信可否フラグUFLAGはTRUEとして、先に生成した新たな暗号文識別子CTIDと対応付けて、変換可能情報格納部112aに格納する。
変換処理部152aは、変換可否判定部113aから暗号文識別子CTIDを受け取った場合と同様の動作により、対象データTDの変換、上書き、変換済サイズUSIZEの更新を行う。
(送受信処理部117a)
送受信処理部117aは、上記実施の形態にて示す送信処理部117の動作に加えて、以下の動作を行う。
送受信処理部117aは、変換処理部152aから要求情報を受け取ると、受け取った要求情報を暗号文データ生成装置14aへ送信する。
送受信処理部117aは、暗号文データ生成装置14aから 新たな暗号文データを受け取ると、受け取った新たな暗号文データを変換処理部152aへ出力する。
(2−2)暗号文データ生成装置14aの構成
暗号文データ生成装置14aは、図15にて示すように、送受信処理部300a、暗号文生成部301a、乱数生成部302a及び暗号化鍵格納部303aから構成されている。
乱数生成部302a及び暗号化鍵格納部303aのそれぞれは、上記実施の形態にて示す乱数生成部114及び暗号化鍵格納部115のそれぞれと同様であるので、ここでの説明は省略する。
(暗号文生成部301a)
暗号文生成部301aは、データ暗号化装置11aから要求情報を受け取ると、上記実施の形態にて示す暗号文生成部150と同様に、新たな暗号文データCTDATA(=p・r×h (mod q))を生成する。
暗号文生成部301aは、生成した新たな暗号文データを送受信処理部300aを介してデータ暗号化装置11aへ送信する。
(送受信処理部300a)
送受信処理部300aは、データ暗号化装置11aから要求情報を受信すると、受信した要求情報を暗号文生成部301aへ出力する。
送受信処理部300aは、暗号文生成部301aから、新たな暗号文データを受け取ると、受け取った新たな暗号文データをデータ暗号化装置11aへ送信する。
(2−3)動作
ここでは、データ暗号化装置11aにおける測定処理について、図7にて示す流れ図を用いて、相違点のみ説明する。
相違点は、図7にて示すステップS110であり、以下説明する。
データ暗号化装置11aは、変換可否判定部113aにて変換可能な暗号文データが存在しないと判断される場合(ステップS105における「NO」)、変換処理部152aは、要求情報を暗号文データ生成装置14aへ送信する。そして、暗号文データ生成装置14aが、新たな暗号文データCTDATA(=p・r×h (mod q))を生成し、そしてデータ暗号化装置11aへ送信する。データ暗号化装置11aは、暗号文データ生成装置14aから新たな暗号文データCTDATAを受け取ると、変換処理部152aは、新たな暗号文識別子CTIDを生成し、新たな暗号文識別子CTIDと新たな暗号文データCTDATAとの組を暗号文格納部151aに格納する。さらに、総サイズTSIZEや送信可否フラグUFLAGを初期値(TRUE)に、変換済サイズUSIZEを初期値(0)にそれぞれ設定し、先に生成した暗号文識別子CTIDと対応付けて、変換可能情報格納部112aに追加する。
その後、ステップS115以降の動作を行う。なお、変換処理については、図8にて示す動作の流れと同様の動作の流れにて実現できるので、ここでの説明は省略する。
また、データ暗号化装置11aが行う送信処理についても、図10にて示す動作の流れにて実現できるので、ここでの説明は省略する。
また、データ復号装置13aが行う受信処理及び復号処理にについても、図13及び図14にて示す動作の流れにて実現できるので、ここでの説明は省略する。
(2−4)その他
データ暗号化装置11aとデータ復号装置13aとの間、及びデータ暗号化装置11aと暗号文データ生成装置14aとの間にておいて、同一の通信路12aを用いて各種データを送受信したが、これに限定されない。
それぞれ異なる通信路にてデータの送受信を行ってもよい。例えば、データ暗号化装置11aは、暗号文データ生成装置14aに装着可能な装置であり、データ暗号化装置11aが暗号文データ生成装置14aに装着されることで通信路が確立される構成である。つまり、データ暗号化装置11aと暗号文データ生成装置14aとの間にて通信路が確立され、各装置間が通信路にて接続される状態となる構成であればよい。また、データ暗号化装置11aとデータ復号装置13aとについても同様である。
(3)変換可能情報格納部112では、変換済サイズUSIZEを保持していたが、これに限るものではない。例えば、変換済サイズUSIZEの替わりに、変換可能サイズを保持していてもよい。これは、総サイズTSIZEから変換済サイズUSIZEを減算した値となる。これにより、変換可否を判断する際に、減算を行う必要がなくなる。
(4)本実施例では、NTRU暗号を用いたが、これに限るものではない。具体的には、公開鍵暗号化において、データを暗号化する際に、乱数を用いて、その乱数により生成された値と平文データとをある演算(算術加算、算術減算、排他的論理和、算術乗算、多項式の加算、多項式の減算など)により融合することで暗号文を計算する方式であれば、どのような方式でもよい。例えば、ElGamal暗号や、楕円ElGamal暗号などは、それに含まれる。
または、秘密鍵暗号において利用してもよい。
下記では、公開鍵暗号における楕円ElGamal暗号の場合について述べる。下記では、パラメータ生成、鍵生成、暗号文生成方法、変換方法、及び復号に分けて説明する。
<パラメータ生成>
楕円曲線の定義式は、y^2=x^3+a×x+bで与えられる。ここで、z^jは、zのj乗であり、a×xはaとxの掛け算を示す。a,bは、自然数であり、a,bにより楕円曲線が決定される。また、楕円曲線を定義する定義体は、一般にGF(p^m)で与えられる。ここで、pは素数であり、mは自然数である。ここでは、簡単のため、m=1として、定義体をGF(p)で扱う。また、pは160ビットとする。
<鍵生成>
秘密鍵はksであり、公開鍵KPは、KP=ks*Gを満たす。ここで、Gは楕円ElGamal暗号のベース点であり、楕円曲線上の点である。また、ks*Gは、ベース点Gをks回加算することにより得られる楕円曲線上の点を表す。
<暗号文データの生成方法>
データ暗号化装置は、乱数rを発生させ、PC=r*Gを計算する。次に、データ暗号化装置は、c=r*KPを計算し、PCのx座標x(PC)とcの連結を暗号文データとする。また、総サイズTSIZEは160とし、変換済サイズUSIZEを0とする。
<変換方法(m)>
ここでは、nビットのデータzを変換する場合について説明する。
まず、データ暗号化装置は、記憶している少なくとも1つの対象データが暗号化されている暗号文データの総サイズTSIZEから変化済サイズUSIZEを減算した値(減算値)を算出する。
データ暗号化装置は、算出した減算値がnビット未満であるか否かを判断し、nビット未満であると判断する場合には、上記にて示す暗号文データの生成方法により暗号文データを生成して、以下に示す処理を行う。また、nビット未満でないと判断する場合には、減算値の算出に用いた暗号文データを利用して、以下に示す処理を行う。なお、新たに生成した暗号文データと、減算値の算出に用いた暗号文データとを区別する必要がない場合には、総称して暗号文データcとして説明する。
暗号文データcの(USIZE+1)ビット目から(USIZE+n)ビット目のそれぞれと、データzの1ビット目からnビット目のそれぞれとに排他的論理和による演算を行う。ここでは、暗号文データcの(USIZE+1)ビット目とデータzの1ビットとに排他的論理和による演算を施して、その結果を暗号文データcの(USIZE+1)ビット目に上書きする。暗号文データcの(USIZE+2)ビット目とデータzの2ビットとに排他的論理和による演算を施して、その結果を暗号文データcの(USIZE+2)ビット目に上書きする。この動作を暗号文データcの(USIZE+n)ビット目まで繰り返すことにより、データzの全てのビット値に対して排他的論理和を施すことができる。
データ暗号化装置は、データzの全てのビット値に対して排他的論理和を施した後、変換済サイズUSIZEの値にnを加算して、更新する。
ここで、データzの全てのビット値に対して排他的論理和を施す演算方法の一例を以下に示す。
データ暗号化装置は、データzのビット列に対して、ビット列の先頭が、暗号文データcの(USIZE+1)ビット目に対応するようにシフト演算を施す。
そして、データ暗号化装置は、シフト演算が施されたデータzと、暗号文データcそれぞれの(USIZE+1)ビット目から(USIZE+n)ビット目の範囲において、排他的論理和を施すことで、データzの全てのビット値に対して排他的論理和を適用することができる。
<復号>
暗号文データに含まれるx(PC)に対し、z=x(PC)^3+a×x(PC)+bのGF(p)での平方根rtを計算し、PC'=(x(PC),rt)とする。例えば、p=3 mod 4の場合のGF(p)での平方根の計算方法を示す。その他の平方根の計算方法は、公知である。なお、d mod eは、dをeで割ったときの余りを示す。zの平方根は、z^((p+1)/4)を計算することで求める。一般に、z^(p−1)=1 mod pが成り立つため、z^(p+1)=z^2 mod pとなり、z^((p+1)/4)=(z^2)^(1/4)=z^(1/2)となるため、zの平方根が得られることがわかる。続いて、秘密鍵ksを用いて、PC'のks倍の点ks*PC'を計算する。最後に、ks*PC'を用いて、c xor x(ks*PC')を計算し、この結果を復号文データとする。なお、x(P)は、Pのx座標であり、xorは排他的論理和演算子を示す。
(5)暗号文生成部150で生成する暗号文に対して、既知平文攻撃を防ぐために、図16で示すように、予め乱数を変換しておいても良い。乱数のビット数は、例えば総当りが不可能な80ビットなどでよい。これは、ある一定ビット以下しか変換していない暗号文を送信した場合、不正な第三者により解析が可能になることを防止するためである。その解析方法は、下記の通りである。
(5−1)公開鍵hに対して、h×inv_h=1 (mod q)となるinv_hを計算する。
(5−2)変換済となる箇所を含む平文データ候補値m'と仮定する。変換済となる箇所は予想値、その他の箇所については0とする。
(5−3)暗号文データCTDATAに対して、多項式である第一中間値CV1=CTDATA−m'を計算する。
(5−4)第一中間値CV1に対して、多項式である第二中間値CV2=p・CV1×inv_hを計算する。
(5−5)多項式である第二中間値CV2に対して、各係数が乱数rを生成したときの条件と全て一致(N個の係数のうち、d個の係数が1であり、かつd個の係数が−1であり、かつ(N−2d)個の係数は0となる)するかどうかを確認する。もし一致していたら、(5−2)で仮定した平文データ候補値m'を正しい平文データmとして出力する。一致していなかったら、(5−2)で仮定して平文データ候補値m'を別のものに変えて、再度(5−3)〜(5−5)を繰り返す。
ここで、予めある一定ビット以上を変換しておく理由は、(5−2)で仮定すべきパターン数を増やすことで、総当りが出来ないようにするためである。これにより、送信処理部117による変換済サイズUSIZEのチェックは不要となる。また、変換可能情報格納部112の変換済サイズUSIZEの初期値は、変換した乱数のビット数になる。
このように、所定のサイズ(ここでは80ビット)より小さい平文が暗号文データに初めて暗号化された場合、既知平文攻撃により解析され、当該平文が不正に取得される恐れがある。そこで、所定のサイズを予め付加することにより、暗号文データに平文が初めて暗号化された場合でも既知平文攻撃を防ぐことができる。
なお、ここでは、既知平文攻撃を防ぐために80ビットからなる乱数を変換するとしているが、80ビットからなるオール0を変換するとしてもよい。
(6)変換可能情報格納部112をセキュアメモリとすることで、外部からアクセス出来ないようにしてもよい。これにより、変換済サイズUSIZEが第三者に漏洩しないので、例えば変形例(5)で述べた平文データを推測する攻撃を防止することが出来る。これにより、より安全にすることが出来る。
(7)データ暗号化装置11の暗号化鍵格納部115で格納される暗号化鍵EK(公開鍵h)は、外部から設定できるようにしてもよい。これにより、出荷後に鍵設定が可能になるため、より利便性が向上する。
例えば、データ暗号化装置は、初めて暗号文データの生成を実行する前に、暗号化鍵EK(公開鍵h)を保持する外部の装置から、公開鍵hを取得し、取得した公開鍵hを格納してもよい。公開鍵hの格納後の暗号文データの生成は、実施の形態と同様であるので、ここでの説明は省略する。
または、データ暗号化装置は、暗号文データCTDATA(=p・r×h (mod q))を生成する度に、暗号化鍵EK(公開鍵h)を保持する外部の装置から、公開鍵hを取得してもよい。この場合、データ暗号化装置は、図2にて示す各構成要素のうち暗号化鍵格納部を除く他の構成要素を備えることで実現できる。このとき、暗号文生成部は、変換可否判定部から暗号文生成依頼信号REQCTを受け取ると、公開鍵hを保持する外部の装置へ公開鍵hを要求する要求情報を送信する。そして、外部の装置から公開鍵hを受け取ると、実施の形態にて示す動作と同様にして、暗号文データCTDATA(=p・r×h (mod q))を生成する。
(8)送信処理部117は、外部からの要求により、毎回同じ処理をしていたが、これに限るものではない。例えば、外部から特殊なコマンドが届いた場合、変換済サイズUSIZEのチェックを行わずに、全ての暗号化データCTDATAを送信するように動作してもよい。また、認証方法の違いにより、その動作を変えても良い。
(9)暗号文生成部150は、暗号文データを計算により生成していたが、これに限らない。例えば、データ暗号化装置11は、暗号文生成部150にて生成された2個以上の(まだ変換していない初期状態の)暗号文データを暗号文格納部151に予め保持してもよい。
この場合、例えば、データ暗号化装置11の変換処理部152は、1の暗号文データによるデータの変換ができなくなるまでの間は当該1の暗号文データを用いてデータを変換(暗号化)する。そして、変換可否判定部113が当該1の暗号文データによる変換が不可(暗号化不可)であると判断すると、変換処理部152は、暗号文格納部151にて保持している他の暗号化データを用いてデータの変換を行う。
または、データ暗号化装置11の暗号文生成部150は、その2個以上の暗号文データの何れかを選択するように動作してもよい。この選択方法は、乱数を用いてランダムに選択してもよい。こうすることにより、少ない数の暗号文データで効率的に対象データを変換することが出来る。なお、同じ暗号文データを複数にコピーして、それぞれに対して異なる対象データで変換するようになるため、出力された複数の暗号文データから一部の情報が漏れる可能性がある。具体的には、第三者が、出力された複数の暗号文データの初期の暗号文データが同じだと知ることが出来たら、それら複数の暗号文データの差分(算術減算)を取ることで、変換に用いた対象データの差分を特定できる。しかし、それをランダムに暗号文データを選択するようにすることで、初期状態が同じ暗号文データであることを特定される確率を下げることが出来る。
(10)データ復号装置は、測定データDとカウンタ情報CRTとからなるデータのサイズの値(ここでは、5バイト)を予め記憶しているとしたが、これに限定されない。
データ暗号化装置11が、変換に用いた対象データのサイズ情報SIZEを全て保管するようにして、データ復号装置13へ暗号文データを出力する際に、それらのサイズ情報SIZEを併せて出力するようにしてもよい。これにより、データ復号装置13は、対象データが可変長であっても、サイズ情報SIZEを使ってメッセージx'を分割するので、元の対象データ、つまり測定データDとカウンタ情報CRTとからなるデータごとに復元できるようになり、その後の利用が容易になる。
(11)データ暗号化装置11は、データ復号装置13へ暗号文データを出力する際に、それらに対応する暗号文識別子CTIDを併せて出力するようにしてもよい。例えば、暗号文識別子は、データ暗号化装置11で生成した順番を示すとする。それにより、データ復号装置13は、暗号文データを復号して復号文データを取得後に、それら暗号文識別子CTIDを使って復号文データに含まれるセンサー情報の計測(生成)された順番を把握できるようになる。
(12)データ暗号化装置11で、変換に用いる対象データは、測定されたセンサー情報に限るものではない。例えば、何らか(例えばセンサー情報)の値のハッシュ値やコード化した値であってもよいし、鍵データであってもよい。また、異なる種類の値(例えば測定データとハッシュ値と鍵)を混ぜて、同じ一つの暗号文データを変換するようにしてもよい。
(13)上記実施の形態において、変換済サイズUSIZEの値を、利用済と未利用の境界値(対象データのサイズsの倍数)としたが、これに限定されない。
変換済サイズUSIZEの値は、対象データのサイズsよりも大きい値の倍数であってもよい。例えば、対象データのサイズsに所定値wを加えた値(s+w)の倍数であってもよい。
(14)上記実施の形態において、暗号文データを先頭データから順に利用して、対象データを暗号化したが、これに限定されない。
暗号文データのうち暗号化に利用されていない領域をランダムに利用してもよい。
例えば、1回目の暗号化では、暗号文データの先頭データから対象データのサイズs分のデータを利用する。次の暗号化(2回目の暗号化)では、暗号文データの4s番目のデータから対象データのサイズ長分のデータを利用する。3回目の暗号化では、暗号文データの2s番目のデータから対象データのサイズ長分のデータを利用する。これにより、暗号文データのうち暗号化に利用されていない領域をランダムに利用することができる。
(15)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(16)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
例えば、データ暗号化装置を構成する変換可能情報格納部112や変換可否判定部113、乱数生成部114や暗号化鍵格納部115、暗号文生成部150や暗号文格納部151、変換処理部152等の各機能ブロックは典型的には集積回路であるLSIとして実現されていてもよい。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。
また、データ復号装置を構成する復号鍵格納部202や復号処理部203、復号文格納部204等の各機能ブロックは典型的には集積回路であるLSIとして実現されていてもよい。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。
ここでは、集積回路の一例としてLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(17)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(18)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるディジタル信号であるとしてもよい。
(19)また、本発明は、前記コンピュータプログラムまたは前記ディジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記ディジタル信号であるとしてもよい。
(20)また、本発明は、前記コンピュータプログラムまたは前記ディジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
(21)また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
(22)また、前記プログラムまたは前記ディジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記ディジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(23)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
1.8 その他
(1)本発明の一態様であるデータ暗号化装置は、複数回に渡って、対象データを取得する対象データ取得部と、一以上の暗号文データを保持する暗号文データ格納部と、前記一以上の暗号文データのそれぞれの未変換箇所を特定する未変換情報を保持する未変換情報格納部と、少なくとも、前記未変換情報及び前記対象データをもとに、前記一以上の暗号文データの何れかを変換する変換処理部とを備えることを特徴とする。
(2)上記(1)のデータ暗号化装置は、さらに、少なくとも、前記対象データのデータサイズと前記未変換情報をもとに、前記一以上の暗号文データの何れかが変換可能かどうかを判定する変換可否判定部と、前記変換可否判定部で変換不可と判定された場合に、新しい暗号文データを取得する暗号文データ取得部とを備えるとしてもよい。
(3)上記(2)のデータ暗号化装置は、さらに、公開鍵暗号の暗号化鍵を保持する暗号化鍵格納部と、乱数データを生成する乱数生成部とを備え、前記暗号文データ取得部は、少なくとも、前記暗号化鍵及び前記乱数データをもとに、暗号文データを生成するとしてもよい。
(4)上記(3)のデータ暗号装置において、前記暗号文データ取得部は、公開鍵暗号の暗号化処理に含まれる計算のうち、対象データとの融合処理直前までの計算までを行い、その値を暗号文データとして生成するとしてもよい。
(5)上記(3)のデータ暗号装置において、前記暗号文データ取得部は、予め与えられる平文初期値データを有し、公開鍵暗号の暗号化処理に従い、前記暗号化鍵及び前記乱数を用いて、前記平文初期値データを暗号化することにより、暗号文データを生成するとしてもよい。
(6)上記(5)のデータ暗号装置において、前記平文初期値データは0であるとしてもよい。
(7)上記(2)のデータ暗号化装置は、さらに、外部から、データを受信可能な受信処理部を備え、前記暗号文データ取得部は、前記送受信処理部を介して、前記暗号文データを取得するとしてもよい。
(8)上記(1)のデータ暗号化装置は、さらに、外部に対して、前記暗号文データ格納部で保持する前記暗号文データを出力する出力処理部を備えるとしてもよい。
(9)上記(8)のデータ暗号化装置において、前記変換可能情報は、前記一以上の暗号文データのそれぞれに対して、さらなる変換が可能かどうかを示す変換可否フラグを含み、前記出力処理部は、外部へ出力した際に、外部出力した前記暗号文データに対応する前記変換可否フラグを不可に設定するとしてもよい。
(10)上記(8)のデータ暗号化装置において、前記変換可能情報は、前記一以上の暗号文データのそれぞれに対して、暗号文データの中ですでに変換したデータサイズを示す変換済サイズ、もしくは、変換可能な残りのデータサイズを示す変換可能サイズ、の何れかを含み、前記出力処理部は、出力する前記暗号文データとともに、前記変換済サイズもしくは前記変換可能サイズを外部に出力するとしてもよい。
(11)上記(10)のデータ暗号化装置において、前記出力部は、前記変換済サイズがある一定以上の前記暗号文データ、もしくは、前記変換可能サイズがある一定以下の前記暗号文データのみを外部へ出力するように制御するとしてもよい。
(12)上記(3)のデータ暗号化装置において、前記暗号文データ取得部は、NTRU暗号、もしくは、ElGamal暗号、もしくは、楕円ElGamal暗号の何れかの公開鍵暗号の暗号化処理の全てもしくは一部に基づき、暗号文データを生成し、前記変換処理部は、少なくとも、算術加算、算術減算、算術乗算、排他的論理和、のいずれか一つを用いるとしてもよい。
(13)上記(3)のデータ暗号化装置において、前記暗号文データ取得部は、さらに、 前記暗号文データを生成した後に、前記乱数生成部で生成された前記対象データとは無関係な第二乱数データをもとに、前期暗号文データを変換するとしてもよい。
(14)上記(1)のデータ暗号化装置において、前記変換可能情報格納部はセキュアメモリであり、前記変換可能情報は外部からアクセス不可であるとしてもよい。
(15)上記(1)のデータ暗号化装置において、前記対象データ取得部は、さらに、カウンタを計測する機能、及びセンサー情報を取得する機能を有し、前記対象データは、前記センサー情報と前記カウンタを連結した値であるとしてもよい。
(16)上記(15)のデータ暗号化装置において、前記センサー情報は、体温、血圧、血糖値、脈拍値、心拍数、運動量、歩数のうち何れかデータであり、タイマーに基づき定期的に計測される情報であるとしてもよい。
(17)上記(1)のデータ暗号化装置は、さらに、前記暗号化鍵を外部から設定可能な暗号化鍵設定部を備えるとしてもよい。
(18)本発明の一態様であるデータ復号装置は、暗号文データとサイズ情報とを外部から取得する取得部と、復号鍵を保持する復号鍵格納部と、復号文データを格納する復号文データ格納部と、前記復号鍵を用いて、前記暗号文データを復号して、復号文データを取得する復号処理部と、前記サイズ情報に基づいて、前記復号文データの一部を削除し、削除された前記復号文データを前記復号文データ格納部に格納する削除処理部と備えることを特徴とする。
(19)上記(18)のデータ復号装置において、前記復号鍵は、公開鍵暗号に基づく復号鍵であり、前記復号処理部は、公開鍵暗号の復号処理に従い、復号処理を行うとしてもよい。
(20)上記(19)のデータ復号装置において、前記復号処理部は、NTRU暗号、もしくは、ElGamal暗号、もしくは、楕円ElGamal暗号の何れかの公開鍵暗号の復号処理に基づくとしてもいよい。
(21)本発明の一態様は、データ暗号化システムであって、前記データ暗号化システムはデータ暗号化装置とデータ復号装置から構成され、前記暗号化装置は、複数回に渡って、対象データを取得する対象データ取得部と、一以上の暗号文データを保持する暗号文データ格納部と、前記一以上の暗号文データのそれぞれの未変換箇所を特定する未変換情報を保持する未変換情報格納部と、少なくとも、前記対象データのデータサイズと前記未変換情報をもとに、前記一以上の暗号文データの何れかが変換可能かどうかを判定する変換可否判定部と、前記変換可否判定部で変換不可と判定された場合に、新しい暗号文データを取得する暗号文データ取得部と、少なくとも、前記未変換情報及び前記対象データをもとに、前記一以上の暗号文データの何れかを変換する変換処理部とを備え、前記復号装置は、暗号文データとサイズ情報とを外部から取得する取得部と、復号鍵を保持する復号鍵格納部と、復号文データを格納する復号文データ格納部と、前記復号鍵を用いて、前記暗号文データを復号して、復号文データを取得する復号処理部と、前記サイズ情報に基づいて、前記復号文データの一部を削除し、削除された前記復号文データを前記復号文データ格納部に格納する削除処理部とを備えることを特徴とする。
(22)上記(21)のデータ暗号化システムにおいて、前記データ暗号化装置は、さらに、公開鍵暗号の暗号化鍵を保持する暗号化鍵格納部と、乱数データを生成する乱数生成部とを備え、前記暗号文データ取得部は、少なくとも、前記暗号化鍵及び前記乱数データをもとに、暗号文データを生成し、前記復号鍵は、前記暗号化鍵に対応する復号鍵であり、前記復号処理部は、前記公開鍵暗号の復号処理に従い、復号処理を行うとしてもよい。
(23)上記(22)のデータ暗号化システムにおいて、前記暗号文データ取得部は、NTRU暗号、もしくは、ElGamal暗号、もしくは、楕円ElGamal暗号の何れかの公開鍵暗号の暗号化処理の全てもしくは一部に基づき、暗号文データを生成し、前記変換処理部は、少なくとも、算術加算、算術減算、算術乗算、排他的論理和、のいずれか一つを用い、前記復号処理部は、前記暗号文データ取得部と同じ公開鍵暗号の復号処理に基づき、復号処理を行うとしてもよい。
本発明にかかるデータ暗号化システムは、複数の小さなサイズのデータを暗号化して蓄積する場合に、暗号文のサイズの増加を極力抑えつつ、記憶しているデータが解析されても対象データの漏洩を防ぐので、電池容量やメモリ、通信速度などの厳しい制約の下で、暗号化して蓄積する必要性があるような場合に有用である。
また、本発明に係るデータ暗号化装置及びデータ復号装置は、これらの装置を製造、販売する産業において、経営的、つまり反復的かつ継続的に利用されうる。
1 データ暗号化システム
11 データ暗号化装置
12 通信路
13 データ復号装置
110 パラメータ格納部
111 センサー部
112 変換可能情報格納部
113 変換可否判定部
114 乱数生成部
115 暗号化鍵格納部
116 暗号化処理部
117 送信処理部
150 暗号文生成部
151 暗号文格納部
152 変換処理部
200 要求受付部
201 送受信処理部
202 復号鍵格納部
203 復号処理部
204 復号文格納部
205 表示部

Claims (22)

  1. 暗号化する単位長より小さい暗号化対象のデータを暗号化する暗号化装置であって、
    前記暗号化する単位長に基づいて定められる暗号化領域の中で既に暗号化に用いられた利用済領域を示す管理情報を記憶する記憶部と、
    前記暗号化する単位長より小さい新たな暗号化対象のデータを暗号化する際、前記管理情報に基づいて前記暗号化領域の中の利用済領域を確認し、前記暗号化領域の中で前記利用済領域以外の未利用領域に前記新たな暗号化対象のデータを追加することで暗号化データを生成する暗号部と、
    前記暗号化データを生成すると、前記新たに暗号化されたデータが前記利用済領域に含まれるように前記管理情報を更新する制御部と
    を具備することを特徴とする暗号化装置。
  2. 前記暗号部は、
    前記暗号化する単位長より小さい新たな暗号化対象のデータを暗号化する際、前記管理情報に基づいて前記暗号化領域の中の利用済領域を確認し、前記暗号化対象のデータが暗号化される際に利用されるべき領域が前記未利用領域に含まれる場合、前記未利用領域に前記新たな暗号化対象のデータを追加するように暗号化データを生成する
    ことを特徴とする請求項1記載の暗号化装置。
  3. 前記暗号部は、
    前記暗号化する単位長より小さい新たな暗号化対象のデータを暗号化する際、前記管理情報に基づいて前記暗号化領域の中の利用済領域を確認し、前記暗号化対象のデータが暗号化される際に利用されるべき領域が前記未利用領域を超える場合、
    新たな暗号化領域を用いて前記新たに暗号化されたデータが最初の暗号データとなる第2の暗号化データを生成し、
    前記制御部は、
    前記第2の暗号化データを生成すると、前記第2の暗号化データに基づいて前記新たな暗号化対象のデータの暗号化に用いられた利用済領域を示す第2の管理情報を、前記第2の暗号化データのために生成して前記記憶部に記憶する
    ことを特徴とする請求項2記載の暗号化装置。
  4. 前記管理情報は、前記利用済領域のデータ長を示す情報を含む
    ことを特徴とする請求項3記載の暗号化装置。
  5. 前記単位長は、暗号化可能な平文のデータ長であり、
    前記利用済領域のデータ長は、暗号化可能な平文のデータ長のうち暗号化に利用されたデータ長であり、
    前記暗号部は、
    前記単位長から前記利用済領域のデータ長を減算した値が前記新たな暗号化対象データのデータ長より大きい場合、前記暗号化対象のデータが暗号化される際に利用されるべき領域が前記未利用領域に含まれると判断する
    ことを特徴とする請求項4記載の暗号化装置。
  6. 前記暗号部は、
    前記単位長から前記利用領域のデータ長を減算した値が前記新たな暗号化対象データのデータ長より小さい場合、前記暗号化対象のデータが暗号化される際に利用されるべき領域が前記未利用領域を超えると判断する
    ことを特徴とする請求項5記載の暗号化装置。
  7. 前記暗号部は、
    公開鍵暗号の暗号化鍵を保持する保持部と、
    乱数の生成部と、を有し、
    前記保持部にて保持されている前記公開鍵及び前記生成部にて生成された前記乱数を用いて前記単位長に基づいて定められる可変暗号鍵を生成し、
    この可変暗号鍵からなるデータ領域を暗号化領域として、前記新たな暗号化対象のデータを追加する
    ことを特徴とする請求項1記載の暗号化装置。
  8. 前記暗号部は、
    前記暗号化する単位長毎に、前記生成部に新たな乱数を生成させて、異なる可変暗号鍵を生成する
    ことを特徴とする請求項7記載の暗号化装置。
  9. 前記暗号部は、
    前記新たな暗号化対象のデータを暗号化する際、前記新たな暗号化対象データが前記暗号化する単位長に基づいて定められた暗号化領域を用いて最初に暗号化される場合であって、前記新たな暗号化対象データを暗号化した際の利用済領域のデータサイズが所定の最小サイズより小さい場合、前記新たな対象データを暗号化した際の利用済領域のデータサイズが前記最小サイズ以上となるよう所定の初期データを付加して前記暗号化データを生成する
    ことを特徴とする請求項1記載の暗号化装置。
  10. 前記所定の初期データは、乱数により生成される数値列である
    ことを特徴とする請求項9記載の暗号化装置。
  11. 公開鍵暗号の暗号化鍵を保持する保持部と、
    乱数の乱数生成部と、
    前記公開鍵及び前記乱数を用いて可変暗号鍵を生成する鍵生成部と、を具備する外部装置と接続する接続部を有し、
    前記暗号部は、
    前記外部装置から前記可変暗号鍵を入力し、この入力した可変暗号鍵からなるデータ領域を暗号化領域として用いて前記暗号化データを生成する
    ことを特徴とする請求項1記載の暗号化装置。
  12. 第2の記憶部を設け、
    前記暗号部は、
    公開鍵暗号の暗号化鍵を保持する保持部と、
    乱数の生成部と、を有し、
    前記公開鍵及び前記乱数を用いて前記単位長に基づいて定められる可変暗号鍵を生成し、
    前記可変暗号鍵を前記第2の記憶部に保存し、
    前記暗号化する単位長毎に、前記第2の記憶部から異なる可変暗号鍵を読み出し、読み出した可変暗号鍵からなるデータ領域を暗号化領域として、前記新たな暗号化対象のデータを追加する
    ことを特徴とする請求項1記載の暗号化装置。
  13. 公開鍵暗号の暗号化鍵を保持する外部装置と接続する接続部を有し、
    前記暗号部は、
    乱数の乱数生成部を有し、
    前記外部装置から入力した公開鍵及び前記乱数を用いて前記単位長に基づく可変暗号鍵を生成し、この可変暗号鍵からなるデータ領域を暗号化領域として、前記新たな暗号化対象のデータを追加する
    ことを特徴とする請求項1記載の暗号化装置。
  14. 前記暗号化データを復号する外部装置と接続される接続部を設け、
    前記制御部は、
    前記新たな暗号化対象のデータを暗号化する際、前記新たな対象データが前記暗号化する単位長の暗号化データの最初のデータとなる場合であって、前記新たな暗号化対象データを暗号化した際の利用済領域のデータサイズが所定の最小サイズより小さい場合、前記暗号化データに別の新たな暗号化対象のデータを追加して生成された暗号化データによる利用済領域のデータサイズが前記最小サイズに到達するまで前記暗号化データを前記外部装置に出力しない制御を行う
    ことを特徴とする請求項1記載の暗号化装置。
  15. 前記暗号部は、
    前記暗号化データに別の新たな暗号化対象のデータを追加して生成された暗号化データによる利用済領域のデータサイズが前記最小サイズに到達して前記暗号化データを前記外部装置に出力した場合、
    前記暗号化する単位長より小さい次の暗号化対象のデータが最初の暗号されたデータとなる第2の暗号化データを生成する
    ことを特徴とする請求項14記載の暗号化装置。
  16. 前記暗号化データを復号する外部装置と接続される接続部を設け、
    前記制御部は、
    前記暗号化データを前記管理情報と共に前記外部装置に出力する
    ことを特徴とする請求項1記載の暗号化装置。
  17. 前記暗号化は、NTRU暗号、ELGamal暗号、楕円ELG暗号のいずれかの暗号化方式である
    ことを特徴とする請求項1記載の暗号化装置。
  18. 前記記憶部は、耐タンパー技術により保護されている
    ことを特徴とする請求項1記載の暗号化装置。
  19. 暗号化する単位長より小さい暗号化対象のデータを暗号化する暗号化装置と、前記暗号化されたデータを復号する復号装置とを含む暗号化システムであって、
    前記暗号化装置は、
    前記暗号化する単位長に基づいて定められる暗号化領域の中で既に暗号化に用いられた利用済領域を示す管理情報を記憶する記憶部と、
    前記暗号化する単位長より小さい新たな暗号化対象のデータを暗号化する際、前記管理情報に基づいて前記暗号化領域の中の利用済領域を確認し、前記暗号化領域の中で前記利用済領域以外の未利用領域に前記新たな暗号化対象のデータを追加することで暗号化データを生成する暗号部と、
    前記暗号化データを生成すると、前記新たに暗号化されたデータが前記利用済領域に含まれるように前記管理情報を更新し、前記暗号化データを前記更新された管理情報と共に前記復号装置に出力する制御部と、を具備し、
    前記復号装置は、
    前記暗号化装置から入力した前記暗号化データを復号し、復号されたデータのうち、前記暗号化装置から入力した前記管理情報が示す利用済領域に基づく領域に存在する復号対象データを取得する復号処理部を具備する
    ことを特徴とする暗号化システム。
  20. 暗号化する単位長より小さい暗号化対象のデータを暗号化する暗号化装置で用いられる暗号化方法であって、
    前記暗号化装置は、前記暗号化する単位長に基づいて定められる暗号化領域の中で既に暗号化に用いられた利用済領域を示す管理情報を記憶する記憶部と、暗号部と、制御部とを備え、
    前記暗号化方法は、
    前記暗号部が、前記暗号化する単位長より小さい新たな暗号化対象のデータを暗号化する際、前記管理情報に基づいて前記暗号化領域の中の利用済領域を確認し、前記暗号化領域の中で前記利用済領域以外の未利用領域に前記新たな暗号化対象のデータを追加することで暗号化データを生成する暗号ステップと、
    前記制御部が、前記暗号化データを生成すると、前記新たに暗号化されたデータが前記利用済領域に含まれるように前記管理情報を更新する更新ステップとを含む
    ことを特徴とする暗号化方法。
  21. 暗号化する単位長より小さい暗号化対象のデータを暗号化する暗号化装置で用いられるコンピュータプログラムであって、
    前記暗号化装置は、前記暗号化する単位長に基づいて定められる暗号化領域の中で既に暗号化に用いられた利用済領域を示す管理情報を記憶する記憶部と、暗号部と、制御部とを備え、
    前記コンピュータプログラムは、
    前記暗号部に、前記暗号化する単位長より小さい新たな暗号化対象のデータを暗号化する際、前記管理情報に基づいて前記暗号化領域の中の利用済領域を確認し、前記暗号化領域の中で前記利用済領域以外の未利用領域に前記新たな暗号化対象のデータを追加することで暗号化データを生成させる暗号ステップと、
    前記制御部に、前記暗号化データを生成すると、前記新たに暗号化されたデータが前記利用済領域に含まれるように前記管理情報を更新させる更新ステップとを含む
    ことを特徴とするコンピュータプログラム。
  22. 暗号化する単位長より小さい暗号化対象のデータを暗号化する暗号化装置に用いられる集積回路であって、
    前記暗号化する単位長に基づいて定められる暗号化領域の中で既に暗号化に用いられた利用済領域を示す管理情報を記憶する記憶部と、
    前記暗号化する単位長より小さい新たな暗号化対象のデータを暗号化する際、前記管理情報に基づいて前記暗号化領域の中の利用済領域を確認し、前記暗号化領域の中で前記利用済領域以外の未利用領域に前記新たな暗号化対象のデータを追加することで暗号化データを生成する暗号部と、
    前記暗号化データを生成すると、前記新たに暗号化されたデータが前記利用済領域に含まれるように前記管理情報を更新する制御部と
    を具備することを特徴とする集積回路。
JP2010515742A 2008-06-04 2009-05-14 暗号化装置及び暗号化システム Expired - Fee Related JP5346933B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010515742A JP5346933B2 (ja) 2008-06-04 2009-05-14 暗号化装置及び暗号化システム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008146895 2008-06-04
JP2008146895 2008-06-04
JP2010515742A JP5346933B2 (ja) 2008-06-04 2009-05-14 暗号化装置及び暗号化システム
PCT/JP2009/002114 WO2009147788A1 (ja) 2008-06-04 2009-05-14 暗号化装置及び暗号化システム

Publications (2)

Publication Number Publication Date
JPWO2009147788A1 JPWO2009147788A1 (ja) 2011-10-20
JP5346933B2 true JP5346933B2 (ja) 2013-11-20

Family

ID=41397875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010515742A Expired - Fee Related JP5346933B2 (ja) 2008-06-04 2009-05-14 暗号化装置及び暗号化システム

Country Status (5)

Country Link
US (1) US8484485B2 (ja)
EP (1) EP2287824A1 (ja)
JP (1) JP5346933B2 (ja)
CN (1) CN102016958A (ja)
WO (1) WO2009147788A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161225A1 (en) * 2009-12-30 2011-06-30 Infosys Technologies Limited Method and system for processing loan applications in a financial institution
US9172529B2 (en) * 2011-09-16 2015-10-27 Certicom Corp. Hybrid encryption schemes
EP3020159A1 (en) * 2013-07-12 2016-05-18 Koninklijke Philips N.V. Electronic signature system
US12143468B2 (en) * 2015-12-20 2024-11-12 Lcip Jv Cryptographic computer machines with novel switching devices
US10438006B2 (en) * 2017-07-27 2019-10-08 Citrix Systems, Inc. Secure information storage
TW201919361A (zh) * 2017-11-09 2019-05-16 張英輝 以雜文加強保護之區塊加密及其解密之方法
CN108933650B (zh) * 2018-06-28 2020-02-14 阿里巴巴集团控股有限公司 数据加解密的方法及装置
JP7159679B2 (ja) 2018-07-30 2022-10-25 オムロンヘルスケア株式会社 計測機器、および通信システム
JP7198012B2 (ja) 2018-07-31 2022-12-28 キヤノン株式会社 通信装置、制御方法、及びプログラム
EP4199413A4 (en) * 2020-08-14 2024-01-31 Aisle Soft Corporation TERMINAL DEVICE, COMPUTER PROGRAM, COMMUNICATION SYSTEM AND COMMUNICATION METHOD
US20230300120A1 (en) * 2022-03-15 2023-09-21 The United States Of America, As Represented By The Secretary Of The Navy System and method for lattice-based cryptography
CN115001663A (zh) * 2022-06-02 2022-09-02 中国银行股份有限公司 一种数据加密方法、装置、计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06326881A (ja) * 1993-05-17 1994-11-25 Mita Ind Co Ltd ファクシミリ装置の暗号化装置および暗号化方法
JPH0856356A (ja) * 1994-08-10 1996-02-27 Fujitsu Ltd 符号化装置および復号化装置
JPH117239A (ja) * 1997-04-23 1999-01-12 Matsushita Electric Ind Co Ltd 暗号処理装置、暗号処理方法、及び、暗号処理プログラムを記憶した記憶媒体
JPH11225138A (ja) * 1998-02-06 1999-08-17 Matsushita Electric Ind Co Ltd 暗号処理装置、暗号処理方法及びその方法を記録した記録媒体
JP2004040237A (ja) * 2002-06-28 2004-02-05 Canon Inc 画像処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP2005149416A (ja) * 2003-11-19 2005-06-09 Fuji Xerox Co Ltd 画像形成装置及びその交換部品

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0625845A1 (en) 1993-05-17 1994-11-23 Mita Industrial Co., Ltd. Ciphering device and method in facsimile
WO1998008323A1 (en) 1996-08-19 1998-02-26 Ntru Cryptosystems, Inc. Public key cryptosystem method and apparatus
US6459792B2 (en) * 1997-04-23 2002-10-01 Matsushita Electric Industrial Co., Ltd. Block cipher using key data merged with an intermediate block generated from a previous block
JP2002123548A (ja) * 2000-10-12 2002-04-26 Sony Corp 情報提供システム、情報画像管理サーバ、クライアント、並びに情報画像管理プログラムを記録した記録媒体
US7155610B2 (en) * 2000-12-19 2006-12-26 Matsushita Electric Industrial Co., Ltd. Cryptocommunication system, transmission apparatus, and reception apparatus
JP2003115830A (ja) * 2001-10-03 2003-04-18 Victor Co Of Japan Ltd 情報記録装置及び情報記録再生装置
JP2003324418A (ja) * 2002-02-27 2003-11-14 Canon Inc 画像処理装置、データ処理装置及びデータ処理方法
JP2004126323A (ja) * 2002-10-04 2004-04-22 Sony Corp ブロック暗号方法、ブロック暗号回路、暗号装置、ブロック復号方法、ブロック復号回路および復号装置
US7774593B2 (en) * 2003-04-24 2010-08-10 Panasonic Corporation Encrypted packet, processing device, method, program, and program recording medium
US7320485B2 (en) * 2003-10-16 2008-01-22 Breeze-Torca Products, Llc V insert edge contour
US8352726B2 (en) * 2003-11-07 2013-01-08 Netapp, Inc. Data storage and/or retrieval
EP1538508A1 (fr) * 2003-12-04 2005-06-08 Axalto S.A. Procédé et dispositif de chiffrement et dechiffrement à la volée
AU2005230066A1 (en) * 2004-03-31 2005-10-20 Nec Corporation Padding application method guaranteeing safety of encryption method
WO2007138601A2 (en) * 2006-05-31 2007-12-06 Storwize Ltd. Method and system for transformation of logical data objects for storage
US20080192924A1 (en) * 2007-02-12 2008-08-14 Sybase, Inc. Data encryption without padding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06326881A (ja) * 1993-05-17 1994-11-25 Mita Ind Co Ltd ファクシミリ装置の暗号化装置および暗号化方法
JPH0856356A (ja) * 1994-08-10 1996-02-27 Fujitsu Ltd 符号化装置および復号化装置
JPH117239A (ja) * 1997-04-23 1999-01-12 Matsushita Electric Ind Co Ltd 暗号処理装置、暗号処理方法、及び、暗号処理プログラムを記憶した記憶媒体
JPH11225138A (ja) * 1998-02-06 1999-08-17 Matsushita Electric Ind Co Ltd 暗号処理装置、暗号処理方法及びその方法を記録した記録媒体
JP2004040237A (ja) * 2002-06-28 2004-02-05 Canon Inc 画像処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP2005149416A (ja) * 2003-11-19 2005-06-09 Fuji Xerox Co Ltd 画像形成装置及びその交換部品

Also Published As

Publication number Publication date
CN102016958A (zh) 2011-04-13
JPWO2009147788A1 (ja) 2011-10-20
US20110033046A1 (en) 2011-02-10
EP2287824A1 (en) 2011-02-23
WO2009147788A1 (ja) 2009-12-10
US8484485B2 (en) 2013-07-09

Similar Documents

Publication Publication Date Title
JP5346933B2 (ja) 暗号化装置及び暗号化システム
JP6720424B1 (ja) 鍵共有デバイス及び方法
JP6964688B2 (ja) 暗号文に対する近似演算を行う装置及び方法
EP2526505B1 (en) Device and method for obtaining a cryptographic key
US8139766B2 (en) Pseudo public key encryption
JP4544538B2 (ja) 署名生成装置、鍵生成装置及び署名生成方法
JP6178142B2 (ja) 生成装置、方法およびプログラム
JP4045777B2 (ja) 情報処理装置
US10374797B2 (en) Public-key encryption system
NL2013944B1 (en) Public-key encryption system.
JP3976218B2 (ja) 暗号システム
US20120063592A1 (en) Apparatus for encrypting data
JP5497007B2 (ja) 測定装置及び測定装置の制御方法
CN105339995A (zh) 解密装置、解密能力提供装置、其方法、以及程序
JP2012080152A (ja) 暗号化システム、暗号化装置、復号装置、暗号化システムプログラム及び暗号化方法
CN102394746B (zh) 一种基于数字传感器的称重系统的数据传输方法
EP2417726B1 (en) Private key compression
JP4685621B2 (ja) 鍵生成装置、暗号化装置、復号化装置、乗法型ナップザック暗号システム、乗法型ナップザック暗号復号方法およびプログラム
JP2005202048A (ja) 暗号通信システム、そのシステムに使用される暗号装置および復号装置、暗号化方法および復号化方法、暗号化プログラムおよび復号化プログラム、ならびに記録媒体
JP2004201293A (ja) 鍵共有システム、共有鍵生成装置及び共有鍵復元装置
JP2004201292A (ja) 鍵共有システム、共有鍵生成装置及び共有鍵復元装置
JP5247773B2 (ja) 暗号装置及びその方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130628

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130819

R150 Certificate of patent or registration of utility model

Ref document number: 5346933

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees