JP2002182559A - 暗号化方法,復号方法,暗号通信方法,暗号通信システム,コンピュータプログラム及び記録媒体 - Google Patents

暗号化方法,復号方法,暗号通信方法,暗号通信システム,コンピュータプログラム及び記録媒体

Info

Publication number
JP2002182559A
JP2002182559A JP2001097701A JP2001097701A JP2002182559A JP 2002182559 A JP2002182559 A JP 2002182559A JP 2001097701 A JP2001097701 A JP 2001097701A JP 2001097701 A JP2001097701 A JP 2001097701A JP 2002182559 A JP2002182559 A JP 2002182559A
Authority
JP
Japan
Prior art keywords
vector
plaintext
ciphertext
components
encryption method
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.)
Withdrawn
Application number
JP2001097701A
Other languages
English (en)
Inventor
Mashi Katayanagi
磨子 片柳
Yasumichi Murakami
恭通 村上
Masao Kasahara
正雄 笠原
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.)
Murata Machinery Ltd
Kasahara Masao
Original Assignee
Murata Machinery Ltd
Kasahara Masao
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 Murata Machinery Ltd, Kasahara Masao filed Critical Murata Machinery Ltd
Priority to JP2001097701A priority Critical patent/JP2002182559A/ja
Priority to US09/862,888 priority patent/US20020003877A1/en
Publication of JP2002182559A publication Critical patent/JP2002182559A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 LLLアルゴリズムに基づく低密度攻撃に強
く、安全性を向上できる暗号化方式を提供する。 【解決手段】 暗号化すべき平文を分割した平文ベクト
ルに任意の乱数成分からなる乱数ベクトルを加えた合成
ベクトルの各成分と、1または複数組の整数d i (1≦
i≦K)及び乱数vi を用いてVi =(d/di )・v
i (但し、d=d1 2 …dK (任意の2つの整数
i ,dj は互いに素))に設定された1または複数の
基数ベクトルを基にモジュラ変換した公開鍵ベクトルの
各成分との積和演算により暗号文Cを得る。合成ベクト
ルにおける平文ベクトルまたは乱数ベクトルの各成分の
位置は、送信側(エンティティa)または受信側(エン
ティティb)で任意に設定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、公開鍵を用いて平
文を暗号文に変換する公開鍵暗号系に関し、特に、積和
型の暗号文を作成する暗号化方法、その暗号化方法にて
得られた暗号文を復号する復号方法、その暗号化方法を
利用する暗号通信方法及び暗号通信システム、並びに、
その暗号化方法を実施するためのコンピュータプログラ
ム及び記録媒体に関する。
【0002】
【従来の技術】高度情報化社会と呼ばれる現代社会で
は、コンピュータネットワークを基盤として、ビジネス
上の重要な文書・画像情報が電子的な情報という形で伝
送通信されて処理される。このような電子情報は、容易
に複写が可能である、複写物とオリジナルとの区別が困
難であるという性質があり、情報保全の問題が重要視さ
れている。特に、「コンピュータリソースの共有」,
「マルチアクセス」,「広域化」の各要素を満たすコン
ピュータネットワークの実現が高度情報化社会の確立に
不可欠であるが、これは当事者間の情報保全の問題とは
矛盾する要素を含んでいる。このような矛盾を解消する
ための有効な手法として、人類の過去の歴史上主として
軍事,外交面で用いられてきた暗号技術が注目されてい
る。
【0003】暗号とは、情報の意味が当事者以外には理
解できないように情報を交換することである。暗号にお
いて、誰でも理解できる元の文(平文)を第三者には意
味がわからない文(暗号文)に変換することが暗号化で
あり、また、暗号文を平文に戻すことが復号であり、こ
の暗号化と復号との全過程をまとめて暗号系と呼ぶ。暗
号化の過程及び復号の過程には、それぞれ暗号化鍵及び
復号鍵と呼ばれる秘密の情報が用いられる。復号時には
秘密の復号鍵が必要であるので、この復号鍵を知ってい
る者のみが暗号文を復号でき、暗号化によって情報の秘
密性が維持され得る。
【0004】暗号化方式は、大別すると共通鍵暗号系と
公開鍵暗号系との二つに分類できる。共通鍵暗号系で
は、暗号化鍵と復号鍵とが等しく、送信者と受信者とが
同じ共通鍵を持つことによって暗号通信を行う。送信者
が平文を秘密の共通鍵に基づいて暗号化して受信者に送
り、受信者はこの共通鍵を用いて暗号文を平文に復号す
る。
【0005】これに対して公開鍵暗号系では、暗号化鍵
と復号鍵とが異なっており、公開されている受信者の公
開鍵で送信者が平文を暗号化し、受信者が自身の秘密鍵
でその暗号文を復号することによって暗号通信を行う。
公開鍵は暗号化のための鍵、秘密鍵は公開鍵によって変
換された暗号文を復号するための鍵であり、公開鍵によ
って変換された暗号文は秘密鍵でのみ復号することがで
きる。
【0006】公開鍵暗号系の1つの方式として、積和型
暗号方式が知られている。これは、送信者である一方の
エンティティ側で平文をK分割した平文ベクトルm=
(m1,m2 ,・・・,mK )と公開鍵である基数ベク
トルc=(c1 ,c2 ,・・・,cK )とを用いて、暗
号文C=m1 1 +m2 2 +・・・+mK K を作成
し、受信者である他方のエンティティ側でその暗号文C
を秘密鍵を用いて平文ベクトルmに復号して元の平文を
得る暗号化方式である。
【0007】このような整数環上の演算を利用した積和
型暗号に関して、新規な方式及び攻撃法が次々に提案さ
れているが、特に、多くの情報を短時間で処理できるよ
うに高速復号可能な暗号化・復号の手法の開発が望まれ
ている。そこで、本発明者等は、中国人の剰余定理を用
いることにより、高速な並列復号処理を可能とした積和
型暗号における暗号化方法及び復号方法を提案している
(特開2000−89669 号)。この暗号化方法は、基数ベク
トルcの成分ci (i=1,2,・・・,K)を、互い
に素なK個の整数di を用いてDi =d/di (但し、
d=d1 2 ・・・dK )に設定した基数Di を基にモ
ジュラ変換したもの、または、互いに素なK個の整数d
i ,乱数vi (gcd(di ,vi )=1)を用いてV
i =(d/di )vi に設定した基数Vi を基にモジュ
ラ変換したものにすることを特徴としている。このよう
にして、中国人の剰余定理を用いて並列に復号するの
で、高速な復号を行うことができる。
【0008】
【発明が解決しようとする課題】しかしながら、この方
式では、公開鍵の数を非常に大きくしない限り低密度で
あるので、LLL(Lenstra-Lenstra-Lovasz)アルゴリ
ズムを用いて公開鍵と暗号文とから直接平文を求める低
密度攻撃に弱い場合があるという問題があり、安全性の
面での更なる改良が望まれている。
【0009】本発明は斯かる事情に鑑みてなされたもの
であり、上記従来例を改良して低密度攻撃に強く、安全
性を向上できる暗号化方法及び復号方法、この暗号化方
法を用いる暗号通信方法及び暗号通信システム、並び
に、この暗号化方法をコンピュータに実行させるための
コンピュータプログラム及び記録媒体を提供することを
目的とする。
【0010】
【課題を解決するための手段】請求項1に係る暗号化方
法は、平文から暗号文を得る暗号化方法において、暗号
化すべき平文を分割してなる複数の成分を有する平文ベ
クトルに複数の任意の乱数を成分とする乱数ベクトルを
加えた合成ベクトルと、公開されている公開ベクトルと
を用いて暗号文を得ることを特徴とする。
【0011】請求項2に係る暗号化方法は、請求項1に
おいて、前記合成ベクトルの成分と前記公開ベクトルの
成分との積和演算結果を法で割った剰余を暗号文とする
ことを特徴とする。
【0012】請求項3に係る暗号化方法は、平文から暗
号文を得る暗号化方法において、暗号化すべき平文をk
分割してなるk個の成分を有する第1ベクトルにn個の
任意の乱数を成分とする第2ベクトルを加えた(k+
n)個の成分を有する第3ベクトルと、整数di (1≦
i≦k+n)を用いて(k+n)個の各成分Di がDi
=d/di (但し、d=d1 2 …dk+n )に設定され
た第4ベクトルとを用いて暗号文を得ることを特徴とす
る。
【0013】請求項4に係る暗号化方法は、平文から暗
号文を得る暗号化方法において、暗号化すべき平文をk
分割してなるk個の成分を有する第1ベクトルにn個の
任意の乱数を成分とする第2ベクトルを加えた(k+
n)個の成分を有する第3ベクトルと、整数di (1≦
i≦k+n)及び乱数vi を用いて(k+n)個の各成
分Vi がVi =(d/di )・vi (但し、d=d1
2 …dk+n )に設定された第4ベクトルとを用いて暗号
文を得ることを特徴とする。
【0014】請求項5に係る暗号化方法は、平文から暗
号文を得る暗号化方法において、暗号化すべき平文をk
分割してなるk個の成分を有する第1ベクトルにn個の
任意の乱数を成分とする第2ベクトルを加えた(k+
n)個の成分を有する第3ベクトルと、L組(L≧2)
の整数di (y) (1≦i≦k+n,1≦y≦L)を用い
て各組毎に(k+n)個の各成分Di (y) がDi (y)
(y) /di (y) (但し、d(y) =d1 (y) 2 (y)
k+n (y) )に設定されたL組の第4ベクトルとを用い
て暗号文を得ることを特徴とする。
【0015】請求項6に係る暗号化方法は、平文から暗
号文を得る暗号化方法において、暗号化すべき平文をk
分割してなるk個の成分を有する第1ベクトルにn個の
任意の乱数を成分とする第2ベクトルを加えた(k+
n)個の成分を有する第3ベクトルと、L組(L≧2)
の整数di (y) (1≦i≦k+n,1≦y≦L)及び乱
数vi (y) を用いて各組毎に(k+n)個の各成分Vi
(y) がVi (y) =(d(y ) /di (y) )・vi (y) (但
し、d(y) =d1 (y) 2 (y) …dk+n (y) )に設定さ
れたL組の第4ベクトルとを用いて暗号文を得ることを
特徴とする。
【0016】請求項7に係る暗号化方法は、請求項4に
おいて、gcd(Vi ,di )=1を満たすことを特徴
とする。
【0017】請求項8に係る暗号化方法は、請求項6に
おいて、gcd(Vi (y) ,di (y ) )=1を満たすこ
とを特徴とする。
【0018】請求項9に係る暗号化方法は、請求項6ま
たは8において、gcd(di (y),dj (y) )=1
(1≦j≦k+n)を満たすことを特徴とする。は8に
記載の暗号化方法。
【0019】請求項10に係る暗号化方法は、請求項3
〜9の何れかにおいて、前記第3ベクトルの各成分と、
前記第4ベクトルを基にモジュラ変換した公開鍵ベクト
ルの各成分とによる積和演算に基づいて暗号文を得るよ
うにしたことを特徴とする。
【0020】請求項11に係る暗号化方法は、平文から
暗号文を得る暗号化方法において、暗号化すべき平文を
分割してなるk個の成分を有する第1ベクトル、n個の
任意の乱数を成分とする第2ベクトル、及び、前記k個
の成分または前記n個の成分の位置を特定する情報を示
すh個の成分を有する第3ベクトルを加えたK(=k+
n+h)個の成分を有する第4ベクトルと、公開されて
いる第5ベクトルとを用いて暗号文を得ることを特徴と
する。
【0021】請求項12に係る暗号化方法は、請求項1
1において、前記暗号文は、前記第4ベクトルと前記第
5ベクトルとを用いて得られる複数のブロックから構成
されており、各ブロックにおいて、前記第4ベクトルに
おける前記h個の成分の位置は同一であることを特徴と
する。
【0022】請求項13に係る暗号化方法は、請求項1
1において、前記暗号文は、前記第4ベクトルと前記第
5ベクトルとを用いて得られる複数のブロックから構成
されており、前のブロックでの前記k個の成分に応じて
次のブロックでの前記第4ベクトルにおける前記k個の
成分または前記n個の成分の位置を決定することを特徴
とする。
【0023】請求項14に係る暗号化方法は、請求項1
1において、前記暗号文は、前記第4ベクトルと前記第
5ベクトルとを用いて得られる1つのブロックと、前記
第3ベクトルのh個の成分を平文を分割してなるh個の
成分に置き換えた前記第4ベクトルと前記第5ベクトル
とを用いて得られる複数のブロックとから構成されてお
り、前のブロックでの平文を分割してなる前記k個また
は(k+h)個の成分に応じて次のブロックでの前記第
4ベクトルにおける(k+h)個の成分または前記n個
の成分の位置を決定することを特徴とする。
【0024】請求項15に係る暗号化方法は、請求項1
1〜14の何れかにおいて、前記第5ベクトルは、整数
i (1≦i≦K)を用いて各成分Di がDi =(d/
i)(但し、d=d1 2 …dK )に設定された第6
ベクトルとを用いて生成することを特徴とする。
【0025】請求項16に係る暗号化方法は、請求項1
1〜14の何れかにおいて、前記第5ベクトルは、整数
i (1≦i≦K)及び乱数vi を用いて各成分Vi
i=(d/di )・vi (但し、d=d1 2
K )に設定された第6ベクトルとを用いて生成するこ
とを特徴とする。
【0026】請求項17に係る暗号化方法は、請求項1
1〜14の何れかにおいて、前記第5ベクトルは、L組
(L≧2)の整数di (y) (1≦i≦K,1≦y≦L)
を用いて各組毎にK個の各成分Di (y) がDi (y) =d
(y) /di (y) (但し、d(y ) =d1 (y) 2 (y) …d
K (y) )に設定されたL組の第6ベクトルとを用いて生
成することを特徴とする。
【0027】請求項18に係る暗号化方法は、請求項1
1〜14の何れかにおいて、前記第5ベクトルは、L組
(L≧2)の整数di (y) (1≦i≦k+n,1≦y≦
L)及び乱数vi (y) を用いて各組毎にK個の各成分V
i (y) がVi (y) =(d(y)/di (y) )・v
i (y) (但し、d(y) =d1 (y) 2 (y) …dK (y)
に設定されたL組の第6ベクトルとを用いて生成するこ
とを特徴とする。
【0028】請求項19に係る暗号化方法は、請求項1
6において、gcd(Vi ,di )=1を満たすことを
特徴とする。
【0029】請求項20に係る暗号化方法は、請求項1
8において、gcd(Vi (y) ,d i (y) )=1を満た
すことを特徴とする。
【0030】請求項21に係る暗号化方法は、請求項1
8または20において、gcd(d i (y) ,dj (y)
=1(1≦j≦K)を満たすことを特徴とする。
【0031】請求項22に係る暗号化方法は、請求項1
5〜21の何れかにおいて、前記第4ベクトルの各成分
と、前記第6ベクトルを基にモジュラ変換した前記第5
ベクトルの各成分とによる積和演算に基づいて暗号文を
得るようにしたことを特徴とする。
【0032】請求項23に係る復号方法は、請求項1〜
10の何れかに記載の暗号化方法を用いて得られた暗号
文を復号する復号方法であって、前記平文ベクトルまた
は前記第1ベクトルの成分を、前記乱数ベクトルまたは
前記第2ベクトルの成分とは独立的に復号することを特
徴とする。
【0033】請求項24に係る復号方法は、請求項1〜
2または11〜21の何れかに記載の暗号化方法を用い
て得られた暗号文を復号する復号方法であって、前記平
文ベクトルまたは前記第1ベクトルの成分の位置を同定
しながら、前記暗号文を平文に復号することを特徴とす
る。
【0034】請求項25に係る暗号通信方法は、第1の
エンティティ側で、請求項1に記載の暗号化方法に従っ
て平文から暗号文を作成して第2のエンティティ側へ伝
送し、伝送された暗号文を該第2のエンティティ側で平
文に復号することにより、エンティティ間で情報の通信
を行う暗号通信方法であって、前記合成ベクトルにおけ
る前記平文ベクトルの成分または前記乱数ベクトルの成
分の位置を前記第1のエンティティ側で設定し、その設
定した位置を示す情報を前記第2のエンティティ側へ報
知することを特徴とする。
【0035】請求項26に係る暗号通信方法は、請求項
25において、前記設定した位置を示す情報を、作成す
る暗号文に盛り込んで前記第2のエンティティ側へ伝送
することを特徴とする。
【0036】請求項27に係る暗号通信方法は、第1の
エンティティ側で、請求項1に記載の暗号化方法に従っ
て平文から暗号文を作成して第2のエンティティ側へ伝
送し、伝送された暗号文を該第2のエンティティ側で平
文に復号することにより、エンティティ間で情報の通信
を行う暗号通信方法であって、前記合成ベクトルにおけ
る前記平文ベクトルの成分または前記乱数ベクトルの成
分の位置を前記第2のエンティティ側で設定し、その設
定した位置を示す情報を前記第1のエンティティ側へ報
知することを特徴とする。
【0037】請求項28に係る暗号通信システムは、両
エンティティ間で暗号文による情報通信を行う暗号通信
システムにおいて、請求項1〜22の何れかに記載の暗
号化方法を用いて平文から暗号文を作成する暗号化器
と、作成した暗号文を第1のエンティティから第2のエ
ンティティへ送信する通信路と、送信された暗号文から
平文を復号する復号器とを備えることを特徴とする。
【0038】請求項29に係るコンピュータプログラム
は、コンピュータに、平文から積和型の暗号文を得るこ
とを実行させるためのコンピュータプログラムにおい
て、暗号化すべき平文を分割してなる複数の成分を有す
る平文ベクトルに複数の任意の乱数を成分とする乱数ベ
クトルを加えて合成ベクトルを得る手順と、該合成ベク
トルと公開されている公開ベクトルとを用いて暗号文を
得る手順とを、コンピュータに実行させることを特徴と
する。
【0039】請求項30に係る記録媒体は、コンピュー
タに、平文から積和型の暗号文を得させるためのコンピ
ュータプログラムを記録してあるコンピュータでの読み
取りが可能な記録媒体において、暗号化すべき平文を分
割してなる複数の成分を有する平文ベクトルに複数の任
意の乱数を成分とする乱数ベクトルを加えた合成ベクト
ルを得ることをコンピュータに実行させるプログラムコ
ード手段と、該合成ベクトルと公開されている公開ベク
トルとを用いて暗号文を得ることをコンピュータに実行
させるプログラムコード手段とを含むコンピュータプロ
グラムを記録してあることを特徴とする。
【0040】本発明では、平文に冗長性を持たせる、言
い換えると平文を退化させて暗号文を作成する。即ち、
暗号化すべき平文を分割してなる平文ベクトルに特に暗
号化を必要としない乱数成分からなる乱数ベクトルを付
加して合成ベクトルとし、その合成ベクトルと公開され
ている公開鍵ベクトルとを用いて暗号文を作成する。よ
り具体的には、合成ベクトルの成分と公開ベクトルの成
分との積和演算結果、または、その積和演算結果を法で
割った剰余を暗号文とする。
【0041】本発明では、暗号化が必要でない冗長部分
(退化部分)を付加しているため、暗号文の密度が高く
なり、また、1つの平文ベクトルに対して非常に多数の
合成ベクトルつまり非常に多数の暗号文が存在するの
で、LLLアルゴリズムに基づく低密度攻撃は非常に困
難となる。この結果、安全性が向上する。
【0042】例えば、暗号化すべき平文を分割してなる
第1ベクトル(平文ベクトル)及び特に暗号化を必要と
しない乱数成分からなる第2ベクトル(疑似平文ベクト
ル)を合わせた第3ベクトル(拡大平文ベクトル)と、
各成分をDi =d/di またはVi =(d/di )・v
i に設定した1また複数の第4ベクトル(基数ベクト
ル)とを用いて暗号文を作成する。具体的には、第3ベ
クトル(拡大平文ベクトル)の各成分と、1また複数の
第4ベクトル(基数ベクトル)を基にモジュラ変換した
公開鍵ベクトルの各成分との積和演算結果、または、そ
の積和演算結果を法で割った剰余によって暗号文を作成
する。
【0043】また、本来の暗号化すべき平文部分である
平文ベクトルの各成分の位置、または、冗長部分(退化
部分)である乱数ベクトルの各成分を付加する位置は、
固定でなく、送信側のエンティティまたは受信側のエン
ティティにて任意に設定できる。このように平文部分の
位置または冗長部分(退化部分)の付加位置が固定でな
く、任意に設定するため、その位置が攻撃者には未知で
あるため、安全性は更に向上する。
【0044】また、この設定位置を示す情報は、設定し
た側のエンティティから他方のエンティティへ、公開で
伝えても良いし、秘密裏に伝えても良い。送信側のエン
ティティがこの位置を設定する場合、その設定位置を示
す情報は、暗号文に盛り込んで暗号文と共に受信側のエ
ンティティへ送るようにしても良いし、暗号文伝送とは
別の経路により受信側のエンティティへ送っても良い。
【0045】暗号文に盛り込んで設定位置を示す情報を
送る場合、具体的には、暗号化すべき平文を分割してな
る第1ベクトル(平文ベクトル)、特に暗号化を必要と
しない乱数成分からなる第2ベクトル(疑似平文ベクト
ル)、及び、第1ベクトルまたは第2ベクトルの各成分
の位置を示す第3ベクトル(位置特定ベクトル)を合わ
せた第4ベクトル(伸長平文ベクトル)と、公開されて
いる第5ベクトル(公開鍵ベクトル)とを用いて暗号文
を作成する。具体的には、第4ベクトル(伸長平文ベク
トル)の各成分と、1または複数の第6ベクトル(基数
ベクトル)を基にモジュラ変換した第5ベクトル(公開
鍵ベクトル)の各成分との積和演算結果、または、その
積和演算結果を法で割った剰余によって暗号文を作成す
る。この際、第3ベクトルの各成分の位置は公開とす
る。この位置情報は第3ベクトル(位置特定ベクトル)
として暗号文に盛り込まれて、受信側のエンティティへ
伝送され、その第3ベクトルの各成分の位置は公開され
ているので、受信側のエンティティにて、第3ベクトル
の成分が復号され、その復号結果に基づき第1ベクトル
(平文ベクトル)の各成分の位置が分かって、平文に復
号できる。
【0046】
【発明の実施の形態】以下、本発明の実施の形態につい
て具体的に説明する。図1は、本発明による暗号化方法
をエンティティa,b間の情報通信に利用した状態を示
す模式図である。図1の例では、一方のエンティティa
が、暗号化器1にて平文xを暗号文Cに暗号化し、通信
路3を介してその暗号文Cを他方のエンティティbへ送
信し、エンティティbが、復号器2にてその暗号文Cを
元の平文xに復号する場合を示している。
【0047】(第1実施の形態)秘密鍵と公開鍵とを以
下のように準備する。 ・秘密鍵:{di },{di ′},{vi },P,w ・公開鍵:{ci
【0048】e>e′として、正規基数di 及び退化基
数di ′は、夫々下記(1),(2)を満たす基数と定
義する。
【0049】
【数1】
【0050】(k+n)個の互いに素な数からなる基数
を定める。但し、そのうちのi∈Iに対応するk個を正
規基数、i∈I′に対応するn個を退化基数とする。こ
こで、I,I′は何れもインデックス集合であり、I=
{1,2,…,k},I′={k+1,k+2,…,k
+n}とし、I″=I∪I′とする。なお、第1,第2
実施の形態では、特に断らない限り、i∈I″である。
次に、基数積Di を下記(3)に従って求める。
【0051】
【数2】
【0052】また、(k+n)個の乱数{vi }(但
し、gcd(di ,vi )=1)を生成し、変換基数積
i を下記(4)により導く。 Vi =Di i …(4)
【0053】エンティティa側で、エンティティbへ暗
号化して送信すべき平文xをk分割して、各成分がe
(ビット)である平文ベクトルg=(g1 ,g2 ,…,
k )を得る。また、エンティティbへ特に送信する必
要がない各成分がe(ビット)の乱数からなる疑似平文
ベクトルg′=(gk+1 ,gk+2 ,…,gk+n )を得
る。例えば、エンティティbへ特に送信する必要がない
平文(冗長文)をn分割して、この疑似平文ベクトル
g′を得ることができる。これらの平文ベクトルgと疑
似平文ベクトルg′とを結合して、(k+n)個の成分
を有する拡大平文ベクトルg″=(g1 ″,g2 ″,
…,gk+n ″)を得る。ここで、この拡大平文ベクトル
g″の各成分は、下記(5)のように定義される。
【0054】
【数3】
【0055】積和平文Mを、拡大平文ベクトルg″と変
換基数積Vi とを用いて、下記(6)のように定義す
る。 M=g1 ″V1 +g2 ″V2 +・・・+gk+n ″Vk+n …(6)
【0056】任意の拡大平文ベクトルg″に対して、M
<Pを満たす素数Pを生成して法とする。素数Pより小
さい乱数wを定め、下記(7)に従って、下記(8)に
示すような公開鍵ベクトルcを導いて公開する。 ci ≡wVi (mod P) …(7) ベクトルc=(c1 ,c2 ,…,ck+n ) …(8)
【0057】エンティティa側で、拡大平文ベクトル
g″と公開鍵ベクトルcとの内積を下記(9)のように
求めて、暗号文Cを得る。作成された暗号文Cは通信路
3を介してエンティティaからエンティティbへ送信さ
れる。 C=g1 ″c1 +g2 ″c2 +・・・+gk+n ″ck+n …(9)
【0058】エンティティb側では、以下のようにして
復号処理が行われる。暗号文Cから積和平文Mは、下記
(10)のようにして求めることができる。 M≡w-1C (mod P) …(10)
【0059】拡大平文ベクトルg″のうち、正規基数に
対応するインデックス、即ち、i∈Iに関しては、下記
(11)が成立して、平文ベクトルgを復号することがで
きる。 gi ≡MVi -1 (mod di ) …(11)
【0060】なお、退化基数に対応するインデックス、
即ち、i∈I′に関しては、復号する必要がない。ま
た、上記(11)と同様に下記(12)に従って復号しよう
としても、退化の影響によりビット数に関して下記(1
3)の関係があるので、疑似平文ベクトルg′を正しく
復号することはできない。 gi ″′≡MVi -1 (mod di ′) …(12) gi ′>di ′>gi ″′ …(13)
【0061】なお、上記例では、gcd(Vi ,di
=1としたが、gcd(Vi ,di)=Ai としても良
い。この場合には、Vi ′=Vi /Ai ,di ′=di
/A i とおいて、gcd(Vi ′,di ′)=1として
同様に行えば良い。また、上記例では、基数積Di に乱
数{vi }を付加するようにしたが、このような乱数を
付加せず、上記(3)で示される基数積Di をそのまま
用いても良い。
【0062】(第2実施の形態)秘密鍵と公開鍵とを以
下のように準備する。 ・秘密鍵:{di (P) },{di (Q) },
{di (P) ′},{di (Q) ′},{vi (P) },{v
i (Q) },P,Q,N,w ・公開鍵:{ci } なお、上記Nは公開であっても良い。
【0063】P,Qを後述の条件を満たす素数とする。
e>e′とし、正規基数di (P) ,di (Q) 及び退化基
数di (P) ′,di (Q) ′は、夫々下記(14),(15)
を満たす基数と定義する。
【0064】
【数4】
【0065】法P及び法Qについて、夫々第1実施の形
態と同様に、2組の基数{di (P)},{di (P) ′}
及び{di (Q) },{di (Q) ′}(但し、i≠jにお
いて、gcd(di (P) ,dj (P) )=1,gcd(di (Q)
j (Q) )=1)を生成する。但し、任意のi∈I″に
ついて、下記(16),(17)を満たすものとする。 gcd(di (P) ,di (Q) )=1 …(16) gcd(di (P) ′,di (Q) ′)=1 …(17)
【0066】次に、法P及び法Qについて、第1実施の
形態と同様に、2組の乱数{vi (P ) }及び
{vi (Q) }(但し、gcd(di (P) ,vi (P) )=
1,gcd(d i (Q) ,vi (Q) )=1)を生成し、上
記(3),(4)と同様の計算により、{Vi (P) }及
び{Vi (Q) }を導く。
【0067】第1実施の形態と全く同様に構成された拡
大平文ベクトルg″に対する法P及び法Qにおける積和
平文MP 及び積和平文MQ を夫々、下記(18),(19)
と定義する。 MP =g1 ″V1 (P) +g2 ″V2 (P) +・・・ +gk+n ″Vk+n (P) …(18) MQ =g1 ″V1 (Q) +g2 ″V2 (Q) +・・・ +gk+n ″Vk+n (Q) …(19)
【0068】更に、素数P及び素数Qを、任意の拡大平
文ベクトルg″に対してMP <PかつMQ <Qの条件を
満たすように生成し、それらの積をNとする。中国人の
剰余定理を用いて、P及びQによる余りが夫々V1 (P)
及びV1 (Q) となるような最小のV1 (N) (<N)を導
いて変換基数積と定義する。
【0069】積和平文Mを、拡大平文ベクトルg″と変
換基数積V1 (N) とを用いて、下記(20)のように定義
する。ここで、M<Nを満たす必要はない。 M=g1 ″V1 (N) +g2 ″V2 (N) +・・・+gk+n ″Vk+n (N) …(20)
【0070】Nより小さい乱数wを定め、下記(21)に
従って、下記(22)に示すような公開鍵ベクトルcを導
いて公開する。 ci ≡wVi (mod N) …(21) ベクトルc=(c1 ,c2 ,…,ck+n ) …(22)
【0071】エンティティa側で、拡大平文ベクトル
g″と公開鍵ベクトルcとの内積を下記(23)のように
求めて、暗号文Cを得る。作成された暗号文Cは通信路
3を介してエンティティaからエンティティbへ送信さ
れる。なお、Nを公開する場合には、下記(23)のCを
Nで割った剰余を暗号文とすれば良い。 C=g1 ″c1 +g2 ″c2 +・・・+gk+n ″ck+n …(23)
【0072】エンティティb側では、以下のようにして
復号処理が行われる。積和平文Mは、下記(24)を満た
す。従って、法P及び法Qにおける積和平文MP 及びM
Q は、下記(25),(26)のようにして求めることがで
きる。 M≡w-1C (mod N) …(24) MP ≡M (mod P) …(25) MQ ≡M (mod Q) …(26)
【0073】拡大平文ベクトルg″のうち、正規基数に
対応するインデックス、即ち、i∈Iに関しては、2e
<di (P) i (Q) であるため、下記(27),(28)に
よって(gi (P) ,gi (Q) )を求め、中国人の剰余定
理を適用することにより、下記(29)が成立して、平文
ベクトルgを復号することができる。
【0074】
【数5】
【0075】なお、退化基数に対応するインデックス、
即ち、i∈I′に関しては、第1実施の形態と同様、復
号する必要がなく、疑似平文ベクトルg′を正しく復号
することができない。
【0076】なお、上記例では、2組の基数
{di (P) },{di (Q) }に乱数{vi (P)},{v
i (Q) }を付加するようにしたが、このような乱数を付
加しない基数積を使用しても良い。
【0077】次に、上述したような第1,第2実施の形
態の方式にあって、LLLアルゴリズムに基づく低密度
攻撃に強い耐性を持てるように、1を超える高い密度を
実現できていることを説明する。退化していない一般的
な積和型暗号について、暗号文密度σ,方式密度ρ,レ
ートηを下記(30),(31),(32)のように定義す
る。なお、Cは暗号文のビット数,Cmax は取り得る最
大の暗号文のビット数,kは平文の分割数,eは分割平
文のビット数である。
【0078】
【数6】
【0079】また、第1,第2実施の形態のように退化
している積和型暗号について、暗号文密度σ′,方式密
度ρ′を下記(33),(34)のように定義する。なお、
レートは上記(32)と同じである。
【0080】
【数7】
【0081】第1実施の形態における密度について考察
する。乱数vi をsビットとする。密度をできる限り大
きくするために、取り得る最大の積和平文をMmax とし
た場合、法Pのビットサイズを|P|=|Mmax |と設
定すべきである。この場合、第1実施の形態における方
式密度ρ1 ,レートη1 は、夫々、下記(35),(36)
の条件を満たす。
【0082】
【数8】
【0083】公開鍵より秘密鍵を求める攻撃(片柳磨
子,村上恭通,笠原正雄:”積和型暗号に関する二,三
の考察”,1999年暗号と情報セキュリティシンポジウム
資料,B43 Jan.2000 に開示)を回避するためには、乱
数vi のビットサイズを法Pのビットサイズの1/4以
上にする必要がある。この条件を満たすように、乱数v
i のビットサイズをs=(1/4)log 2P+1と考えて計算
した場合、方式密度ρ1,レートη1 は、夫々、下記(3
7),(38)の条件を満たす。
【0084】
【数9】
【0085】この条件において、乱数vi が非常に大き
いので、e′をe′<e/2とする、または、k<nと
することにより、ρ1 >1を満たすパラメータが存在す
る。
【0086】第2実施の形態における密度について考察
する。乱数vi (P) とvi (Q) との積、即ち、vi (P)
i (Q) をsビットとする。法Nが非公開である場合、
密度をできる限り大きくするために、取り得る最大の積
和平文をMPmax,MQmaxとしたとき、|P|=|MPmax
|,|Q|=|MQmax|と設定すべきである。この場
合、第2実施の形態における方式密度ρ2 ,レートη2
は、夫々、下記(39),(40)の条件を満たす。
【0087】
【数10】
【0088】第2実施の形態では、多重化しているの
で、乱数をあまり大きくする必要はない。よって、e′
=e/2,k=nという条件であっても、容易に方式密
度ρ2>1,レートη2 >1/2を達成することができ
る。例えば、上記の条件において、分割数をk=8と
し、基数di (P) ,di (Q) 及び乱数vi (P) ,vi
(Q)を何れも32ビットとした場合、ρ2 =1.0174,η
2 =0.5087となり、このような小さなパラメータでも、
上記の条件(ρ2 >1,η2 >1/2)を実現できてい
る。但し、小さなパラメータでは安全性に問題があるの
で、例えばk=100,e=64,e′=32程度が現
実的である。
【0089】また、法Nを公開とし、CをNで割った剰
余を暗号文とした場合の第2実施の形態における方式密
度ρ2 ,レートη2 は、夫々、下記(41),(42)の条
件を満たす。
【0090】
【数11】
【0091】以上のように、法Nを公開とした場合に
は、法Nが非公開である場合に比べて、方式密度ρ2
レートη2 の何れもが向上している。
【0092】ところで、疑似平文ベクトルg′における
乱数成分は、平文ベクトルgとは全く独立して設定でき
る。よって、作成した暗号文Cの方式密度が高くなるよ
うに疑似平文ベクトルg′の乱数成分を設定するように
すれば良い。また、疑似平文ベクトルg′としてある乱
数系列を設定して暗号文Cを作成した後、その暗号文C
の方式密度を計算し、その計算値が1を超えない場合に
は、疑似平文ベクトルg′に設定する乱数系列を別なも
のにして暗号文Cを作成しなおすようにし、方式密度が
1を超えた場合の暗号文Cを受信先のエンティティへ送
信する手法が有効である。
【0093】上述した第1,第2実施の形態の方式で
は、エンティティbへ特に暗号化して送信する必要がな
い疑似平文ベクトルの各乱数の拡大平文ベクトルにおけ
る位置(退化位置)は受信側のエンティティbにて固定
的に設定されており、その位置を表す情報が公開されて
いる。
【0094】これに対して、そのような乱数成分の位置
(退化位置)、または逆に暗号化すべき平文ベクトルの
各成分の位置(正規位置)を、任意に設定できるように
すれば、より安全性が向上することを期待できる。以下
の第3実施の形態では、このような退化位置または正規
位置を受信側のエンティティaにて任意に設定して、そ
の位置を表す情報を暗号文に盛り込んでエンティティb
へ伝送する場合について説明する。
【0095】(第3実施の形態)まず、第3実施の形態
の説明に用いる幾つかの定義について説明する。第3実
施の形態にあっても、暗号化すべき平文は幾つかの分割
平文に分けられる。各分割平文をメッセージベクトルm
として扱う。以下に定義する伸長変換によって、メッセ
ージベクトルmはベクトルm′に伸長される。このベク
トルm′を、伸長メッセージベクトルと称する。これら
のベクトルm,ベクトルm′の各成分のビットサイズの
和を夫々ε(ビット),ε′(ビット)(但し、ε≦
ε′)とする。また、暗号文が取り得る最大ビット数を
max とする。
【0096】〈定義1(密度)〉方式密度ρを下記(4
3)のように定義する。
【0097】
【数12】
【0098】〈定義2(レート)〉レートηを下記(4
4)のように定義する。
【0099】
【数13】
【0100】ベクトルa=(a1 ,a2 ,・・・,
w )をw次元ベクトルとし、ベクトルc=(c1 ,c
2 ,・・・,cn )をn次元ベクトルとする。また、ベ
クトルb=(b1 ,b2 ,・・・,bn )を重みwのn
次元2値ベクトルとする。但し、下記(45)の条件を満
たす。
【0101】
【数14】
【0102】〈定義3(添数集合)〉添数集合I=In
d(ベクトルb)を下記(46)のように定義する。 I={i1 ,i2 ,・・・,iw } …(46)
【0103】〈定義4(ベクトル表現)〉添数集合I
は、{1,2,・・・,n}の部分集合であり、ベクト
ル表現として、ベクトルd=Vec(I,n)を下記
(47)のように定義する。但し、ベクトルd=(d1
2 ,・・・,dn )であり、例えば、I=Ind(ベ
クトルb)である場合に、ベクトルb=Vec(I,
n)である。
【0104】
【数15】
【0105】〈定義5(伸長)〉ベクトルbによりベク
トルaから伸長されたn次元ベクトルcは、ベクトルc
=ベクトルa{ベクトルb}にて表記し、下記(48)の
ように定義する。例えば、ベクトルa=(a1 ,a2
3 ),ベクトルb=(1,0,1,1)である場合
に、ベクトルa{ベクトルb}=(a1 ,0,a2 ,a
3 )となる。
【0106】
【数16】
【0107】〈定義6(抜き出し)〉ベクトルbにより
ベクトルcから抜き出されたw次元ベクトルaは、ベク
トルa=ベクトルc{ベクトルb}にて表記し、下記
(49)のように定義する。例えば、ベクトルc=
(c1 ,c2 ,c3 ,c4 ),ベクトルb=(1,0,
1,1)である場合に、第1,第3及び第4成分が抜き
出されて、ベクトルc{ベクトルb}=(c1 ,c3
4 )となる。
【0108】
【数17】
【0109】次に、第3実施の形態の具体的な方式につ
いて説明する。 〈平文分割〉平文xは、ekビットの複数のブロックに
分割される。各ブロックは下記(50)のようにメッセー
ジベクトルmで表現される。なお、mi (i=1,2,
・・・,k)はeビットの整数である。 ベクトルm=(m1 ,m2 ,・・・,mk ) …(50)
【0110】〈伸長変換〉メッセージベクトルmを、各
成分がeビットの整数であるk次元ベクトルとし、乱数
ベクトルrを、各成分がe′ビットの整数であるn次元
ベクトルとする。但し、e<e′とする。また、ベクト
ルsを、重みkの(k+n)次元の2値ベクトルとす
る。このベクトルsを「位置特定子」と称する。
【0111】hを下記(51)のように設定し、ベクトル
s′を(he−(k+n))ビットの任意の2値詰め物
ベクトルとする。he次元の2値連接ベクトル[ベクト
ルs|ベクトルs′]は、各成分がeビットの整数であ
る下記(52)のようなh次元のベクトルtに分割でき
る。
【0112】
【数18】
【0113】K=k+n+hとし、各添数集合IN ,I
R 及びIL を夫々下記(53),(54)及び(55)のよう
に定義する。但し、バーベクトルsはベクトルsのビッ
ト補数を表す。
【0114】
【数19】
【0115】なお、上記例では添数集合IL の成分を最
後尾のh個としたが、これらの成分の位置は任意であっ
て良い。このような場合、下記(56),(57)の条件を
満たし、ベクトルm′,ベクトルsは夫々下記(58),
(59)のように表される。
【0116】
【数20】
【0117】メッセージベクトルmを、下記(60)のよ
うに、伸長メッセージベクトルm′=(m1 ′,
2 ′,・・・,mK ′)に変換する。この際、このベ
クトルm′の各成分の大きさは下記(61)である。
【0118】
【数21】
【0119】〈鍵生成〉秘密鍵と公開鍵とを以下のよう
に準備する。 ・秘密鍵:{di (P) },{di (Q) },
{vi (P) },{vi (Q) }, P,Q,N,w(但
し、i=1,2,・・・,K) ・公開鍵:ベクトルc=(c1 ,c2 ,・・・,
K ),IL ,e,e′ なお、上記Nは公開であっても良い。
【0120】まず、任意のi,j(但し、i≠j)につ
いて、下記(62)〜(65)の条件を満たすような2組の
基数{di (P) },{di (Q) }を生成する。
【0121】
【数22】
【0122】vi (P) ,vi (Q) をランダムな整数とし
て、下記(66),(67)のように、Vi (P) ,Vi (Q)
を導く。但し、vi (P) 及びvi (Q) は、下記(68)及
び(69)の条件を満たす。
【0123】
【数23】
【0124】次に、任意の伸長メッセージベクトルm′
について条件MP <P,MQ <Qを満たすような大きな
素数P,Qを設定する。なお、MP ,MQ は夫々下記
(70),(71)で定義される。
【0125】
【数24】
【0126】そして、N=PQを設定し、中国人の剰余
定理によりVi (0≦Vi <N)を下記(72)により計
算する。
【0127】
【数25】
【0128】公開鍵ベクトルcの各成分を、下記(73)
により求める。ここでwは、ZN *から任意に選ばれた
乱数である。 ci ≡wVi (mod N) …(73)
【0129】〈暗号化〉エンティティa側(送信側)
で、前述した位置特定子であるベクトルsを任意に生成
する。即ち、メッセージベクトルmに関する位置を示す
添数集合IN を、送信者であるエンティティaは任意に
選択する。次に、エンティティa側(送信側)で、各成
分が任意に選択されたe′ビットの整数からなるn次元
のベクトルrを生成する。この乱数ベクトルrにより、
高密度が実現される。つまり、冗長部分(退化部分)で
ある乱数ベクトルrの付加によって、後述するように密
度が高くなる。
【0130】エンティティa側(送信側)で、メッセー
ジベクトルmを、ベクトルs及びベクトルrによって、
伸長メッセージベクトルm′に変換する。そして、この
伸長メッセージベクトルm′と公開鍵ベクトルcとの内
積を下記(74)のように求めて、暗号文Cを得る。作成
された暗号文Cは通信路3を介してエンティティaから
エンティティbへ送信される。
【0131】
【数26】
【0132】この暗号化にあっては、暗号化すべき平文
を分割したメッセージベクトルmは、添数集合IN にて
示される位置で伝送され、添数集合IN の情報は、添数
集合IL にて示される位置でベクトルsによって伝送さ
れる。
【0133】〈復号〉エンティティb側(受信側)で、
以下のようにして復号処理が行われる。中間メッセージ
Mは、下記(75)を満たす。従って、法P,法Qにおけ
る中間メッセージMP ,MQ は、下記(76),(77)の
ようにして求めることができる。 M≡w-1C (mod N) …(75) MP ≡M (mod P) …(76) MQ ≡M (mod Q) …(77)
【0134】そして、下記(78),(79)によって(m
i (P) ,mi (Q) )を求め、中国人の剰余定理を適用す
ることにより、下記(80)が成立して、メッセージベク
トルm″=(m1 ″,m2 ″,・・・,mK ″)を復号
することができる。
【0135】
【数27】
【0136】e′>eであるので、復号されたメッセー
ジベクトルm″の各成分は、上記(61)から、下記(8
1)の条件を満たす。
【0137】
【数28】
【0138】添数集合IL に従って、下記(82)のよう
に、復号ベクトルm″からベクトルtを取り出す。
【0139】
【数29】
【0140】ベクトルtをhe次元の2値ベクトル[ベ
クトルs|ベクトルs′]と見なすことにより、(k+
n)次元で重みkの2値ベクトルsをエンティティb側
(受信側)で再構築できる。よって、最終的に、下記
(83)のように、メッセージベクトルmを得ることがで
きる。
【0141】
【数30】
【0142】なお、添数集合IL の成分を任意とする一
般的な場合には、上記(83)において、ベクトルm″を
下記(84)に示すものに代えることにより、メッセージ
ベクトルmが得られる。
【0143】
【数31】
【0144】次に、上述したような第3実施の形態の暗
号化方式における安全性について述べる。密度が0.9408
より小さい場合に、積和型公開鍵暗号はLLLアルゴリ
ズムに基づく低密度攻撃によって破られることが知られ
ている。上述した第3実施の形態の暗号化方式では、1
を超える高い密度を実現できており、このことはこの方
式が低密度攻撃に対して安全であることを示している。
【0145】乱数vi (P) ,vi (Q) を何れもfビット
とした場合、上述した第3実施の形態の暗号化方式にお
ける密度ρは、下記(85)の条件を満たす。但し、K=
k+n+h,e′>eである。
【0146】
【数32】
【0147】例えば、ここで簡単のために、f=e,
e′=2eと設定した場合、nは下記(86)の条件を満
たすので、ρ>1を実現できている。現実的な例とし
て、e=32とした場合、何れのkについてもn=7とす
ることにより、ρ>1を達成できることが分かる。
【0148】
【数33】
【0149】また、第3実施の形態の暗号化方式では、
高いレートも実現できている。上述した本発明の暗号化
方式におけるレートηは、下記(87)の条件を満たす。
【0150】
【数34】
【0151】ここで簡単のために、f=e,e′=2e
と設定した場合、n及びkは下記(88)の条件を満たす
ので、η>0.5 を実現できている。現実的な例として、
e=32とした場合、n=7でk>14とすることにより、
η>0.5 を達成できることが分かる。例えば、k=57と
した場合に、η≒0.7884となる。このように、レートの
観点から見ても、第3実施の形態の方式は効率的であ
る。
【0152】
【数35】
【0153】第3実施の形態の暗号化方式では、高い密
度を実現できるため、低密度攻撃に対し、十分に安全で
ある。また、送信側のエンティティにおいて、退化基数
の位置を自由に決定できる。よって、位置が分かってい
る退化基数に基づき、攻撃者が第3実施の形態の暗号化
方式に対して有効な攻撃を行おうとした場合でも、その
攻撃者にとって退化基数の位置を同定することが困難で
ある。従って、退化基数の位置が固定ではなく送信側で
任意に決定できるという第3実施の形態の特徴は、退化
基数の位置が既知である場合に有効である攻撃に対して
も安全であることを示している。
【0154】以下、第3実施の形態の他の例について説
明する。上述した例では全てのブロックにおいて、IL
の位置を固定(最後尾)としているが、このIL の位置
は各ブロックにおいて異なっていても良い。このような
例として、以下のようなものが可能である。
【0155】(第1例)最初のブロックについてはIL
の位置を固定(例えば上述した例と同様に最後尾)し、
このIL は公開しておく。そして、2番目以降のブロッ
クについては、1つ前のブロックのメッセージベクトル
よりそのブロックのIL の位置を決定するようにする。
よって、2番目以降のブロックからは、IL の位置が変
動する。このようにして、送信側のエンティティが退化
基数の位置を任意に決定しても最初のブロックのIL
公開されており、しかも、2番目以降のブロックでは前
のブロックのメッセージベクトルからそのブロックのI
L の位置が分かるので、受信側のエンティティにおい
て、上述した例と同様に、暗号文から平文を復号でき
る。この第1例では、各ブロックにおいてIL の位置を
変動させるため、安全性の向上を図れる。
【0156】(第2例)最初のブロックについてはIL
の位置を固定(例えば上述した例と同様に最後尾)し、
このIL は公開しておく。そして、2番目以降のブロッ
クについては、IL の項を設けないようにし、IL の項
に割り当てられるh次元のベクトルを平文を分割したメ
ッセージに割り当てる。そして、この2番目以降のブロ
ックについては、1つ前のブロックのメッセージよりそ
のブロックにおける退化基数の位置を示す位置情報を決
定する。よって、2番目以降のブロックには、IL が存
在しない。このようにして、送信側のエンティティが退
化基数の位置を任意に決定しても最初のブロックのIL
は公開されており、しかも、2番目以降のブロックでは
前のブロックのメッセージベクトルからそのブロックで
の退化基数の位置が分かるので、受信側のエンティティ
において、上述した例と同様に、暗号文から平文を復号
できる。また、2番目以降のブロックではメッセージに
割り当てる部分がk項から(k+h)項に増えるので、
1ブロック内に盛り込めるメッセージ量が増加して、レ
ートをより高くすることができる。
【0157】なお、上記例では、暗号化すべき平文を分
割したメッセージベクトルmの各成分の位置(添数集合
N )を示す情報(添数集合IL )を伝送するようにし
たが、付加する乱数ベクトルrの各成分の位置(添数集
合IR )を示す情報を伝送するようにしても良いことは
勿論である。
【0158】また、上記例では、2組の基数
{di (P) },{di (Q) }に乱数{vi (P)},{v
i (Q) }を付加するようにしたが、このような乱数を付
加しない基数積を使用しても良い。
【0159】また、上記例では(74)に示したように、
伸長メッセージベクトルm′と公開鍵ベクトルcとの内
積値(積和演算結果)をそのまま暗号文Cとしたが、下
記(89)のように、その内積値(積和演算結果)をNで
モジュロ変換したもの、つまり上記(74)のCをNで割
った剰余を暗号文としても良い。 C≡m1 ′c1 +m2 ′c2 +…+mK ′cK (mod N) …(89)
【0160】(74)のように暗号文を表す場合に、安全
性の根拠は、下記(90)に示す式において、a1
2 ,…,an 及びCが既知の整数であるときに未知数
1 ,x 2 ,…,xn を求めるための線型ジオファンタ
ス方程式を解くことの困難さに基づいている。一方、
(89)のように暗号文を表す場合には、積和してモジュ
ロをとるので、安全性の根拠がNの素因素分解の困難さ
に基づいている。この場合、Nを公開するので攻撃者に
提供する情報量は増えるが、積和演算結果そのものでな
くてその余りしか分からないので、線型ジオファンタス
方程式を解く難しさは高くなっている。 C=a1 1 +a2 2 +…+an n …(90)
【0161】(第4実施の形態)なお、第3実施の形態
では、送信側のエンティティにて任意に設定した、伸長
メッセージベクトルにおけるメッセージベクトルの各成
分または乱数ベクトルの各成分の位置を示す情報を暗号
文に盛り込むようにしたが、このような位置を示す情報
を、暗号文との伝送とは独立させて、送信側のエンティ
ティから受信側のエンティティへ報せるようにしても良
い。
【0162】(第5実施の形態)なお、第3,第4実施
の形態では、送信側のエンティティにて伸長メッセージ
ベクトルにおけるメッセージベクトルの各成分または乱
数ベクトルの各成分の位置を任意に設定するようにした
が、このような位置を受信側のエンティティにて任意に
設定するようにすることも可能である。
【0163】(第6実施の形態)また、第3〜第5実施
の形態では、K個の要素からなる基数の集合{di }を
2組({di (P) },{di (Q) })生成する多重化し
た方式の場合について説明したが、前述した第1実施の
形態のように1組の基数の集合{di }を用いる方式に
ついても、これらの第3〜第5実施の形態を同様に適用
できることは勿論である。
【0164】図2は、本発明の記録媒体の実施の形態の
構成を示す図である。ここに例示するコンピュータプロ
グラムは、上述した暗号化方式の手順に従って拡大平文
ベクトルg″または伸長メッセージベクトルm′を得る
処理と、得た拡大平文ベクトルg″または伸長メッセー
ジベクトルm′と公開鍵ベクトルcとの内積計算により
暗号文Cを作成する処理とを含んでおり、以下に説明す
る記録媒体に記録されている。なお、コンピュータ10
は、送信側のエンティティに設けられている。
【0165】図2において、コンピュータ10とオンライ
ン接続する記録媒体11は、コンピュータ10の設置場所か
ら隔たって設置される例えばWWW(World Wide Web)の
サーバコンピュータを用いてなり、記録媒体11には前述
の如きプログラム11a が記録されている。記録媒体11か
ら通信線等の伝送媒体14を介して読み出されたプログラ
ム11a がコンピュータ10を制御することにより、コンピ
ュータ10が暗号文Cを作成する。
【0166】コンピュータ10の内部に設けられた記録媒
体12は、内蔵設置される例えばハードディスクドライブ
またはROMなどを用いてなり、記録媒体12には前述の
如きプログラム12a が記録されている。記録媒体12から
読み出されたプログラム12aがコンピュータ10を制御す
ることにより、コンピュータ10が暗号文Cを作成する。
【0167】コンピュータ10に設けられたディスクドラ
イブ10a に装填して使用される記録媒体13は、運搬可能
な例えば光磁気ディスク,CD−ROMまたはフレキシ
ブルディスクなどを用いてなり、記録媒体13には前述の
如きプログラム13a が記録されている。記録媒体13から
読み出されたプログラム13a がコンピュータ10を制御す
ることにより、コンピュータ10が暗号文Cを作成する。
【0168】
【発明の効果】以上のように、本発明では、暗号化すべ
き平文を分割してなる平文ベクトルに、複数の任意の乱
数を成分とする乱数ベクトルを加えた合成ベクトルと、
公開されている公開ベクトルとを用いて暗号文を得るよ
うにしたので、暗号化が必要でない乱数からなる冗長部
分(退化部分)を付加しているため、暗号文の密度を大
きくでき、LLLアルゴリズムに基づく低密度攻撃に対
して強くなって安全性を向上できる。また、その合成ベ
クトルにおける平文ベクトルまたは乱数ベクトルの各成
分の位置を、送信側のエンティティまたは受信側のエン
ティティにて任意設定できるようにしたので、攻撃者に
とってその位置を見つけることすら困難であり、安全性
の更なる向上を図れる。この結果、積和型暗号の実用化
の道を開くことに、本発明は大いに寄与できる。
【図面の簡単な説明】
【図1】2人のエンティティ間における情報の通信状態
を示す模式図である。
【図2】記録媒体の実施の形態の構成を示す図である。
【符号の説明】
1 暗号化器 2 復号器 3 通信路 a,b エンティティ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 笠原 正雄 大阪府箕面市粟生外院4丁目15番3号 Fターム(参考) 5J104 AA21 AA43 JA23 NA02 NA17

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】 平文から暗号文を得る暗号化方法におい
    て、暗号化すべき平文を分割してなる複数の成分を有す
    る平文ベクトルに複数の任意の乱数を成分とする乱数ベ
    クトルを加えた合成ベクトルと、公開されている公開ベ
    クトルとを用いて暗号文を得ることを特徴とする暗号化
    方法。
  2. 【請求項2】 前記合成ベクトルの成分と前記公開ベク
    トルの成分との積和演算結果を法で割った剰余を暗号文
    とする請求項1に記載の暗号化方法。
  3. 【請求項3】 平文から暗号文を得る暗号化方法におい
    て、暗号化すべき平文をk分割してなるk個の成分を有
    する第1ベクトルにn個の任意の乱数を成分とする第2
    ベクトルを加えた(k+n)個の成分を有する第3ベク
    トルと、整数di (1≦i≦k+n)を用いて(k+
    n)個の各成分Di がDi =d/di (但し、d=d1
    2 …dk+n )に設定された第4ベクトルとを用いて暗
    号文を得ることを特徴とする暗号化方法。
  4. 【請求項4】 平文から暗号文を得る暗号化方法におい
    て、暗号化すべき平文をk分割してなるk個の成分を有
    する第1ベクトルにn個の任意の乱数を成分とする第2
    ベクトルを加えた(k+n)個の成分を有する第3ベク
    トルと、整数di (1≦i≦k+n)及び乱数vi を用
    いて(k+n)個の各成分Vi がVi=(d/di )・
    i (但し、d=d1 2 …dk+n )に設定された第4
    ベクトルとを用いて暗号文を得ることを特徴とする暗号
    化方法。
  5. 【請求項5】 平文から暗号文を得る暗号化方法におい
    て、暗号化すべき平文をk分割してなるk個の成分を有
    する第1ベクトルにn個の任意の乱数を成分とする第2
    ベクトルを加えた(k+n)個の成分を有する第3ベク
    トルと、L組(L≧2)の整数di (y) (1≦i≦k+
    n,1≦y≦L)を用いて各組毎に(k+n)個の各成
    分Di (y) がDi (y) =d(y) /di (y) (但し、d
    (y) =d 1 (y) 2 (y) …dk+n (y) )に設定されたL
    組の第4ベクトルとを用いて暗号文を得ることを特徴と
    する暗号化方法。
  6. 【請求項6】 平文から暗号文を得る暗号化方法におい
    て、暗号化すべき平文をk分割してなるk個の成分を有
    する第1ベクトルにn個の任意の乱数を成分とする第2
    ベクトルを加えた(k+n)個の成分を有する第3ベク
    トルと、L組(L≧2)の整数di (y) (1≦i≦k+
    n,1≦y≦L)及び乱数vi (y) を用いて各組毎に
    (k+n)個の各成分Vi (y) がVi (y) =(d(y)
    i (y))・vi (y) (但し、d(y) =d1 (y) 2
    (y) …dk+n (y) )に設定されたL組の第4ベクトルと
    を用いて暗号文を得ることを特徴とする暗号化方法。
  7. 【請求項7】 gcd(Vi ,di )=1を満たす請求
    項4に記載の暗号化方法。
  8. 【請求項8】 gcd(Vi (y) ,di (y) )=1を満
    たす請求項6に記載の暗号化方法。
  9. 【請求項9】 gcd(di (y) ,dj (y) )=1(1
    ≦j≦k+n)を満たす請求項6または8に記載の暗号
    化方法。
  10. 【請求項10】 前記第3ベクトルの各成分と、前記第
    4ベクトルを基にモジュラ変換した公開鍵ベクトルの各
    成分とによる積和演算に基づいて暗号文を得るようにし
    た請求項3〜9の何れかに記載の暗号化方法。
  11. 【請求項11】 平文から暗号文を得る暗号化方法にお
    いて、暗号化すべき平文を分割してなるk個の成分を有
    する第1ベクトル、n個の任意の乱数を成分とする第2
    ベクトル、及び、前記k個の成分または前記n個の成分
    の位置を特定する情報を示すh個の成分を有する第3ベ
    クトルを加えたK(=k+n+h)個の成分を有する第
    4ベクトルと、公開されている第5ベクトルとを用いて
    暗号文を得ることを特徴とする暗号化方法。
  12. 【請求項12】 前記暗号文は、前記第4ベクトルと前
    記第5ベクトルとを用いて得られる複数のブロックから
    構成されており、各ブロックにおいて、前記第4ベクト
    ルにおける前記h個の成分の位置は同一である請求項1
    1に記載の暗号化方法。
  13. 【請求項13】 前記暗号文は、前記第4ベクトルと前
    記第5ベクトルとを用いて得られる複数のブロックから
    構成されており、前のブロックでの前記k個の成分に応
    じて次のブロックでの前記第4ベクトルにおける前記k
    個の成分または前記n個の成分の位置を決定する請求項
    11に記載の暗号化方法。
  14. 【請求項14】 前記暗号文は、前記第4ベクトルと前
    記第5ベクトルとを用いて得られる1つのブロックと、
    前記第3ベクトルのh個の成分を平文を分割してなるh
    個の成分に置き換えた前記第4ベクトルと前記第5ベク
    トルとを用いて得られる複数のブロックとから構成され
    ており、前のブロックでの平文を分割してなる前記k個
    または(k+h)個の成分に応じて次のブロックでの前
    記第4ベクトルにおける(k+h)個の成分または前記
    n個の成分の位置を決定する請求項11に記載の暗号化
    方法。
  15. 【請求項15】 前記第5ベクトルは、整数di (1≦
    i≦K)を用いて各成分Di がDi =(d/di )(但
    し、d=d1 2 …dK )に設定された第6ベクトルと
    を用いて生成する請求項11〜14の何れかに記載の暗
    号化方法。
  16. 【請求項16】 前記第5ベクトルは、整数di (1≦
    i≦K)及び乱数v i を用いて各成分Vi がVi =(d
    /di )・vi (但し、d=d1 2 …dK)に設定さ
    れた第6ベクトルとを用いて生成する請求項11〜14
    の何れかに記載の暗号化方法。
  17. 【請求項17】 前記第5ベクトルは、L組(L≧2)
    の整数di (y) (1≦i≦K,1≦y≦L)を用いて各
    組毎にK個の各成分Di (y) がDi (y) =d (y) /di
    (y) (但し、d(y) =d1 (y) 2 (y) …dK (y) )に
    設定されたL組の第6ベクトルとを用いて生成する請求
    項11〜14の何れかに記載の暗号化方法。
  18. 【請求項18】 前記第5ベクトルは、L組(L≧2)
    の整数di (y) (1≦i≦k+n,1≦y≦L)及び乱
    数vi (y) を用いて各組毎にK個の各成分V i (y) がV
    i (y) =(d(y) /di (y) )・vi (y) (但し、d
    (y) =d1 (y)2 (y) …dK (y) )に設定されたL組
    の第6ベクトルとを用いて生成する請求項11〜14の
    何れかに記載の暗号化方法。
  19. 【請求項19】 gcd(Vi ,di )=1を満たす請
    求項16に記載の暗号化方法。
  20. 【請求項20】 gcd(Vi (y) ,di (y) )=1を
    満たす請求項18に記載の暗号化方法。
  21. 【請求項21】 gcd(di (y) ,dj (y) )=1
    (1≦j≦K)を満たす請求項18または20に記載の
    暗号化方法。
  22. 【請求項22】 前記第4ベクトルの各成分と、前記第
    6ベクトルを基にモジュラ変換した前記第5ベクトルの
    各成分とによる積和演算に基づいて暗号文を得るように
    した請求項15〜21の何れかに記載の暗号化方法。
  23. 【請求項23】 請求項1〜10の何れかに記載の暗号
    化方法を用いて得られた暗号文を復号する復号方法であ
    って、前記平文ベクトルまたは前記第1ベクトルの成分
    を、前記乱数ベクトルまたは前記第2ベクトルの成分と
    は独立的に復号することを特徴とする復号方法。
  24. 【請求項24】 請求項1〜2または11〜21の何れ
    かに記載の暗号化方法を用いて得られた暗号文を復号す
    る復号方法であって、前記平文ベクトルまたは前記第1
    ベクトルの成分の位置を同定しながら、前記暗号文を平
    文に復号することを特徴とする復号方法。
  25. 【請求項25】 第1のエンティティ側で、請求項1に
    記載の暗号化方法に従って平文から暗号文を作成して第
    2のエンティティ側へ伝送し、伝送された暗号文を該第
    2のエンティティ側で平文に復号することにより、エン
    ティティ間で情報の通信を行う暗号通信方法であって、
    前記合成ベクトルにおける前記平文ベクトルの成分また
    は前記乱数ベクトルの成分の位置を前記第1のエンティ
    ティ側で設定し、その設定した位置を示す情報を前記第
    2のエンティティ側へ報知することを特徴とする暗号通
    信方法。
  26. 【請求項26】 前記設定した位置を示す情報を、作成
    する暗号文に盛り込んで前記第2のエンティティ側へ伝
    送する請求項25に記載の暗号通信方法。
  27. 【請求項27】 第1のエンティティ側で、請求項1に
    記載の暗号化方法に従って平文から暗号文を作成して第
    2のエンティティ側へ伝送し、伝送された暗号文を該第
    2のエンティティ側で平文に復号することにより、エン
    ティティ間で情報の通信を行う暗号通信方法であって、
    前記合成ベクトルにおける前記平文ベクトルの成分また
    は前記乱数ベクトルの成分の位置を前記第2のエンティ
    ティ側で設定し、その設定した位置を示す情報を前記第
    1のエンティティ側へ報知することを特徴とする暗号通
    信方法。
  28. 【請求項28】 両エンティティ間で暗号文による情報
    通信を行う暗号通信システムにおいて、請求項1〜22
    の何れかに記載の暗号化方法を用いて平文から暗号文を
    作成する暗号化器と、作成した暗号文を第1のエンティ
    ティから第2のエンティティへ送信する通信路と、送信
    された暗号文から平文を復号する復号器とを備えること
    を特徴とする暗号通信システム。
  29. 【請求項29】 コンピュータに、平文から積和型の暗
    号文を得ることを実行させるためのコンピュータプログ
    ラムにおいて、暗号化すべき平文を分割してなる複数の
    成分を有する平文ベクトルに複数の任意の乱数を成分と
    する乱数ベクトルを加えて合成ベクトルを得る手順と、
    該合成ベクトルと公開されている公開ベクトルとを用い
    て暗号文を得る手順とを、コンピュータに実行させるこ
    とを特徴とするコンピュータプログラム。
  30. 【請求項30】 コンピュータに、平文から積和型の暗
    号文を得させるためのコンピュータプログラムを記録し
    てあるコンピュータでの読み取りが可能な記録媒体にお
    いて、暗号化すべき平文を分割してなる複数の成分を有
    する平文ベクトルに複数の任意の乱数を成分とする乱数
    ベクトルを加えた合成ベクトルを得ることをコンピュー
    タに実行させるプログラムコード手段と、該合成ベクト
    ルと公開されている公開ベクトルとを用いて暗号文を得
    ることをコンピュータに実行させるプログラムコード手
    段とを含むコンピュータプログラムを記録してあること
    を特徴とする記録媒体。
JP2001097701A 2000-05-24 2001-03-29 暗号化方法,復号方法,暗号通信方法,暗号通信システム,コンピュータプログラム及び記録媒体 Withdrawn JP2002182559A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001097701A JP2002182559A (ja) 2000-05-24 2001-03-29 暗号化方法,復号方法,暗号通信方法,暗号通信システム,コンピュータプログラム及び記録媒体
US09/862,888 US20020003877A1 (en) 2000-05-24 2001-05-21 Encryption method, decryption method, cryptographic communication method, cryptographic communication system, memory product and data signal embodied in carrier wave

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2000153358 2000-05-24
JP2000-307822 2000-10-06
JP2000307822 2000-10-06
JP2000-153358 2000-10-06
JP2001097701A JP2002182559A (ja) 2000-05-24 2001-03-29 暗号化方法,復号方法,暗号通信方法,暗号通信システム,コンピュータプログラム及び記録媒体

Publications (1)

Publication Number Publication Date
JP2002182559A true JP2002182559A (ja) 2002-06-26

Family

ID=27343488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001097701A Withdrawn JP2002182559A (ja) 2000-05-24 2001-03-29 暗号化方法,復号方法,暗号通信方法,暗号通信システム,コンピュータプログラム及び記録媒体

Country Status (2)

Country Link
US (1) US20020003877A1 (ja)
JP (1) JP2002182559A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11468796B2 (en) * 2017-05-18 2022-10-11 Nec Corporation Numerical splitting device, transmission information generating device, secure computation device, method, program recording medium, and secure computation system
US11201731B2 (en) * 2017-11-21 2021-12-14 Zenith Electronics Llc Method and apparatus for asymmetric cryptosystem based on quasi-cyclic moderate density parity-check codes over GF(q)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6798884B1 (en) * 1998-09-16 2004-09-28 Murata Kikai Kabushiki Kaisha Encryption method, decryption method, encryption/decryption method, cryptographic communications system, and computer usable medium
US6785388B1 (en) * 1998-09-16 2004-08-31 Murata Kikai Kabushiki Kaisha Encryption method, decryption method, encryption/decryption method, cryptographic communications system, and computer usable medium

Also Published As

Publication number Publication date
US20020003877A1 (en) 2002-01-10

Similar Documents

Publication Publication Date Title
JP2005521323A (ja) 階層型の同一性に基づく暗号化および署名スキーム
JP2002026892A (ja) 鍵共有方法,秘密鍵生成方法,共通鍵生成方法,暗号通信方法,秘密鍵生成器,共通鍵生成器,暗号通信システム及び記録媒体
JP3517663B2 (ja) 暗号通信方法及び暗号通信システム
Nalwaya et al. A cryptographic approach based on integrating running key in feedback mode of elgamal system
KR100388059B1 (ko) 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법
JP2002182559A (ja) 暗号化方法,復号方法,暗号通信方法,暗号通信システム,コンピュータプログラム及び記録媒体
JP3587763B2 (ja) 暗号化装置,復号装置,暗号通信システム及び記録媒体
JP2002023626A (ja) 公開鍵暗号方法および公開鍵暗号を用いた通信システム
JP3518671B2 (ja) 暗号通信方法
Sung et al. Key recovery attacks on the RMAC, TMAC, and IACBC
JP3622072B2 (ja) 暗号通信方法
JP3592118B2 (ja) 暗号化装置,暗号通信方法,暗号通信システム及び記録媒体
JP3517731B2 (ja) 暗号通信方法
JP3722744B2 (ja) 暗号化装置,暗号通信システム,記録媒体
JP3464153B2 (ja) 暗号通信方法及び暗号通信システム
JP3953235B2 (ja) 暗号通信方法及び暗号通信システム
JP2001034165A (ja) 暗号化方法,暗号通信方法及び暗号文作成装置
Singh et al. Encryption algorithms with emphasis on probabilistic Encryption & time stamp in network security
JP2000298432A (ja) 暗号化方法及び復号方法
JP2001092353A (ja) 暗号化方法,暗号通信方法及び暗号文作成装置
JP2003029628A (ja) 暗号化方法,復号方法,暗号通信方法,暗号通信システム,プログラム及び記録媒体
JP2000216768A (ja) 暗号化方法及び暗号通信方法並びに暗号通信システム
JP2000298431A (ja) 暗号化方法及び復号方法
Upadhyay et al. An Analysis of the Attack on RSA Cryptosystem Through Formal Methods
Bharti et al. A Brief Survey of Cryptography Techniques

Legal Events

Date Code Title Description
A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20040420