JP2011128281A - Cipher system by public key encryption method using a plurality of knapsacks, key generating device, encrypting device, decrypting device, data exchange method, and program - Google Patents

Cipher system by public key encryption method using a plurality of knapsacks, key generating device, encrypting device, decrypting device, data exchange method, and program Download PDF

Info

Publication number
JP2011128281A
JP2011128281A JP2009285093A JP2009285093A JP2011128281A JP 2011128281 A JP2011128281 A JP 2011128281A JP 2009285093 A JP2009285093 A JP 2009285093A JP 2009285093 A JP2009285093 A JP 2009285093A JP 2011128281 A JP2011128281 A JP 2011128281A
Authority
JP
Japan
Prior art keywords
secret key
public key
sequences
key sequences
modulus
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
JP2009285093A
Other languages
Japanese (ja)
Other versions
JP5464341B2 (en
Inventor
Shigeo Tsujii
重男 辻井
Kunikatsu Kobayashi
邦勝 小林
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.)
Chuo University
Original Assignee
Chuo University
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 Chuo University filed Critical Chuo University
Priority to JP2009285093A priority Critical patent/JP5464341B2/en
Publication of JP2011128281A publication Critical patent/JP2011128281A/en
Application granted granted Critical
Publication of JP5464341B2 publication Critical patent/JP5464341B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide a knapsack encryption method achieving high security and high processing speed. <P>SOLUTION: A cipher system includes a key generating device, an encrypting device, and a decrypting device. The key generating device includes: a secret key generating means generating a plurality of secret key sequences which do not show a superincreasing property individually under the condition that the secret key sequences satisfy the superincreasing property when the elements of each sequence are combined as variables by a nonlinear function; and a public key generating means which further determines a modulus and a plurality of multipliers coprime to the modulus as a secret key, performs modular transformation of the elements of each of the plurality of secret key sequences, and generates a plurality of public key sequences. The encrypting device includes an encrypting means which obtains the inner product of each of the plurality of public key sequences and a plaintext to calculate a plurality of knapsacks, and calculates the plurality of calculated knapsacks in accordance with the non-linear function to generate a ciphertext. A decrypting device includes a decrypting means which performs inverse modular transformation of the received ciphertext by using the multiplicative inverse element of the multiplier by the modulus and the modulus, and decrypts the ciphertext uniquely into a plaintext by using a plurality of secret key sequences. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、ナップザック問題を安全性の根拠とした公開鍵暗号方式に関し、より詳細には、高い安全性および処理の高速性を実現するナップザック暗号方式による、鍵生成を実行する鍵生成装置と、暗号化処理を実行する暗号化装置と、暗号文の復号処理を実行する復号装置とを含む暗号システム、該鍵生成装置、該暗号化装置、該復号装置、データ交換方法およびプログラムに関する。   The present invention relates to a public key cryptosystem based on the knapsack problem as a basis for security, and more specifically, a key generation device that performs key generation by a knapsack cryptosystem that realizes high security and high processing speed, and The present invention relates to an encryption system including an encryption device that performs encryption processing and a decryption device that performs decryption processing of ciphertext, the key generation device, the encryption device, the decryption device, a data exchange method, and a program.

近年の情報通信技術の発達およびネットワークのブロードバンド化に伴い、暗号理論に基づく暗号化技術は、ネットワーク上を伝送するデータの機密性および完全性を保証する技術として、ますます重要な技術となっている。   Along with the recent development of information communication technology and network broadbandization, encryption technology based on cryptography has become an increasingly important technology for ensuring the confidentiality and integrity of data transmitted over the network. Yes.

このような暗号理論による暗号化方式は、素因数分解問題、離散対数問題、ラティス問題、ナップザック問題などの数学上の問題を安全性の根拠としている。ナップザック問題は、NP完全問題のひとつであり、この一般のナップザック問題に超増加性等の落とし戸を導入して暗号理論に応用したものがナップザック暗号方式である。この超増加性を導入したナップザック暗号方式は、暗号文から平文を一意に復号することができる一方、解読が容易となってしまう。そのため、Markle-Hellmanナップザック暗号(非特許文献1)やChor-Rivestナップザック暗号といった、これまでに提案されている多くのナップザック暗号方式は、LLLアルゴリズム(格子基底縮小アルゴリズム)を用いた攻撃(非特許文献2)や、シャミア攻撃法(非特許文献3)等の解読法による攻撃に対して脆弱性を有し、安全性の問題等から実用されるに至っていない。   Such an encryption method based on the cryptographic theory is based on mathematical problems such as a prime factorization problem, a discrete logarithm problem, a lattice problem, and a knapsack problem. The knapsack problem is one of the NP complete problems, and the knapsack cryptosystem is an application of this general knapsack problem to a cryptology by introducing a trapdoor such as a superincrement. The knapsack cryptosystem that introduces this super-increasing property can decrypt plaintext from ciphertext uniquely, but makes decryption easy. For this reason, many knapsack cryptosystems proposed so far, such as the Markle-Hellman knapsack cryptography (Non-Patent Document 1) and the Chor-Rivest knapsack cryptography, use attacks (non-patented) using the LLL algorithm (lattice base reduction algorithm). It is vulnerable to attacks by cryptanalysis methods such as Document 2) and the Shamir attack method (Non-Patent Document 3), and has not been put into practical use due to safety problems.

R. C. Merkle and M. E. Hellman, ”Hiding Information and Signatures in Trapdoor Knapsacks”, IEEE Trans. Inf. Theory, IT-24(5), 525-530, September, 1978.R. C. Merkle and M. E. Hellman, “Hiding Information and Signatures in Trapdoor Knapsacks”, IEEE Trans. Inf. Theory, IT-24 (5), 525-530, September, 1978. J. C. Lagarias and A. M. Odlyzko, ”Solving Low-density Subset Sum Problem,” J. Assoc. Comp. Math., vol.32, no.1, pp.229-246, Preliminary version in Proc. 24th IEEE, 1985.J. C. Lagarias and A. M. Odlyzko, “Solving Low-density Subset Sum Problem,” J. Assoc. Comp. Math., Vol.32, no.1, pp.229-246, Preliminary version in Proc. 24th IEEE, 1985. A. Shamir, ”A Polynomial Time Algorithm for Breaking The Basic Merkle-Hellman Cryptosystems”, IEEE Trans. Inform. Theory, vol. IT-30, no.5, 699-704, 1982.A. Shamir, “A Polynomial Time Algorithm for Breaking The Basic Merkle-Hellman Cryptosystems”, IEEE Trans. Inform. Theory, vol. IT-30, no.5, 699-704, 1982.

LLLアルゴリズムを用いる攻撃は、与えられた公開鍵と暗号文とから適切な格子を形成し、LLLアルゴリズムによって簡約された基底ベクトルを求めて、平文を求める方法であり、格子の次元が数百程度であれば解けるとされている。上記シャミアの攻撃法は、上記導入した秘密鍵の超増加性の特徴を利用するものである。高い安全性を有する暗号方式を実現するためには、上述したような従来からの攻撃法に対して耐性を持たせる必要がある。   The attack using the LLL algorithm is a method in which an appropriate lattice is formed from a given public key and ciphertext, and a plain vector is obtained by obtaining a basis vector simplified by the LLL algorithm. It is said that it can be solved. The above-mentioned Shamir attack method uses the feature of the super-increase of the introduced secret key. In order to realize an encryption method having high security, it is necessary to provide resistance to the conventional attack methods as described above.

本発明は、上記従来からの問題点に鑑みてなされたものであり、本発明は、解読法として代表的なLLLアルゴリズムを用いる攻撃およびシャミア攻撃法による攻撃に対して耐性を有し、高速処理が可能なナップザック問題を安全性の根拠とする新奇なナップザック暗号方式による、鍵生成を実行する鍵生成装置と、暗号化処理を実行する暗号化装置と、暗号文の復号処理を実行する復号装置とを含む暗号システム、該鍵生成装置、該暗号化装置、該復号装置、データ交換方法およびプログラムを提供することを目的とする。   The present invention has been made in view of the above-mentioned conventional problems, and the present invention has resistance to attacks using a typical LLL algorithm as a decoding method and attacks by the Shamir attack method, and performs high-speed processing. A key generation device that performs key generation, an encryption device that performs encryption processing, and a decryption device that performs ciphertext decryption processing, using a novel knapsack encryption method based on the knapsack problem that can be performed And a key generation device, the encryption device, the decryption device, a data exchange method, and a program.

本発明は、上記従来技術に鑑みてなされたものであり、本発明では、ナップザック問題を安全性の根拠とし、複数のナップザックを用いた公開鍵暗号方式による鍵生成装置、暗号化装置、復号装置およびこれらを含む暗号システム、データ交換方法およびプログラムを提供する。   The present invention has been made in view of the above prior art. In the present invention, the knapsack problem is based on security, and a key generation device, an encryption device, and a decryption device based on a public key cryptosystem using a plurality of knapsacks are provided. And a cryptographic system, a data exchange method, and a program including the same.

本発明の鍵生成装置は、まず、複数の秘密鍵数列それぞれの要素を変数として非線形関数により組み合わせると超増加性を満たすという条件のもと、複数の秘密鍵数列を生成する。この生成される秘密鍵数列は、個々では超増加性を示さない。鍵生成装置は、さらに、適切な法と、この法と互いに素な複数の乗数とをさらに秘密鍵として定めて、上記複数の秘密鍵数列それぞれの要素をモジュラ変換し、複数の公開鍵数列を生成する。   The key generation apparatus according to the present invention first generates a plurality of secret key number sequences under the condition that when each element of the plurality of secret key number sequences is combined with a nonlinear function as a variable, the superincrement is satisfied. This generated secret key number sequence does not show super-increase individually. The key generation device further determines an appropriate method and a plurality of multipliers that are relatively prime to this method as a secret key, modularly converts each element of the plurality of secret key number sequences, and generates a plurality of public key number sequences. Generate.

本発明の暗号化装置は、複数の公開鍵数列それぞれと平文との内積を求めて複数のナップザックを計算し、計算した複数のナップザックを上記非線形関数に対応して演算して暗号文を生成する。一方、本発明の復号装置は、上記秘密鍵の法と乗数とから、法による乗数の乗法逆元を求め、この法と乗法逆元とを用いて、受信した暗号文を逆モジュラ変換し、複数の秘密鍵数列を用いて暗号文から平文を一意に復号する。   The encryption apparatus according to the present invention calculates an inner product of each of a plurality of public key sequences and plaintext to calculate a plurality of knapsacks, and calculates the calculated knapsacks corresponding to the nonlinear function to generate a ciphertext. . On the other hand, the decryption device of the present invention obtains the multiplication inverse element of the multiplier by the modulus from the modulus and multiplier of the secret key, and using this method and the multiplication inverse element, the received ciphertext is inversely modularly transformed, The plaintext is uniquely decrypted from the ciphertext using a plurality of secret key sequences.

また本発明では、上記非線形関数により組み合わせると超増加性を満たすという条件としては、複数の秘密鍵数列をQ(j=1,...,N)とし、秘密鍵数列Qそれぞれのn個あるうちのi番目の要素をq とし、要素q から要素qi−1 までの和をS (j=1,...,N)とし、要素q または前記和S を変数とする非線形関数をfとして、上記秘密鍵数列Qそれぞれのi=2,...,nについての各要素q (j=1,...,N)が、後述する非線形不等式(1)を満たすという条件を採用することができる。 Further, in the present invention, as a condition for satisfying the super-increase when combined by the above nonlinear function, a plurality of secret key sequence is Q j (j = 1,..., N), and each of the secret key sequence Q j is n. The i-th element among them is q i j , the sum from element q 1 j to element q i−1 j is S i j (j = 1,..., N), and element q i j or the sum S i j as f a non-linear function whose variable, each said secret key sequence Q j i = 2 ,. . . , N, a condition that each element q i j (j = 1,..., N) satisfies a nonlinear inequality (1) described later can be employed.

さらに本発明では、鍵生成装置は、後述する式(2)を満たす上記法pを選択し、複数の公開鍵数列をO(j=1,...,N)とし、公開鍵数列Oそれぞれのn個あるうちのi番目の要素をo とし、複数の乗数をr(j=1,...,N)として、後述する式(3)で表されるモジュラ変換により複数の公開鍵数列を生成することができる。 Furthermore, in the present invention, the key generation device selects the above-mentioned modulus p that satisfies the expression (2) described later, sets a plurality of public key number sequences to O j (j = 1,..., N), and sets the public key number sequence O. The i-th element of n each of j is set to o i j , and a plurality of multipliers are set to r j (j = 1,..., N). Multiple public key sequences can be generated.

さらに本発明では、暗号化装置は、平文Mのn個あるうちのi番目の要素をm(∈{0,1})とし、ナップザックをCとして、暗号文Cを後述する式(4)に従って演算することができる。本発明では、さらに、復号装置は、法pによる乗数rの乗法逆元r −1と、法pとを用いて、受信した暗号文Cを逆モジュラ変換して、後述する式(5)にて表される剰余D(C)を算出し、後述する判定式(6)に従って平文Mの要素mそれぞれを判定することができる。 Furthermore, in the present invention, the encryption apparatus sets the i-th element of n plaintexts M to m i (ε {0,1}), knapsack to C j , and ciphertext C to formula (4) to be described later. ). In the present invention, furthermore, the decoding apparatus includes a multiplicative inverse r j -1 multiplier r j by law p, by using the modulo p, inversely modular converting the ciphertext C received, will be described later (5 ) was calculated remainder D (C) represented by, it is possible to determine the respective elements m i of the plain text M according to later-described determination formula (6).

上記構成によれば、適切な平文サイズを定めることにより、LLLアルゴリズムにおける格子次元を解読不可能となる次元まで増大させ、LLLアルゴリズムによる攻撃に対する耐性を備えるとともに、個々の秘密鍵数列が超増加性を有さないため、線形不等式を扱うある線形計画法と見なされるシャミア・アルゴリズムによる攻撃に対しても耐性を備えることができる。また、従来のナップザック暗号方式に比べて、鍵サイズが大きくなるが、ナップザック間の演算(例えば乗算)が追加される程度の計算量の増加で済み、高速な暗号化処理および復号処理が実現される。   According to the above configuration, by determining an appropriate plaintext size, the lattice dimension in the LLL algorithm is increased to a dimension that cannot be decrypted, and resistance to attacks by the LLL algorithm is provided, and the number of individual secret keys is extremely increased. Therefore, it can be resistant to attacks by the Shamir algorithm, which is regarded as a linear programming method that handles linear inequalities. In addition, the key size is larger than that of the conventional knapsack cryptosystem, but the amount of calculation is increased to the extent that operations (for example, multiplication) between knapsacks are added, and high-speed encryption processing and decryption processing are realized. The

本発明の実施形態のセキュア通信システムにおけるコンピュータ装置のハードウェア構成図。The hardware block diagram of the computer apparatus in the secure communication system of embodiment of this invention. 本発明の実施形態によるセキュア通信システムにおいて各コンピュータ装置上に実現される機能ブロック図。The functional block diagram implement | achieved on each computer apparatus in the secure communication system by embodiment of this invention. 本実施形態のセキュア通信システムにおいて実行される、3つのナップザックを用いた秘密通信の処理を示すフローチャート。The flowchart which shows the process of the secret communication using three knapsacks performed in the secure communication system of this embodiment. 本発明の実施形態による、3つのナップザックを用いた公開鍵暗号方式による暗号化処理を示す概念図。The conceptual diagram which shows the encryption process by the public key cryptosystem using three knapsack by embodiment of this invention.

以下、本発明を図面に示した特定の実施形態をもって説明するが、本発明は、図面に示した実施形態に限定されるものではない。なお、以下に説明する実施形態では、本発明の暗号システムの一例として、ネットワークを介して秘密通信を実行する複数のコンピュータ装置を含むセキュア通信システムを用いて説明する。   The present invention will be described below with reference to specific embodiments shown in the drawings, but the present invention is not limited to the embodiments shown in the drawings. In the embodiment described below, a secure communication system including a plurality of computer devices that execute secret communication via a network will be described as an example of the encryption system of the present invention.

1.ハードウェア構成
本実施形態のセキュア通信システムは、ナップザック問題を安全性の根拠とした公開鍵暗号方式による秘密通信を確立する複数のコンピュータ装置10,50を含んで構成される。以下、まず図1を参照しながら、当該コンピュータ装置10,50のハードウェア構成について説明する。
1. Hardware Configuration The secure communication system according to the present embodiment includes a plurality of computer apparatuses 10 and 50 that establish secret communication using a public key cryptosystem based on the knapsack problem as the basis of security. Hereinafter, the hardware configuration of the computer devices 10 and 50 will be described with reference to FIG.

図1は、本発明の実施形態のセキュア通信システムにおけるコンピュータ装置10,50のハードウェア構成を示す。図1に示すコンピュータ装置10,50は、概ねパーソナル・コンピュータやワークステーションなどとして構成される。図1に示すコンピュータ装置10,50は、中央演算装置(CPU)12と、CPU12が使用するデータの高速アクセスを可能とするL1およびL2などのレベルを有するキャッシュ・メモリ14と、CPU12の処理を可能とするRAM、DRAMなどの固体メモリ素子から形成されるシステム・メモリ16とを備えている。システム・メモリ16は、本発明の実施形態おいて、鍵生成処理、暗号化処理または復号処理を実行するための作業空間を提供する。   FIG. 1 shows a hardware configuration of computer apparatuses 10 and 50 in a secure communication system according to an embodiment of the present invention. The computer apparatuses 10 and 50 shown in FIG. 1 are generally configured as a personal computer or a workstation. 1 are a central processing unit (CPU) 12, a cache memory 14 having levels such as L1 and L2 that enable high-speed access of data used by the CPU 12, and processing of the CPU 12. And a system memory 16 formed from a solid-state memory device such as a RAM or a DRAM. The system memory 16 provides a work space for executing a key generation process, an encryption process, or a decryption process in the embodiment of the present invention.

CPU12、キャッシュ・メモリ14、およびシステム・メモリ16は、システム・バス18を介して、他のデバイスまたはドライバ、例えば、グラフィックス・ドライバ20およびネットワーク・インタフェース・カード(NIC)22へと接続されている。グラフィックス・ドライバ20は、バスを介してディスプレイ24に接続されて、CPU12による処理結果をディスプレイ画面上に表示させている。また、NIC22は、物理層レベルおよびリンク層レベルでコンピュータ装置10,50を、TCP/IPなどの適切な通信プロトコルを使用するネットワークへと接続し、コンピュータ装置10,50間の通信のインタフェースを提供している。   The CPU 12, cache memory 14, and system memory 16 are connected via a system bus 18 to other devices or drivers, such as a graphics driver 20 and a network interface card (NIC) 22. Yes. The graphics driver 20 is connected to the display 24 via the bus, and displays the processing result by the CPU 12 on the display screen. The NIC 22 also connects the computer devices 10 and 50 to a network using an appropriate communication protocol such as TCP / IP at the physical layer level and the link layer level, and provides an interface for communication between the computer devices 10 and 50. is doing.

システム・バス18には、さらにI/Oバス・ブリッジ26が接続されている。I/Oバス・ブリッジ26の下流側には、PCIなどのI/Oバス28を介して、IDE、ATA、ATAPI、シリアルATA、SCSI、USBなどにより、ハードディスクなどの記憶装置30が接続されている。記録装置30は、本発明の実施形態において、暗号化処理に用いる秘密鍵または公開鍵を格納するために用いることができる。また、I/Oバス28には、USBなどのバスを介して、キーボードおよびマウスなどのポインティング・デバイスなどの入力装置32が接続されていて、オペレータによる指令をコンピュータ装置10,50に指令している。   An I / O bus bridge 26 is further connected to the system bus 18. A storage device 30 such as a hard disk is connected to the downstream side of the I / O bus bridge 26 via IDE, ATA, ATAPI, serial ATA, SCSI, USB, etc. via an I / O bus 28 such as PCI. Yes. In the embodiment of the present invention, the recording device 30 can be used to store a secret key or a public key used for encryption processing. An input device 32 such as a keyboard and a pointing device such as a mouse is connected to the I / O bus 28 via a bus such as a USB. Yes.

コンピュータ装置10,50は、Windows 7(登録商標)、Windows(登録商標)Vista、UNIX(登録商標)、LINUX(登録商標)などのオペレーティング・システム上で動作する、FORTRAN、COBOL、PL/I、C、C++、Visual C++、VisualBasic、Java(登録商標)、Perl、Rubyなどのプログラミング言語により記述されたアプリケーション・プログラムを格納し、実行し、後述する各機能部をコンピュータ装置10,50上で機能させている。   The computer devices 10 and 50 operate on an operating system such as Windows 7 (registered trademark), Windows (registered trademark) Vista, UNIX (registered trademark), LINUX (registered trademark), FORTRAN, COBOL, PL / I, Stores and executes application programs written in programming languages such as C, C ++, Visual C ++, Visual Basic, Java (registered trademark), Perl, Ruby, etc., and functions each functional unit described later on the computer 10 or 50 I am letting.

2.複数のナップザックを用いた公開鍵暗号方式による秘密通信
以下、図2〜図4を参照しながら、本発明の実施形態による秘密通信について説明する。なお以下、説明の便宜上、2つのコンピュータ装置間における一方向の通信に注目し、送信するべきメッセージの送信側の装置を、便宜上、送信側コンピュータ装置50と参照し、メッセージの受信側の装置を受信側コンピュータ装置10と参照する。
2. Secret communication by public key cryptosystem using a plurality of knapsacks Hereinafter, secret communication according to an embodiment of the present invention will be described with reference to FIGS. In the following, for convenience of explanation, focusing on one-way communication between two computer devices, the device on the transmission side of the message to be transmitted will be referred to as the computer device 50 on the transmission side for convenience, and the device on the message reception side will be referred to. Reference is made to the receiving computer device 10.

図2は、本発明の実施形態によるセキュア通信システムにおいて各コンピュータ装置上に実現される機能ブロックを示す。図2に示すセキュア通信システムは、受信側コンピュータ装置10と、送信側コンピュータ装置50とを含み構成され、コンピュータ装置10,50間において、ナップザック問題を安全性の根拠とした公開鍵暗号方式による秘密通信を実現している。   FIG. 2 shows functional blocks implemented on each computer device in the secure communication system according to the embodiment of the present invention. The secure communication system shown in FIG. 2 includes a receiving-side computer device 10 and a transmitting-side computer device 50, and a secret between the computer devices 10 and 50 using a public key cryptosystem based on the knapsack problem. Communication is realized.

本実施形態において、受信側コンピュータ装置10は、秘密通信で使用する公開鍵および秘密鍵を生成する鍵生成装置と、生成された秘密鍵を用いて暗号文を復号する復号装置との両方の機能を有する。一方、送信側コンピュータ装置50は、専ら公開鍵を用いて送信すべきメッセージの平文を暗号化する暗号化装置としての機能を有する。なお、他の実施形態では、本受信側コンピュータ装置10は、鍵生成装置としての機能を専ら有するコンピュータ装置と、生成された秘密鍵を安全に取得し、保持し、その秘密鍵を用いて暗号文を復号する復号装置としての機能を専ら有するコンピュータ装置とに分離して構成されていてもよい。   In the present embodiment, the receiving-side computer device 10 functions as both a key generation device that generates a public key and a secret key used in secret communication, and a decryption device that decrypts ciphertext using the generated secret key. Have On the other hand, the transmitting computer device 50 has a function as an encryption device that encrypts plaintext of a message to be transmitted exclusively using a public key. In another embodiment, the receiving-side computer device 10 securely acquires and holds the generated private key and the computer device exclusively having the function as the key generation device, and encrypts it using the private key. It may be configured separately from a computer device exclusively having a function as a decryption device for decrypting a sentence.

本実施形態の受信側コンピュータ装置10は、秘密鍵および公開鍵の生成処理を実行する鍵生成処理部110と、送信側からの暗号文Cを秘密鍵を用いて復号処理を実行する復号処理部120と、復号して得られた平文Mを出力する平文出力部130とを含む。一方、本実施形態の送信側コンピュータ装置50は、安全に送信すべきメッセージの平文Mが入力される平文入力部150と、公開された公開鍵を用いて平文Mに暗号化処理を施す暗号化処理部160とを含む。   The receiving-side computer apparatus 10 according to the present embodiment includes a key generation processing unit 110 that executes secret key and public key generation processing, and a decryption processing unit that performs decryption processing on the ciphertext C from the transmission side using the secret key. 120 and a plaintext output unit 130 that outputs plaintext M obtained by decryption. On the other hand, the transmission-side computer device 50 according to the present embodiment includes a plaintext input unit 150 to which the plaintext M of a message to be transmitted securely is input, and encryption that performs encryption processing on the plaintext M using a public key that has been made public. And a processing unit 160.

受信側コンピュータ装置10の鍵生成処理部110は、より具体的には、秘密鍵生成部112と、公開鍵生成部114とを含んで構成される。秘密鍵生成部112は、N個の秘密鍵数列Q(j=1,...,N)を、一定の条件のもと生成する。秘密鍵数列Qは、それぞれ、n個の要素q (i=1,...,n)から構成される数列である。秘密鍵生成部112は、まずq >0またはq ≧0の条件下、各秘密鍵数列Qの1番目の要素q の値をランダムに選択し、続いて、それ以降のi=2,...,nについて、各要素q が下記非線形不等式(1)を満たすように当該要素q をランダムに選択する。 More specifically, the key generation processing unit 110 of the receiving-side computer apparatus 10 includes a secret key generation unit 112 and a public key generation unit 114. The secret key generation unit 112 generates N number of secret key sequences Q j (j = 1,..., N) under a certain condition. The secret key number sequence Q j is a number sequence composed of n elements q i j (i = 1,..., N). The secret key generation unit 112 first randomly selects the value of the first element q 1 j of each secret key number sequence Q j under the condition of q 1 j > 0 or q 1 j ≧ 0, and thereafter I = 2,. . . , N, the element q i j is randomly selected so that each element q i j satisfies the following nonlinear inequality (1).

上記式(1)中、関数fは、N個の要素q または、要素q から要素qi−1 までの和S (j=1,...,N)を変数とした非線形関数を表している。この非線形関数は、複数の変数による和、積といった演算により表現されるものである。非線形関数は、2以上の次数を有する限り、特に限定されるものではないが、好ましくは少なくとも2変数の積を含む演算式を採用することができる。より具体的には、N=2の場合、上記非線形関数fは、第1変数および第2変数の積による2変数2次式、N=3の場合、第1変数および第2変数の積と、第3変数との和による3変数2次式、または3変数の積による3変数3次式、N=4の場合、第1変数および第2変数の積と、第3変数および第4変数の積との和による4変数2次式が好適に採用される。このように生成された秘密鍵数列Qは、個々では超増加性を示さないが、秘密鍵数列Qの各要素q を変数として非線形関数により組み合わせると超増加性を示すものとなる。 In the above equation (1), the function f is a variable of N elements q i j or a sum S i j (j = 1,..., N) from element q 1 j to element q i−1 j. Represents a nonlinear function. This non-linear function is expressed by operations such as sum and product of a plurality of variables. The nonlinear function is not particularly limited as long as it has an order of 2 or more, but an arithmetic expression including a product of at least two variables can be preferably employed. More specifically, when N = 2, the nonlinear function f is a two-variable quadratic expression based on the product of the first variable and the second variable, and when N = 3, the product of the first variable and the second variable is , A three-variable quadratic expression based on the sum with the third variable, or a three-variable cubic expression based on a product of the three variables, and when N = 4, the product of the first variable and the second variable, and the third variable and the fourth variable A quadratic quadratic equation based on the sum of the product and the product is preferably employed. The secret key number sequence Q j generated in this way does not show super-increasing property individually, but when the elements q i j of the secret key number sequence Q j are combined as a variable by a nonlinear function, it shows super-increasing property. .

一方、公開鍵生成部114は、秘密鍵生成部112が生成した複数の秘密鍵数列Qから、対応する複数の公開鍵数列O(j=1,...,N)を生成する。公開鍵数列Oも、n個の要素o (i=1,...,n)から構成される数列である。公開鍵生成部114は、まず下記式(2)を満たす法pをランダムに選択し、さらに、モジュラ変換を行うために、法pと互いに素な複数の乗数r(j=1,...,N)をさらに選択する。 On the other hand, the public key generation unit 114 generates a plurality of corresponding public key number sequences O j (j = 1,..., N) from the plurality of secret key number sequences Q j generated by the secret key generation unit 112. The public key number sequence O j is also a number sequence composed of n elements o i j (i = 1,..., N). First, the public key generation unit 114 randomly selects a modulus p satisfying the following equation (2), and further performs a modular transformation to a plurality of multipliers r j (j = 1,. ., N) are further selected.

ここで、法pおよび乗数rは、gcd(r,p)=1を満たすものである。公開鍵生成部114は、続いて、法pおよび乗数rを用い下記式(3)に従って、秘密鍵数列Qの各要素q をモジュラ変換し、公開鍵数列Oの各要素o を算出する。 Here, the modulus p and the multiplier r j satisfy gcd (r j , p) = 1. Subsequently, the public key generation unit 114 modularly transforms each element q i j of the secret key number sequence Q j using the modulus p and the multiplier r j according to the following equation (3), and each element o of the public key number sequence O j i j is calculated.

それぞれn個の要素を有する秘密鍵数列Q、法pおよび乗数rは、本公開鍵暗号方式おいて秘密鍵を構成し、一方、公開鍵数列Oは、合計n×Nの要素から構成される公開鍵を構成する。送信側コンピュータ装置50は、公開鍵数列Oを取得し、この公開鍵数列Oを用いて暗号化を施し、本受信側コンピュータ装置10へメッセージを送信する。一方、秘密鍵数列Q、法pおよび乗数rは、公開鍵による暗号文を復号するために、コンピュータ装置10の記憶装置30などに、復号処理部120が参照可能なように安全に記憶される。 The private key sequence Q j , modulus p and multiplier r j each having n elements constitute a secret key in this public key cryptosystem, while the public key sequence O j is composed of a total of n × N elements. Configure the public key to be configured. The transmitting-side computer device 50 acquires the public key number sequence O j , performs encryption using the public key number sequence O j , and transmits a message to the receiving-side computer device 10. On the other hand, the secret key number sequence Q j , modulus p, and multiplier r j are securely stored in the storage device 30 of the computer device 10 so that the decryption processing unit 120 can refer to the ciphertext using the public key. Is done.

送信側コンピュータ装置50の暗号化処理部160は、送信すべきメッセージの平文Mを平文入力部150から受け取り、公開された公開鍵数列Oを用いて平文Mに暗号化を施して、暗号文Cを受信側コンピュータ装置10へ送信する。送信すべきメッセージの平文Mは、n個の要素m(∈{0,1})から構成される配列である。暗号化処理部160は、下記式(4)に従い、公開鍵数列Oそれぞれと平文Mとの内積を求めてナップザックC(j=1,...,N)を計算し、計算した複数のナップザックCを上述した非線形関数fに対応して演算し、暗号文Cを生成する。 The encryption processing unit 160 of the transmission-side computer device 50 receives the plaintext M of the message to be transmitted from the plaintext input unit 150, encrypts the plaintext M using the public key number sequence Oj, and C is transmitted to the receiving computer apparatus 10. The plaintext M of the message to be transmitted is an array composed of n elements m i (ε {0, 1}). The encryption processing unit 160 calculates the knapsack C j (j = 1,..., N) by calculating the inner product of each of the public key number sequences O j and the plaintext M according to the following equation (4), The knapsack C j is calculated corresponding to the above-described nonlinear function f to generate the ciphertext C.

ここで再び受信側コンピュータ装置10を参照する。受信側コンピュータ装置10の復号処理部120は、秘密鍵である法p、乗数rおよび秘密鍵数列Qを記憶装置30などから読み出し、まず乗数rの法pにおける乗法逆元r −1を算出する。復号処理部120は、続いて、受信した暗号文Cと乗法逆元r −1との積を逆モジュラ変換して、その法pにおける剰余D(C)を算出する。ここで、乗法逆元r −1は、r×r −1≡1(mod p)を満たすものであり、gcd(r,p)=1のとき、法pとするrの逆元r −1は必ず存在する。この剰余D(C)は、下記式(5)に示すように、秘密鍵数列Qそれぞれと平文Mとの内積であるナップザックを上記非線形関数fに対応して演算した結果に合同である。 Here, the receiving-side computer apparatus 10 is referred to again. Decoding processing unit 120 of the receiving computer system 10, modulus p is the private key, the multiplier r a j and a secret key sequence Q j read from such memory device 30, first multiplicative inverse in modulo p of the multiplier r j r j - 1 is calculated. Subsequently, the decryption processing unit 120 performs inverse modular transformation on the product of the received ciphertext C and the multiplicative inverse element r j −1 to calculate a remainder D (C) in the modulus p. Here, the multiplicative inverse r j −1 satisfies r j × r j −1 ≡1 (mod p), and when gcd (r j , p) = 1, the modulus p of r j The inverse element r j −1 always exists. This remainder D (C) is congruent to the result of calculating the knapsack, which is the inner product of each of the secret key number sequence Q j and the plaintext M, corresponding to the nonlinear function f as shown in the following equation (5).

復号処理部120は、さらに、平文Mの各要素mについて、n番目から1番目に遡って、算出された剰余D(C)と、暗号鍵数列Qの各要素と、適宜判定済みの平文Mの要素とを用いた下記判定式(6)に従って、当該平文Mの要素mの値を判定し、メッセージの平文Mを一意に復号する。 Decoding processing unit 120 is further for each element m i of the plaintext M, by going back to the first from the n-th, the calculated remainder D (C), and the elements of the encryption key sequence Q j, appropriate determination already according to the following determination expression using the element of the plaintext M (6), determines the value of the element m i of the plaintext M, uniquely decode the plaintext M of the message.

3.3つのナップザックを用いた公開鍵暗号方式による秘密通信
以下、図3および図4を参照して、N=3の場合について、より具体的に説明する。N=3の場合、秘密鍵数列は、Q=(q ,q ,...,q )、Q=(q ,q ,...,q )、Q=(q ,q ,...,q )となり、公開鍵数列は、O=(o ,o ,...,o )、O=(o ,o ,...,o )、Q=(o ,o ,...,o )となる。またこの場合において、上記非線形関数fは、例えば、第1変数および第2変数の積と、第3変数との和による3変数2次式(X×Y+Z)を採用することができる。かかる場合には、乗数はr,r,r(=r×r)となる。
3. Secret Communication by Public Key Cryptography Using Three Knapsacks Hereinafter, the case of N = 3 will be described more specifically with reference to FIG. 3 and FIG. For N = 3, the secret key sequence is Q 1 = (q 1 1 , q 2 1 ,..., Q n 1 ), Q 2 = (q 1 2 , q 2 2 ,..., Q n 2 ), Q 3 = (q 1 3 , q 2 3 ,..., Q n 3 ), and the public key sequence is O 1 = (o 1 1 , o 2 1 ,..., O n 1 ) , O 2 = (o 1 2 , o 2 2, ..., o n 2), Q 3 = (o 1 3, o 2 3, ..., o n 3) it becomes. In this case, as the nonlinear function f, for example, a three-variable quadratic expression (X × Y + Z) based on the sum of the product of the first variable and the second variable and the third variable can be adopted. In such a case, the multipliers are r 1 , r 2 , r 3 (= r 1 × r 2 ).

図3は、本実施形態のセキュア通信システムにおいて実行されるN=3の場合の秘密通信の処理を示すフローチャートである。なお、図3中の左側の処理は、受信側コンピュータ装置10が実行する処理を示し、右側の処理は、送信側コンピュータ装置50が実行する処理を示している。図3に示す処理は、ステップS200で送信側コンピュータ装置50の処理が開始し、送信側コンピュータ装置50は、ステップS201で、送信すべき送信メッセージの平文Mの入力を受け、ステップS202で、送信メッセージの送付先である受信側コンピュータ装置10へ、秘密通信の開始を依頼する。なお、この秘密通信の依頼には、例えば平文Mのビット数nといったセキュリティパラーメータの折衝が含まれてもよい。   FIG. 3 is a flowchart showing the secret communication process when N = 3, which is executed in the secure communication system of the present embodiment. Note that the process on the left side in FIG. 3 indicates a process executed by the reception-side computer apparatus 10, and the process on the right side indicates a process executed by the transmission-side computer apparatus 50. In the process shown in FIG. 3, the process of the transmitting computer apparatus 50 is started in step S200. The transmitting computer apparatus 50 receives the input of the plaintext M of the transmission message to be transmitted in step S201, and the transmission is performed in step S202. The receiving side computer apparatus 10 which is a message destination is requested to start secret communication. Note that this secret communication request may include, for example, negotiation of security parameters such as the number of bits n of plaintext M.

受信側コンピュータ装置10の処理は、ステップS100で開始され、ステップS101で、送信側コンピュータ装置50からの秘密通信開始の依頼を受け、鍵生成処理を開始する。ステップS102では、受信側コンピュータ装置10の秘密鍵生成部112は、まずq >0、q >0およびq ≧0の条件下、各秘密鍵数列Q,Q,Qの1番目の各要素q ,q ,q を選択し、続いて、それ以降のi=2,...,nの要素q について、下記不等式(7)を満たすように当該要素q をランダムに選択する。 The processing of the receiving side computer device 10 is started in step S100, and in step S101, a request for starting secret communication from the transmitting side computer device 50 is received, and key generation processing is started. In step S102, the secret key generation unit 112 of the receiving-side computer apparatus 10 firstly sets each secret key number sequence Q 1 , Q 2 , Q under the conditions of q 1 1 > 0, q 1 2 > 0 and q 1 3 ≧ 0. 3 first elements q 1 1 , q 1 2 , q 1 3 are selected, and then i = 2,. . . , The elements q i j of n, randomly selects the element q i j to satisfy the following inequality (7).

ステップS103では、受信側コンピュータ装置10の公開鍵生成部114は、まず下記式(8)を満たす法pを選択し、さらに、法pと互いに素な複数の乗数r,rをさらに選択し、続いて、法pおよび乗数r,rを用いて下記式(3’)に従い、各秘密鍵数列Q,Q,Qの各要素をモジュラ変換し、公開鍵数列O,O,Oの各要素を算出する。 In step S103, the public key generation unit 114 of the reception-side computer apparatus 10 first selects a modulus p that satisfies the following equation (8), and further selects a plurality of multipliers r 1 and r 2 that are relatively prime to the modulus p. Subsequently, each element of each secret key number sequence Q 1 , Q 2 , Q 3 is modularly transformed according to the following formula (3 ′) using the modulus p and the multipliers r 1 and r 2 , and the public key number sequence O 1 , O 2 and O 3 are calculated.

ステップS104では、生成した公開鍵数列O,O,Oを、秘密通信の要求元の送信側コンピュータ装置50へ送信し、これに対応して、送信側コンピュータ装置50は、ステップS203で、公開鍵数列O,O,Oを受信し、メモリ等に記憶する。ステップS204では、送信側コンピュータ装置50の暗号化処理部160は、下記式(9)に従って、公開鍵数列O,O,Oと平文Mとの内積を求めてナップザックC,C,Cを計算し、暗号文Cを生成する。 In step S104, the generated public key number sequences O 1 , O 2 , and O 3 are transmitted to the transmission side computer device 50 that is the request source of the secret communication, and in response to this, the transmission side computer device 50 in step S203. The public key number sequences O 1 , O 2 , and O 3 are received and stored in a memory or the like. In step S204, the encryption processing unit 160 of the transmission-side computer device 50 obtains the inner product of the public key number sequence O 1 , O 2 , O 3 and the plaintext M according to the following equation (9), and the knapsack C 1 , C 2 , C 3 to generate a ciphertext C.

図4は、本発明の実施形態の3つのナップザックを用いた公開鍵暗号方式による暗号化処理を概念的に示す図である。図4に示すように、各ナップザックC,C,Cの演算は、平文M中の値が1である要素mに対応する秘密鍵数列の要素q をそれぞれのナップザックC,C,Cに詰め込むことに相当する。最終的な暗号文Cは、このナップザックC,Cの重みの積とナップザックCの重みとの和として算出される。 FIG. 4 is a diagram conceptually showing an encryption process by a public key cryptosystem using three knapsacks according to the embodiment of the present invention. Figure 4 As shown in, computation of the knapsack C 1, C 2, C 3, respectively knapsack C 1 element q i j secret key number sequence values in the plaintext M corresponds to the element m i is 1 , C 2 , and C 3 . The final ciphertext C is calculated as the sum of the weight product of the knapsacks C 1 and C 2 and the weight of the knapsack C 3 .

再び図3を参照すると、送信側コンピュータ装置50は、ステップS205で、生成した暗号文Cを宛先の受信側コンピュータ装置10へ送信し、処理を終了させる。これに対応して、受信側コンピュータ装置10は、ステップS105で、暗号文Cを受信する。ステップS106では、受信側コンピュータ装置10の復号処理部120は、秘密鍵である法p、乗数r,rおよび秘密鍵数列Q,Q,Qを読み出し、まず乗数r,rの法pにおける乗法逆元乗数r −1,r −1を算出し、下記式(10)に従って、暗号文Cと乗法逆元r −1,r −1との積を逆モジュラ変換して、その法pにおける剰余D(C)を算出する。 Referring to FIG. 3 again, in step S205, the transmission-side computer device 50 transmits the generated ciphertext C to the destination reception-side computer device 10 and ends the process. Correspondingly, the receiving side computer apparatus 10 receives the ciphertext C in step S105. In step S106, the decryption processing unit 120 of the receiving-side computer apparatus 10 reads the secret key modulus p, the multipliers r 1 and r 2 and the secret key number sequences Q 1 , Q 2 , and Q 3. First, the multipliers r 1 , r multiplicative inverse multiplier r 1 -1 in modulo two p, calculates r 2 -1, according to the following formula (10), the ciphertext C and the multiplicative inverse r 1 -1, the product of the r 2 -1 inverse Modular transformation is performed to calculate the remainder D (C) in the modulus p.

ステップS107〜ステップS109では、平文Mの各要素mについて、n番目から1番目に遡って、当該平文Mの要素mの値を判定し、メッセージの平文Mを一意に復号する。ステップS108では、復号処理部120は、i番目の要素mについて、上記剰余D(C)と、暗号鍵数列Qの各要素および適宜判定済みの平文Mの要素により算出される要素Iとを用いた下記判定式(11)に従って、要素mの値を判定する。 In step S107~ step S109, for each element m i of the plaintext M, by going back to the first from the n-th, to determine the value of the element m i of the plaintext M, uniquely decode the plaintext M of the message. In step S108, the decoding processing unit 120, the i th element m i, the a remainder D (C), an encryption key sequence Q j elements I i calculated by the elements and elements of the appropriate decision already plaintext M of according to the following determination formula (11) using a preparative, it determines the value of the element m i.

より具体的には、上記判定式(11)は、下記のようになる。   More specifically, the determination formula (11) is as follows.

続いてステップS110では、平文出力部130は、一意に復元されたメッセージの平文Mを、例えば記憶装置30、ディスプレイ24等の出力装置に出力し、受信側コンピュータ装置10は、処理を終了させる。   Subsequently, in step S110, the plaintext output unit 130 outputs the plaintext M of the uniquely restored message to an output device such as the storage device 30 or the display 24, and the reception-side computer device 10 ends the processing.

4.2つのナップザックを用いた公開鍵暗号方式による秘密通信
上述までは、N=3の場合の実施形態について説明してきた。公開鍵の鍵サイズと計算の高速性の両立の観点からは、N=3程度のものが好適であるが、N≧2であれば、特に限定されるものではない。他の実施形態では、N=2としても、本発明の実施形態による複数のナップザックを用いた公開鍵暗号方式に同様に適用することができる。N=2の場合、秘密鍵数列は、Q=(q ,q ,...,q )、Q=(q ,q ,...,q )となり、公開鍵数列は、O=(o ,o ,...,o )、O=(o ,o ,...,o )となる。またこの場合において、上記非線形関数fは、例えば、第1変数および第2変数の積による2変数2次式(X×Y)を採用することができる。
4. Secret Communication by Public Key Cryptography Using Two Knapsacks So far, the embodiment in the case of N = 3 has been described. From the viewpoint of achieving both the key size of the public key and the high speed of calculation, a value of about N = 3 is suitable, but there is no particular limitation as long as N ≧ 2. In other embodiments, even if N = 2, it can be similarly applied to a public key cryptosystem using a plurality of knapsacks according to an embodiment of the present invention. When N = 2, the secret key sequence is Q 1 = (q 1 1 , q 2 1 ,..., Q n 1 ), Q 2 = (q 1 2 , q 2 2 ,..., Q n 2), and public key sequence is, O 1 = (o 1 1 , o 2 1, ..., o n 1), O 2 = (o 1 2, o 2 2, ..., o n 2) It becomes. In this case, the nonlinear function f can employ, for example, a two-variable quadratic expression (X × Y) based on the product of the first variable and the second variable.

かかる2つのナップザックを用いる公開鍵暗号方式では、上記非線形不等式(1)、上記式(2)、上記式(4)、上記式(5)および上記判定式(6)は、より具体的な形式では、それぞれ、下記非線形不等式(12)、下記式(13)、下記式(14)、下記式(15)および下記判定式(16)で表現される。   In the public key cryptosystem using the two knapsacks, the nonlinear inequality (1), the equation (2), the equation (4), the equation (5), and the determination equation (6) have a more specific form. Are expressed by the following nonlinear inequalities (12), (13), (14), (15) and (16).

5.計算例
以下、具体的な数列を用いた計算例を参照して説明する。以下の計算例では、N=3の場合について例示する。まず、秘密鍵生成部112は、上記式(7)を満たす条件のもと、秘密鍵数列Q=(1,2,3,6)と、Q=(2,1,3,7)と、Q=(1,2,4,3)とを選択する。これら秘密鍵数列は、単独では超増加性を必ずしも満たさないものである。公開鍵生成部114は、さらに秘密鍵として、法p=167(>12×13+10)と、乗数r=90と、乗数r=13とを定め、上記式(3’)に従って、公開鍵数列O=(90,13,103,39)と、O=(33,100,133,32)と、O=(149,131,95,113)とを算出する。
5). Calculation Example Hereinafter, description will be given with reference to a calculation example using a specific number sequence. The following calculation example illustrates the case of N = 3. First, the secret key generation unit 112 has a secret key number sequence Q 1 = (1,2,3,6) and Q 2 = (2,1,3,7) under the condition satisfying the expression (7). And Q 3 = (1, 2, 4, 3 ). These secret key sequences do not necessarily satisfy the super increase property by themselves. The public key generation unit 114 further defines a modulus p = 167 (> 12 × 13 + 10), a multiplier r 1 = 90, and a multiplier r 2 = 13 as secret keys, and according to the above equation (3 ′), the public key The sequence O 1 = (90, 13, 103, 39), O 2 = (33, 100, 133, 32), and O 3 = (149, 131, 95, 113) are calculated.

ここで、平文をM=(0,1,0,1)とすると、暗号処理部160は、上記式(9)に従って、平文Mから暗号文C=(13+39)×(100+32)+(131+113)=7108を算出する。   Here, assuming that the plaintext is M = (0, 1, 0, 1), the cryptographic processing unit 160 converts the plaintext M to the ciphertext C = (13 + 39) × (100 + 32) + (131 + 113) according to the above equation (9). = 7108 is calculated.

復号処理部120は、上記法p=167と、乗数r=90と、乗数r=13に対応して、乗数逆元r −1=13と、乗数逆元r −1=162とを算出し、上記式(10)に従って、D(C)≡13×162×7108(mod 167)≡69を算出する。さらに復号処理部120は、上記判定式(11)に従って、4番目の要素から1番目の要素まで大小判定を行う。この大小判定を通じて、q ×q +q =6×7+3=45<D(C)より、m=1が判定され、(q +q )×(q +q )+(q +q )=(6+3)×(7+3)+(3+4)=97>D(C)より、m=0が判定され、(q +q )×(q +q )+(q +q )=(6+2)×(7+1)+(3+2)=69=D(C)より、m=1が判定され、(q +q +q )×(q +q +q )+(q +q +q )=(6+2+1)×(7+1+2)+(3+2+1)=96>D(C)より、m=0が判定される。これにより、平文(0,1,0,1)が復元される。 The decoding processing unit 120 corresponds to the modulus p = 167, the multiplier r 1 = 90, the multiplier r 2 = 13, the multiplier inverse element r 1 −1 = 13, and the multiplier inverse element r 2 −1 = 162. And D (C) ≡13 × 162 × 7108 (mod 167) ≡69 is calculated according to the above equation (10). Furthermore, the decoding processing unit 120 performs size determination from the fourth element to the first element according to the determination formula (11). Through this size determination, m 4 = 1 is determined from q 4 1 × q 4 2 + q 4 3 = 6 × 7 + 3 = 45 <D (C), and (q 4 1 + q 3 1 ) × (q 4 2 + q 3 2 ) + (q 4 3 + q 3 3 ) = (6 + 3) × (7 + 3) + (3 + 4) = 97> D (C), m 3 = 0 is determined, and (q 4 1 + q 2 1 ) × From (q 4 2 + q 2 2 ) + (q 4 3 + q 2 3 ) = (6 + 2) × (7 + 1) + (3 + 2) = 69 = D (C), m 2 = 1 is determined, and (q 4 1 + Q 2 1 + q 1 1 ) × (q 4 2 + q 2 2 + q 1 2 ) + (q 4 3 + q 2 3 + q 1 3 ) = (6 + 2 + 1) × (7 + 1 + 2) + (3 + 2 + 1) = 96> D (C) Therefore, m 1 = 0 is determined. As a result, the plain text (0, 1, 0, 1) is restored.

6.複数のナップザックを用いた公開鍵暗号方式の安全性および処理速度の検討
上述までの複数のナップザックを用いる公開鍵暗号方式について、以下、安全性の検討を行う。総当たり攻撃に耐性を持たせるため、平文Mのビット数nを100以上に定めると、公開鍵数列それぞれの要素の数が100以上となるため、上記N=2の場合でも、要素を組み合わせた総数は少なくとも10000以上となる。LLLアルゴリズムを用いた攻撃について検討してみると、格子の次元が10000以上となるため、LLLアルゴリズムによる攻撃は、実質的に動作しないと考えられる。
6). Examination of safety and processing speed of public key cryptosystem using a plurality of knapsacks The security of the public key cryptosystem using a plurality of knapsacks as described above will be examined below. In order to provide resistance to brute force attacks, if the number of bits n of plaintext M is set to 100 or more, the number of elements in each public key number sequence is 100 or more. Therefore, even when N = 2, the elements are combined. The total number is at least 10,000. Considering an attack using the LLL algorithm, since the lattice dimension is 10,000 or more, it is considered that the attack using the LLL algorithm does not substantially work.

シャミア・アルゴリズムによる攻撃に対する耐性ついて検討する。上述したようにシャミアの攻撃法は、導入した秘密鍵の超増加性の特徴を利用するものである。本公開鍵暗号方式では、個々の秘密鍵数列が超増加性を有さないため、当該アルゴリズムにおける不等式は成り立たない。これは、シャミア・アルゴリズムは、線形不等式を扱うある種の線形計画法と見なすことができるが、複数の公開鍵の要素を組み合わせて得られる高次の超増加性を表現する非線形不等式を扱うことができないためである。よって、公開鍵にシャミア・アルゴリズムを適用しても復号可能な鍵を求めることが困難であり、シャミア・アルゴリズムによる攻撃にも耐性を示すと考えられる。   Consider resistance to attacks by the Shamir algorithm. As described above, the Shamir attack method uses the feature of the super increase property of the introduced secret key. In this public key cryptosystem, the inequality in the algorithm does not hold because each private key number sequence does not have a superincrement. This can be seen as a kind of linear programming that treats linear inequalities, but the Shamir algorithm deals with nonlinear inequalities that represent higher-order superintensity obtained by combining multiple public key elements. This is because they cannot. Therefore, it is difficult to obtain a key that can be decrypted even if the Shamir algorithm is applied to the public key, and it is considered that the key is resistant to attacks by the Shamir algorithm.

より具体的に上述した3つのナップザックを用いた公開鍵暗号方式について検討してみると、仮にシャミア・アルゴリズムを適用して超増加性を有する数列の要素q ×q +q が得られたとしても、解読するためには、少なくともq ×q と、q とに分離する必要があるが、この和分解は通常困難である。よって、3つのナップザックの積と和による公開鍵暗号方式は、さらに、2つのナップザックの積による方式に比べて、シャミア・アルゴリズムによる攻撃に対する耐性がさらに高いものと考えられる。 More specifically, when the public key cryptosystem using the three knapsacks described above is examined, a numerical sequence element q i 1 × q i 2 + q i 3 having a super-increasing property by applying the Shamir algorithm is Even if it is obtained, it is necessary to separate it into at least q i 1 × q i 2 and q i 3 in order to decipher, but this sum decomposition is usually difficult. Therefore, it is considered that the public key cryptosystem based on the product and sum of the three knapsacks is more resistant to attacks by the Shamir algorithm than the scheme based on the two knapsack products.

さらに本公開鍵暗号方式では、複数の公開鍵数列から1つの鍵数列を導出し得たとしても、解読には、N個の公開鍵数列からN個の秘密鍵数列に対応する鍵数列を求めることが必要であるため、復号が困難となるという利点もある。さらに、本公開鍵暗号方式では、通常のナップザック暗号方式に比べて鍵サイズが大きくなるが、ナップザック間の演算(例えば乗算)が追加される程度の計算量の増加で済み、高速な暗号化処理および復号処理が実現される。   Furthermore, in the present public key cryptosystem, even if one key number sequence can be derived from a plurality of public key number sequences, for decryption, a key number sequence corresponding to N secret key number sequences is obtained from N public key number sequences. Therefore, there is an advantage that decoding becomes difficult. Furthermore, in this public key cryptosystem, the key size is larger than that of a normal knapsack cryptosystem, but the amount of computation is increased to the extent that operations between knapsack (for example, multiplication) are added. And the decoding process is realized.

以上説明してきたように、本発明の実施形態によれば、解読法として代表的なLLLアルゴリズムを用いる攻撃およびシャミア攻撃法による攻撃に対して耐性を有し、高速な処理が可能な新奇なナップザック問題を安全性の根拠とするナップザック暗号方式による暗号システム、鍵生成を実行する鍵生成装置、暗号化処理を実行する暗号化装置、暗号文の復号処理を実行する復号装置、データ交換方法およびプログラムを提供することができる。   As described above, according to the embodiment of the present invention, a novel knapsack that is resistant to attacks using the typical LLL algorithm as a cryptanalysis method and attacks using the Shamir attack method and capable of high-speed processing. Cryptographic system based on knapsack cryptosystem based on security problem, key generation device for executing key generation, encryption device for executing encryption processing, decryption device for executing decryption processing of ciphertext, data exchange method and program Can be provided.

なお、上述までの実施形態では、暗号システムの一例として、ネットワークを介して秘密通信を実行する複数のコンピュータ装置を含むセキュア通信システムを用いて説明してきたが、通信システムの他、認証、署名、情報記憶などの従来より暗号方式が適用可能ないかなるシステムに応用することができる。また、上述した実施形態では、鍵生成装置、暗号化装置、復号装置の例として、コンピュータ装置について説明してきたが、上述した複数のナップザックを用いる公開鍵暗号方式をハードウェアまたはソフトウェアとハードウェアとの協働により実装する如何なる装置として構成することができる。   In the above-described embodiments, the secure communication system including a plurality of computer apparatuses that execute secret communication via a network has been described as an example of the encryption system. However, in addition to the communication system, authentication, signature, The present invention can be applied to any system to which an encryption method can be applied conventionally such as information storage. In the above-described embodiment, a computer device has been described as an example of a key generation device, an encryption device, and a decryption device. However, the public key encryption method using a plurality of knapsacks described above is hardware or software and hardware. It can be configured as any device that can be implemented in cooperation with each other.

なお、本発明につき、発明の理解を容易にするために各機能部および各機能部の処理を記述したが、本発明は、上述した特定の機能部が特定の処理を実行する外、処理効率や実装上のプログラミングなどの効率を考慮して、いかなる機能部に、上述した処理を実行するための機能を割当てることができる。   Although the present invention has been described in order to facilitate understanding of the invention, each function unit and the process of each function unit have been described. However, the present invention is not limited to the above-described specific function unit executing a specific process. A function for executing the above-described processing can be assigned to any functional unit in consideration of efficiency such as programming for implementation and implementation.

本発明の上記機能は、C++、Fortran、Pascal、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Rubyなどのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布または伝送して頒布することができる。   The above functions of the present invention include object-oriented programming languages such as C ++, Fortran, Pascal, Java (registered trademark), Java (registered trademark) Beans, Java (registered trademark) Applet, JavaScript (registered trademark) Script, Perl, and Ruby. It can be realized by a device-executable program described in the above, and can be stored in a device-readable recording medium and distributed or transmitted and distributed.

これまで本発明を、特定の実施形態をもって説明してきたが、本発明は、実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。   Although the present invention has been described with specific embodiments, the present invention is not limited to the embodiments, and other embodiments, additions, changes, deletions, and the like can be conceived by those skilled in the art. It can be changed within the range, and any embodiment is included in the scope of the present invention as long as the effects and effects of the present invention are exhibited.

10…コンピュータ装置、12…CPU、14…キャッシュ・メモリ、16…システム・メモリ、18…システム・バス、20…グラフィックス・ドライバ、22…NIC、24…ディスプレイ、26…I/Oバス・ブリッジ、28…I/Oバス、30…記憶装置、32…入力装置、50…コンピュータ装置、110…鍵生成処理部、112…秘密鍵生成部、114…公開鍵生成部、120…復号処理部、130…平文出力部、150…平文入力部、160…暗号化処理部 DESCRIPTION OF SYMBOLS 10 ... Computer apparatus, 12 ... CPU, 14 ... Cache memory, 16 ... System memory, 18 ... System bus, 20 ... Graphics driver, 22 ... NIC, 24 ... Display, 26 ... I / O bus bridge 28 ... I / O bus, 30 ... storage device, 32 ... input device, 50 ... computer device, 110 ... key generation processing unit, 112 ... secret key generation unit, 114 ... public key generation unit, 120 ... decryption processing unit, 130 ... plaintext output unit, 150 ... plaintext input unit, 160 ... encryption processing unit

Claims (14)

ナップザック問題を安全性の根拠とした公開鍵暗号方式による、鍵生成装置、暗号化装置および復号装置を含む暗号システムであって、前記鍵生成装置は、
個々は超増加性を示さない複数の秘密鍵数列を、前記複数の秘密鍵数列それぞれの要素を変数として非線形関数により組み合わせると超増加性を満たすという条件のもと、生成する秘密鍵生成手段と、
法と、前記法と互いに素な複数の乗数とをさらに秘密鍵として定めて、前記複数の秘密鍵数列それぞれの要素をモジュラ変換し、複数の公開鍵数列を生成する公開鍵生成手段とを含み、前記暗号化装置は、
前記複数の公開鍵数列それぞれと平文との内積を求めて複数のナップザックを計算し、計算した前記複数のナップザックを前記非線形関数に対応して演算し、暗号文を生成する暗号化手段を含み、前記復号装置は、
前記法による前記乗数の乗法逆元と、前記法とを用いて、受信した暗号文を逆モジュラ変換し、前記複数の秘密鍵数列を用いて前記暗号文から平文を一意に復号する復号手段を含む、
暗号システム。
An encryption system including a key generation device, an encryption device, and a decryption device by a public key cryptosystem based on a knapsack problem as a safety ground, wherein the key generation device includes:
A secret key generating means for generating a plurality of secret key sequences that do not exhibit super-increasing properties under the condition that the super-increasing properties are satisfied when the elements of each of the plurality of secret key sequences are combined as a variable by a nonlinear function; ,
And a public key generating means for generating a plurality of public key sequences by modularly transforming each element of the plurality of secret key sequences by further defining a modulus and a plurality of multipliers that are relatively prime to the modulus The encryption device is:
Calculating a plurality of knapsacks by calculating an inner product of each of the plurality of public key sequences and plaintext, calculating the plurality of knapsacks corresponding to the nonlinear function, and including encryption means for generating a ciphertext, The decoding device
Decryption means for performing inverse modular transformation on the received ciphertext using the multiplication inverse element of the multiplier according to the method and the method, and uniquely decrypting the plaintext from the ciphertext using the plurality of secret key sequences Including,
Crypto system.
前記非線形関数により組み合わせると超増加性を満たすという前記条件とは、前記複数の秘密鍵数列をQ(j=1,...,N)とし、前記秘密鍵数列Qそれぞれのn個あるうちのi番目の要素をq とし、要素q から要素qi−1 までの和をS (j=1,...,N)とし、前記要素q または前記和S を変数とする前記非線形関数をfとして、前記秘密鍵数列Qそれぞれのi=2,...,nについての各要素q (j=1,...,N)が、下記不等式(1)
を満たすという条件である、請求項1に記載の暗号システム。
The condition that the super-increasing property is satisfied when combined by the nonlinear function is that the plurality of secret key sequences are Q j (j = 1,..., N), and there are n each of the secret key sequences Q j. The i-th element is q i j , the sum from element q 1 j to element q i−1 j is S i j (j = 1,..., N), and element q i j or sum S i j of the non-linear function whose variable as f, the secret key sequence Q j of each i = 2,. . . , N for each element q i j (j = 1,..., N) is represented by the following inequality (1)
The cryptographic system according to claim 1, wherein the cryptographic system is a condition satisfying:
前記法pは、下記式(2)
を満たすように選択され、前記複数の公開鍵数列を生成するための前記モジュラ変換は、前記複数の公開鍵数列をO(j=1,...,N)とし、前記公開鍵数列Oそれぞれのn個あるうちのi番目の要素をo とし、前記複数の乗数をr(j=1,...,N)として、下記式(3)
で表される、請求項2に記載の暗号システム。
The method p is represented by the following formula (2)
The modular transformation for generating the plurality of public key sequences is set to O j (j = 1,..., N), and the public key sequence O is selected. The i-th element out of n of each j is set to o i j , and the plurality of multipliers are set to r j (j = 1,..., N).
The cryptographic system according to claim 2, represented by:
前記平文Mのn個あるうちのi番目の要素をm(∈{0,1})とし、前記ナップザックをCとして、前記暗号文Cは、下記式(4)
で演算される、請求項3に記載の暗号システム。
Of the n plaintext M, the i-th element is m i (∈ {0,1}), the knapsack is C j , and the ciphertext C is expressed by the following formula (4).
The cryptographic system according to claim 3, wherein the cryptographic system is calculated by:
前記復号手段は、前記法pによる前記乗数rの前記乗法逆元r −1と、前記法pとを用いて、受信した暗号文Cを逆モジュラ変換し、下記式(5)
にて表される剰余D(C)を算出し、下記判定式(6)
に従って、平文Mの要素mを判定する、請求項4に記載の暗号システム。
Said decoding means, said multiplicative inverse r j -1 of the multiplier r j by the method p, by using the above method p, inverse modular converting the ciphertext C received by the following formula (5)
The remainder D (C) represented by is calculated and the following judgment formula (6)
Accordingly determines element m i of the plaintext M, according to claim 4 cryptosystem.
N=3であり、前記乗数rはr×rと等しく、前記非線形関数fは、2変数の積と変数との和であり、前記不等式(1)、前記式(2)、前記式(4)、前記式(5)および前記判定式(6)は、下記不等式(7)、下記式(8)、下記式(9)、下記式(10)および下記判定式(11)
で表される、請求項5に記載の暗号システム。
N = 3, the multiplier r 3 is equal to r 1 × r 2, and the nonlinear function f is a sum of a product of two variables and a variable, and the inequalities (1), (2), and Formula (4), Formula (5), and Judgment Formula (6) are the following Inequality (7), Formula (8), Formula (9), Formula (10), and Formula (11) below.
The cryptographic system according to claim 5 represented by:
N=2であり、前記非線形関数fは、2変数の積であり、前記不等式(1)、前記式(2)、前記式(4)、前記式(5)および前記判定式(6)は、下記不等式(12)、下記式(13)、下記式(14)、下記式(15)および下記判定式(16)
で表される、請求項5に記載の暗号システム。
N = 2, the nonlinear function f is a product of two variables, and the inequality (1), the expression (2), the expression (4), the expression (5), and the determination expression (6) are The following inequality (12), the following formula (13), the following formula (14), the following formula (15), and the following judgment formula (16)
The cryptographic system according to claim 5 represented by:
ナップザック問題を安全性の根拠とした公開鍵暗号方式による鍵生成を実行する鍵生成装置であって、前記鍵生成装置は、
個々は超増加性を示さない複数の秘密鍵数列を、前記複数の秘密鍵数列それぞれの要素を変数として非線形関数により組み合わせると超増加性を満たすという条件のもと、生成する秘密鍵生成手段と、
法と、前記法と互いに素な複数の乗数とをさらに秘密鍵として定めて、前記複数の秘密鍵数列それぞれの要素をモジュラ変換し、複数の公開鍵数列を生成する公開鍵生成手段とを含む、鍵生成装置。
A key generation device that performs key generation by a public key cryptosystem based on a knapsack problem as a basis of security, wherein the key generation device includes:
A secret key generating means for generating a plurality of secret key sequences that do not exhibit super-increasing properties under the condition that the super-increasing properties are satisfied when the elements of each of the plurality of secret key sequences are combined as a variable by a nonlinear function; ,
A public key generating means for generating a plurality of public key sequences by modularly transforming each element of the plurality of secret key sequences by further defining a modulus and a plurality of multipliers that are relatively prime to the modulus , Key generation device.
ナップザック問題を安全性の根拠とした公開鍵暗号方式による複数の公開鍵数列を使用した暗号化処理を実行する暗号化装置であって、前記暗号化装置は、
前記複数の公開鍵数列それぞれと平文との内積を求めて複数のナップザックを計算し、秘密鍵生成に用いた非線形関数に対応して前記複数のナップザックを演算し、暗号文を生成する暗号化手段を含み、前記複数の公開鍵数列は、
個々は超増加性を示さない複数の秘密鍵数列であって、それぞれの要素を変数とした前記非線形関数により組み合わせると超増加性示すという条件のもと生成された当該複数の秘密鍵数列から、法と前記法と互いに素な複数の乗数とをさらに秘密鍵として用いて、前記複数の秘密鍵数列それぞれの要素をモジュラ変換して生成されたものである、暗号化装置。
An encryption device that performs an encryption process using a plurality of public key sequences by a public key cryptosystem based on a knapsack problem as a basis of security, wherein the encryption device includes:
Encryption means for calculating a plurality of knapsacks by calculating an inner product of each of the plurality of public key sequences and plaintext, calculating the plurality of knapsacks corresponding to a nonlinear function used for generating a secret key, and generating a ciphertext And the plurality of public key sequences are:
Each is a plurality of secret key sequences that do not exhibit super-increasing properties, and from the plurality of secret key sequences that are generated under the condition that they are super-increasing when combined by the nonlinear function with each element as a variable, An encryption apparatus, which is generated by modularly transforming each element of a plurality of secret key sequences using a modulus and a plurality of multipliers that are relatively prime to the modulus as secret keys.
ナップザック問題を安全性の根拠とした公開鍵暗号方式による復号処理を実行する復号装置であって、前記復号装置は、
個々は超増加性を示さない複数の秘密鍵数列であって、それぞれの要素を変数として非線形関数により組み合わせると超増加性示す条件のもと生成される当該複数の秘密鍵数列と、前記秘密鍵数列から複数の公開鍵数列を生成する際に用いられた秘密鍵としての法および前記法と互いに素な複数の乗数とを用いて、前記法による前記乗数の乗法逆元を算出し、受信した暗号文を逆モジュラ変換し、前記複数の秘密鍵数列を用いて前記暗号文から平文を一意に復号する復号手段を含む、復号装置。
A decryption device that executes a decryption process by a public key cryptosystem based on a knapsack problem as a safety ground, the decryption device,
Each is a plurality of secret key sequences that do not exhibit super-increasing properties, and the plurality of secret key sequences that are generated under conditions that exhibit super-increasing properties when the respective elements are combined as a variable by a nonlinear function, and the secret key Using the modulus as a secret key used when generating a plurality of public key sequences from a sequence and a plurality of multipliers that are relatively prime to each other, the multiplication inverse element of the multiplier according to the modulus is calculated and received A decryption device comprising decryption means for performing inverse modular transformation on a ciphertext and uniquely decrypting a plaintext from the ciphertext using the plurality of secret key sequences.
ナップザック問題を安全性の根拠とした公開鍵暗号方式によるデータ交換方法であって、前記方法は、
個々は超増加性を示さない複数の秘密鍵数列を、前記複数の秘密鍵数列それぞれの要素を変数として非線形関数により組み合わせると超増加性を満たすという条件のもと生成するステップと、
法と、前記法と互いに素な複数の乗数とをさらに秘密鍵として定めて、前記複数の秘密鍵数列それぞれの要素をモジュラ変換し、複数の公開鍵数列を生成するステップと、
前記複数の秘密鍵数列と、前記法と、前記複数の乗数とをデータ受取側の装置で保持するとともに、前記複数の公開鍵数列をデータ受渡側の装置で保持するステップと、
前記データ受渡側の装置が、前記複数の公開鍵数列それぞれと平文との内積を求めて複数のナップザックを計算し、計算した前記複数のナップザックを前記非線形関数に対応して演算し、暗号文を生成するステップと、
前記データ受取側の装置が、前記法による前記乗数の乗法逆元と、前記法とを用いて、受信した暗号文を逆モジュラ変換し、前記複数の秘密鍵数列を用いて前記暗号文から平文を一意に復号するステップと
を含む、データ交換方法。
A data exchange method using a public key cryptosystem based on the knapsack problem as a security ground,
Generating a plurality of secret key sequences, each of which does not exhibit super-increasing properties, under the condition that the super-increasing properties are satisfied when the elements of each of the plurality of secret key sequences are combined using a nonlinear function as a variable;
A modulus, a plurality of multipliers that are relatively prime to the modulus, and further defining a secret key, modularly transforming each element of the plurality of secret key sequences, and generating a plurality of public key sequences;
Holding the plurality of secret key sequence, the modulus, and the plurality of multipliers in a data receiving device, and holding the plurality of public key sequence in a data delivery device;
The device on the data delivery side calculates a plurality of knapsacks by calculating the inner product of each of the plurality of public key sequences and plaintext, calculates the plurality of knapsacks corresponding to the nonlinear function, and obtains a ciphertext. Generating step;
The device on the data receiving side performs inverse modular transformation on the received ciphertext using the multiplication inverse element of the multiplier according to the modulo and the modulo, and the plaintext is converted from the ciphertext using the plurality of secret key sequences. And a method of exchanging data uniquely.
コンピュータを、請求項8に記載の各手段として機能させるための装置実行可能なプログラム。   An apparatus-executable program for causing a computer to function as each means according to claim 8. コンピュータを、請求項9に記載の各手段として機能させるための装置実行可能なプログラム。   An apparatus-executable program for causing a computer to function as each means according to claim 9. コンピュータを、請求項10に記載の各手段として機能させるための装置実行可能なプログラム。   An apparatus-executable program for causing a computer to function as each means according to claim 10.
JP2009285093A 2009-12-16 2009-12-16 Cryptographic system, key generation apparatus, encryption apparatus, decryption apparatus, data exchange method and program using public key cryptosystem using a plurality of knapsacks Expired - Fee Related JP5464341B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009285093A JP5464341B2 (en) 2009-12-16 2009-12-16 Cryptographic system, key generation apparatus, encryption apparatus, decryption apparatus, data exchange method and program using public key cryptosystem using a plurality of knapsacks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009285093A JP5464341B2 (en) 2009-12-16 2009-12-16 Cryptographic system, key generation apparatus, encryption apparatus, decryption apparatus, data exchange method and program using public key cryptosystem using a plurality of knapsacks

Publications (2)

Publication Number Publication Date
JP2011128281A true JP2011128281A (en) 2011-06-30
JP5464341B2 JP5464341B2 (en) 2014-04-09

Family

ID=44290958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009285093A Expired - Fee Related JP5464341B2 (en) 2009-12-16 2009-12-16 Cryptographic system, key generation apparatus, encryption apparatus, decryption apparatus, data exchange method and program using public key cryptosystem using a plurality of knapsacks

Country Status (1)

Country Link
JP (1) JP5464341B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103580857A (en) * 2012-08-06 2014-02-12 重庆电子工程职业学院 Compression method for Chinese character message data based on knapsack encryption
CN114095151A (en) * 2020-07-31 2022-02-25 马上消费金融股份有限公司 Encryption and decryption method, authentication method, device, equipment and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103580857A (en) * 2012-08-06 2014-02-12 重庆电子工程职业学院 Compression method for Chinese character message data based on knapsack encryption
CN114095151A (en) * 2020-07-31 2022-02-25 马上消费金融股份有限公司 Encryption and decryption method, authentication method, device, equipment and storage medium

Also Published As

Publication number Publication date
JP5464341B2 (en) 2014-04-09

Similar Documents

Publication Publication Date Title
JP7053537B2 (en) Post-quantitative asymmetric key encryption system with one-to-many distribution key management based on double encapsulation of prime modulus
JP4809598B2 (en) Use of isojani in the design of cryptographic systems
KR101795771B1 (en) System and method for providing compressed encryption and decryption in homomorphic cryptography based on intergers
JP6019453B2 (en) ENCRYPTION DEVICE, DECRYPTION DEVICE, AND PROGRAM
Mandal et al. Designing and performance analysis of a proposed symmetric cryptography algorithm
Hodowu et al. An enhancement of data security in cloud computing with an implementation of a two-level cryptographic technique, using AES and ECC algorithm
US20050220299A1 (en) Public key cryptographic methods and systems
CN109756335B (en) Public key encryption and decryption method of finite field multiplication group with Messen prime number order
EP3455997A1 (en) Encryption for low-end devices through computation offloading
Pugila et al. An efficeient encrpytion algorithm based on public key cryptography
Gaithuru et al. Insight into the operation of NTRU and a comparative study of NTRU, RSA and ECC public key cryptosystems
JP5464341B2 (en) Cryptographic system, key generation apparatus, encryption apparatus, decryption apparatus, data exchange method and program using public key cryptosystem using a plurality of knapsacks
US20060251248A1 (en) Public key cryptographic methods and systems with preprocessing
Chaouch et al. Software application for simulation-based AES, RSA and elliptic-curve algorithms
Sharma et al. Modified elgamal cryptosystem algorithm (MECA)
CA2742530A1 (en) Masking the output of random number generators in key generation protocols
JP4563037B2 (en) ENCRYPTION APPARATUS, DECRYPTION APPARATUS, ENCRYPTION SYSTEM HAVING THEM, ENCRYPTION METHOD, AND DECRYPTION METHOD
KR20030047148A (en) Method of messenger security based on client/server using RSA
Anand et al. Real-time symmetric cryptography using quaternion julia set
Fu et al. An efficient implementation of RSA digital signature algorithm
JP2011107407A (en) Homomorphic cryptosystem, homomorphic encryption method, and program
JP5529691B2 (en) Key exchange system, key exchange method, and key exchange program
Nithin et al. XBMRSA: A new XML encryption algorithm
Sidhu Analyzing Modern Cryptography Techniques and Reviewing their Timeline (2023)
WO2018011825A1 (en) Encryption and decryption of messages

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140107

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees