JP2003029628A - 暗号化方法,復号方法,暗号通信方法,暗号通信システム,プログラム及び記録媒体 - Google Patents
暗号化方法,復号方法,暗号通信方法,暗号通信システム,プログラム及び記録媒体Info
- Publication number
- JP2003029628A JP2003029628A JP2001212759A JP2001212759A JP2003029628A JP 2003029628 A JP2003029628 A JP 2003029628A JP 2001212759 A JP2001212759 A JP 2001212759A JP 2001212759 A JP2001212759 A JP 2001212759A JP 2003029628 A JP2003029628 A JP 2003029628A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- plaintext
- ciphertext
- component
- entity
- 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.)
- Pending
Links
Abstract
(57)【要約】
【課題】 LLLアルゴリズムに基づく低密度攻撃に強
く、安全性を向上できる暗号化方式を提供する。 【解決手段】 暗号化すべき平文を分割してなる複数の
成分を有する平文ベクトルに複数の任意の乱数を成分と
する乱数ベクトルを加えた合成ベクトルを作成し、合成
ベクトルの各成分毎に予め準備されている複数の公開成
分から任意の公開成分を選択して暗号化鍵ベクトルを作
成し、作成した合成ベクトルの各成分と選択した暗号化
鍵ベクトルの各成分との積和演算により暗号文Cを得
る。合成ベクトルにおける平文ベクトルまたは乱数ベク
トルの各成分の位置は、送信側(エンティティa)また
は受信側(エンティティb)で任意に設定する。
く、安全性を向上できる暗号化方式を提供する。 【解決手段】 暗号化すべき平文を分割してなる複数の
成分を有する平文ベクトルに複数の任意の乱数を成分と
する乱数ベクトルを加えた合成ベクトルを作成し、合成
ベクトルの各成分毎に予め準備されている複数の公開成
分から任意の公開成分を選択して暗号化鍵ベクトルを作
成し、作成した合成ベクトルの各成分と選択した暗号化
鍵ベクトルの各成分との積和演算により暗号文Cを得
る。合成ベクトルにおける平文ベクトルまたは乱数ベク
トルの各成分の位置は、送信側(エンティティa)また
は受信側(エンティティb)で任意に設定する。
Description
【0001】
【発明の属する技術分野】本発明は、公開鍵を用いて平
文を暗号文に変換する公開鍵暗号系に関し、特に、積和
型暗号に関する。
文を暗号文に変換する公開鍵暗号系に関し、特に、積和
型暗号に関する。
【0002】
【従来の技術】高度情報化社会と呼ばれる現代社会で
は、コンピュータネットワークを基盤として、ビジネス
上の重要な文書・画像情報が電子的な情報という形で伝
送通信されて処理される。このような電子情報は、容易
に複写が可能である、複写物とオリジナルとの区別が困
難であるという性質があり、情報保全の問題が重要視さ
れている。特に、「コンピュータリソースの共有」,
「マルチアクセス」,「広域化」の各要素を満たすコン
ピュータネットワークの実現が高度情報化社会の確立に
不可欠であるが、これは当事者間の情報保全の問題とは
矛盾する要素を含んでいる。このような矛盾を解消する
ための有効な手法として、人類の過去の歴史上主として
軍事,外交面で用いられてきた暗号技術が注目されてい
る。
は、コンピュータネットワークを基盤として、ビジネス
上の重要な文書・画像情報が電子的な情報という形で伝
送通信されて処理される。このような電子情報は、容易
に複写が可能である、複写物とオリジナルとの区別が困
難であるという性質があり、情報保全の問題が重要視さ
れている。特に、「コンピュータリソースの共有」,
「マルチアクセス」,「広域化」の各要素を満たすコン
ピュータネットワークの実現が高度情報化社会の確立に
不可欠であるが、これは当事者間の情報保全の問題とは
矛盾する要素を含んでいる。このような矛盾を解消する
ための有効な手法として、人類の過去の歴史上主として
軍事,外交面で用いられてきた暗号技術が注目されてい
る。
【0003】暗号とは、情報の意味が当事者以外には理
解できないように情報を交換することである。暗号にお
いて、誰でも理解できる元の文(平文)を第三者には意
味がわからない文(暗号文)に変換することが暗号化で
あり、また、暗号文を平文に戻すことが復号であり、こ
の暗号化と復号との全過程をまとめて暗号系と呼ぶ。暗
号化の過程及び復号の過程には、それぞれ暗号化鍵及び
復号鍵と呼ばれる秘密の情報が用いられる。復号時には
秘密の復号鍵が必要であるので、この復号鍵を知ってい
る者のみが暗号文を復号でき、暗号化によって情報の秘
密性が維持され得る。
解できないように情報を交換することである。暗号にお
いて、誰でも理解できる元の文(平文)を第三者には意
味がわからない文(暗号文)に変換することが暗号化で
あり、また、暗号文を平文に戻すことが復号であり、こ
の暗号化と復号との全過程をまとめて暗号系と呼ぶ。暗
号化の過程及び復号の過程には、それぞれ暗号化鍵及び
復号鍵と呼ばれる秘密の情報が用いられる。復号時には
秘密の復号鍵が必要であるので、この復号鍵を知ってい
る者のみが暗号文を復号でき、暗号化によって情報の秘
密性が維持され得る。
【0004】暗号化方式は、大別すると共通鍵暗号系と
公開鍵暗号系との二つに分類できる。共通鍵暗号系で
は、暗号化鍵と復号鍵とが等しく、送信者と受信者とが
同じ共通鍵を持つことによって暗号通信を行う。送信者
が平文を秘密の共通鍵に基づいて暗号化して受信者に送
り、受信者はこの共通鍵を用いて暗号文を平文に復号す
る。
公開鍵暗号系との二つに分類できる。共通鍵暗号系で
は、暗号化鍵と復号鍵とが等しく、送信者と受信者とが
同じ共通鍵を持つことによって暗号通信を行う。送信者
が平文を秘密の共通鍵に基づいて暗号化して受信者に送
り、受信者はこの共通鍵を用いて暗号文を平文に復号す
る。
【0005】これに対して公開鍵暗号系では、暗号化鍵
と復号鍵とが異なっており、公開されている受信者の公
開鍵で送信者が平文を暗号化し、受信者が自身の秘密鍵
でその暗号文を復号することによって暗号通信を行う。
公開鍵は暗号化のための鍵、秘密鍵は公開鍵によって変
換された暗号文を復号するための鍵であり、公開鍵によ
って変換された暗号文は秘密鍵でのみ復号することがで
きる。
と復号鍵とが異なっており、公開されている受信者の公
開鍵で送信者が平文を暗号化し、受信者が自身の秘密鍵
でその暗号文を復号することによって暗号通信を行う。
公開鍵は暗号化のための鍵、秘密鍵は公開鍵によって変
換された暗号文を復号するための鍵であり、公開鍵によ
って変換された暗号文は秘密鍵でのみ復号することがで
きる。
【0006】公開鍵暗号系の1つの方式として、積和型
暗号方式が知られている。これは、送信者である一方の
エンティティ側で平文をK分割した平文ベクトルm=
(m1,m2 ,・・・,mK )と公開鍵である基数ベク
トルc=(c1 ,c2 ,・・・,cK )とを用いて、暗
号文C=m1 c1 +m2 c2 +・・・+mK cK を作成
し、受信者である他方のエンティティ側でその暗号文C
を秘密鍵を用いて平文ベクトルmに復号して元の平文を
得る暗号化方式である。
暗号方式が知られている。これは、送信者である一方の
エンティティ側で平文をK分割した平文ベクトルm=
(m1,m2 ,・・・,mK )と公開鍵である基数ベク
トルc=(c1 ,c2 ,・・・,cK )とを用いて、暗
号文C=m1 c1 +m2 c2 +・・・+mK cK を作成
し、受信者である他方のエンティティ側でその暗号文C
を秘密鍵を用いて平文ベクトルmに復号して元の平文を
得る暗号化方式である。
【0007】このような整数環上の演算を利用した積和
型暗号に関して、新規な方式及び攻撃法が次々に提案さ
れているが、特に、多くの情報を短時間で処理できるよ
うに高速復号可能な暗号化・復号の手法の開発が望まれ
ている。そこで、本発明者等は、中国人の剰余定理を用
いることにより、高速な並列復号処理を可能とした積和
型暗号における暗号化方法及び復号方法を提案している
(特開2000−89669 号)。この暗号化方法は、基数ベク
トルcの成分ci (i=1,2,・・・,K)を、互い
に素なK個の整数di を用いてDi =d/di (但し、
d=d1 d2 ・・・dK )に設定した基数Di を基にモ
ジュラ変換したもの、または、互いに素なK個の整数d
i ,乱数vi (gcd(di ,vi )=1)を用いてV
i =(d/di )vi に設定した基数Vi を基にモジュ
ラ変換したものにすることを特徴としている。このよう
にして、中国人の剰余定理を用いて並列に復号するの
で、高速な復号を行うことができる。
型暗号に関して、新規な方式及び攻撃法が次々に提案さ
れているが、特に、多くの情報を短時間で処理できるよ
うに高速復号可能な暗号化・復号の手法の開発が望まれ
ている。そこで、本発明者等は、中国人の剰余定理を用
いることにより、高速な並列復号処理を可能とした積和
型暗号における暗号化方法及び復号方法を提案している
(特開2000−89669 号)。この暗号化方法は、基数ベク
トルcの成分ci (i=1,2,・・・,K)を、互い
に素なK個の整数di を用いてDi =d/di (但し、
d=d1 d2 ・・・dK )に設定した基数Di を基にモ
ジュラ変換したもの、または、互いに素なK個の整数d
i ,乱数vi (gcd(di ,vi )=1)を用いてV
i =(d/di )vi に設定した基数Vi を基にモジュ
ラ変換したものにすることを特徴としている。このよう
にして、中国人の剰余定理を用いて並列に復号するの
で、高速な復号を行うことができる。
【0008】
【発明が解決しようとする課題】しかしながら、この方
式では、公開鍵の数を非常に大きくしない限り低密度で
あるので、LLL(Lenstra-Lenstra-Lovasz)アルゴリ
ズムを用いて公開鍵と暗号文とから直接平文を求める低
密度攻撃に弱い場合があるという問題があり、安全性の
面での更なる改良が望まれている。
式では、公開鍵の数を非常に大きくしない限り低密度で
あるので、LLL(Lenstra-Lenstra-Lovasz)アルゴリ
ズムを用いて公開鍵と暗号文とから直接平文を求める低
密度攻撃に弱い場合があるという問題があり、安全性の
面での更なる改良が望まれている。
【0009】本発明は斯かる事情に鑑みてなされたもの
であり、上記従来例を改良して低密度攻撃に強く、安全
性を向上できる暗号化方法及び復号方法、この暗号化方
法を用いる暗号通信方法及び暗号通信システム、並び
に、この暗号化方法をコンピュータに実行させるための
プログラム及び記録媒体を提供することを目的とする。
であり、上記従来例を改良して低密度攻撃に強く、安全
性を向上できる暗号化方法及び復号方法、この暗号化方
法を用いる暗号通信方法及び暗号通信システム、並び
に、この暗号化方法をコンピュータに実行させるための
プログラム及び記録媒体を提供することを目的とする。
【0010】
【課題を解決するための手段】請求項1に係る暗号化方
法は、平文から暗号文を得る暗号化方法において、暗号
化すべき平文を分割してなる複数の成分を有する平文ベ
クトルに任意の乱数を複数の成分とする乱数ベクトルを
加えて合成ベクトルを作成し、該合成ベクトルの各成分
毎に予め準備されている複数の公開成分から任意の公開
成分を選択して暗号化鍵ベクトルを作成し、作成した前
記合成ベクトルと前記暗号化鍵ベクトルとを用いて暗号
文を得ることを特徴とする。
法は、平文から暗号文を得る暗号化方法において、暗号
化すべき平文を分割してなる複数の成分を有する平文ベ
クトルに任意の乱数を複数の成分とする乱数ベクトルを
加えて合成ベクトルを作成し、該合成ベクトルの各成分
毎に予め準備されている複数の公開成分から任意の公開
成分を選択して暗号化鍵ベクトルを作成し、作成した前
記合成ベクトルと前記暗号化鍵ベクトルとを用いて暗号
文を得ることを特徴とする。
【0011】請求項2に係る暗号化方法は、請求項1に
おいて、前記合成ベクトルの成分と前記暗号化鍵ベクト
ルの成分との積和演算結果、または、その積和演算結果
を法で割った剰余を暗号文とすることを特徴とする。
おいて、前記合成ベクトルの成分と前記暗号化鍵ベクト
ルの成分との積和演算結果、または、その積和演算結果
を法で割った剰余を暗号文とすることを特徴とする。
【0012】請求項3に係る復号方法は、請求項1また
は2に記載の暗号化方法を用いて得られた暗号文を復号
する復号方法であって、前記平文ベクトルの成分を、前
記乱数ベクトルの成分とは独立的に復号することを特徴
とする。
は2に記載の暗号化方法を用いて得られた暗号文を復号
する復号方法であって、前記平文ベクトルの成分を、前
記乱数ベクトルの成分とは独立的に復号することを特徴
とする。
【0013】請求項4に係る暗号通信方法は、第1のエ
ンティティ側で、請求項1または2に記載の暗号化方法
に従って平文から暗号文を作成して第2のエンティティ
側へ伝送し、伝送された暗号文を該第2のエンティティ
側で平文に復号することにより、エンティティ間で情報
の通信を行う暗号通信方法であって、前記合成ベクトル
における前記平文ベクトルの成分または前記乱数ベクト
ルの成分の位置を前記第1のエンティティ側で設定し、
その設定した位置を示す情報を前記第2のエンティティ
側へ報知することを特徴とする。
ンティティ側で、請求項1または2に記載の暗号化方法
に従って平文から暗号文を作成して第2のエンティティ
側へ伝送し、伝送された暗号文を該第2のエンティティ
側で平文に復号することにより、エンティティ間で情報
の通信を行う暗号通信方法であって、前記合成ベクトル
における前記平文ベクトルの成分または前記乱数ベクト
ルの成分の位置を前記第1のエンティティ側で設定し、
その設定した位置を示す情報を前記第2のエンティティ
側へ報知することを特徴とする。
【0014】請求項5に係る暗号通信方法は、第1のエ
ンティティ側で、請求項1または2に記載の暗号化方法
に従って平文から暗号文を作成して第2のエンティティ
側へ伝送し、伝送された暗号文を該第2のエンティティ
側で平文に復号することにより、エンティティ間で情報
の通信を行う暗号通信方法であって、前記合成ベクトル
における前記平文ベクトルの成分または前記乱数ベクト
ルの成分の位置を前記第2のエンティティ側で設定し、
その設定した位置を示す情報を前記第1のエンティティ
側へ報知することを特徴とする。
ンティティ側で、請求項1または2に記載の暗号化方法
に従って平文から暗号文を作成して第2のエンティティ
側へ伝送し、伝送された暗号文を該第2のエンティティ
側で平文に復号することにより、エンティティ間で情報
の通信を行う暗号通信方法であって、前記合成ベクトル
における前記平文ベクトルの成分または前記乱数ベクト
ルの成分の位置を前記第2のエンティティ側で設定し、
その設定した位置を示す情報を前記第1のエンティティ
側へ報知することを特徴とする。
【0015】請求項6に係る暗号通信システムは、両エ
ンティティ間で暗号文による情報通信を行う暗号通信シ
ステムにおいて、請求項1または2にに記載の暗号化方
法を用いて平文から暗号文を作成する暗号化器と、作成
した暗号文を第1のエンティティから第2のエンティテ
ィへ送信する通信路と、送信された暗号文から平文を復
号する復号器とを備えることを特徴とする。
ンティティ間で暗号文による情報通信を行う暗号通信シ
ステムにおいて、請求項1または2にに記載の暗号化方
法を用いて平文から暗号文を作成する暗号化器と、作成
した暗号文を第1のエンティティから第2のエンティテ
ィへ送信する通信路と、送信された暗号文から平文を復
号する復号器とを備えることを特徴とする。
【0016】請求項7に係るプログラムは、コンピュー
タに、平文から暗号文を得ることを実行させるためのプ
ログラムにおいて、暗号化すべき平文を分割してなる複
数の成分を有する平文ベクトルに任意の乱数を複数の成
分とする乱数ベクトルを加えて合成ベクトルを得る手順
と、該合成ベクトルの各成分毎に予め準備されている複
数の公開成分から任意の公開成分を選択して暗号化鍵ベ
クトルを得る手順と、前記合成ベクトルと前記暗号化鍵
ベクトルとを用いて暗号文を得る手順とを、コンピュー
タに実行させることを特徴とする。
タに、平文から暗号文を得ることを実行させるためのプ
ログラムにおいて、暗号化すべき平文を分割してなる複
数の成分を有する平文ベクトルに任意の乱数を複数の成
分とする乱数ベクトルを加えて合成ベクトルを得る手順
と、該合成ベクトルの各成分毎に予め準備されている複
数の公開成分から任意の公開成分を選択して暗号化鍵ベ
クトルを得る手順と、前記合成ベクトルと前記暗号化鍵
ベクトルとを用いて暗号文を得る手順とを、コンピュー
タに実行させることを特徴とする。
【0017】請求項8に係る記録媒体は、コンピュータ
に、平文から暗号文を得させるためのプログラムを記録
してあるコンピュータでの読み取りが可能な記録媒体に
おいて、暗号化すべき平文を分割してなる複数の成分を
有する平文ベクトルに任意の乱数を複数の成分とする乱
数ベクトルを加えて合成ベクトルを得ることをコンピュ
ータに実行させるプログラムコード手段と、該合成ベク
トルの各成分毎に予め準備されている複数の公開成分か
ら任意の公開成分を選択して暗号化鍵ベクトルを得るこ
とをコンピュータに実行させるプログラムコード手段
と、前記合成ベクトルと前記暗号化鍵ベクトルとを用い
て暗号文を得ることをコンピュータに実行させるプログ
ラムコード手段とを含むコンピュータプログラムを記録
してあることを特徴とする。
に、平文から暗号文を得させるためのプログラムを記録
してあるコンピュータでの読み取りが可能な記録媒体に
おいて、暗号化すべき平文を分割してなる複数の成分を
有する平文ベクトルに任意の乱数を複数の成分とする乱
数ベクトルを加えて合成ベクトルを得ることをコンピュ
ータに実行させるプログラムコード手段と、該合成ベク
トルの各成分毎に予め準備されている複数の公開成分か
ら任意の公開成分を選択して暗号化鍵ベクトルを得るこ
とをコンピュータに実行させるプログラムコード手段
と、前記合成ベクトルと前記暗号化鍵ベクトルとを用い
て暗号文を得ることをコンピュータに実行させるプログ
ラムコード手段とを含むコンピュータプログラムを記録
してあることを特徴とする。
【0018】暗号化すべき平文を分割してなる複数の成
分を有する平文ベクトルに特に暗号化を必要としない複
数の乱数成分からなる乱数ベクトルを付加して合成ベク
トルを作成する。また、合成ベクトルの成分毎に予め準
備されている複数の公開成分から任意の公開成分を選択
して暗号化鍵ベクトルを作成する。そして、このように
作成した合成ベクトルと暗号化鍵ベクトルとを用いて暗
号文を得る。より具体的には、合成ベクトルの成分と暗
号化鍵ベクトルの成分との積和演算結果、または、その
積和演算結果を法で割った剰余を暗号文とする。
分を有する平文ベクトルに特に暗号化を必要としない複
数の乱数成分からなる乱数ベクトルを付加して合成ベク
トルを作成する。また、合成ベクトルの成分毎に予め準
備されている複数の公開成分から任意の公開成分を選択
して暗号化鍵ベクトルを作成する。そして、このように
作成した合成ベクトルと暗号化鍵ベクトルとを用いて暗
号文を得る。より具体的には、合成ベクトルの成分と暗
号化鍵ベクトルの成分との積和演算結果、または、その
積和演算結果を法で割った剰余を暗号文とする。
【0019】本発明では、平文に冗長性を持たせる、言
い換えると平文を退化させて暗号文を作成する。よっ
て、本発明では、暗号化が必要でない冗長部分(退化部
分)としての乱数ベクトルを平文ベクトルに付加してい
るため、暗号文の密度が高くなり、また、1つの平文ベ
クトルに対して非常に多数の合成ベクトルつまり非常に
多数の暗号文が存在するので、LLLアルゴリズムに基
づく低密度攻撃は非常に困難となる。また、本発明で
は、暗号化鍵ベクトルの成分を選択できるので、つま
り、送信者であるエンティティ側で自由に公開ベクトル
を選択して暗号文を作成できるので、その暗号化鍵ベク
トルの成分の選択の仕方が攻撃者には不明であるため、
攻撃は困難になる。この結果、安全性が向上する。
い換えると平文を退化させて暗号文を作成する。よっ
て、本発明では、暗号化が必要でない冗長部分(退化部
分)としての乱数ベクトルを平文ベクトルに付加してい
るため、暗号文の密度が高くなり、また、1つの平文ベ
クトルに対して非常に多数の合成ベクトルつまり非常に
多数の暗号文が存在するので、LLLアルゴリズムに基
づく低密度攻撃は非常に困難となる。また、本発明で
は、暗号化鍵ベクトルの成分を選択できるので、つま
り、送信者であるエンティティ側で自由に公開ベクトル
を選択して暗号文を作成できるので、その暗号化鍵ベク
トルの成分の選択の仕方が攻撃者には不明であるため、
攻撃は困難になる。この結果、安全性が向上する。
【0020】
【発明の実施の形態】以下、本発明の実施の形態につい
て具体的に説明する。図1は、本発明による暗号化方法
をエンティティa,b間の情報通信に利用した状態を示
す模式図である。図1の例では、一方のエンティティa
が、暗号化器1にて平文xを暗号文Cに暗号化し、通信
路3を介してその暗号文Cを他方のエンティティbへ送
信し、エンティティbが、復号器2にてその暗号文Cを
元の平文xに復号する場合を示している。
て具体的に説明する。図1は、本発明による暗号化方法
をエンティティa,b間の情報通信に利用した状態を示
す模式図である。図1の例では、一方のエンティティa
が、暗号化器1にて平文xを暗号文Cに暗号化し、通信
路3を介してその暗号文Cを他方のエンティティbへ送
信し、エンティティbが、復号器2にてその暗号文Cを
元の平文xに復号する場合を示している。
【0021】まず、以下のようなことを定義する。
〈定義1(インデックス集合)〉ベクトルs=(s1 ,
s2 ,・・・,sf )をf次元の2値ベクトルとする。
ベクトルsのインデックス集合を下添え字iとしてsi
=1と定義する。即ち、ベクトルsのインデックス集合
であるindex(ベクトルs)は、下記(1)のよう
に定義される。 index(ベクトルs)={iIsi =1} …(1)
s2 ,・・・,sf )をf次元の2値ベクトルとする。
ベクトルsのインデックス集合を下添え字iとしてsi
=1と定義する。即ち、ベクトルsのインデックス集合
であるindex(ベクトルs)は、下記(1)のよう
に定義される。 index(ベクトルs)={iIsi =1} …(1)
【0022】また、本発明において重要な処理である
(伸長)と(抜き出し)とについて定義する。以下の定
義2〜4に関して、ベクトルs=(s1 ,s2 ,・・
・,sf)を重みuのf次元2値ベクトルとする。ま
た、ベクトルm=(m1 ,m2 ,・・・,mu ),ベク
トルm″′=(m1 ″′,m2 ″′,・・・,
mf ″′)を夫々負でない整数を成分とするu次元,f
次元のベクトルとする。
(伸長)と(抜き出し)とについて定義する。以下の定
義2〜4に関して、ベクトルs=(s1 ,s2 ,・・
・,sf)を重みuのf次元2値ベクトルとする。ま
た、ベクトルm=(m1 ,m2 ,・・・,mu ),ベク
トルm″′=(m1 ″′,m2 ″′,・・・,
mf ″′)を夫々負でない整数を成分とするu次元,f
次元のベクトルとする。
【0023】〈定義2(ベクトル表現)〉添数集合I
は、{1,2,・・・,f}の部分集合であり、ベクト
ルb=vector(I,f)の演算を下記(2)のよ
うに定義する。但し、ベクトルb=(b1 ,b2 ,・・
・,bf )である。例えば、I=index(ベクトル
s)であれば、ベクトルs=vector(I,f)で
ある。
は、{1,2,・・・,f}の部分集合であり、ベクト
ルb=vector(I,f)の演算を下記(2)のよ
うに定義する。但し、ベクトルb=(b1 ,b2 ,・・
・,bf )である。例えば、I=index(ベクトル
s)であれば、ベクトルs=vector(I,f)で
ある。
【0024】
【数1】
【0025】〈定義3(伸長)〉演算としてのベクトル
m″′=ベクトルm{ベクトルs}を、下記(3)のよ
うに定義する。但し、i1 <i2 <・・・<iu であ
り、ベクトルバーsばベクトルsのビット補数を示す。
m″′=ベクトルm{ベクトルs}を、下記(3)のよ
うに定義する。但し、i1 <i2 <・・・<iu であ
り、ベクトルバーsばベクトルsのビット補数を示す。
【0026】
【数2】
【0027】この演算を、ベクトルsによるベクトルm
の伸長と称する。例えば、ベクトルm=(m1 ,m2 ,
m3 ),ベクトルs=(1,0,1,1)である場合
に、ベクトルm{ベクトルs}=(m1 ,0,m2 ,m
3 )となる。
の伸長と称する。例えば、ベクトルm=(m1 ,m2 ,
m3 ),ベクトルs=(1,0,1,1)である場合
に、ベクトルm{ベクトルs}=(m1 ,0,m2 ,m
3 )となる。
【0028】〈定義4(抜き出し)〉演算としてのベク
トルm=ベクトルm″′[ベクトルs]を、下記(4)
のように定義する。但し、i1 <i2 <・・・<iu ∈
index(ベクトルs)であり、i1 <i2 <・・・
<iu である。
トルm=ベクトルm″′[ベクトルs]を、下記(4)
のように定義する。但し、i1 <i2 <・・・<iu ∈
index(ベクトルs)であり、i1 <i2 <・・・
<iu である。
【0029】
【数3】
【0030】この演算を、ベクトルsによるベクトル
m″′の抜き出しと称する。例えば、ベクトルm″′=
(m1 ″′,m2 ″′,m3 ″′,m4 ″′),ベクト
ルs=(1,0,1,1)である場合に、第1,第3及
び第4成分が抜き出されて、ベクトルm″′[ベクトル
s]=(m1 ″′,m3 ″′,m4 ″′)となる。明ら
かに、(ベクトルm{ベクトルs})[ベクトルs]=
ベクトルmが成立する。しかしながら、(ベクトル
m″′[ベクトルs]){ベクトルs}=ベクトル
m″′は一般的に成立しない。
m″′の抜き出しと称する。例えば、ベクトルm″′=
(m1 ″′,m2 ″′,m3 ″′,m4 ″′),ベクト
ルs=(1,0,1,1)である場合に、第1,第3及
び第4成分が抜き出されて、ベクトルm″′[ベクトル
s]=(m1 ″′,m3 ″′,m4 ″′)となる。明ら
かに、(ベクトルm{ベクトルs})[ベクトルs]=
ベクトルmが成立する。しかしながら、(ベクトル
m″′[ベクトルs]){ベクトルs}=ベクトル
m″′は一般的に成立しない。
【0031】(第1実施の形態)インデックス集合Iを
下記(5)のように定義し、その部分集合であるIN ⊂
I,IR ⊂Iを下記(6),(7)を満たすように定義
する。
下記(5)のように定義し、その部分集合であるIN ⊂
I,IR ⊂Iを下記(6),(7)を満たすように定義
する。
【0032】
【数4】
【0033】公開鍵をn次元の整数ベクトルaj =(a
j1,aj2,・・・,ajn)(j=0,1)とする。平文
をu次元のベクトルm=(m1 ,m2 ,・・・,mu )
(但し、各mi はeビットの正の整数)とする。このベ
クトルmを平文ベクトルと称する。h=n−uと置く。
第1実施の形態では、各成分がeビットの正の整数から
なるh次元の整数ベクトルr=(r1 ,r2 ,・・・,
rh )を送信者がランダムに生成する。ここで、平文ベ
クトルmと乱数ベクトルrとを連結することにより、下
記(8)のようにn次元のベクトルm′=(m1 ′,m
2 ′,・・・,mn ′)を定義する。
j1,aj2,・・・,ajn)(j=0,1)とする。平文
をu次元のベクトルm=(m1 ,m2 ,・・・,mu )
(但し、各mi はeビットの正の整数)とする。このベ
クトルmを平文ベクトルと称する。h=n−uと置く。
第1実施の形態では、各成分がeビットの正の整数から
なるh次元の整数ベクトルr=(r1 ,r2 ,・・・,
rh )を送信者がランダムに生成する。ここで、平文ベ
クトルmと乱数ベクトルrとを連結することにより、下
記(8)のようにn次元のベクトルm′=(m1 ′,m
2 ′,・・・,mn ′)を定義する。
【0034】
【数5】
【0035】但し、ベクトルz=vector(IN ,
n)であり、ベクトルバーzはベクトルzのビット補数
を示す。このベクトルm′を伸長平文ベクトル(合成ベ
クトル)と称する。
n)であり、ベクトルバーzはベクトルzのビット補数
を示す。このベクトルm′を伸長平文ベクトル(合成ベ
クトル)と称する。
【0036】〔鍵〕鍵を以下のように設定する。
基数:di
秘密鍵:vi ′,vji,P,w
公開鍵:ベクトルaj =(aj1,aj2,・・・,ajn)
公開情報:e,u,n,IN ,IR(但し、i∈Iでj
=0,1)
=0,1)
【0037】〔鍵生成〕di は、正の整数であって基数
と称され、以下の条件を満足するように生成される。 (a) すべてのiについて基数di は互いに素である。 (b) di の大きさは下記(9)の関係を満たす。
と称され、以下の条件を満足するように生成される。 (a) すべてのiについて基数di は互いに素である。 (b) di の大きさは下記(9)の関係を満たす。
【0038】
【数6】
【0039】但し、δi 及びεi は、1≪δi ≪2e ,
1≪εi ≪2f 及びe>fを満たす適当な正の整数であ
る。好ましいδi ,εi の値は夫々e/2,f/2であ
る。最後の条件は密度損失を減らすために必要である。
1≪εi ≪2f 及びe>fを満たす適当な正の整数であ
る。好ましいδi ,εi の値は夫々e/2,f/2であ
る。最後の条件は密度損失を減らすために必要である。
【0040】vi ′は、gcd(di ,vi ′)=1
(但し、i∈Iで0≦vi ′<di )を満たすようにラ
ンダムに選択された整数である。rjiをランダムに選択
した正の整数の係数として、vjiを下記(10)のように
設定する(但し、i∈Iでj=0,1)。 vji=rjidi +vi ′ …(10)
(但し、i∈Iで0≦vi ′<di )を満たすようにラ
ンダムに選択された整数である。rjiをランダムに選択
した正の整数の係数として、vjiを下記(10)のように
設定する(但し、i∈Iでj=0,1)。 vji=rjidi +vi ′ …(10)
【0041】ここで、各iについてVi ′を下記(11)
のように設定すると共に、各i,jについてVjiを下記
(12)のように設定する。
のように設定すると共に、各i,jについてVjiを下記
(12)のように設定する。
【0042】
【数7】
【0043】n次元の2値ベクトルであって以下では選
択子と称するベクトルs=(s1 ,s2 ,・・・,
sn )を設定する。中間平文Mは、ベクトルsを用いて
伸長平文ベクトルm′に対して、下記(13)のように定
義される。
択子と称するベクトルs=(s1 ,s2 ,・・・,
sn )を設定する。中間平文Mは、ベクトルsを用いて
伸長平文ベクトルm′に対して、下記(13)のように定
義される。
【0044】
【数8】
【0045】ここで、Mの最大値をMmax とする。伸長
平文ベクトルm′のすべての成分がeビットの正の整数
であることに注目すると、Mmax は下記(14)のように
して得られる。
平文ベクトルm′のすべての成分がeビットの正の整数
であることに注目すると、Mmax は下記(14)のように
して得られる。
【0046】
【数9】
【0047】正確な復号を行えるために、Mmax <Pを
満たす大きな素数Pを選択する。これは、すべての伸長
平文ベクトルm′及び選択子ベクトルsについてM<P
を満たすことを意味する。wをZ* P 中のランダムに選
択した要素として、公開鍵ベクトルaj =(aj1,
aj2,・・・,ajn)の成分はi∈I,j=0,1にお
いて下記(15)のように与えられる。 aji=wVji modP …(15)
満たす大きな素数Pを選択する。これは、すべての伸長
平文ベクトルm′及び選択子ベクトルsについてM<P
を満たすことを意味する。wをZ* P 中のランダムに選
択した要素として、公開鍵ベクトルaj =(aj1,
aj2,・・・,ajn)の成分はi∈I,j=0,1にお
いて下記(15)のように与えられる。 aji=wVji modP …(15)
【0048】そして、受信者は、公開鍵ベクトルa0 ,
a1 とu,n及びeとを公開する。
a1 とu,n及びeとを公開する。
【0049】〔暗号化〕送信者は、各成分がランダムに
選択されたeビットの正の整数であるh次元のベクトル
r=(r1 ,r2 ,・・・,rh )(h=n−u)を生
成する。平文ベクトルmを、下記(16)のように伸長平
文ベクトルm′に変換する。
選択されたeビットの正の整数であるh次元のベクトル
r=(r1 ,r2 ,・・・,rh )(h=n−u)を生
成する。平文ベクトルmを、下記(16)のように伸長平
文ベクトルm′に変換する。
【0050】
【数10】
【0051】また送信者は、選択子となるn次元の2値
ベクトルs=(s1 ,s2 ,・・・,sn )をランダム
に生成する。選択子ベクトルsの情報に基づいて、暗号
化鍵ベクトルaを下記(17)のように決定する。そし
て、暗号文Cを下記(18)のように作成する。
ベクトルs=(s1 ,s2 ,・・・,sn )をランダム
に生成する。選択子ベクトルsの情報に基づいて、暗号
化鍵ベクトルaを下記(17)のように決定する。そし
て、暗号文Cを下記(18)のように作成する。
【0052】
【数11】
【0053】〔復号〕すべてのベクトルm′についてM
<Pが満たされているので、中間平文Mを下記(19)の
ように得る。 M=w-1C modP …(19)
<Pが満たされているので、中間平文Mを下記(19)の
ように得る。 M=w-1C modP …(19)
【0054】ここで、各i及びjに対して下記(20)の
等式が成立する。基数の条件からすべてのiについてg
cd(di ,Vi )=1が成立する。n次元のベクトル
m″=(m1 ″,m2 ″,・・・,mn ″)を、各iに
ついて下記(21)のように得る。ここで、この復号は並
列処理にて高速に行える。
等式が成立する。基数の条件からすべてのiについてg
cd(di ,Vi )=1が成立する。n次元のベクトル
m″=(m1 ″,m2 ″,・・・,mn ″)を、各iに
ついて下記(21)のように得る。ここで、この復号は並
列処理にて高速に行える。
【0055】
【数12】
【0056】上記(9)から下記(22)のようになる。
平文ベクトルmは正しく復元可能であるが、乱数ベクト
ルrは復元できていない。しかしながら、この乱数ベク
トルrは復号する必要がないので問題はない。
平文ベクトルmは正しく復元可能であるが、乱数ベクト
ルrは復元できていない。しかしながら、この乱数ベク
トルrは復号する必要がないので問題はない。
【0057】
【数13】
【0058】(第2実施の形態)次に、第1実施の形態
の改良型であって、線型ジオファンタス方程式を解くこ
との困難さを利用している第2実施の形態について説明
する。インデックス集合Iを下記(23)のように定義
し、その部分集合であるIN ⊂I,IR ⊂Iを下記(2
4),(25)を満たすように定義する。
の改良型であって、線型ジオファンタス方程式を解くこ
との困難さを利用している第2実施の形態について説明
する。インデックス集合Iを下記(23)のように定義
し、その部分集合であるIN ⊂I,IR ⊂Iを下記(2
4),(25)を満たすように定義する。
【0059】
【数14】
【0060】公開鍵をn次元の整数ベクトルaj =(a
j1,aj2,・・・,ajn)(j=0,1)とする。平文
をu次元のベクトルm=(m1 ,m2 ,・・・,mu )
(但し、各mi はeビットの正の整数)とする。このベ
クトルmを平文ベクトルと称する。h=n−uと置く。
第2実施の形態では、各成分がeビットの正の整数から
なるh次元の整数ベクトルr=(r1 ,r2 ,・・・,
rh )を送信者がランダムに生成する。ここで、平文ベ
クトルmと乱数ベクトルrとを連結することにより、下
記(26)のようにn次元のベクトルm′=(m1 ′,m
2 ′,・・・,mn ′)を定義する。
j1,aj2,・・・,ajn)(j=0,1)とする。平文
をu次元のベクトルm=(m1 ,m2 ,・・・,mu )
(但し、各mi はeビットの正の整数)とする。このベ
クトルmを平文ベクトルと称する。h=n−uと置く。
第2実施の形態では、各成分がeビットの正の整数から
なるh次元の整数ベクトルr=(r1 ,r2 ,・・・,
rh )を送信者がランダムに生成する。ここで、平文ベ
クトルmと乱数ベクトルrとを連結することにより、下
記(26)のようにn次元のベクトルm′=(m1 ′,m
2 ′,・・・,mn ′)を定義する。
【0061】
【数15】
【0062】但し、ベクトルz=vector(IN ,
n)であり、ベクトルバーzはベクトルzのビット補数
を示す。このベクトルm′を伸長平文ベクトル(合成ベ
クトル)と称する。
n)であり、ベクトルバーzはベクトルzのビット補数
を示す。このベクトルm′を伸長平文ベクトル(合成ベ
クトル)と称する。
【0063】〔鍵〕第2実施の形態における鍵を以下の
ように設定する。 基数:dPi,dQi 秘密鍵:vPi′,vQi′,vPji ,vQji ,P,Q,
N,w 公開鍵:ベクトルaj =(aj1,aj2,・・・,ajn) 公開情報:e,u,n,IN ,IR (但し、i∈Iでj=0,1)
ように設定する。 基数:dPi,dQi 秘密鍵:vPi′,vQi′,vPji ,vQji ,P,Q,
N,w 公開鍵:ベクトルaj =(aj1,aj2,・・・,ajn) 公開情報:e,u,n,IN ,IR (但し、i∈Iでj=0,1)
【0064】〔鍵生成〕dPi,dQiは、正の整数であっ
て基数と称され、以下の条件を満足するように生成され
る。 (a) すべてのiについて基数dPiは互いに素であり、同
様にすべてのiについて基数dQiは互いに素である。 (b) 各iについてdPiとdQiとは互いに素である。 (c) 積dPidQiの大きさは下記(27)の関係を満たす。
て基数と称され、以下の条件を満足するように生成され
る。 (a) すべてのiについて基数dPiは互いに素であり、同
様にすべてのiについて基数dQiは互いに素である。 (b) 各iについてdPiとdQiとは互いに素である。 (c) 積dPidQiの大きさは下記(27)の関係を満たす。
【0065】
【数16】
【0066】但し、δi 及びεi は、1≪δi ≪2e ,
1≪εi ≪2f 及びe>fを満たす適当な正の整数であ
る。好ましいδi ,εi の値は夫々e/2,f/2であ
る。最後の条件は密度損失を減らすために必要である。
1≪εi ≪2f 及びe>fを満たす適当な正の整数であ
る。好ましいδi ,εi の値は夫々e/2,f/2であ
る。最後の条件は密度損失を減らすために必要である。
【0067】vPi′,vQi′は、gcd(dPi,
vPi′)=1,gcd(dQi,vQi′)=1(但し、i
∈Iで0≦vPi′<dPiかつ0≦vQi′<dQi)を満た
すようにランダムに選択された整数である。rPji 及び
rQji をランダムに選択した正の整数の係数として、v
Pji ,vQji を下記(28),(29)のように設定する
(但し、i∈Iでj=0,1)。 vPji =rPji dPi+vPi′ …(28) vQji =rQji dQi+vQi′ …(29)
vPi′)=1,gcd(dQi,vQi′)=1(但し、i
∈Iで0≦vPi′<dPiかつ0≦vQi′<dQi)を満た
すようにランダムに選択された整数である。rPji 及び
rQji をランダムに選択した正の整数の係数として、v
Pji ,vQji を下記(28),(29)のように設定する
(但し、i∈Iでj=0,1)。 vPji =rPji dPi+vPi′ …(28) vQji =rQji dQi+vQi′ …(29)
【0068】ここで、各iについてVPi′,VQi′を下
記(30),(31)のように設定すると共に、各i,jに
ついてVPji ,VQji を下記(32),(33)のように設
定する。
記(30),(31)のように設定すると共に、各i,jに
ついてVPji ,VQji を下記(32),(33)のように設
定する。
【0069】
【数17】
【0070】n次元の2値ベクトルであって以下では選
択子と称するベクトルs=(s1 ,s2 ,・・・,
sn )を設定する。中間平文MP ,MQ は、ベクトルs
を用いた伸長平文ベクトルm′に対して、下記(34),
(35)のように定義される。
択子と称するベクトルs=(s1 ,s2 ,・・・,
sn )を設定する。中間平文MP ,MQ は、ベクトルs
を用いた伸長平文ベクトルm′に対して、下記(34),
(35)のように定義される。
【0071】
【数18】
【0072】ここで、MP ,MQ の最大値を夫々
MPmax,MQmaxとする。伸長平文ベクトルm′のすべて
の成分がeビットの正の整数であることに注目すると、
MPmax,M Qmaxは夫々下記(36),(37)のようにして
得られる。
MPmax,MQmaxとする。伸長平文ベクトルm′のすべて
の成分がeビットの正の整数であることに注目すると、
MPmax,M Qmaxは夫々下記(36),(37)のようにして
得られる。
【0073】
【数19】
【0074】正確な復号を行えるために、MPmax<P,
MQmax<Qを満たす大きな素数P,Qを選択する。これ
は、すべての伸長平文ベクトルm′及び選択子ベクトル
sについてMP <P,MQ <Qを満たすことを意味す
る。
MQmax<Qを満たす大きな素数P,Qを選択する。これ
は、すべての伸長平文ベクトルm′及び選択子ベクトル
sについてMP <P,MQ <Qを満たすことを意味す
る。
【0075】N=PQとして、0≦Vji<NであるVji
を中国人の剰余定理により下記(38)のように算出す
る。
を中国人の剰余定理により下記(38)のように算出す
る。
【0076】
【数20】
【0077】wをZ* P 中のランダムに選択した要素と
して、公開鍵ベクトルaj =(aj1,aj2,・・・,a
jn)の成分はi∈I,j=0,1において下記(39)の
ように与えられる。 aji=wVji modN …(39)
して、公開鍵ベクトルaj =(aj1,aj2,・・・,a
jn)の成分はi∈I,j=0,1において下記(39)の
ように与えられる。 aji=wVji modN …(39)
【0078】そして、受信者は、公開鍵ベクトルa0 ,
a1 とu,n及びeとを公開する。
a1 とu,n及びeとを公開する。
【0079】〔暗号化〕送信者は、各成分がランダムに
選択されたeビットの正の整数であるh次元のベクトル
r=(r1 ,r2 ,・・・,rh )(h=n−u)を生
成する。平文ベクトルmを、下記(40)のように伸長平
文ベクトルm′に変換する。
選択されたeビットの正の整数であるh次元のベクトル
r=(r1 ,r2 ,・・・,rh )(h=n−u)を生
成する。平文ベクトルmを、下記(40)のように伸長平
文ベクトルm′に変換する。
【0080】
【数21】
【0081】また送信者は、選択子となるn次元の2値
ベクトルs=(s1 ,s2 ,・・・,sn )をランダム
に生成する。選択子ベクトルsの情報に基づいて、暗号
化鍵ベクトルaを下記(41)のように決定する。そし
て、暗号文Cを下記(42)のように作成する。
ベクトルs=(s1 ,s2 ,・・・,sn )をランダム
に生成する。選択子ベクトルsの情報に基づいて、暗号
化鍵ベクトルaを下記(41)のように決定する。そし
て、暗号文Cを下記(42)のように作成する。
【0082】
【数22】
【0083】〔復号〕すべてのベクトルm′についてM
P <P,MQ <Qが満たされているので、中間平文
MP ,MQ を下記(43),(44)のように得る。 MP =w-1C modP …(43) MQ =w-1C modQ …(44)
P <P,MQ <Qが満たされているので、中間平文
MP ,MQ を下記(43),(44)のように得る。 MP =w-1C modP …(43) MQ =w-1C modQ …(44)
【0084】ここで、各i及びjに対して下記(45),
(46)の等式が成立する。基数の条件からすべてのiに
ついてgcd(dPi,VPi)=1,gcd(dQi,
VQi)=1が成立する。よって、受信者は、各iについ
て、mPi,mQiを下記(47),(48)のように演算す
る。
(46)の等式が成立する。基数の条件からすべてのiに
ついてgcd(dPi,VPi)=1,gcd(dQi,
VQi)=1が成立する。よって、受信者は、各iについ
て、mPi,mQiを下記(47),(48)のように演算す
る。
【0085】
【数23】
【0086】すべてのiにおいて成分mi ″が0≦
mi ″<dPidQiを満たすn次元のベクトルm″=(m
1 ″,m2 ″,・・・,mn ″)を、中国人の剰余定理
により下記(49)のように得る。ここで、この復号は並
列処理にて高速に行える。
mi ″<dPidQiを満たすn次元のベクトルm″=(m
1 ″,m2 ″,・・・,mn ″)を、中国人の剰余定理
により下記(49)のように得る。ここで、この復号は並
列処理にて高速に行える。
【0087】
【数24】
【0088】上記(27)から下記(50)のようになる。
平文ベクトルmは正しく復元可能であるが、乱数ベクト
ルrは復元できていない。しかしながら、この乱数ベク
トルrは復号する必要がないので問題はない。
平文ベクトルmは正しく復元可能であるが、乱数ベクト
ルrは復元できていない。しかしながら、この乱数ベク
トルrは復号する必要がないので問題はない。
【0089】
【数25】
【0090】(第3実施の形態)インデックス集合Iを
下記(51)のように定義し、その部分集合であるIN ⊂
I,IR ⊂Iを下記(52),(53)を満たすように定義
する。
下記(51)のように定義し、その部分集合であるIN ⊂
I,IR ⊂Iを下記(52),(53)を満たすように定義
する。
【0091】
【数26】
【0092】公開鍵をn次元の整数ベクトルaj =(a
j1,aj2,・・・,ajn)(j=0,1)とする。平文
をu次元のベクトルm=(m1 ,m2 ,・・・,mu )
(但し、各mi はeビットの正の整数)とする。このベ
クトルmを平文ベクトルと称する。h=n−uと置く。
第3実施の形態では、各成分がg(g>e)ビットの正
の整数からなるh次元の整数ベクトルr=(r1 ,
r2 ,・・・,rh )を送信者がランダムに生成する。
ここで、平文ベクトルmと乱数ベクトルrとを連結する
ことにより、下記(54)のようにn次元のベクトルm′
=(m1 ′,m2 ′,・・・,mn ′)を定義する。
j1,aj2,・・・,ajn)(j=0,1)とする。平文
をu次元のベクトルm=(m1 ,m2 ,・・・,mu )
(但し、各mi はeビットの正の整数)とする。このベ
クトルmを平文ベクトルと称する。h=n−uと置く。
第3実施の形態では、各成分がg(g>e)ビットの正
の整数からなるh次元の整数ベクトルr=(r1 ,
r2 ,・・・,rh )を送信者がランダムに生成する。
ここで、平文ベクトルmと乱数ベクトルrとを連結する
ことにより、下記(54)のようにn次元のベクトルm′
=(m1 ′,m2 ′,・・・,mn ′)を定義する。
【0093】
【数27】
【0094】但し、ベクトルz=vector(IN ,
n)であり、ベクトルバーzはベクトルzのビット補数
を示す。このベクトルm′を伸長平文ベクトル(合成ベ
クトル)と称する。
n)であり、ベクトルバーzはベクトルzのビット補数
を示す。このベクトルm′を伸長平文ベクトル(合成ベ
クトル)と称する。
【0095】〔鍵〕第3実施の形態における鍵を以下の
ように設定する。 基数:di 秘密鍵:vi ′,vji,P,w 公開鍵:ベクトルaj =(aj1,aj2,・・・,ajn) 公開情報:e,g,u,n (但し、i∈Iでj=0,1)
ように設定する。 基数:di 秘密鍵:vi ′,vji,P,w 公開鍵:ベクトルaj =(aj1,aj2,・・・,ajn) 公開情報:e,g,u,n (但し、i∈Iでj=0,1)
【0096】〔モード〕
(a) IN は公開情報であって、受信者がIN を決定して
それを公開する。 (b) IN は秘密情報、IL (IL ⊂IN )は公開情報で
あって、送信者がINを決定してそれを秘密的にmi ∈
IL にして送る。 (c) IN 及びIL (IL ⊂IN )のt番目(t=1,
2,・・・)のブロックを夫々、INt及びILt(ILt⊂
INt)とする。IN1,IN2,・・・とIL2,IL3,・・
・とは秘密情報、IL1は公開情報であって、送信者がI
NtとIL,t+1 とを決定してそれを秘密的にmi ∈ILtに
して送る。
それを公開する。 (b) IN は秘密情報、IL (IL ⊂IN )は公開情報で
あって、送信者がINを決定してそれを秘密的にmi ∈
IL にして送る。 (c) IN 及びIL (IL ⊂IN )のt番目(t=1,
2,・・・)のブロックを夫々、INt及びILt(ILt⊂
INt)とする。IN1,IN2,・・・とIL2,IL3,・・
・とは秘密情報、IL1は公開情報であって、送信者がI
NtとIL,t+1 とを決定してそれを秘密的にmi ∈ILtに
して送る。
【0097】〔鍵生成〕di は、正の整数であって基数
と称され、以下の条件を満足するように生成される。 (a) すべてのiについて基数di は互いに素である。 (b) di の大きさは下記(55)の関係を満たす。 di =2e +δi (i∈I) …(55) 但し、δi は、1≪δi ≪2e を満たす適当な正の整数
である。好ましいδiの値はe/2である。最後の条件
は密度損失を減らすために必要である。
と称され、以下の条件を満足するように生成される。 (a) すべてのiについて基数di は互いに素である。 (b) di の大きさは下記(55)の関係を満たす。 di =2e +δi (i∈I) …(55) 但し、δi は、1≪δi ≪2e を満たす適当な正の整数
である。好ましいδiの値はe/2である。最後の条件
は密度損失を減らすために必要である。
【0098】vi ′は、gcd(di ,vi ′)=1
(但し、i∈Iで0≦vi ′<di )を満たすようにラ
ンダムに選択された整数である。rjiをランダムに選択
した正の整数の係数として、vjiを下記(56)のように
設定する(但し、i∈Iでj=0,1)。 vji=rjidi +vi ′ …(56)
(但し、i∈Iで0≦vi ′<di )を満たすようにラ
ンダムに選択された整数である。rjiをランダムに選択
した正の整数の係数として、vjiを下記(56)のように
設定する(但し、i∈Iでj=0,1)。 vji=rjidi +vi ′ …(56)
【0099】ここで、各iについてVi ′を下記(57)
のように設定すると共に、各i,jについてVjiを下記
(58)のように設定する。
のように設定すると共に、各i,jについてVjiを下記
(58)のように設定する。
【0100】
【数28】
【0101】n次元の2値ベクトルであって以下では選
択子と称するベクトルs=(s1 ,s2 ,・・・,
sn )を設定する。中間平文Mは、ベクトルsを用いた
伸長平文ベクトルm′に対して、下記(59)のように定
義される。
択子と称するベクトルs=(s1 ,s2 ,・・・,
sn )を設定する。中間平文Mは、ベクトルsを用いた
伸長平文ベクトルm′に対して、下記(59)のように定
義される。
【0102】
【数29】
【0103】ここで、Mの最大値をMmax とする。伸長
平文ベクトルm′において、平文ベクトルm由来のすべ
ての成分がeビットの正の整数、乱数ベクトルr由来の
すべての成分がgビットの正の整数であることに注目す
ると、Mmax は下記(60)のようにして得られる。
平文ベクトルm′において、平文ベクトルm由来のすべ
ての成分がeビットの正の整数、乱数ベクトルr由来の
すべての成分がgビットの正の整数であることに注目す
ると、Mmax は下記(60)のようにして得られる。
【0104】
【数30】
【0105】正確な復号を行えるために、Mmax <Pを
満たす大きな素数Pを選択する。これは、すべての伸長
平文ベクトルm′及び選択子ベクトルsについてM<P
を満たすことを意味する。wをZ* P 中のランダムに選
択した要素として、公開鍵ベクトルaj =(aj1,
aj2,・・・,ajn)の成分はi∈I,j=0,1にお
いて下記(61)のように与えられる。 aji=wVji modP …(61)
満たす大きな素数Pを選択する。これは、すべての伸長
平文ベクトルm′及び選択子ベクトルsについてM<P
を満たすことを意味する。wをZ* P 中のランダムに選
択した要素として、公開鍵ベクトルaj =(aj1,
aj2,・・・,ajn)の成分はi∈I,j=0,1にお
いて下記(61)のように与えられる。 aji=wVji modP …(61)
【0106】そして、受信者は、公開鍵ベクトルa0 ,
a1 とu,n及びeとを公開する。
a1 とu,n及びeとを公開する。
【0107】〔暗号化〕送信者は、各成分がランダムに
選択されたg(g>e)ビットの正の整数であるh次元
のベクトルr=(r1 ,r2 ,・・・,rh )(h=n
−u)を生成する。平文ベクトルmを、下記(62)のよ
うに伸長平文ベクトルm′に変換する。
選択されたg(g>e)ビットの正の整数であるh次元
のベクトルr=(r1 ,r2 ,・・・,rh )(h=n
−u)を生成する。平文ベクトルmを、下記(62)のよ
うに伸長平文ベクトルm′に変換する。
【0108】
【数31】
【0109】また送信者は、選択子となるn次元の2値
ベクトルs=(s1 ,s2 ,・・・,sn )をランダム
に生成する。選択子ベクトルsの情報に基づいて、暗号
化鍵ベクトルaを下記(63)のように決定する。そし
て、暗号文Cを下記(64)のように作成する。
ベクトルs=(s1 ,s2 ,・・・,sn )をランダム
に生成する。選択子ベクトルsの情報に基づいて、暗号
化鍵ベクトルaを下記(63)のように決定する。そし
て、暗号文Cを下記(64)のように作成する。
【0110】
【数32】
【0111】〔復号〕すべてのベクトルm′についてM
<Pが満たされているので、中間平文Mを下記(64)の
ように得る。 M=w-1C modP …(64)
<Pが満たされているので、中間平文Mを下記(64)の
ように得る。 M=w-1C modP …(64)
【0112】ここで、各i及びjに対して下記(65)の
等式が成立する。基数の条件からすべてのiについてg
cd(di ,Vi )=1が成立する。n次元のベクトル
m″=(m1 ″,m2 ″,・・・,mn ″)を、各iに
ついて下記(66)のように得る。ここで、この復号は並
列処理にて高速に行える。
等式が成立する。基数の条件からすべてのiについてg
cd(di ,Vi )=1が成立する。n次元のベクトル
m″=(m1 ″,m2 ″,・・・,mn ″)を、各iに
ついて下記(66)のように得る。ここで、この復号は並
列処理にて高速に行える。
【0113】
【数33】
【0114】上記(55)から下記(67)のようになる。
平文ベクトルmは正しく復元可能であるが、乱数ベクト
ルrは復元できていない。しかしながら、この乱数ベク
トルrは復号する必要がないので問題はない。
平文ベクトルmは正しく復元可能であるが、乱数ベクト
ルrは復元できていない。しかしながら、この乱数ベク
トルrは復号する必要がないので問題はない。
【0115】
【数34】
【0116】(第4実施の形態)次に、第3実施の形態
の改良型であって、線型ジオファンタス方程式を解くこ
との困難さを利用している第4実施の形態について説明
する。インデックス集合Iを下記(68)のように定義
し、その部分集合であるIN ⊂I,IR ⊂Iを下記(6
9),(70)を満たすように定義する。
の改良型であって、線型ジオファンタス方程式を解くこ
との困難さを利用している第4実施の形態について説明
する。インデックス集合Iを下記(68)のように定義
し、その部分集合であるIN ⊂I,IR ⊂Iを下記(6
9),(70)を満たすように定義する。
【0117】
【数35】
【0118】公開鍵をn次元の整数ベクトルaj =(a
j1,aj2,・・・,ajn)(j=0,1)とする。平文
をu次元のベクトルm=(m1 ,m2 ,・・・,mu )
(但し、各mi はeビットの正の整数)とする。このベ
クトルmを平文ベクトルと称する。h=n−uと置く。
第4実施の形態では、各成分がg(g>e)ビットの正
の整数からなるh次元の整数ベクトルr=(r1 ,
r2 ,・・・,rh )を送信者がランダムに生成する。
ここで、平文ベクトルmと乱数ベクトルrとを連結する
ことにより、下記(71)のようにn次元のベクトルm′
=(m1 ′,m2 ′,・・・,mn ′)を定義する。
j1,aj2,・・・,ajn)(j=0,1)とする。平文
をu次元のベクトルm=(m1 ,m2 ,・・・,mu )
(但し、各mi はeビットの正の整数)とする。このベ
クトルmを平文ベクトルと称する。h=n−uと置く。
第4実施の形態では、各成分がg(g>e)ビットの正
の整数からなるh次元の整数ベクトルr=(r1 ,
r2 ,・・・,rh )を送信者がランダムに生成する。
ここで、平文ベクトルmと乱数ベクトルrとを連結する
ことにより、下記(71)のようにn次元のベクトルm′
=(m1 ′,m2 ′,・・・,mn ′)を定義する。
【0119】
【数36】
【0120】但し、ベクトルz=vector(IN ,
n)であり、ベクトルバーzはベクトルzのビット補数
を示す。このベクトルm′を伸長平文ベクトル(合成ベ
クトル〕と称する。
n)であり、ベクトルバーzはベクトルzのビット補数
を示す。このベクトルm′を伸長平文ベクトル(合成ベ
クトル〕と称する。
【0121】〔鍵〕第4実施の形態における鍵を以下の
ように設定する。 基数:dPi,dQi 秘密鍵:vPi′,vQi′,vPji ,vQji ,P,Q,
N,w 公開鍵:ベクトルaj =(aj1,aj2,・・・,ajn) 公開情報:e,g,u,n (但し、i∈Iでj=0,1)
ように設定する。 基数:dPi,dQi 秘密鍵:vPi′,vQi′,vPji ,vQji ,P,Q,
N,w 公開鍵:ベクトルaj =(aj1,aj2,・・・,ajn) 公開情報:e,g,u,n (但し、i∈Iでj=0,1)
【0122】〔モード〕
(a) IN は公開情報であって、受信者がIN を決定して
それを公開する。 (b) IN は秘密情報、IL (IL ⊂IN )は公開情報で
あって、送信者がINを決定してそれを秘密的にmi ∈
IL にして送る。 (c) IN 及びIL (IL ⊂IN )のt番目(t=1,
2,・・・)のブロックを夫々、INt及びILt(ILt⊂
INt)とする。IN1,IN2,・・・とIL2,IL3,・・
・とは秘密情報、IL1は公開情報であって、送信者がI
NtとIL,t+1 とを決定してそれを秘密的にmi ∈ILtに
して送る。
それを公開する。 (b) IN は秘密情報、IL (IL ⊂IN )は公開情報で
あって、送信者がINを決定してそれを秘密的にmi ∈
IL にして送る。 (c) IN 及びIL (IL ⊂IN )のt番目(t=1,
2,・・・)のブロックを夫々、INt及びILt(ILt⊂
INt)とする。IN1,IN2,・・・とIL2,IL3,・・
・とは秘密情報、IL1は公開情報であって、送信者がI
NtとIL,t+1 とを決定してそれを秘密的にmi ∈ILtに
して送る。
【0123】〔鍵生成〕dPi,dQiは、正の整数であっ
て基数と称され、以下の条件を満足するように生成され
る。 (a) すべてのiについて基数dPiは互いに素であり、同
様にすべてのiについて基数dQiは互いに素である。 (b) 各iについてdPiとdQiとは互いに素である。 (c) 積dPidQiの大きさは下記(72)の関係を満たす。 dPidQi=2e +δi (i∈I) …(72) 但し、δi は、1≪δi ≪2e を満たす適当な正の整数
である。好ましいδiの値はe/2である。最後の条件
は密度損失を減らすために必要である。
て基数と称され、以下の条件を満足するように生成され
る。 (a) すべてのiについて基数dPiは互いに素であり、同
様にすべてのiについて基数dQiは互いに素である。 (b) 各iについてdPiとdQiとは互いに素である。 (c) 積dPidQiの大きさは下記(72)の関係を満たす。 dPidQi=2e +δi (i∈I) …(72) 但し、δi は、1≪δi ≪2e を満たす適当な正の整数
である。好ましいδiの値はe/2である。最後の条件
は密度損失を減らすために必要である。
【0124】vPi′,vQi′は、gcd(dPi,
vPi′)=1,gcd(dQi,vQi′)=1(但し、i
∈Iで0≦vPi′<dPiかつ0≦vQi′<dQi)を満た
すようにランダムに選択された整数である。rPji 及び
rQji をランダムに選択した正の整数の係数として、v
Pji ,vQji を下記(73),(74)のように設定する
(但し、i∈Iでj=0,1)。 vPji =rPji dPi+vPi′ …(73) vQji =rQji dQi+vQi′ …(74)
vPi′)=1,gcd(dQi,vQi′)=1(但し、i
∈Iで0≦vPi′<dPiかつ0≦vQi′<dQi)を満た
すようにランダムに選択された整数である。rPji 及び
rQji をランダムに選択した正の整数の係数として、v
Pji ,vQji を下記(73),(74)のように設定する
(但し、i∈Iでj=0,1)。 vPji =rPji dPi+vPi′ …(73) vQji =rQji dQi+vQi′ …(74)
【0125】ここで、各iについてVPi′,VQi′を下
記(75),(76)のように設定すると共に、各i,jに
ついてVPji ,VQji を下記(77),(78)のように設
定する。
記(75),(76)のように設定すると共に、各i,jに
ついてVPji ,VQji を下記(77),(78)のように設
定する。
【0126】
【数37】
【0127】n次元の2値ベクトルであって以下では選
択子と称するベクトルs=(s1 ,s2 ,・・・,
sn )を設定する。中間平文MP ,MQ は、ベクトルs
を用いて伸長平文ベクトルm′に対して、下記(79),
(80)のように定義される。
択子と称するベクトルs=(s1 ,s2 ,・・・,
sn )を設定する。中間平文MP ,MQ は、ベクトルs
を用いて伸長平文ベクトルm′に対して、下記(79),
(80)のように定義される。
【0128】
【数38】
【0129】ここで、MP ,MQ の最大値を夫々
MPmax,MQmaxとする。伸長平文ベクトルm′におい
て、平文ベクトルm由来のすべての成分がeビットの正
の整数、乱数ベクトルr由来のすべての成分がgビット
の正の整数であることに注目すると、MPmax,MQmaxは
夫々下記(81),(82)のようにして得られる。
MPmax,MQmaxとする。伸長平文ベクトルm′におい
て、平文ベクトルm由来のすべての成分がeビットの正
の整数、乱数ベクトルr由来のすべての成分がgビット
の正の整数であることに注目すると、MPmax,MQmaxは
夫々下記(81),(82)のようにして得られる。
【0130】
【数39】
【0131】正確な復号を行えるために、MPmax<P,
MQmax<Qを満たす大きな素数P,Qを選択する。これ
は、すべての伸長平文ベクトルm′及び選択子ベクトル
sについてMP <P,MQ <Qを満たすことを意味す
る。
MQmax<Qを満たす大きな素数P,Qを選択する。これ
は、すべての伸長平文ベクトルm′及び選択子ベクトル
sについてMP <P,MQ <Qを満たすことを意味す
る。
【0132】N=PQとして、0≦Vji<NであるVji
を中国人の剰余定理により下記(83)のように算出す
る。
を中国人の剰余定理により下記(83)のように算出す
る。
【0133】
【数40】
【0134】wをZ* P 中のランダムに選択した要素と
して、公開鍵ベクトルaj =(aj1,aj2,・・・,a
jn)の成分はi∈I,j=0,1において下記(84)の
ように与えられる。 aji=wVji modN …(84)
して、公開鍵ベクトルaj =(aj1,aj2,・・・,a
jn)の成分はi∈I,j=0,1において下記(84)の
ように与えられる。 aji=wVji modN …(84)
【0135】そして、受信者は、公開鍵ベクトルa0 ,
a1 とu,n及びeとを公開する。
a1 とu,n及びeとを公開する。
【0136】〔暗号化〕送信者は、各成分がランダムに
選択されたg(g>e)ビットの正の整数であるh次元
のベクトルr=(r1 ,r2 ,・・・,rh )(h=n
−u)を生成する。平文ベクトルmを、下記(85)のよ
うに伸長平文ベクトルm′に変換する。
選択されたg(g>e)ビットの正の整数であるh次元
のベクトルr=(r1 ,r2 ,・・・,rh )(h=n
−u)を生成する。平文ベクトルmを、下記(85)のよ
うに伸長平文ベクトルm′に変換する。
【0137】
【数41】
【0138】また送信者は、選択子となるn次元の2値
ベクトルs=(s1 ,s2 ,・・・,sn )をランダム
に生成する。選択子ベクトルsの情報に基づいて、暗号
化鍵ベクトルaを下記(86)のように決定する。そし
て、暗号文Cを下記(87)のように作成する。
ベクトルs=(s1 ,s2 ,・・・,sn )をランダム
に生成する。選択子ベクトルsの情報に基づいて、暗号
化鍵ベクトルaを下記(86)のように決定する。そし
て、暗号文Cを下記(87)のように作成する。
【0139】
【数42】
【0140】〔復号〕すべてのベクトルm′についてM
P <P,MQ <Qが満たされているので、中間平文
MP ,MQ を下記(88),(89)のように得る。 MP =w-1C modP …(88) MQ =w-1C modQ …(89)
P <P,MQ <Qが満たされているので、中間平文
MP ,MQ を下記(88),(89)のように得る。 MP =w-1C modP …(88) MQ =w-1C modQ …(89)
【0141】ここで、各i及びjに対して下記(90),
(91)の等式が成立する。基数の条件からすべてのiに
ついてgcd(dPi,VPi)=1,gcd(dQi,
VQi)=1が成立する。よって、受信者は、各iについ
て、mPi,mQiを下記(92),(93)のように演算す
る。
(91)の等式が成立する。基数の条件からすべてのiに
ついてgcd(dPi,VPi)=1,gcd(dQi,
VQi)=1が成立する。よって、受信者は、各iについ
て、mPi,mQiを下記(92),(93)のように演算す
る。
【0142】
【数43】
【0143】すべてのiにおいて成分mi ″が0≦
mi ″<dPidQiを満たすn次元のベクトルm″=(m
1 ″,m2 ″,・・・,mn ″)を、中国人の剰余定理
により下記(94)のように得る。ここで、この復号は並
列処理にて高速に行える。
mi ″<dPidQiを満たすn次元のベクトルm″=(m
1 ″,m2 ″,・・・,mn ″)を、中国人の剰余定理
により下記(94)のように得る。ここで、この復号は並
列処理にて高速に行える。
【0144】
【数44】
【0145】上記(72)から下記(95)のようになる。
平文ベクトルmは正しく復元可能であるが、乱数ベクト
ルrは復元できていない。しかしながら、この乱数ベク
トルrは復号する必要がないので問題はない。
平文ベクトルmは正しく復元可能であるが、乱数ベクト
ルrは復元できていない。しかしながら、この乱数ベク
トルrは復号する必要がないので問題はない。
【0146】
【数45】
【0147】図2は、本発明の記録媒体の実施の形態の
構成を示す図である。ここに例示するプログラムは、上
述した暗号化方式の手順に従って、平文ベクトルmと乱
数ベクトルrとから伸長平文ベクトルm′を得る処理
と、暗号化鍵ベクトルaを選択する処理と、この伸長平
文ベクトルm′と暗号化鍵ベクトルaとの内積計算によ
り暗号文Cを作成する処理とを含んでおり、以下に説明
する記録媒体に記録されている。なお、コンピュータ10
は、送信側のエンティティに設けられている。
構成を示す図である。ここに例示するプログラムは、上
述した暗号化方式の手順に従って、平文ベクトルmと乱
数ベクトルrとから伸長平文ベクトルm′を得る処理
と、暗号化鍵ベクトルaを選択する処理と、この伸長平
文ベクトルm′と暗号化鍵ベクトルaとの内積計算によ
り暗号文Cを作成する処理とを含んでおり、以下に説明
する記録媒体に記録されている。なお、コンピュータ10
は、送信側のエンティティに設けられている。
【0148】図2において、コンピュータ10とオンライ
ン接続する記録媒体11は、コンピュータ10の設置場所か
ら隔たって設置される例えばWWW(World Wide Web)の
サーバコンピュータを用いてなり、記録媒体11には前述
の如きプログラム11a が記録されている。記録媒体11か
ら通信線等の伝送媒体14を介して読み出されたプログラ
ム11a がコンピュータ10を制御することにより、コンピ
ュータ10が暗号文Cを作成する。
ン接続する記録媒体11は、コンピュータ10の設置場所か
ら隔たって設置される例えばWWW(World Wide Web)の
サーバコンピュータを用いてなり、記録媒体11には前述
の如きプログラム11a が記録されている。記録媒体11か
ら通信線等の伝送媒体14を介して読み出されたプログラ
ム11a がコンピュータ10を制御することにより、コンピ
ュータ10が暗号文Cを作成する。
【0149】コンピュータ10の内部に設けられた記録媒
体12は、内蔵設置される例えばハードディスクドライブ
またはROMなどを用いてなり、記録媒体12には前述の
如きプログラム12a が記録されている。記録媒体12から
読み出されたプログラム12aがコンピュータ10を制御す
ることにより、コンピュータ10が暗号文Cを作成する。
体12は、内蔵設置される例えばハードディスクドライブ
またはROMなどを用いてなり、記録媒体12には前述の
如きプログラム12a が記録されている。記録媒体12から
読み出されたプログラム12aがコンピュータ10を制御す
ることにより、コンピュータ10が暗号文Cを作成する。
【0150】コンピュータ10に設けられたディスクドラ
イブ10a に装填して使用される記録媒体13は、運搬可能
な例えば光磁気ディスク,CD−ROMまたはフレキシ
ブルディスクなどを用いてなり、記録媒体13には前述の
如きプログラム13a が記録されている。記録媒体13から
読み出されたプログラム13a がコンピュータ10を制御す
ることにより、コンピュータ10が暗号文Cを作成する。
イブ10a に装填して使用される記録媒体13は、運搬可能
な例えば光磁気ディスク,CD−ROMまたはフレキシ
ブルディスクなどを用いてなり、記録媒体13には前述の
如きプログラム13a が記録されている。記録媒体13から
読み出されたプログラム13a がコンピュータ10を制御す
ることにより、コンピュータ10が暗号文Cを作成する。
【0151】
【発明の効果】以上のように、本発明では、暗号化すべ
き平文を分割してなる平文ベクトルに、複数の任意の乱
数を成分とする乱数ベクトルを加えた合成ベクトルと、
合成ベクトルの各成分毎に予め準備されている複数の公
開成分から任意の公開成分を選択して得られた暗号化鍵
ベクトルとを用いて暗号文を得るようにしたので、暗号
化が必要でない乱数からなる冗長部分(退化部分)を付
加しているため、暗号文の密度を大きくでき、LLLア
ルゴリズムに基づく低密度攻撃に対して強くなって安全
性を向上できる。また、その合成ベクトルにおける平文
ベクトルまたは乱数ベクトルの各成分の位置を、送信側
のエンティティまたは受信側のエンティティにて任意設
定できるようにしたので、攻撃者にとってその位置を見
つけることすら困難であり、安全性の更なる向上を図れ
る。更に、暗号化鍵ベクトルの複数の成分の選択の仕方
が攻撃者にとっては不明であって、攻撃を受けにくく、
この点でも安全性を向上できる。この結果、積和型暗号
の実用化の道を開くことに、本発明は大いに寄与でき
る。
き平文を分割してなる平文ベクトルに、複数の任意の乱
数を成分とする乱数ベクトルを加えた合成ベクトルと、
合成ベクトルの各成分毎に予め準備されている複数の公
開成分から任意の公開成分を選択して得られた暗号化鍵
ベクトルとを用いて暗号文を得るようにしたので、暗号
化が必要でない乱数からなる冗長部分(退化部分)を付
加しているため、暗号文の密度を大きくでき、LLLア
ルゴリズムに基づく低密度攻撃に対して強くなって安全
性を向上できる。また、その合成ベクトルにおける平文
ベクトルまたは乱数ベクトルの各成分の位置を、送信側
のエンティティまたは受信側のエンティティにて任意設
定できるようにしたので、攻撃者にとってその位置を見
つけることすら困難であり、安全性の更なる向上を図れ
る。更に、暗号化鍵ベクトルの複数の成分の選択の仕方
が攻撃者にとっては不明であって、攻撃を受けにくく、
この点でも安全性を向上できる。この結果、積和型暗号
の実用化の道を開くことに、本発明は大いに寄与でき
る。
【図1】2人のエンティティ間における情報の通信状態
を示す模式図である。
を示す模式図である。
【図2】記録媒体の実施の形態の構成を示す図である。
1 暗号化器
2 復号器
3 通信路
a,b エンティティ
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 村上 恭通
京都府京都市伏見区竹田向代町136番地
村田機械株式会社本社工場内
(72)発明者 笠原 正雄
大阪府箕面市粟生外院4丁目15番3号
Fターム(参考) 5J104 JA21 NA02 NA08
Claims (8)
- 【請求項1】 平文から暗号文を得る暗号化方法におい
て、暗号化すべき平文を分割してなる複数の成分を有す
る平文ベクトルに任意の乱数を複数の成分とする乱数ベ
クトルを加えて合成ベクトルを作成し、該合成ベクトル
の各成分毎に予め準備されている複数の公開成分から任
意の公開成分を選択して暗号化鍵ベクトルを作成し、作
成した前記合成ベクトルと前記暗号化鍵ベクトルとを用
いて暗号文を得ることを特徴とする暗号化方法。 - 【請求項2】 前記合成ベクトルの成分と前記暗号化鍵
ベクトルの成分との積和演算結果、または、その積和演
算結果を法で割った剰余を暗号文とする請求項1に記載
の暗号化方法。 - 【請求項3】 請求項1または2に記載の暗号化方法を
用いて得られた暗号文を復号する復号方法であって、前
記平文ベクトルの成分を、前記乱数ベクトルの成分とは
独立的に復号することを特徴とする復号方法。 - 【請求項4】 第1のエンティティ側で、請求項1また
は2に記載の暗号化方法に従って平文から暗号文を作成
して第2のエンティティ側へ伝送し、伝送された暗号文
を該第2のエンティティ側で平文に復号することによ
り、エンティティ間で情報の通信を行う暗号通信方法で
あって、前記合成ベクトルにおける前記平文ベクトルの
成分または前記乱数ベクトルの成分の位置を前記第1の
エンティティ側で設定し、その設定した位置を示す情報
を前記第2のエンティティ側へ報知することを特徴とす
る暗号通信方法。 - 【請求項5】 第1のエンティティ側で、請求項1また
は2に記載の暗号化方法に従って平文から暗号文を作成
して第2のエンティティ側へ伝送し、伝送された暗号文
を該第2のエンティティ側で平文に復号することによ
り、エンティティ間で情報の通信を行う暗号通信方法で
あって、前記合成ベクトルにおける前記平文ベクトルの
成分または前記乱数ベクトルの成分の位置を前記第2の
エンティティ側で設定し、その設定した位置を示す情報
を前記第1のエンティティ側へ報知することを特徴とす
る暗号通信方法。 - 【請求項6】 両エンティティ間で暗号文による情報通
信を行う暗号通信システムにおいて、請求項1または2
にに記載の暗号化方法を用いて平文から暗号文を作成す
る暗号化器と、作成した暗号文を第1のエンティティか
ら第2のエンティティへ送信する通信路と、送信された
暗号文から平文を復号する復号器とを備えることを特徴
とする暗号通信システム。 - 【請求項7】 コンピュータに、平文から暗号文を得る
ことを実行させるためのプログラムにおいて、暗号化す
べき平文を分割してなる複数の成分を有する平文ベクト
ルに任意の乱数を複数の成分とする乱数ベクトルを加え
て合成ベクトルを得る手順と、該合成ベクトルの各成分
毎に予め準備されている複数の公開成分から任意の公開
成分を選択して暗号化鍵ベクトルを得る手順と、前記合
成ベクトルと前記暗号化鍵ベクトルとを用いて暗号文を
得る手順とを、コンピュータに実行させることを特徴と
するプログラム。 - 【請求項8】 コンピュータに、平文から暗号文を得さ
せるためのプログラムを記録してあるコンピュータでの
読み取りが可能な記録媒体において、暗号化すべき平文
を分割してなる複数の成分を有する平文ベクトルに任意
の乱数を複数の成分とする乱数ベクトルを加えて合成ベ
クトルを得ることをコンピュータに実行させるプログラ
ムコード手段と、該合成ベクトルの各成分毎に予め準備
されている複数の公開成分から任意の公開成分を選択し
て暗号化鍵ベクトルを得ることをコンピュータに実行さ
せるプログラムコード手段と、前記合成ベクトルと前記
暗号化鍵ベクトルとを用いて暗号文を得ることをコンピ
ュータに実行させるプログラムコード手段とを含むコン
ピュータプログラムを記録してあることを特徴とする記
録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001212759A JP2003029628A (ja) | 2001-07-12 | 2001-07-12 | 暗号化方法,復号方法,暗号通信方法,暗号通信システム,プログラム及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001212759A JP2003029628A (ja) | 2001-07-12 | 2001-07-12 | 暗号化方法,復号方法,暗号通信方法,暗号通信システム,プログラム及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003029628A true JP2003029628A (ja) | 2003-01-31 |
Family
ID=19047865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001212759A Pending JP2003029628A (ja) | 2001-07-12 | 2001-07-12 | 暗号化方法,復号方法,暗号通信方法,暗号通信システム,プログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003029628A (ja) |
-
2001
- 2001-07-12 JP JP2001212759A patent/JP2003029628A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Abusukhon et al. | A hybrid network security algorithm based on Diffie Hellman and Text-to-Image Encryption algorithm | |
Gobi et al. | A comparative study on the performance and the security of RSA and ECC algorithm | |
EP1734493B1 (en) | Padding application method to ensure the security of the ntru encryption | |
JP2000047581A (ja) | 暗号化方法,暗号化・復号装置及び暗号通信システム | |
KR100388059B1 (ko) | 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법 | |
Kako | Classical Cryptography for Kurdish Language | |
He et al. | FIPS Compliant Quantum Secure Communication Using Quantum Permutation Pad | |
Anuradha et al. | Hybrid Multiple Cryptography for Data Encryption | |
JP3587763B2 (ja) | 暗号化装置,復号装置,暗号通信システム及び記録媒体 | |
JP2001211155A (ja) | 共通鍵生成方法,共通鍵生成装置及び暗号通信方法 | |
JP2003029628A (ja) | 暗号化方法,復号方法,暗号通信方法,暗号通信システム,プログラム及び記録媒体 | |
JP3592118B2 (ja) | 暗号化装置,暗号通信方法,暗号通信システム及び記録媒体 | |
JP2002182559A (ja) | 暗号化方法,復号方法,暗号通信方法,暗号通信システム,コンピュータプログラム及び記録媒体 | |
Memon et al. | Randomized text encryption: A new dimension in cryptography | |
JP3622072B2 (ja) | 暗号通信方法 | |
JP5293612B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法およびプログラム | |
Shakir | Study and Design of an Encryption Algorithm for Data Transmitted Over the Network by the IDEA and RSA | |
Singh et al. | Encryption algorithms with emphasis on probabilistic Encryption & time stamp in network security | |
JP3518671B2 (ja) | 暗号通信方法 | |
JP3722744B2 (ja) | 暗号化装置,暗号通信システム,記録媒体 | |
Nikolay Andreevich et al. | Method for pseudo-probabilistic block encryption | |
JP3953235B2 (ja) | 暗号通信方法及び暗号通信システム | |
JP3546943B2 (ja) | 秘密鍵生成装置,暗号化装置,暗号通信方法,暗号通信システム及び記録媒体 | |
JP2001034165A (ja) | 暗号化方法,暗号通信方法及び暗号文作成装置 | |
JP2000298432A (ja) | 暗号化方法及び復号方法 |