JPWO2005098796A1 - 暗号方式の安全性を保証するパディング適用方法 - Google Patents

暗号方式の安全性を保証するパディング適用方法 Download PDF

Info

Publication number
JPWO2005098796A1
JPWO2005098796A1 JP2006511999A JP2006511999A JPWO2005098796A1 JP WO2005098796 A1 JPWO2005098796 A1 JP WO2005098796A1 JP 2006511999 A JP2006511999 A JP 2006511999A JP 2006511999 A JP2006511999 A JP 2006511999A JP WO2005098796 A1 JPWO2005098796 A1 JP WO2005098796A1
Authority
JP
Japan
Prior art keywords
bit string
encryption
padding
ciphertext
random number
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.)
Granted
Application number
JP2006511999A
Other languages
English (en)
Other versions
JP4715748B2 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2006511999A priority Critical patent/JP4715748B2/ja
Publication of JPWO2005098796A1 publication Critical patent/JPWO2005098796A1/ja
Application granted granted Critical
Publication of JP4715748B2 publication Critical patent/JP4715748B2/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/20Manipulating the length of blocks of bits, e.g. padding or block truncation

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)

Abstract

NTRU暗号方式のような方式に対して適切なパディングを施すことで安全な暗号通信を達成する暗号化/復号化装置を提供する。nビットの平文Mを受け取りOAEP+パディングを行い、その結果を次の条件を満たす変換Aを用いて2つのビット列mとrを得る。変換Aは、kビット以下のビット列にLm× Lrの元を対応させる写像であり、Lmはmの取りうる範囲、Lrはrの取りうる範囲であるとすると、次の条件:単射であること、Aおよびその逆写像は多項式時間で計算できること、暗号化関数をE(m,r)とした時に写像E:A(X)→Leは一方向性関数であること、を満たす必要がある。ただしXは(m,r)の取りうる範囲を表し、Leは暗号文全体の空間を表す。mおよびrに分割されると、e = Er(m)を計算して暗号化し、eを暗号文受信者に送信する。

Description

本発明は情報の暗号化/復号化システムに係り、特に選択暗号文攻撃に対し安全性を保証するパディング適用方法および暗号化/復号化装置に関する。
通信のセキュリティを確保するために暗号技術の社会的応用が盛んに進められ、効率的な暗号計算が従来以上に望まれている。このような傾向のなかで、Jeffrey Hoffstein、Jill PipherおよびJoseph H. Silvermanによる文献“NTRU:A Ring-Based Public Key Cryptosystem”(非特許文献1)により提案されたNTRU暗号方式は、従来のRSA暗号方式やElGamal暗号方式と比べ、メモリ消費が少なく高速な暗号/復号計算方法として注目されている。
(NTRU暗号化方式)
NTRU暗号方式は以下のような公開鍵暗号方式である。
まず以下のようにして鍵生成を行う。正整数p, q, Nをとり領域変数として公開し、R =
Z[X]/(XN-1)とする。以下、L(a,b)は、Rの元uであって、uの各次数の係数のうちa個が1でb個が-1、他のものが0であるもの全体の集合(Rの部分集合)を表すものとする。パラメータdf, dg, dを決め、Lf = L(df, df+1), Lg = L(dg, dg+1), Lφ = L(d, d)とする。Lfからfを、Lgからgをランダムに取り、h = f-1g mod q とする。f, gを秘密鍵とし、hを公開鍵とする。
鍵が生成されると、Rの部分集合Lmの元mを暗号化する。まず、Rの部分集合元Lrからr をランダムに選び、e = phr + m mod q を計算し、eを暗号文として出力する。
暗号文eから元の平文mを復号するには、まずfe = pgr + fm mod qを計算する。f, g, r, mがそれぞれLf、Lg、Lr、Lmの元であることから fe = pgr + fmであるので、fe (mod p) = m (mod p)を計算することができ、mがLmの元であることからm = m (mod p)なので mを復元できる。
しかしながら、Don Coppersmith、Adi Shamirによる文献“Lattice Attacks on NTRU”, Eurocrypt'97 Springer Lecture Notes in Computer Sciences,1997(非特許文献2)などに指摘されているように、NTRU暗号方式には数々の解読方法が知られている。これに対して、平文に何らかのパディングを施した後、NTRU暗号化することにより解読を防御する方法が幾つか知られている。
(OAEP+パディング方式)
暗号方式を安全にするためのパディング方法としては、例えばVictor Shoupによる文献“OAEP Reconsidered”Journal of Cryptology 15(4)(非特許文献3)で提案されたOAEP+と呼ばれるパディング方法が知られている。OAEP+パディングは以下のようなパディング方式である。
まず、パラメータk, k0, k1を次のように選ぶ:k, k0, k1は正整数、かつ、k0 + k1
k ≦ L を満たす。ここで、L は平文空間の元の数である。
さらに、n = k - k0 - k1とし、
Gは、kビットのビット列にnビットのビット列を対応させるハッシュ関数、
H'は、n+k0ビットのビット列にk1ビットのビット列を対応させるハッシュ関数、および、
Hは、n+k1ビットのビット列にk0ビットのビット列を対応させるハッシュ関数とする。
パディング装置はnビットの平文Mを受け取り、k0ビットのビット列Rをランダムに選ぶ。続いて、G(R)とMのビット毎の排他的論理和s0を計算し、s1=H'(R||M)を計算し、s = s0||s1とする。ここで「||」はビット列の連接を表す。tをH(s)とRのビット毎の排他的論理和とし、w = s||tとする。このwを「平文Mの乱数Rを用いたOAEP+パディング」と呼ぶ。こうして得られたOAEP+パディングwを(乱数を使わない暗号方式で)暗号化し、暗号文eを受信者に送信する。
受信者は、受信した暗号文eを復号し、wを得る。wを復号後、パディング復元装置は以下のようにして平文Mを復元する。まずwはw = s||t = s0||s1||tの形をしているので、これを使ってs0、s1、tを復元する。次にH(s)とtのビット毎の排他的論理和を取ることによりRを復元する。G(R)とs0のビット毎の排他的論理和を計算することによりMを復元する。s1 = H'(R||M)を満たせばMを出力し、満たさなければeは不正な暗号文として「⊥」を出力する。
しかしながら、このOAEP+パディングは、暗号化関数を計算する際に乱数を使用しない暗号方式に対して適応するために提案されたパディング方式である。このために、上述したNTRUのような乱数を使用した暗号方式に適応した場合は必ずしも安全性が保証されないという問題がある。また、NTRUのような乱数を使用した暗号方式にOAEP+パディングを適応する場合には、適応方法は一意ではなく様々な方法を考えることができるために、どのようなパディングの適用方法が安全で、どのようなパディングの適用方法が安全でないかがすぐには分からないという問題もある。
このようにOAEP+パディング方式は乱数を使用しない暗号方式に対してのみ安全性が保証できるのであるが、乱数を使用するNTRU暗号方式に対してOAEP+パディング方式ないしそれに類似したパディング方式を適応することで安全性を保証しようという試みもいくつか提案されている。たとえば、次の文献を参照されたい。
・Joseph H. Silvermanによる文献“Plaintext Awareness and the NTRU PKCS” Technical Report#7 version 2, NTRU Cryptosystems, 1998(非特許文献4)
・Jeffrey Hoffstein、Joseph H. Silvermanによる文献“Optimizations for NTRU” Public-key Cryptography and Computational Number Theory(非特許文献5)
・Jeffrey Hoffstein、Joseph H. Silvermanによる文献“Protecting NTRU Against Chosen Ciphertext and Reaction Attacks”Technical Report, NTRU Cryptosystems, 2000, Report#16 version 1(非特許文献6)
・Phong Q. Nguyen、David Pointchevalによる文献“Analysis and Improvements of NTRU Encryption Paddings”Crypto 2002 Springer Lecture Notes in Computer Sciences, 2002(非特許文献7)。
しかしながら、これらのパディングつきNTRU暗号方式はすべて解読された。非特許文献4に記載されたパディングを施したNTRU暗号方式は、Eliane Jaulmes、Antoine Jouxによる文献“A Chosen-Ciphertext Attack against NTRU”Crypto 2000 Springer Lecture Notes in Computer Sciences, 2000(非特許文献8)で提案されたアルゴリズムで解読された。
また、非特許文献5および6に記載されたパディングを施したNTRU暗号方式は非特許文献7で提案されたアルゴリズムで解読され、この非特許文献7によるパディング方法はJohn A. Proosによる“Imperfect Decryption and an Attack on the NTRU Encryption Scheme”(非特許文献9)により解読された。
OAEP+パディング方式以外のパディング方式を用いてNTRU暗号方式のような乱数を使った暗号方式の安全性確保を図った方式も提案されているが、パディング方式は方式毎に異なる弱点を持っているために、OAEP+パディングを用いて暗号方式の安全性を確保することは依然として有意義である。
Jeffrey Hoffstein、Jill PipherおよびJoseph H. Silvermanによる文献"NTRU:A Ring-Based Public Key Cryptosystem" "Lattice Attacks on NTRU", Eurocrypt'97 Springer Lecture Notes in Computer Sciences,1997 "OAEP Reconsidered"Journal of Cryptology 15(4) "Plaintext Awareness and the NTRU PKCS" Technical Report#7 version 2, NTRU Cryptosystems, 1998 Jeffrey Hoffstein、Joseph H. Silvermanによる文献"Optimizations for NTRU" Public-key Cryptography and Computational Number Theory "Protecting NTRU Against Chosen Ciphertext and Reaction Attacks"Technical Report, NTRU Cryptosystems, 2000, Report#16 version 1 "Analysis and Improvements of NTRU Encryption Paddings"Crypto 2002 Springer Lecture Notes in Computer Sciences, 2002 "A Chosen-Ciphertext Attack against NTRU"Crypto 2000 Springer Lecture Notes in Computer Sciences, 2000 John A. Proosによる"Imperfect Decryption and an Attack on the NTRU Encryption Scheme"
上述したように、従来のパディングつきNTRU暗号方式は安全な暗号通信を行うことができない。
本発明の目的はNTRU暗号方式のような方式に対して適切なパディングを施すことで安全な暗号通信を達成するパディング適用方法および暗号化/復号化装置を提供することにある。
本発明者は、NTRU暗号方式では暗号に使用した乱数を復元可能であることに着目し、暗号通信の安全性を保証できる新規なパディング適用方式を発明した。
(成立根拠)
まず、本発明の成立根拠について簡単に説明する。乱数を使用した暗号方式で代表的なものに、エルガマル暗号方式やペイリエー暗号方式などがある。これらの暗号方式では、暗号文受信者が平文を復元することはできるが乱数を復元することはできないために、平文と乱数とは全く異なる種類のデータとして扱う必要がある。
また、エルガマル暗号方式やペイリエー暗号方式等の多くの暗号方式では、暗号化関数は確率的な関数であり、暗号化関数の定義域は平文M全体の空間であり、値域は暗号文全体の空間である。それに対し、復号化関数は確率を使わない関数であり、定義域は暗号文全体の空間で値域は平文全体の空間である。繰り返すが、これらの暗号方式では暗号に使用した乱数を復元できない。
これに対して、NTRU暗号方式は、平文mを復元した後に、r = (fe - fm)/pg により乱数rを求めることができる、という特徴がある。このため、NTRU暗号方式は、エルガマル暗号方式やペイリエー暗号方式等の暗号方式とは異なり、平文と乱数とを区別する必然性がない。
したがって、NTRU暗号方式では、次のようにみなすことができる。
・暗号化関数は乱数を使わない関数であり、その定義域は平文Mと乱数Rとの連接全体の空間、値域は暗号文全体の空間である。
・復号化関数も乱数を使わない関数であり、その定義域は暗号文全体の空間、値域は平文Mと乱数Rとの連接全体の空間である。
既に述べたようにOAEP+パディングは暗号化関数が乱数を使わない場合には安全性が保証される。したがって、NTRU暗号方式の平文と乱数とを区別しないデータ構造に対して、安全性保証つきOAEP+パディングを適用可能であることがわかる。
(本発明の概要)
この知見に基づいて、本発明がなされた。すなわち、本発明によるパディング適用方式は、暗号文作成者が暗号文の作成に使用した乱数の値を暗号文受信者が復元できる暗号方式Er(m)に対して適用可能であり、このような暗号方式に対して本発明を適用した場合に安全性が保証される。
本発明によれば、暗号文の作成に乱数を使用し、その使用した乱数を受信側で復元できる暗号化方式に対して、乱数を使用しない暗号化方式で安全性が保証されたパディング方式を適用する方法は、入力情報を前記パディング方式により所定長以下のビット列に変換し、前記ビット列を所定の変換規則によって第1ビット列と第2ビット列とに変換し、前記第1ビット列をデータ入力とし、前記第2ビット列を乱数入力として暗号化関数にそれぞれ供給し、前記変換規則は、前記所定長以下のビット列を前記第1ビット列の集合と第2ビット列の集合との直積の元に対応させる写像であり、かつ、前記写像は単射であること、前記写像およびその逆写像が多項式時間で計算可能であること、および、前記直積を定義域とする前記暗号化関数が一方向性関数であること、を満たす、ことを特徴とする。
本発明の一実施形態によれば、変換規則は、前記ビット列の前半を前記第1ビット列とし、後半を前記第2ビット列とするように前記ビット列を2分割する規則である。
本発明の一実施例によれば前記パディング方式はOAEP+パディングであり、前記乱数を使用する暗号化方式はNTRU暗号方式である。
図1(A)は、本発明によるパディング適用方式による暗号化装置の概念的ブロック図であり、(B)は従来例によるOAEPベースのパディング方式を適用した暗号化装置の概念的ブロック図である。ただし、パラメータは最も標準的な場合が示されており、n = k0 = k1であり、mのビット数はrである。
図1(A)を用いて本発明によるパディング適用方式を説明すると、おおよそ次のようになる。まず、OAEP+パディング方式と同様のパラメータを選ぶ。すなわち、上述したように、正整数k, k0, k1を k0 + k1 < k < L を満たすように取る。ここでLは平文空間の元の数である。n = k - k0 - k1とし、Gをkビットのビット列にnビットのビット列を対応させるハッシュ関数、H'をn+k0ビットのビット列にk1ビットのビット列を対応させるハッシュ関数、Hをn+k1ビットのビット列にk0ビットのビット列を対応させるハッシュ関数とする。
次に、nビットの平文Mを受け取り、OAEP+パディングを行う。すなわちk0ビットのビット列Rをランダムに選び、G(R)とMのビット毎の排他的論理和s0を計算し、s1=H'(R||M)を計算して、s = s0||s1とする。記号「||」はビット列の連接を表す。tをH(s)とRのビット毎の排他的論理和とし、w = s||tとする。
次に、wを次の条件を満たす規則A(以下、変換関数Aという。)を用いて2つのビット列mおよびrを生成する。Aは、kビット以下のビット列にLm × Lrの元を対応させる写像であり、ここでLmはmの取りうる範囲、Lrはrの取りうる範囲である。変換関数Aが満たすべき条件は次の通りである。
(1)Aは単射であること
(2)Aおよびその逆写像は多項式時間で計算できること
(3)暗号化関数をE(m,r)とした時、写像E:A(X)→Leは、一方向性関数であること(ただしXは(m,r)の取りうる範囲を表し、Leは暗号文全体の空間を表す)。
NTRU暗号方式の場合、例えばビット列wを前半のビット列と後半のビット列に等分割して、それぞれをmおよびrとすればよい。こうして2つのビット列に変換されると、e = Er(m)を計算して暗号化し、eを暗号文受信者に送信する。
受信者はeを受信したら、eを復号してmを得る。上述したようにEr(m)の特徴によりrは復元可能であるから、rを復元する。そして、w = m||rによりwを復元する。wを復号後、OAEP+パディングの復元と同様にMを復元する。具体的には、まず、wはw = s||t =s0||s1||tの形をしているので、これを使ってs0、s1、tを復元する。次に、H(s)とtのビット毎の排他的論理和を取ることによりRを復元し、G(R)とs0のビット毎の排他的論理和を計算することによりMを復元する。s1 = H'(R||M)を満たせば、Mを出力し、そうでなければeは不正な暗号文として⊥を出力する。
次に、本発明による方式と従来の方式とを比較して、本発明の効果を説明する。図1(B)に一例を示すように、上述した非特許文献4〜7で提案された方式では、平文MからOAEP+(あるいはその他の)パディング方式を使ってmのみを作り上げ、rは何らかの別の手段を用いて作っている。これらの方式は、エルガマル暗号方式やペイリエー暗号方式のような受信側で平文だけが復元でき乱数は復元できない暗号方式に対しても利用できるが、ad-hocな方法であるため安全性が保証できず、特にNTRUの場合には完全解読が可能である。
これに対して、本発明による方式は、NTRUのような暗号文受信者が平文および乱数を共に復元できる暗号方式に適用されるパディング方式である。上記の従来の方式とは異なり、平文MからOAEP+パディング方式および所定の変換規則(関数A)を使ってmおよびrの両方を作り上げる。また、従来の方式とは異なり、NTRUのような暗号文受信者が平文および乱数をともに復元できる暗号方式に対して適用した場合に安全性が保証できる。
すなわち、本発明により、NTRU暗号方式という必要メモリ量の少なくかつ暗号化復号化計算が高速な暗号方式を利用して安全な暗号通信を行うことが可能になる。
図2は、本発明による暗号化/復号化装置を実装した暗号通信システムの一例を示すブロック図である。ここではネットワークを通して通信端末間で暗号通信が行われる。
送信側の通信端末は、プログラム制御プロセッサ10、乱数生成器11、プログラムメモリ12、メモリ13および送受信部14を有し、後述するように、プログラムメモリ12に格納されたOAEP+変換、変換関数Aによる変換、NTRU暗号化などの必要なプログラムを実行することで平文を暗号化し、暗号文を送受信部14からネットワークを通して宛先の受信端末へ送信する。なお、メモリ13には、公開情報や秘密鍵などの暗号化に必要な情報が格納されている。
受信端末も同様に、プログラム制御プロセッサ20、乱数生成器21、プログラムメモリ22、メモリ23および送受信部24を有し、後述するように、プログラムメモリ22、メモリ13および送受信部14を有し、後述するように、プログラムメモリ22に格納されたNTRU復号化、乱数復元、逆変換、OAEP+逆変換などの必要なプログラムを実行することで、送受信部24で受信した暗号文を平文に復号する。なお、メモリ23には、公開情報や秘密鍵などの復号化に必要な情報が格納されている。
1.第1実施形態
図3は、本発明の第1実施形態による暗号化/復号化装置の機能的構成を示すブロック図である。本実施形態による暗号化/復号化装置は、平文を暗号化するための暗号化装置100と、暗号文を平文に復号するための復号化装置200とを有し、さらに鍵生成装置300により生成された暗号化/復号化に必要な公開情報を記憶する公開情報記憶装置301、復号化に必要な秘密鍵情報を記憶する秘密鍵記憶装置302を有する。
平文は、平文入力装置101により暗号化装置100へ与えられ、暗号化装置100にはOAEP+変換部102、変換関数Aによる変換部103およびNTRU暗号化部104などのプロセスが実現されている。暗号化装置100により生成された暗号文は暗号文出力装置105を通して、例えば受信端末へ出力される。
暗号文は、暗号文入力装置201により復号化装置200へ与えられ、復号化装置200にはNTRU復号化部202、乱数復元部203、変換関数Aの逆変換部204、OAEP+逆変換部205などのプロセスが実現されている。復号化装置200により生成された平文は平文出力装置206を通して出力される。
1.1)鍵生成
まず鍵生成手順を説明する。
図4は、第1実施形態における鍵生成手順を示すフローチャートである。鍵生成装置300は、正整数p, q, Nをとり、領域変数として公開する。上述したNTRU暗号方式と同様に、R = Z[X]/(XN-1)とし、Rの元uであってuの各次数の係数のうちa個が1でb個が-1、他のものが0であるもの全体の集合(Rの部分集合)をL(a,b)で表すものとし、Rの部分集合Lf, Lg, Lr, Lmを取る(ステップS11)。
さらに鍵生成装置1は、OAEP+パディング方式で説明したように、パラメータk, k0, k1を次のように選ぶ:k, k0, k1は正整数、かつ、k0 + k1 ≦ k ≦ Lを満たす。ここで、LはLm × Lrの元の数である。さらに、n = k - k0 - k1とし、
Gは、kビットのビット列にnビットのビット列を対応させるハッシュ関数、
H'は、n+k0ビットのビット列にk1ビットのビット列を対応させるハッシュ関数、および、
Hは、n+k1ビットのビット列にk0ビットのビット列を対応させるハッシュ関数とする(ステップS12)。
さらに、鍵生成装置1は変換関数Aを決定する(ステップS13)。変換関数Aはkビット以下のビット列にLm × Lrの元を対応させる写像とし、以下の性質を満たさねばならない。
(1)Aは単射であること
(2)Aおよびその逆写像が多項式時間で計算できること
(3)暗号化関数をE(m, r)とした時、写像E:A(X)→Leは、一方向性関数であること(ただし、Xは(m, r)の取りうる範囲を表し、Leは暗号文全体の空間を表す)。
鍵生成装置1は、NTRUと同様の方法で鍵生成を実行する。すなわちLfからfを、Lgからgをランダムに取り、h = f-1g mod q とする。f, gを秘密鍵とし、hを公開鍵とする(ステップS14)。鍵生成装置1は、f, gを秘密鍵記憶装置302に秘密裡に保持し(ステップS15)、NTRUの公開鍵、上記ハッシュ関数および変換関数(p, q, N, Lf, Lg, Lr, Lm, k, k0, k1, G, H', H, A, h)を公開情報記憶装置301に格納して公開する(ステップS16)。
1.2)暗号化手順
次に暗号化手順を説明する。
図5は、第1実施形態における暗号化手順を示すフローチャートである。暗号化装置100は、まず平文入力装置101からnビットの平文Mを受け取り(ステップS21)、公開情報記憶装置301から公開情報p, q, N, Lf, Lg, Lr, Lm, k, k0, k1, G, H', H, A,
およびhを受け取る(ステップS22)。
続いて、k0ビットのビット列Rをランダムに選び(ステップS23)、OAEP+変換部102は、G(R)とMのビット毎の排他的論理和s0を計算し、s1=H'(R||M)を計算し、s = s0||s1とし、さらに、tをH(s)とRのビット毎の排他的論理和として、w = s||tを生成することで、平文をOAEP+パディングする(ステップS24)。
さらに、変換部103は変換関数Aを用いて、(m, r)=A(w)によって、wを2つのビット列mおよびrに変換する(ステップS25)。ここでは、wを等分割して前半のビット列をm、後半のビット列をrとする。そして、NTRU暗号化部104は、e = phr + m mod qを計算することでNTRU暗号化を行い(ステップS26)、生成された暗号文を暗号文出力装置105から出力する(ステップS27)。
1.3)復号化手順
最後に復号化手順を説明する。
図6は、第1実施形態における復号化手順を示すフローチャートである。まず復号化装置200は暗号文入力装置201から暗号文eを受け取り(ステップS31)、続いて、秘密鍵記憶装置302から暗号文に対応する秘密鍵を、公開情報記憶装置301からその秘密鍵に対応する公開情報を受け取る(ステップS32)。
NTRU復号部202は、公開情報および秘密鍵を用いて、NTRU暗号方式と同様に暗号文eの復号化処理を行う。すなわち、fe = pgr + fm mod qを計算し、f, g, r, mがそれぞれLf、Lg、Lr、Lmの元であることからfe = pgr + fmであるので、fe (mod p) = m (mod p)を計算することができ、mがLmの元であることからm = m (mod p)なので、mを復元できる(ステップS33)。
また、乱数復元部203は、fe = pgr + fmであるので、r = (fe - fm)/pgによりrを復元する(ステップS34)。
次に、逆変換部204は変換関数Aの逆変換を用いて、A-1(m,r)により、w = s||t = s0||s1||tを復元する(ステップS35)。続いて、OAEP+逆変換部205は、H(s)とtのビット毎の排他的論理和を取ることによりRを復元し、G(R)とs0のビット毎の排他的論理和を計算することによりMを復元する(ステップS36)。
最後に、パディングが正当であるか否かをs1 = H'(R||M)が満たされるか否かによって判断し(ステップS37)、正当であれば平文Mを出力し(ステップS38)、正当でなければ暗号文eは不正な暗号文として⊥を出力する(ステップS39)。
2.第2実施形態
図7は、本発明の第2実施形態による暗号化/復号化装置の機能的構成を示すブロック図である。本実施形態による暗号化/復号化装置は、平文を暗号化するための暗号化装置400と、暗号文を平文に復号するための復号化装置500とを有し、さらに鍵生成装置300により生成された暗号化/復号化に必要な公開情報を記憶する公開情報記憶装置301、復号化に必要な秘密鍵情報を記憶する秘密鍵記憶装置302を有する。
平文は、平文入力装置101により暗号化装置400へ与えられ、暗号化装置400には乱数発生部401、秘密鍵暗号化部402、OAEP+変換部403、変換関数Aによる変換部404およびNTRU暗号化部405などのプロセスが実現されている。暗号化装置400により生成された暗号文は暗号文出力装置105を通して、例えば受信端末へ出力される。
暗号文は、暗号文入力装置201により復号化装置500へ与えられ、復号化装置500にはNTRU復号化部501、乱数復元部502、変換関数Aの逆変換部503、OAEP+逆変換部504、秘密鍵暗号復号部505などのプロセスが実現されている。復号化装置500により生成された平文は平文出力装置206を通して出力される。
2.1)鍵生成
まず鍵生成手順を説明する。
図8は、第2実施形態における鍵生成手順を示すフローチャートである。鍵生成装置300は、正整数p, q, Nをとり、領域変数として公開する。上述したNTRU暗号方式と同様に、R = Z[X]/(XN-1)とし、Rの元uであってuの各次数の係数のうちa個が1でb個が-1、他のものが0であるもの全体の集合(Rの部分集合)をL(a,b)で表すものとし、Rの部分集合Lf, Lg, Lr, Lmを取る(ステップS41)。
さらに鍵生成装置1は、OAEP+パディング方式で説明したように、パラメータk, k0, k1を次のように選ぶ:k, k0, k1は正整数、かつ、k0 + k1 ≦ k ≦ Lを満たす。ここで、LはLm × Lrの元の数である。さらに、n = k - k0 - k1とし、
Gは、kビットのビット列にnビットのビット列を対応させるハッシュ関数、
H'は、n+k0ビットのビット列にk1ビットのビット列を対応させるハッシュ関数、および、
Hは、n+k1ビットのビット列にk0ビットのビット列を対応させるハッシュ関数とする(ステップS42)。
さらに、鍵生成装置1は変換関数Aを決定する(ステップS43)。変換関数Aは、上述したように、kビット以下のビット列にLm × Lrの元を対応させる写像とし、以下の性質を満たさねばならない。
(1)Aは単射であること
(2)Aおよびその逆写像が多項式時間で計算できること
(3)暗号化関数をE(m, r)とした時、写像E:A(X)→Leは、一方向性関数であること(ただし、Xは(m, r)の取りうる範囲を表し、Leは暗号文全体の空間を表す)。
鍵生成装置1は、NTRUと同様の方法で鍵生成を実行する。すなわちLfからfを、Lgからgをランダムに取り、h = f-1g mod q とする。f, gを秘密鍵とし、hを公開鍵とする。鍵生成装置1は、f, gを秘密鍵記憶装置302に秘密裡に保持し(ステップS44)する。
さらに、鍵生成装置1は、使用する共通鍵鍵暗号方式Eを決定し(ステップS45)、NTRUの公開鍵、上記ハッシュ関数および変換関数(p, q, N, Lf, Lg, Lr, Lm, k, k0, k1,
G, H', H, A, h)を公開情報記憶装置301に格納して公開する(ステップS46)。
2.2)暗号化手順
次に暗号化手順を説明する。
図9は、第2実施形態における暗号化手順を示すフローチャートである。暗号化装置400は、まず平文入力装置101からnビットの平文Xを受け取り(ステップS51)、公開情報記憶装置301から公開情報p, q, N, Lf, Lg, Lr, Lm, k, k0, k1, G, H', H, A,およびhを受け取る(ステップS52)。
続いて、乱数発生部401を用いて秘密鍵暗号化部402はnビットのビット列Mをランダムに選び(ステップS53)、Y = EM(X)を計算して共通化鍵暗号化を行う(ステップS54)。ここで、EM(X)は、Mを鍵として平文Xを共通鍵暗号方式Eに従って暗号化したものである。
続いて、k0ビットのビット列Rをランダムに選び(ステップS55)、OAEP+変換部403は、G(R)とMのビット毎の排他的論理和s0を計算し、s1=H'(R||M)を計算し、s = s0||s1とし、さらに、tをH(s)とRのビット毎の排他的論理和として、w = s||tを生成することで、平文をOAEP+パディングする(ステップS56)。
さらに、変換関数Aによる変換部404は、(m, r) = A(w)によってwを2つのビット列mおよびrに変換する(ステップS57)。ここでは、wを2分割して前半のビット列をm、後半のビット列をrとする。そして、NTRU暗号化部405は、e = phr + m mod qを計算することでNTRU暗号化を行い(ステップS58)、生成された暗号文eと共通鍵暗号の暗号文Yとを暗号文(e,Y)として暗号文出力装置105から出力する(ステップS59)。
2.3)復号化手順
最後に復号化手順を説明する。
図10は、第2実施形態における復号化手順を示すフローチャートである。まず復号化装置500は暗号文入力装置201から暗号文eを受け取り(ステップS61)、続いて、秘密鍵記憶装置302から暗号文に対応する秘密鍵を、公開情報記憶装置301からその秘密鍵に対応する公開情報を受け取る(ステップS62)。
NTRU復号化部501は、公開情報および秘密鍵を用いて、NTRU暗号方式と同様に暗号文eの復号化処理を行う。すなわち、fe = pgr + fm mod qを計算し、f, g, r, mがそれぞれLf、Lg、Lr、Lmの元であることからfe = pgr + fmであるので、fe(mod p) = m (mod p)を計算することができ、mがLmの元であることからm = m (mod p)なので、mを復元できる(ステップS63)。
また、乱数復元部502は、fe = pgr + fmであるので、r = (fe - fm)/pgによりrを復元する(ステップS64)。
次に、逆変換部503は、A-1(m,r)により、w = s||t = s0||s1||tを復元する(ステップS65)。続いて、OAEP+逆変換部504は、H(s)とtのビット毎の排他的論理和を取ることによりRを復元し、G(R)とs0のビット毎の排他的論理和を計算することによりMを復元する(ステップS66)。
最後に、パディングが正当であるか否かをs1 = H'(R||M)が満たされるか否かによって判断し(ステップS67)、正当であれば、共通鍵暗号の鍵Mを用いて共通鍵暗号を解き、平文Xを出力し(ステップS68)、正当でなければ暗号文eは不正な暗号文として⊥を出力する(ステップS69)。
(A)は、本発明によるパディング適用方式による暗号化装置の概念的ブロック図であり、(B)は従来例によるOAEPベースのパディング方式を適用した暗号化装置の概念的ブロック図である。 本発明による暗号化/復号化装置を実装した暗号通信システムの一例を示すブロック図である。 本発明の第1実施形態による暗号化/復号化装置の機能的構成を示すブロック図である。 第1実施形態における鍵生成手順を示すフローチャートである。 第1実施形態における暗号化手順を示すフローチャートである。 第1実施形態における復号化手順を示すフローチャートである。 本発明の第2実施形態による暗号化/復号化装置の機能的構成を示すブロック図である。 第2実施形態における鍵生成手順を示すフローチャートである。 第2実施形態における暗号化手順を示すフローチャートである。 第2実施形態における復号化手順を示すフローチャートである。
符号の説明
100 暗号化装置
101 平文入力装置
102 OAEP+変換部
103 変換関数Aによる変換部
104 NTRU暗号化部
105 暗号文出力装置
200 復号化装置
201 暗号文入力装置
202 NTRU復号化部
203 乱数復元部
204 変換関数Aの逆変換部
205 OAEP+逆変換部
206 平文出力装置
300 鍵生成装置
301 公開情報記憶装置
302 秘密鍵記憶装置

Claims (20)

  1. 暗号文の作成に乱数を使用し、その使用した乱数を受信側で復元できる暗号化方式に対して、乱数を使用しない暗号化方式で安全性が保証されたパディング方式を適用する方法において、
    入力情報を前記パディング方式により所定長以下のビット列に変換し、
    前記ビット列を所定の変換規則によって第1ビット列と第2ビット列とに変換し、
    前記第1ビット列をデータ入力とし、前記第2ビット列を乱数入力として暗号化関数にそれぞれ供給し、
    前記変換規則は、前記所定長以下のビット列を前記第1ビット列の集合と第2ビット列の集合との直積の元に対応させる写像であり、かつ、前記写像は単射であること、前記写像およびその逆写像が多項式時間で計算可能であること、および、前記直積を定義域とする前記暗号化関数が一方向性関数であること、を満たす、
    ことを特徴とするパディング適用方法。
  2. 前記変換規則は、前記ビット列の前半を前記第1ビット列とし、後半を前記第2ビット列とするように前記ビット列を2分割する規則であることを特徴とする請求項1に記載のパディング適用方法。
  3. 前記パディング方式はOAEP+パディングであり、前記乱数を使用する暗号化方式はNTRU暗号方式であることを特徴とする請求項1または2に記載のパディング適用方法。
  4. 暗号文の作成に乱数を使用し、その使用した乱数を受信側で復元できる暗号化方式に対して、乱数を使用しない暗号化方式で安全性が保証されたパディング方式を適用する方法において、
    入力情報を前記パディング方式により所定長以下のビット列に変換するパディング変換手段と、
    前記ビット列を所定の変換規則によって第1ビット列と第2ビット列とに変換するビット列変換手段と、
    前記第1ビット列をデータ入力とし、前記第2ビット列を乱数入力として暗号化関数にそれぞれ供給して暗号文を生成する暗号化手段と、
    前記変換規則は、前記所定長以下のビット列を前記第1ビット列の集合と第2ビット列の集合との直積の元に対応させる写像であり、かつ、前記写像は単射であること、前記写像およびその逆写像が多項式時間で計算可能であること、および、前記直積を定義域とする前記暗号化関数が一方向性関数であること、を満たす、
    ことを特徴とするパディング装置。
  5. 前記変換規則は、前記ビット列の前半を前記第1ビット列とし、後半を前記第2ビット列とするように前記ビット列を2分割する規則であることを特徴とする請求項4に記載のパディング装置。
  6. 前記パディング方式はOAEP+パディングであり、前記乱数を使用する暗号化方式はNTRU暗号方式であることを特徴とする請求項4または5に記載のパディング装置。
  7. 暗号文の作成に乱数を使用し、その使用した乱数を受信側で復元できる暗号化方式に対して、乱数を使用しない暗号化方式で安全性が保証されたパディング方式を適用することで暗号文を生成する暗号化装置において、
    入力した平文を前記パディング方式により所定長以下のビット列に変換するパディング変換手段と、
    前記ビット列を所定の変換規則によって第1ビット列と第2ビット列とに変換するビット列変換手段と、
    前記第1ビット列をデータ入力とし、前記第2ビット列を乱数入力として暗号化関数にそれぞれ供給して暗号文を生成する暗号化手段と、
    前記変換規則は、前記所定長以下のビット列を前記第1ビット列の集合と第2ビット列の集合との直積の元に対応させる写像であり、かつ、前記写像は単射であること、前記写像およびその逆写像が多項式時間で計算可能であること、および、前記直積を定義域とする前記暗号化関数が一方向性関数であること、を満たす、
    ことを特徴とする暗号化装置。
  8. 暗号文の作成に乱数を使用し、その使用した乱数を受信側で復元できる暗号化方式に対して、乱数を使用しない暗号化方式で安全性が保証されたパディング方式を適用することで暗号文を生成する暗号化装置において、
    秘密鍵暗号の鍵をランダムに選択し、前記秘密鍵暗号の鍵を用いて、入力した平文を秘密鍵暗号化することで第1暗号文を生成する第1暗号化手段と、
    前記秘密鍵暗号の鍵を前記パディング方式により所定長以下のビット列に変換するパディング変換手段と、
    前記ビット列を所定の変換規則によって第1ビット列と第2ビット列とに変換するビット列変換手段と、
    前記第1ビット列をデータ入力とし、前記第2ビット列を乱数入力として暗号化関数にそれぞれ供給して第2暗号文を生成する第2暗号化手段と、
    前記第1暗号文および前記第2暗号文を暗号文として出力する暗号文出力手段と、
    を有し、前記変換規則は、前記所定長以下のビット列を前記第1ビット列の集合と第2ビット列の集合との直積の元に対応させる写像であり、かつ、前記写像は単射であること、前記写像およびその逆写像が多項式時間で計算可能であること、および、前記直積を定義域とする前記暗号化関数が一方向性関数であること、を満たす、
    ことを特徴とする暗号化装置。
  9. 前記変換規則は、前記ビット列の前半を前記第1ビット列とし、後半を前記第2ビット列とするように前記ビット列を2分割する規則であることを特徴とする請求項7または8に記載の暗号化装置。
  10. 前記パディング方式はOAEP+パディングであり、前記乱数を使用する暗号化方式はNTRU暗号方式であることを特徴とする請求項7または8に記載の暗号化装置。
  11. 暗号文の作成に乱数を使用し、その使用した乱数を受信側で復元できる暗号化方式に対して、乱数を使用しない暗号化方式で安全性が保証されたパディング方式を適用することで暗号文を生成する方法において、
    入力した平文を前記パディング方式により所定長以下のビット列に変換し、
    前記ビット列を所定の変換規則によって第1ビット列と第2ビット列とに変換し、
    前記第1ビット列をデータ入力とし、前記第2ビット列を乱数入力として暗号化関数にそれぞれ供給して暗号文を生成し、
    前記変換規則は、前記所定長以下のビット列を前記第1ビット列の集合と第2ビット列の集合との直積の元に対応させる写像であり、かつ、前記写像は単射であること、前記写像およびその逆写像が多項式時間で計算可能であること、および、前記直積を定義域とする前記暗号化関数が一方向性関数であること、を満たす、
    ことを特徴とする暗号化方法。
  12. 暗号文の作成に乱数を使用し、その使用した乱数を受信側で復元できる暗号化方式に対して、乱数を使用しない暗号化方式で安全性が保証されたパディング方式を適用することで暗号文を生成する方法において、
    秘密鍵暗号の鍵をランダムに選択し、
    前記秘密鍵暗号の鍵を用いて、入力した平文を秘密鍵暗号化することで第1暗号文を生成し、
    前記秘密鍵暗号の鍵を前記パディング方式により所定長以下のビット列に変換し、
    前記ビット列を所定の変換規則によって第1ビット列と第2ビット列とに変換し、
    前記第1ビット列をデータ入力とし、前記第2ビット列を乱数入力として暗号化関数にそれぞれ供給して第2暗号文を生成し、
    前記第1暗号文および前記第2暗号文を暗号文として出力し、
    前記変換規則は、前記所定長以下のビット列を前記第1ビット列の集合と第2ビット列の集合との直積の元に対応させる写像であり、かつ、前記写像は単射であること、前記写像およびその逆写像が多項式時間で計算可能であること、および、前記直積を定義域とする前記暗号化関数が一方向性関数であること、を満たす、
    ことを特徴とする暗号化方法。
  13. 前記変換規則は、前記ビット列の前半を前記第1ビット列とし、後半を前記第2ビット列とするように前記ビット列を2分割する規則であることを特徴とする請求項11または12に記載の暗号化方法。
  14. 前記パディング方式はOAEP+パディングであり、前記乱数を使用する暗号化方式はNTRU暗号方式であることを特徴とする請求項11または12に記載の暗号化方法。
  15. 請求項7に記載の暗号化装置により生成された暗号文を復号化する装置において、
    前記乱数を使用する暗号化方式に対応する復号化方式に従って、入力した暗号文を復号化して第1ビット列を生成する第1復号化手段と、
    前記暗号化に使用した乱数を第2ビット列として復元する乱数復号手段と、
    前記変換規則の逆変換規則に従って、前記第1ビット列および前記第2ビット列を所定長以下のビット列に逆変換するビット列逆変換手段と、
    前記所定長以下のビット列から前記パディング方式によるパディングを除去することで元の平文を生成するパディング逆変換手段と、
    前記パディングの正当性を判断し、正当であれば前記平文を出力する判定手段と、
    を有することを特徴とする復号化装置。
  16. 請求項8に記載の暗号化装置により生成された暗号文を復号化する装置において、
    前記乱数を使用する暗号化方式に対応する復号化方式に従って、前記第2暗号文を復号化して第1ビット列を生成する第1復号化手段と、
    前記暗号化に使用した乱数を第2ビット列として復元する乱数復号手段と、
    前記変換規則の逆変換規則に従って、前記第1ビット列および前記第2ビット列を所定長以下のビット列に逆変換するビット列逆変換手段と、
    前記所定長以下のビット列から前記パディング方式によるパディングを除去することで元の秘密鍵暗号の鍵を生成するパディング逆変換手段と、
    前記パディングの正当性を判断し、正当であれば前記秘密鍵暗号の鍵を用いて前記第1暗号文を復号する第2復号手段と、
    を有することを特徴とする復号化装置。
  17. 請求項11に記載の暗号化方法により生成された暗号文を復号化する方法において、
    前記乱数を使用する暗号化方式に対応する復号化方式に従って、入力した暗号文を復号化して第1ビット列を生成し、
    前記暗号化に使用した乱数を第2ビット列として復元し、
    前記変換規則の逆変換規則に従って、前記第1ビット列および前記第2ビット列を所定長以下のビット列に逆変換し、
    前記所定長以下のビット列から前記パディング方式によるパディングを除去することで元の平文を生成し、
    前記パディングの正当性を判断し、正当であれば前記平文を出力する、
    ことを特徴とする復号化方法。
  18. 請求項12に記載の暗号化方法により生成された暗号文を復号化する方法において、
    前記乱数を使用する暗号化方式に対応する復号化方式に従って、前記第2暗号文を復号化して第1ビット列を生成し、
    前記暗号化に使用した乱数を第2ビット列として復元し、
    前記変換規則の逆変換規則に従って、前記第1ビット列および前記第2ビット列を所定長以下のビット列に逆変換し、
    前記所定長以下のビット列から前記パディング方式によるパディングを除去することで元の秘密鍵暗号の鍵を生成し、
    前記パディングの正当性を判断し、正当であれば前記秘密鍵暗号の鍵を用いて前記第1暗号文を復号する、
    ことを特徴とする復号化方法。
  19. 暗号文の作成に乱数を使用し、その使用した乱数を受信側で復元できる暗号化方式と、乱数を使用しない暗号化方式で安全性が保証されたパディング方式とを用い、通信ネットワークを通して通信端末間で暗号通信を行うシステムにおいて、
    送信側通信端末は、
    入力した平文を前記パディング方式により所定長以下のビット列に変換するパディング変換手段と、
    前記所定長以下のビット列を前記第1ビット列の集合と第2ビット列の集合との直積の元に対応させる写像であり、かつ、前記写像は単射であること、前記写像およびその逆写像が多項式時間で計算可能であること、および、前記直積を定義域とする前記暗号化関数が一方向性関数であること、を満たす変換規則に従って、前記ビット列を第1ビット列と第2ビット列とに変換するビット列変換手段と、
    前記第1ビット列をデータ入力とし、前記第2ビット列を乱数入力として暗号化関数にそれぞれ供給して暗号文を生成する暗号化手段と、
    前記暗号文を受信側端末へ送信する送信手段と、
    を有し、
    前記受信側通信端末は、
    前記暗号文を前記送信側通信端末から受信する受信手段と、
    前記乱数を使用する暗号化方式に対応する復号化方式に従って、入力した暗号文を復号化して第1ビット列を生成する第1復号化手段と、
    前記暗号化に使用した乱数を第2ビット列として復元する乱数復号手段と、
    前記変換規則の逆変換規則に従って、前記第1ビット列および前記第2ビット列を所定長以下のビット列に逆変換するビット列逆変換手段と、
    前記所定長以下のビット列から前記パディング方式によるパディングを除去することで元の平文を生成するパディング逆変換手段と、
    前記パディングの正当性を判断し、正当であれば前記平文を出力する判定手段と、
    を有する、
    ことを特徴とする暗号通信システム。
  20. 暗号文の作成に乱数を使用し、その使用した乱数を受信側で復元できる暗号化方式と、乱数を使用しない暗号化方式で安全性が保証されたパディング方式とを用い、通信ネットワークを通して通信端末間で暗号通信を行うシステムにおいて、
    送信側通信端末は、
    秘密鍵暗号の鍵をランダムに選択し、前記秘密鍵暗号の鍵を用いて、入力した平文を秘密鍵暗号化することで第1暗号文を生成する第1暗号化手段と、
    前記秘密鍵暗号の鍵を前記パディング方式により所定長以下のビット列に変換するパディング変換手段と、
    前記所定長以下のビット列を前記第1ビット列の集合と第2ビット列の集合との直積の元に対応させる写像であり、かつ、前記写像は単射であること、前記写像およびその逆写像が多項式時間で計算可能であること、および、前記直積を定義域とする前記暗号化関数が一方向性関数であること、を満たす変換規則に従って、前記ビット列を第1ビット列と第2ビット列とに変換するビット列変換手段と、
    前記第1ビット列をデータ入力とし、前記第2ビット列を乱数入力として暗号化関数にそれぞれ供給して第2暗号文を生成する第2暗号化手段と、
    前記第1暗号文および前記第2暗号文を暗号文として出力する暗号文出力手段と、
    を有し、
    前記受信側通信端末は、
    前記暗号文を前記送信側通信端末から受信する受信手段と、
    前記乱数を使用する暗号化方式に対応する復号化方式に従って、前記第2暗号文を復号化して第1ビット列を生成する第1復号化手段と、
    前記暗号化に使用した乱数を第2ビット列として復元する乱数復号手段と、
    前記変換規則の逆変換規則に従って、前記第1ビット列および前記第2ビット列を所定長以下のビット列に逆変換するビット列逆変換手段と、
    前記所定長以下のビット列から前記パディング方式によるパディングを除去することで元の秘密鍵暗号の鍵を生成するパディング逆変換手段と、
    前記パディングの正当性を判断し、正当であれば前記秘密鍵暗号の鍵を用いて前記第1暗号文を復号する第2復号手段と、
    を有する、
    ことを特徴とする暗号通信システム。
JP2006511999A 2004-03-31 2005-03-23 暗号方式の安全性を保証するパディング適用方法 Expired - Fee Related JP4715748B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006511999A JP4715748B2 (ja) 2004-03-31 2005-03-23 暗号方式の安全性を保証するパディング適用方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004102399 2004-03-31
JP2004102399 2004-03-31
PCT/JP2005/005287 WO2005098796A1 (ja) 2004-03-31 2005-03-23 暗号方式の安全性を保証するパディング適用方法
JP2006511999A JP4715748B2 (ja) 2004-03-31 2005-03-23 暗号方式の安全性を保証するパディング適用方法

Publications (2)

Publication Number Publication Date
JPWO2005098796A1 true JPWO2005098796A1 (ja) 2008-02-28
JP4715748B2 JP4715748B2 (ja) 2011-07-06

Family

ID=35125301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006511999A Expired - Fee Related JP4715748B2 (ja) 2004-03-31 2005-03-23 暗号方式の安全性を保証するパディング適用方法

Country Status (5)

Country Link
US (1) US7321658B2 (ja)
EP (1) EP1734493B1 (ja)
JP (1) JP4715748B2 (ja)
AU (1) AU2005230066A1 (ja)
WO (1) WO2005098796A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4664850B2 (ja) * 2006-03-30 2011-04-06 株式会社東芝 鍵生成装置、プログラム及び方法
CN102016958A (zh) * 2008-06-04 2011-04-13 松下电器产业株式会社 加密装置及加密***
CN103780382B (zh) * 2014-01-13 2017-01-18 华南理工大学 一种基于超球面的多变量公钥加密/解密***及方法
CA3140221A1 (en) * 2019-05-13 2020-11-19 Pii Guard Aps A computer-implemented method of performing feistel-network-based block-cipher encryption of plaintext

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002252611A (ja) * 2000-12-19 2002-09-06 Matsushita Electric Ind Co Ltd 暗号通信システム、送信装置及び受信装置
JP2003195755A (ja) * 2001-10-19 2003-07-09 Matsushita Electric Ind Co Ltd 配列出力装置、配列出力方法、暗号化装置、および復号化装置
JP2004507789A (ja) * 2000-08-29 2004-03-11 エヌティーアールユー・クリプトシステムズ・インコーポレーテッド 高速強化暗号の方法および装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2871690B2 (ja) * 1988-04-28 1999-03-17 日本電気株式会社 符号化装置及び復号化装置
US5345507A (en) * 1993-09-08 1994-09-06 International Business Machines Corporation Secure message authentication for binary additive stream cipher systems
IL128552A (en) 1996-08-19 2004-06-01 Ntru Cryptosystems Inc Method and device of a public key in a crypto system
GB0013349D0 (en) * 2000-06-01 2000-07-26 Tao Group Ltd Pseudo-random number generator
US7020776B2 (en) * 2000-06-22 2006-03-28 Microsoft Corporation Cryptosystem based on a Jacobian of a curve
US20020199001A1 (en) * 2001-02-25 2002-12-26 Storymail, Inc. System and method for conducting a secure response communication session
EP1249963B1 (en) * 2001-04-11 2013-01-16 Hitachi, Ltd. Method of a public key encryption and a cypher communication both secure against a chosen-ciphertext attack
ES2296862T3 (es) * 2001-10-19 2008-05-01 Matsushita Electric Industrial Co., Ltd Dispositivo de salida de matriz numerica, procedimiento de salida de matriz numerica, dispositivo de encriptacion y dispositivo de desencriptacion.
US20040151307A1 (en) * 2003-02-03 2004-08-05 Lih-Chung Wang Tractable rational map public-key system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004507789A (ja) * 2000-08-29 2004-03-11 エヌティーアールユー・クリプトシステムズ・インコーポレーテッド 高速強化暗号の方法および装置
JP2002252611A (ja) * 2000-12-19 2002-09-06 Matsushita Electric Ind Co Ltd 暗号通信システム、送信装置及び受信装置
JP2003195755A (ja) * 2001-10-19 2003-07-09 Matsushita Electric Ind Co Ltd 配列出力装置、配列出力方法、暗号化装置、および復号化装置

Also Published As

Publication number Publication date
EP1734493B1 (en) 2013-11-27
US20060171531A1 (en) 2006-08-03
JP4715748B2 (ja) 2011-07-06
EP1734493A4 (en) 2010-03-10
WO2005098796A1 (ja) 2005-10-20
EP1734493A1 (en) 2006-12-20
US7321658B2 (en) 2008-01-22
AU2005230066A1 (en) 2005-10-20

Similar Documents

Publication Publication Date Title
Perlner et al. Quantum resistant public key cryptography: a survey
KR101027199B1 (ko) 키공유 시스템, 공유키 생성장치 및 공유키 복원장치
Coron What is cryptography?
CN110011995B (zh) 多播通信中的加密和解密方法及装置
JP2006163164A (ja) Idベース署名及び暗号化システムおよび方法
CN110784314A (zh) 无证书的加密信息处理方法
JP4715748B2 (ja) 暗号方式の安全性を保証するパディング適用方法
Parmar et al. A Comparative Evaluation of Algorithms in the Implementation of an Ultra‐Secure Router‐to‐Router Key Exchange System
KR20010000738A (ko) 계산적 디피-헬만 가정에 기반하는 안전성 증명 가능한공개키 암호화 방법
JP3517663B2 (ja) 暗号通信方法及び暗号通信システム
Gobi et al. A comparative study on the performance and the security of RSA and ECC algorithm
CN112733176B (zh) 基于全域哈希的标识密码加密方法
KR100388059B1 (ko) 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법
JP2005176144A (ja) 端末装置、通信システム及び通信方法
JP2004201124A (ja) 公開鍵暗号方法,署名方法,暗号通信システム及びコンピュータプログラム
JP2004246350A (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
Karki A comparative analysis of public key cryptography
JP4612027B2 (ja) 署名システム
JP2002023626A (ja) 公開鍵暗号方法および公開鍵暗号を用いた通信システム
CN116781243B (zh) 一种基于同态加密的不经意传输方法、介质及电子设备
JP4143036B2 (ja) 鍵生成システム、鍵生成サーバ及び鍵生成方法
AlDerai et al. A Study of Image Encryption/Decryption by Using Elliptic Curve Cryptography ECC
KR101306211B1 (ko) 아이디 기반의 브로드캐스트 암호화 방법
JP2010164897A (ja) 暗号化数値二進変換システム、暗号化数値二進変換方法、暗号化数値二進変換プログラム
WO2000045548A1 (fr) Chiffreur a cle non protegee et procede de partage de cle

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080213

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20091015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110207

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: 20110301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110314

R150 Certificate of patent or registration of utility model

Ref document number: 4715748

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140408

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees