JP2000089668A - Encryption method, decryption method, encryption and decryption method and cipher communication system - Google Patents

Encryption method, decryption method, encryption and decryption method and cipher communication system

Info

Publication number
JP2000089668A
JP2000089668A JP10262036A JP26203698A JP2000089668A JP 2000089668 A JP2000089668 A JP 2000089668A JP 10262036 A JP10262036 A JP 10262036A JP 26203698 A JP26203698 A JP 26203698A JP 2000089668 A JP2000089668 A JP 2000089668A
Authority
JP
Japan
Prior art keywords
vector
ciphertext
plaintext
mod
encryption
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
JP10262036A
Other languages
Japanese (ja)
Other versions
JP3517731B2 (en
Inventor
Masao Kasahara
正雄 笠原
Yasumichi Murakami
恭通 村上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Murata Machinery Ltd
Kasahara Masao
Original Assignee
Murata Machinery Ltd
Kasahara Masao
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Murata Machinery Ltd, Kasahara Masao filed Critical Murata Machinery Ltd
Priority to JP26203698A priority Critical patent/JP3517731B2/en
Priority to US09/397,775 priority patent/US6785388B1/en
Publication of JP2000089668A publication Critical patent/JP2000089668A/en
Application granted granted Critical
Publication of JP3517731B2 publication Critical patent/JP3517731B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To permit high-speed decryption processing of sum-of-product type ciphers by setting a radix vector at a specific value with an encryption method for obtaining ciphertext by using a plaintext vector and the radix vector. SOLUTION: One entity (a) enciphers plaintext (x) to the ciphertext C=m0 B0+m1B1+...mK-1BK-1 by using the plaintext vector m=(m0, m1,..., mK-1) formed by dividing the plaintext (x) by K by an encryption device 1 the radix vector B=(B0, B1,..., BK-1). Bi (0<=i<=K-1) is set at Bi=b0b1...bi by using an integer bi. The formed ciphertext C is sent via a communication path 3 from the entity (a) to another entity (b). The entity (b) deciphers this ciphertext C to the original plaintext x by a decryption device 2.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、平文を暗号文に変
換するための暗号化方法、及び、暗号文を元の平文に変
換するための復号方法に関し、特に、積和型暗号に関す
る。
[0001] 1. Field of the Invention [0002] The present invention relates to an encryption method for converting a plaintext into a ciphertext and a decryption method for converting a ciphertext into an original plaintext, and more particularly to a product-sum encryption.

【0002】[0002]

【従来の技術】高度情報化社会と呼ばれる現代社会で
は、コンピュータネットワークを基盤として、ビジネス
上の重要な文書・画像情報が電子的な情報という形で伝
送通信されて処理される。このような電子情報は、容易
に複写が可能である、複写物とオリジナルとの区別が困
難であるという性質があり、情報保全の問題が重要視さ
れている。特に、「コンピュータリソースの共有」,
「マルチアクセス」,「広域化」の各要素を満たすコン
ピュータネットワークの実現が高度情報化社会の確立に
不可欠であるが、これは当事者間の情報保全の問題とは
矛盾する要素を含んでいる。このような矛盾を解消する
ための有効な手法として、人類の過去の歴史上主として
軍事,外交面で用いられてきた暗号技術が注目されてい
る。
2. Description of the Related Art In a modern society called an advanced information society, important documents and image information in business are transmitted, communicated, and processed in the form of electronic information based on a computer network. Such electronic information has a property that it can be easily copied and it is difficult to distinguish a copy from an original, and thus the importance of information security is emphasized. In particular, "sharing of computer resources",
The realization of a computer network that satisfies each element of "multi-access" and "wide area" is indispensable for the establishment of an advanced information society, but this includes elements inconsistent with the problem of information security between parties. As an effective method for resolving such inconsistency, cryptographic technology that has been used mainly in military and diplomatic aspects in the past history of humankind has attracted attention.

【0003】暗号とは、情報の意味が当事者以外には理
解できないように情報を交換することである。暗号にお
いて、誰でも理解できる元の文(平文)を第三者には意
味がわからない文(暗号文)に変換することが暗号化で
あり、また、暗号文を平文に戻すことが復号であり、こ
の暗号化と復号との全過程をまとめて暗号系と呼ぶ。暗
号化の過程及び復号の過程には、それぞれ暗号化鍵及び
復号鍵と呼ばれる秘密の情報が用いられる。復号時には
秘密の復号鍵が必要であるので、この復号鍵を知ってい
る者のみが暗号文を復号でき、暗号化によって情報の秘
密性が維持され得る。
[0003] Encryption means exchanging information so that the meaning of the information cannot be understood by anyone other than the parties. In encryption, it is encryption to convert an original sentence (plaintext) that anyone can understand into a sentence (ciphertext) whose meaning is unknown to a third party, and decryption is to return the ciphertext to plaintext. The entire process of encryption and decryption is collectively called an encryption system. In the encryption process and the decryption process, secret information called an encryption key and a decryption key are used, respectively. Since a secret decryption key is required at the time of decryption, only a person who knows the decryption key can decrypt the ciphertext, and the encryption can maintain the confidentiality of the information.

【0004】暗号化方式は、大別すると共通鍵暗号系と
公開鍵暗号系との二つに分類できる。共通鍵暗号系で
は、暗号化鍵と復号鍵とが等しく、送信者と受信者とが
同じ鍵を持つことによって暗号通信を行う。送信者が平
文を秘密の共通鍵に基づいて暗号化して受信者に送り、
受信者はこの共通鍵を用いて暗号文を元に平文に復号す
る。
[0004] Encryption methods can be broadly classified into two types: a common key encryption system and a public key encryption system. In the common key cryptosystem, the encryption key and the decryption key are equal, and the sender and the receiver have the same key to perform encrypted communication. The sender encrypts the plaintext based on the secret common key and sends it to the recipient,
The recipient uses the common key to decrypt the ciphertext into plaintext.

【0005】これに対して公開鍵暗号系では、暗号化鍵
と復号鍵とが異なっており、公開されている受信者の公
開鍵で送信者が平文を暗号化し、受信者が自身の秘密鍵
でその暗号文を復号することによって暗号通信を行う。
公開鍵は暗号化のための鍵、秘密鍵は公開鍵によって変
換された暗号文を復号するための鍵であり、公開鍵によ
って変換された暗号文は秘密鍵でのみ復号することがで
きる。
In the public key cryptosystem, on the other hand, the encryption key and the decryption key are different, the sender encrypts the plaintext with the public key of the public receiver, and the receiver uses his / her own private key. Performs encrypted communication by decrypting the ciphertext.
The public key is a key for encryption, the secret key is a key for decrypting a ciphertext converted by the public key, and the ciphertext converted by the public key can be decrypted only by the private key.

【0006】[0006]

【発明が解決しようとする課題】公開鍵暗号系の1つで
ある積和型暗号に関して、新規な方式及び攻撃法が次々
に提案されているが、特に、多くの情報を短時間で処理
できるように高速復号可能な暗号化・復号の手法の開発
が望まれている。
With respect to the multiply-accumulate cryptosystem, which is one of the public key cryptosystems, new systems and attack methods have been proposed one after another, but in particular, a large amount of information can be processed in a short time. Thus, development of an encryption / decryption technique capable of high-speed decryption is desired.

【0007】本発明は斯かる事情に鑑みてなされたもの
であり、多進法を用いることにより、高速な復号処理が
可能である、積和型暗号における新規の暗号化方法及び
復号方法を提供することを目的とする。
The present invention has been made in view of the above circumstances, and provides a novel encryption method and a new decryption method in multiply-accumulate encryption, which can perform high-speed decryption processing by using a multi-ary system. The purpose is to do.

【0008】[0008]

【課題を解決するための手段】請求項1に係る暗号化方
法は、平文をK分割した平文ベクトルm=(m0
1 ,…,mK-1 )と基数ベクトルB=(B0 ,B1
…,BK-1 )とを用いて暗号文C=m0 0 +m1 1
+・・・+mK-1 K-1 を得る暗号化方法において、前
記Bi (0≦i≦K−1)を整数bi を用いてBi =b
0 1 …bi に設定することを特徴とする。
An encryption method according to claim 1.
The method is a plaintext vector m = (m0,
m 1, ..., mK-1) And the radix vector B = (B0, B1,
…, BK-1) And ciphertext C = m0B0+ M1B1
+ ... + mK-1BK-1In the encryption method to get
Note Bi(0 ≦ i ≦ K−1) is converted to an integer biUsing Bi= B
0b1... biIs set.

【0009】請求項2に係る暗号化方法は、請求項1に
おいて、前記Kは2のべき乗数であることを特徴とす
る。
A second aspect of the present invention is the encryption method according to the first aspect, wherein the K is a power of two.

【0010】請求項3に係る復号方法は、請求項1によ
って暗号化された前記暗号文Cを復号する復号方法であ
って、以下のアルゴリズムにより暗号文Cから平文ベク
トルm=(m0 ,m1 ,…,mK-1 )を求めることを特
徴とする。 ステップ0 C0 =C/b00 ≡C0 (mod b1 ) ステップi(i=1〜K−2) Ci =(Ci-1 −mi-1 )/bii ≡Ci (mod bi+1 ) ステップK−1 mK-1 =(CK-2 −mK-2 )/bK-1
According to a third aspect of the present invention, there is provided a decryption method for decrypting the ciphertext C encrypted according to the first aspect, wherein a plaintext vector m = (m 0 , m 1 ,..., M K-1 ). Step 0 C 0 = C / b 0 m 0 ≡C 0 (mod b 1) Step i (i = 1~K-2) C i = (C i-1 -m i-1) / b i m i ≡ C i (mod b i + 1 ) step K−1 m K−1 = (C K−2 −m K−2 ) / b K−1

【0011】請求項4に係る暗号化方法は、平文をK分
割した平文ベクトルm=(m0 ,m 1 ,…,mK-1 )と
基数ベクトルB=(B0 ,B1 ,…,BK-1 )とを用い
て暗号文C=m0 0 +m1 1 +・・・+mK-1
K-1 を得る暗号化方法において、前記Bi (0≦i≦K
−1)を整数bi ,乱数vi を用いてBi =vi 0
1 …bi に設定することを特徴とする。
According to a fourth aspect of the present invention, in the encryption method, the plaintext is divided into K minutes.
The plaintext vector m = (m0, M 1, ..., mK-1)When
Radix vector B = (B0, B1, ..., BK-1) And
And ciphertext C = m0B0+ M1B1+ ... + mK-1B
K-1In the encryption method for obtainingi(0 ≦ i ≦ K
-1) is an integer bi, Random number viUsing Bi= Vib0b
1... biIs set.

【0012】請求項5に係る暗号化方法は、請求項1に
おいて、乱数ベクトルv=(v0 ,v1 ,…,vK-1
を用いて暗号文C=m0 0 0 +m1 1 1 +・・
・+mK-1 K-1 K-1 を得ることを特徴とする。
According to a fifth aspect of the present invention, in the encryption method according to the first aspect, a random number vector v = (v 0 , v 1 ,..., V K -1 ).
Ciphertext using C = m 0 v 0 B 0 + m 1 v 1 B 1 + ··
-It is characterized in that + m K-1 v K-1 B K-1 is obtained.

【0013】請求項6に係る暗号化方法は、請求項1ま
たは4において、前記K個のbi の集合を複数組準備
し、それぞれの集合毎に暗号文を得るようにしたことを
特徴とする。
According to a sixth aspect of the present invention, in the first or fourth aspect, a plurality of sets of the K b i are prepared, and a ciphertext is obtained for each set. I do.

【0014】請求項7に係る暗号化・復号方法は、平文
をK分割した平文ベクトルm=(m 0 ,m1 ,…,m
K-1 )と基数ベクトルB=(B0 ,B1 ,…,BK-1
とを用いて前記平文を暗号文に変換し、その暗号文を元
の平文に変換する暗号化・復号方法において、前記Bi
(0≦i≦K−1)を整数bi を用いてBi =b0 1
…bi に設定するステップと、w<P(P:素数)を満
たすwを選択し、式(a)により公開鍵ベクトルc=
(c0 ,c1 ,…,cK-1 )を求めるステップと、 ci ≡wBi (mod P) …(a) 平文ベクトルmと公開鍵ベクトルcとの内積により、式
(b)に示す暗号文Cを作成するステップと、 C=m0 0 +m1 1 +・・・+mK-1 K-1 …(b) 暗号文Cに対して、中間復号文Mを式(c)のようにし
て求めるステップと、 M≡w-1C (mod P) …(c) この中間復号文Mを以下のアルゴリズムにより復号して
平文ベクトルm=(m 0 ,m1 ,…,mK-1 )を求める
ステップと ステップ0 M0 =M/b00 ≡M0 (mod b1 ) ステップi(i=1〜K−2) Mi =(Mi-1 −mi-1 )/bii ≡Mi (mod bi+1 ) ステップK−1 mK-1 =(MK-2 −mK-2 )/bK-1 を有することを特徴とする。
According to a seventh aspect of the present invention, there is provided an encryption / decryption method comprising:
Plaintext vector m = (m 0, M1, ..., m
K-1) And the radix vector B = (B0, B1, ..., BK-1)
And converts the plaintext into ciphertext, and uses the ciphertext as the original
In the encryption / decryption method for converting into plaintext ofi
(0 ≦ i ≦ K−1) is converted to an integer biUsing Bi= B0b1
... biSatisfies w <P (P: prime number)
Addition w is selected, and the public key vector c =
(C0, C1, ..., cK-1C) and ci≡wBi (Mod P) (a) The inner product of the plaintext vector m and the public key vector c gives
Creating a ciphertext C shown in (b); C = m0c0+ M1c1+ ... + mK-1cK-1 .. (B) With respect to the ciphertext C, the intermediate decryption text M is expressed by the following equation (c).
And M ス テ ッ プ w-1C (mod P) (c) This intermediate decrypted text M is decrypted by the following algorithm.
Plaintext vector m = (m 0, M1, ..., mK-1Ask for)
Step and Step 0 M0= M / b0 m0≡M0 (Mod b1) Step i (i = 1 to K-2) Mi= (Mi-1-Mi-1) / Bi mi≡Mi (Mod bi + 1) Step K-1 mK-1= (MK-2-MK-2) / BK-1 It is characterized by having.

【0015】請求項8に係る暗号化方法・復号方法は、
平文をK(Kは2のべき乗数)分割した平文ベクトルm
=(m0 ,m1 ,…,mK-1 )と基数ベクトルB=(B
0 ,B1 ,…,BK-1 )とを用いて前記平文を暗号文に
変換し、前記暗号文を元の平文に変換する暗号化・復号
方法において、前記Bi (0≦i≦K−1)を整数bi
を用いてBi =b0 1 …bi に設定するステップと、
w<P(P:素数)を満たすwを選択し、式(d)によ
り公開鍵ベクトルc=(c0 ,c1 ,…,cK-1 )を求
めるステップと、 ci ≡wBi (mod P) …(d) 平文ベクトルmと公開鍵ベクトルcとの内積により、式
(e)に示す暗号文Cを作成するステップと、 C=m0 0 +m1 1 +・・・+mK-1 K-1 …(e) 暗号文Cに対して、中間復号文Mを式(f)のようにし
て求めるステップと、 M≡w-1C (mod P) …(f) この中間復号文Mを以下のアルゴリズムにより復号して
平文ベクトルm=(m 0 ,m1 ,…,mK-1 )を求める
ステップと 〔2分割アルゴリズム〕 第1ステップ ML ≡M (mod BK/2 ) 第2ステップ MR =(M−ML )/BK/2 〔高速アルゴリズム〕ML ,MR に対して再び2分割ア
ルゴリズムを適用する。4分割された中間復号文のそれ
ぞれに再び2分割アルゴリズムを適用する。このような
ことを繰り返すを有することを特徴とする。
[0015] The encryption method / decryption method according to claim 8 comprises:
A plaintext vector m obtained by dividing the plaintext into K (K is a power of 2)
= (M0, M1, ..., mK-1) And the radix vector B = (B
0, B1, ..., BK-1) To convert the plaintext into ciphertext.
Convert and convert the ciphertext to the original plaintext
The method, wherein Bi(0 ≦ i ≦ K−1) is converted to an integer bi
Using Bi= B0b1... biSetting to
Select w that satisfies w <P (P: prime number), and
Public key vector c = (c0, C1, ..., cK-1)
And ci≡wBi (Mod P) ... (d) The inner product of the plaintext vector m and the public key vector c gives
(E) creating a ciphertext C, C = m0c0+ M1c1+ ... + mK-1cK-1 .. (E) For the ciphertext C, the intermediate decryption text M is expressed as in equation (f).
And M ス テ ッ プ w-1C (mod P) (f) This intermediate decrypted text M is decrypted by the following algorithm.
Plaintext vector m = (m 0, M1, ..., mK-1Ask for)
Steps and [Divide Algorithm] First Step ML ≡ M (mod BK / 2) Second step MR = (ML-ML) / BK / 2 [High-speed algorithm] ML and MR are again divided into two parts.
Apply the algorithm. That of the intermediate decrypted text divided into four
The two-partition algorithm is again applied to each. like this
It is characterized by having repeating.

【0016】請求項9に係る暗号化・復号方法は、平文
をK分割した平文ベクトルm=(m 0 ,m1 ,…,m
K-1 )と基数ベクトルB=(B0 ,B1 ,…,BK-1
とを用いて前記平文を暗号文に変換し、前記暗号文を元
の平文に変換する暗号化・復号方法において、前記Bi
(0≦i≦K−1)を式(g)にて設定するステップ
と、 Bi =vi 0 1 …bi …(g) 但し、vi :乱数 bi :整数 gcd(vi ,bi+1 )=1 w<P(P:素数)を満たすwを選択し、式(h)によ
り公開鍵ベクトルc=(c0 ,c1 ,…,cK-1 )を求
めるステップと、 ci ≡wBi (mod P) …(h) 平文ベクトルmと公開鍵ベクトルcとの内積により、式
(i)に示す暗号文Cを作成するステップと、 C=m0 0 +m1 1 +・・・+mK-1 K-1 …(i) 暗号文Cに対して、中間復号文Mを式(j)のようにし
て求めるステップと、 M≡w-1C (mod P) …(j) この中間復号文Mを以下のアルゴリズムにより復号して
平文ベクトルm=(m 0 ,m1 ,…,mK-1 )を求める
ステップと ステップ0 M0 =C/b00 ≡M0 0 -1 (mod b1 ) ステップi(i=1〜K−2) Mi =(Mi-1 −mi-1 i-1 )/bii ≡Mi i -1 (mod bi+1 ) ステップK−1 MK-1 =(MK-2 −mK-2 K-2 )/bK-1K-1 =MK-1 /vK-1 を有することを特徴とする。
According to a ninth aspect of the present invention, there is provided an encryption / decryption method comprising:
Plaintext vector m = (m 0, M1, ..., m
K-1) And the radix vector B = (B0, B1, ..., BK-1)
The ciphertext is converted to ciphertext using
In the encryption / decryption method for converting into plaintext ofi
(0 ≦ i ≦ K−1) is set by equation (g)
And Bi= Vib0b1... bi ... (g) where vi: Random number bi: Integer gcd (vi, Bi + 1) = 1 Select w that satisfies w <P (P: prime number), and
Public key vector c = (c0, C1, ..., cK-1)
And ci≡wBi (Mod P) (h) The inner product of the plaintext vector m and the public key vector c gives
(C) creating a ciphertext C shown in (i);0c0+ M1c1+ ... + mK-1cK-1 .. (I) With respect to the cipher text C, the intermediate decrypted text M
And M ス テ ッ プ w-1C (mod P) (j) This intermediate decrypted text M is decrypted by the following algorithm.
Plaintext vector m = (m 0, M1, ..., mK-1Ask for)
Step and Step 0 M0= C / b0 m0≡M0v0 -1 (Mod b1) Step i (i = 1 to K-2) Mi= (Mi-1-Mi-1vi-1) / Bi mi≡Mivi -1 (Mod bi + 1) Step K-1 MK-1= (MK-2-MK-2vK-2) / BK-1 mK-1= MK-1/ VK-1 It is characterized by having.

【0017】請求項10に係る暗号化方法・復号方法は、
平文をK分割した平文ベクトルm=(m0 ,m1 ,…,
K-1 )と基数ベクトルB=(B0 ,B1 ,…,
K-1 )とを用いて前記平文を暗号文に変換し、前記暗
号文を元の平文に変換する暗号化・復号方法において、
素数P,Qを設定するステップと、基数ベクトルB
Pi(0≦i≦K−1)を整数bPiを用いてBPi=bP0
P1…b Piに設定するステップと、基数ベクトルBQi(0
≦i≦K−1)を整数bQiを用いてBQi=bQ0Q1…b
Qiに設定するステップと、中国人の剰余定理を用いて、
P,Qによる余りがそれぞれBPi,BQiとなるような最
小の整数Bi を導くステップと、w<N(N=PQ)を
満たすwを選択し、式(k)により公開鍵ベクトルc=
(c0 ,c1 ,…,cK-1 )を求めるステップと、 ci ≡wBi (mod N) …(k) 平文ベクトルmと公開鍵ベクトルcとの内積により、式
(l)に示す暗号文Cを作成するステップと、 C=m0 0 +m1 1 +・・・+mK-1 K-1 …(l) 暗号文Cに対して、法P,法Qにおいて、それぞれ中間
復号文MP ,MQ を式(m),式(n)のようにして求
めるステップと、 MP ≡w-1C (mod P) …(m) MQ ≡w-1C (mod Q) …(n) この中間復号文MP ,MQ を以下のアルゴリズムにより
復号して平文ベクトルm=(m0 ,m1 ,…,mK-1
を求めるステップと ステップ0 MP0=MP /bP0Q0=MQ /bQ00 (p) ≡MP0 (mod bP1) m0 (Q) ≡MQ0 (mod bQ1) 中国人の剰余定理によりm0 を求める。 ステップi(i=1〜K−2) MPi=(MPi-1−mi-1 )/bPiQi=(MQi-1−mi-1 )/bQii (p) ≡MPi (mod bPi+1) mi (Q) ≡MQi (mod bQi+1) 中国人の剰余定理によりmi を求める。 ステップK−1 mK-1 =(MPK-2−mK-2 )/bPK-1 または mK-1 =(MQK-2−mK-2 )/bQK-1 を有することを特徴とする。
[0017] The encryption / decryption method according to claim 10 is
A plaintext vector m = (m0, M1,…,
mK-1) And the radix vector B = (B0, B1,…,
BK-1) To convert the plaintext into ciphertext, and
In an encryption / decryption method that converts a sentence into the original plaintext,
A step of setting prime numbers P and Q, and a radix vector B
Pi(0 ≦ i ≦ K−1) is converted to an integer bPiUsing BPi= BP0b
P1... b PiAnd the radix vector BQi(0
≦ i ≦ K−1) is an integer bQiUsing BQi= BQ0bQ1... b
QiAnd the Chinese remainder theorem,
The remainder by P and Q is BPi, BQiThe most
Small integer BiAnd w <N (N = PQ)
The w that satisfies is selected, and the public key vector c =
(C0, C1, ..., cK-1C) and ci≡wBi (Mod N) ... (k) The inner product of the plaintext vector m and the public key vector c gives
(C) creating a ciphertext C shown in (l);0c0+ M1c1+ ... + mK-1cK-1 ... (l) For ciphertext C, in law P and law Q, respectively
Decrypted text MP, MQIs calculated as in Equations (m) and (n).
And MP≡w-1C (mod P) ... (m) MQ≡w-1C (mod Q) ... (n) This intermediate decrypted text MP, MQBy the following algorithm
Decrypt the plaintext vector m = (m0, M1, ..., mK-1)
And step 0 MP0= MP/ BP0 MQ0= MQ/ BQ0 m0 (p)≡MP0 (Mod bP1) M0 (Q)≡MQ0 (Mod bQ1) According to the Chinese remainder theorem0Ask for. Step i (i = 1 to K-2) MPi= (MPi-1-Mi-1) / BPi MQi= (MQi-1-Mi-1) / BQi mi (p)≡MPi (Mod bPi + 1) Mi (Q)≡MQi (Mod bQi + 1) According to the Chinese remainder theoremiAsk for. Step K-1 mK-1= (MPK-2-MK-2) / BPK-1 Or mK-1= (MQK-2-MK-2) / BQK-1 It is characterized by having.

【0018】請求項11に係る暗号化・復号方法は、請求
項10において、前記Nを法として前記暗号文Cを送るよ
うにしたことを特徴とする。
An encryption / decryption method according to claim 11 is characterized in that, in claim 10, the ciphertext C is transmitted modulo N.

【0019】請求項12に係る暗号通信システムは、複数
のエンティティ間で暗号文による情報通信を行う暗号通
信システムにおいて、請求項1,2,4,5または6の
何れかに記載の暗号化方法を用いて平文から暗号文を作
成する暗号化器と、作成した暗号文を一方のエンティテ
ィから他方のエンティティへ送信する通信路と、送信さ
れた暗号文を元の平文に復号する復号器とを備えること
を特徴とする。
[0021] According to a twelfth aspect of the present invention, there is provided an encryption communication system for performing information communication using a ciphertext between a plurality of entities, according to any one of the first, second, fourth, fifth, and sixth aspects. An encryption device that creates a ciphertext from a plaintext using, a communication path that transmits the created ciphertext from one entity to the other entity, and a decoder that decrypts the sent ciphertext into the original plaintext. It is characterized by having.

【0020】本発明の暗号化方法・復号方法の概念につ
いて、以下に説明する。本発明では、多進法を用いる。
The concept of the encryption / decryption method of the present invention will be described below. In the present invention, a multi-ary system is used.

【0021】メッセージm=(m0 ,m1 ,…,
K-1 )を基数B=(B0 ,B1 ,…,B K-1 )を用い
て、下記式(1)に示すように、整数として表記するこ
とができる。なお、ここでは、mi i <Bi+1 が成立
するものとする。 M=m0 0 +m1 1 +・・・+mK-1 K-1 …(1)
The message m = (m0, M1,…,
mK-1) In the base B = (B0, B1, ..., B K-1)
Therefore, as shown in the following equation (1),
Can be. Here, miBi<Bi + 1Is established
It shall be. M = m0B0+ M1B1+ ... + mK-1BK-1 … (1)

【0022】式(1)において、Bi =2i である場合
にはメッセージは通常の2進数で表されていることにな
り、Bi =10i である場合にはメッセージは通常の10進
数で表されていることになる。
In the equation (1), when B i = 2 i , the message is represented by a normal binary number. When B i = 10 i , the message is represented by a normal decimal number. It is represented by

【0023】ここで、上記Bi を下記式(2)のように
設定する場合を考える。 Bi =b0 1 …bi …(2) 式(2)において、b0 =1,bi =2(1≦i≦K−
1)と設定すると2進数の場合に一致し、b0 =1,b
i =10(1≦i≦K−1)と設定すると10進数の場合に
一致する。
Here, a case is considered where the above B i is set as in the following equation (2). B i = b 0 b 1 ... B i (2) In the equation (2), b 0 = 1 and b i = 2 (1 ≦ i ≦ K−
If set to 1), it matches the case of binary numbers, b 0 = 1, b
Setting i = 10 (1 ≦ i ≦ K−1) matches the case of a decimal number.

【0024】本発明では、このような多進法を用い、つ
まり、式(1)及び式(2)を利用して、暗号文を作成
する。
In the present invention, a ciphertext is created using such a multi-ary notation, that is, using equations (1) and (2).

【0025】そして、基数を式(2)で与えた場合に
は、以下に示すアルゴリズムにより、整数Mからメッセ
ージm=(m0 ,m1 ,…,mK-1 )を復号することが
できる。この復号アルゴリズムを逐次復号アルゴリズム
Iという。
When the radix is given by equation (2), the message m = (m 0 , m 1 ,..., M K -1 ) can be decoded from the integer M by the following algorithm. . This decoding algorithm is called a sequential decoding algorithm I.

【0026】〔逐次復号アルゴリズムI〕 ステップ0 M0 =M/b00 ≡M0 (mod b1 ) ステップi(i=1〜K−2) Mi =(Mi-1 −mi-1 )/bii ≡Mi (mod bi+1 ) ステップK−1 mK-1 =(MK-2 −mK-2 )/bK-1 なお、このアルゴリズムにあっては、mj <bj+1 でな
いと、mj が一意に復号されない。
[Sequential Decoding Algorithm I] Step 0 M 0 = M / b 0 m 0 ≡M 0 (mod b 1 ) Step i (i = 1 to K−2) M i = (M i−1 −m i -1) / b i m i ≡M i (mod b i + 1) step K-1 m K-1 = (M K-2 -m K-2) / b K-1 Incidentally, in the algorithm Does not uniquely decode m j unless m j <b j + 1 .

【0027】このような多進法による暗号化手法とそれ
に対する復号方法とを、本発明の特徴とする。なお、具
体的な手法については後述する。
The above-described encryption method based on the multi-ary system and the decryption method therefor are the features of the present invention. The specific method will be described later.

【0028】[0028]

【発明の実施の形態】以下、本発明の実施の形態につい
て具体的に説明する。図1は、本発明による暗号化方法
・復号方法をエンティティa,b間の情報通信に利用し
た状態を示す模式図である。図1の例では、一方のエン
ティティaが、暗号化器1にて平文xを暗号文Cに暗号
化し、通信路3を介してその暗号文Cを他方のエンティ
ティbへ送信し、エンティティbが、復号器2にてその
暗号文Cを元の平文xに復号する場合を示している。な
お、復号器2には、後述する復号処理時に利用されるカ
ウンタ2aが内蔵されている。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be specifically described below. FIG. 1 is a schematic diagram showing a state where the encryption / decryption method according to the present invention is used for information communication between entities a and b. In the example of FIG. 1, one entity a encrypts a plaintext x into a ciphertext C by the encryptor 1 and transmits the ciphertext C to the other entity b via the communication path 3. , The decryptor 2 decrypts the ciphertext C into the original plaintext x. It should be noted that the decoder 2 has a built-in counter 2a that is used during a decoding process described later.

【0029】(第1実施の形態)秘密鍵と公開鍵とを以
下のように準備する。 ・秘密鍵:{bi },P,w ・公開鍵:{ci } 前記式(2)のように基数を与え、w<P(Pは大きな
素数)を満たす整数wをランダムに選び、式(3)を導
く。 ci ≡wBi (mod P) …(3) 公開鍵ベクトルcは、式(4)のように与えられる。 c=(c0 ,c1 ,…,cK-1 ) …(4)
(First Embodiment) A secret key and a public key are prepared as follows.・ Private key: {b i }, P, w ・ Public key: {c i } A base is given as in the above equation (2), and an integer w satisfying w <P (P is a large prime number) is randomly selected, Equation (3) is derived. c i ≡wB i (mod P) (3) The public key vector c is given by Expression (4). c = (c 0 , c 1 ,..., c K−1 ) (4)

【0030】また、μ<min(b1 ,…,bK-1 )な
るμが各エンティティに公開される。エンティティa側
で、この公開されたμに基づいて、K次元のμ以下の大
きさのメッセージベクトルに平文xを分割する。このよ
うにメッセージのビット数を制限すると、b0 ,b1
…,bK-1 の大小関係は任意に設定して良い。そして、
そのメッセージベクトルmと公開鍵ベクトルcとの内積
を式(5)のように求めて、平文xを暗号化して暗号文
Cを得る。作成された暗号文Cは通信路3を介してエン
ティティaからエンティティbへ送信される。 C=m0 0 +m1 1 +・・・+mK-1 K-1 …(5)
Further, μ satisfying μ <min (b 1 ,..., B K−1 ) is disclosed to each entity. The entity a divides the plaintext x into K-dimensional message vectors having a size equal to or less than μ based on the disclosed μ. By limiting the number of bits of the message in this way, b 0 , b 1 ,
, B K-1 may be set arbitrarily. And
The inner product of the message vector m and the public key vector c is obtained as in equation (5), and the plaintext x is encrypted to obtain a ciphertext C. The created ciphertext C is transmitted from the entity a to the entity b via the communication path 3. C = m 0 c 0 + m 1 c 1 +... + M K-1 c K-1 (5)

【0031】なお、この暗号化は、K重の並列処理によ
る乗算1回、更に log2 K回の加算処理の所要時間で行
える。
Note that this encryption can be performed in a time required for one multiplication by K-fold parallel processing and a log 2 K addition processing.

【0032】エンティティb側では、以下のようにして
復号処理が行われる。暗号文Cに対して、中間復号文M
を式(6)のようにして求める。 M≡w-1C (mod P) …(6) この中間復号文Mは、具体的には式(7)として与えら
れるので、前述の逐次復号アルゴリズムIによって復号
できる。 M=m0 0 +m1 0 1 +・・・+mK-1 0 1 …bK-1 …(7)
On the entity b side, decoding processing is performed as follows. For the ciphertext C, the intermediate decryption text M
Is obtained as in equation (6). M≡w −1 C (mod P) (6) Since this intermediate decryption text M is specifically given as Expression (7), it can be decrypted by the above-described sequential decoding algorithm I. M = m 0 b 0 + m 1 b 0 b 1 + ··· + m K-1 b 0 b 1 ... b K-1 ... (7)

【0033】図2は、復号器2で行われるこの逐次復号
アルゴリズムIの処理手順を示すフローチャートであ
る。まず、カウンタ2aをリセットして、そのカウント値
Tを0にする(S1)。そして、ステップ0の演算を実
行してm0 を求めた後(S2)、カウント値Tを1にす
る(S3)。次に、ステップiを実行してmi を求め
(S4)、カウント値Tを1だけインクリメントする
(S5)。カウント値TがK−1に達したか否かを判断
し(S6)、達していない場合には(S6:NO)、S
4,S5の処理を繰り返す。T=1からT=K−2まで
この処理を繰り返すことによって、m1 からmK-2 まで
が求まる。カウント値TがK−1に達した場合には、
(S6:YES)、ステップK−1を実行してmK-1
求める(S7)。
FIG. 2 is a flowchart showing a processing procedure of the sequential decoding algorithm I performed in the decoder 2. First, the counter 2a is reset, and its count value T is set to 0 (S1). Then, after the calculation of step 0 is performed to obtain m 0 (S2), the count value T is set to 1 (S3). Next, determine the m i by executing the step i (S4), increments the count value T by 1 (S5). It is determined whether or not the count value T has reached K-1 (S6), and if not, (S6: NO), S
Steps S4 and S5 are repeated. By repeating this process from T = 1 to T = K-2, it is obtained from m 1 to m K-2. When the count value T reaches K-1,
(S6: YES), step K-1 is executed to obtain mK -1 (S7).

【0034】ところで、この第1実施の形態において、
i がbi =pd というような単純な形である場合に
は、下記式(8),式(9)となるので、式(10)が成
立してPが露呈することになる。 wb0 1 …bJ /wb0 1 …bJ-1 ≡BJ /BJ-1 (mod P)…(8) wb0 1 …bJ+1 /wb0 1 …bJ ≡BJ+1 /BJ (mod P)…(9) (BJ 2 −BJ-1 J =Ng …(10) 一方、bi をpd の周辺でランダムに選んだ場合、1つ
のbi の値を総当たり的に仮定することにより、やはり
Pが露呈する。bi は64ビット程度以上に選ぶ必要があ
る。
By the way, in the first embodiment,
In the case where b i has a simple form such as b i = p d, the following equations (8) and (9) are obtained, and thus equation (10) is established and P is exposed. wb 0 b 1 ... b J / wb 0 b 1 ... b J-1 ≡B J / B J-1 (mod P) ... (8) wb 0 b 1 ... b J + 1 / wb 0 b 1 ... b J ≡B J + 1 / B J ( mod P) ... (9) (B J) 2 -B J-1 B J = Ng ... (10) on the other hand, if you choose b i randomly around the p d, Assuming a single b i value brute force also exposes P. b i must be selected to be at least about 64 bits.

【0035】この第1実施の形態は、0,1ナップザッ
ク暗号を一般化した手法として位置づけることもでき
る。即ち、mi ∈GF(2)とすれば、超増加数列{b
0 ,b 0 1 ,・・・,b0 1 …bK-1 }による0,
1ナップザック暗号に一致する。
In the first embodiment, the 0,1 nap
Cryptography can be positioned as a generalized method.
You. That is, miIf ∈GF (2), the super-increased sequence {b
0, B 0b1, ..., b0b1... bK-10 by}
It matches one knapsack cipher.

【0036】一般に超増加数列を用いた従来の積和型暗
号方式では、基数相互間に関係がなく、平文の上位桁か
ら逐次復号していく必要があり、多倍長の整数を除数と
する除算が必要であった。しかしながら、このbi 進数
を用いた本発明の方式では、下位桁から小さい整数を法
とする剰余演算及び除算を繰り返せるので、高速に復号
できることが分かる。
In general, in the conventional multiply-accumulate cryptosystem using a super-increased sequence, there is no relation between the radixes, and it is necessary to sequentially decode the upper digits of the plaintext, and the multiple-length integer is used as the divisor. Division was required. However, according to the method of the present invention using this b i- ary number, it can be seen that decoding can be performed at high speed because the remainder operation and division modulo a small integer starting from the lower digit can be repeated.

【0037】復号の更なる高速化を図れる復号手法につ
いて、以下に説明する。中間復号文Mの前半部分をML
、中間復号文Mの後半部分をBK/2 で割ったものをMR
とする。これらのML 及びMR は具体的には、式(1
1)及び式(12)で示される。なお、Kは2のべき乗数
とする。 ML =m0 0 +・・・+mK/2-1 K/2-1 …(11) MR =(mK/2 K/2 +・・・+mK-1 K-1 )/BK/2 …(12)
A decoding method capable of further increasing the decoding speed will be described below. ML is the first half of the intermediate decrypted text M
, The latter half of the intermediate decrypted text M divided by B K / 2
And Specifically, ML and MR are represented by the formula (1)
1) and Equation (12). Note that K is a power of two. ML = m 0 B 0 + ··· + m K / 2-1 B K / 2-1 ... (11) MR = (m K / 2 B K / 2 + ··· + m K-1 B K-1) / B K / 2 … (12)

【0038】このような2分割アルゴリズムと、それを
繰り返し適用した高速アルゴリズムとを以下に示す。
The two-partitioning algorithm and a high-speed algorithm obtained by repeatedly applying the two-partitioning algorithm are described below.

【0039】〔2分割アルゴリズム〕 第1ステップ ML ≡M (mod BK/2 ) 第2ステップ MR =(M−ML )/BK/2 [Divide Algorithm] First Step ML≡M (mod B K / 2 ) Second Step MR = (M−ML) / B K / 2

【0040】〔高速アルゴリズム〕ML ,MR に対して
再び2分割アルゴリズムを適用する。4分割されたメッ
セージのそれぞれに再び2分割アルゴリズムを適用す
る。このようなことを繰り返す。
[High-speed algorithm] A two-partition algorithm is applied to ML and MR again. The divide-by-two algorithm is applied to each of the divide-by-four messages. This is repeated.

【0041】このようにして、Kが2のべき乗である場
合には、特に高速な復号処理を実現でき、この高速アル
ゴリズムを適用すると、前述の逐次復号アルゴリズムと
比べて、K/ log2 K倍だけ高速に復号できる。
In this way, when K is a power of 2, particularly high-speed decoding processing can be realized, and when this high-speed algorithm is applied, K / log 2 K times as compared with the above-described sequential decoding algorithm. Can only be decoded at high speed.

【0042】例えば、bi を64ビット程度の素数とし、
K=64に選んだ場合に、暗号文Cの大きさは4166ビット
となるが、高速アルゴリズムによる復号時間は、64=2
6 であるので、K=6の場合での逐次復号アルゴリズム
による復号時間とほぼ同程度となる。即ち、約10倍高速
な復号処理を行える。なお、この場合、公開鍵サイズは
1キロビット程度であってかなり大きいが、1ギガビッ
ト/cm2 の高密度記録が可能となるような状況を考え
ると、この公開鍵サイズは実用上問題ないと言える。
For example, let b i be a prime number of about 64 bits,
When K = 64 is selected, the size of the ciphertext C is 4166 bits, but the decryption time by the high-speed algorithm is 64 = 2.
Since it is 6, it is almost the same as the decoding time by the sequential decoding algorithm when K = 6. That is, the decoding process can be performed about 10 times faster. In this case, the public key size is as large as about 1 kilobit, but considering the situation where high-density recording of 1 gigabit / cm 2 is possible, this public key size is practically acceptable. .

【0043】(第2実施の形態)第1実施の形態に乱数
を付加した第2実施の形態について説明する。第1実施
の形態では、{Bi }が超増加数列になる。よって、超
増加数列に対する攻撃法として有名なLLL(Lenatra-
Lenatra-Lovasz)法による攻撃を、第1実施の形態は受
け易いという可能性がある。そこで、第2実施の形態で
は、基数に乱数を付加する、つまり、第1実施の形態で
の基数ベクトルに乱数を掛け合わせたものを基数ベクト
ルとして使用することによって、安全性を強化する。
(Second Embodiment) A second embodiment in which random numbers are added to the first embodiment will be described. In the first embodiment, {B i } is a very increasing sequence. Therefore, LLL (Lenatra-
The first embodiment may be susceptible to attack by the Lenatra-Lovasz method. Therefore, in the second embodiment, security is enhanced by adding a random number to the radix, that is, by using the radix vector multiplied by the random number in the first embodiment as a radix vector.

【0044】秘密鍵と公開鍵とを以下のように準備す
る。 ・秘密鍵:{bi },{vi },P,w ・公開鍵:{ci } 基数Bi を式(13)のように与える。 Bi =vi 0 1 …bi …(13) ここで、式(13)で示される各Bi がほぼ同じ大きさに
なるようにvi を設定する。よって、{Bi }は超増加
数列ではなくLLL法の攻撃を受けにくい。但し、gc
d(vi ,bi+1 )=1を満たすものとする。
A secret key and a public key are prepared as follows. - secret key: {b i}, {v i}, P, w · public key: give {c i} base B i as in Equation (13). B i = v i b 0 b 1 ... B i (13) Here, v i is set so that each B i shown in Expression (13) has substantially the same size. Therefore, {B i } is not a super-incremental sequence and is not easily attacked by the LLL method. Where gc
d (v i, b i + 1) shall meet the = 1.

【0045】整数wを用いて、第1実施の形態と同様
に、公開鍵ベクトルcを以下の式(14),式(15)のよ
うに求める。 ci ≡wBi (mod P) …(14) c=(c0 ,c1 ,…,cK-1 ) …(15)
Using the integer w, the public key vector c is obtained as in the following equations (14) and (15), as in the first embodiment. c i ≡wB i (mod P) (14) c = (c 0 , c 1 ,..., c K-1 ) (15)

【0046】メッセージベクトルmと公開鍵ベクトルc
との内積により、第1実施の形態と同様に(前記式
(5))、暗号文Cを得る。
Message vector m and public key vector c
The ciphertext C is obtained in the same manner as in the first embodiment (Equation (5)) by the inner product of.

【0047】復号処理は、以下のようにして行われる。
暗号文Cに対して、中間復号文Mを式(16)のようにし
て求める。 M≡w-1C (mod P) …(16) この中間復号文Mは、具体的には式(17)として与えら
れるので、以下に示す逐次復号アルゴリズムIIによって
復号できる。 M=m0 0 0 +m1 1 0 1 +・・・+mK-1 K-1 0 1 …bK-1 …(17)
The decoding process is performed as follows.
An intermediate decryption text M is obtained from the cipher text C as in equation (16). M≡w −1 C (mod P) (16) Since this intermediate decrypted text M is specifically given as Expression (17), it can be decrypted by the sequential decoding algorithm II shown below. M = m 0 v 0 b 0 + m 1 v 1 b 0 b 1 + ··· + m K-1 v K-1 b 0 b 1 ... b K-1 ... (17)

【0048】〔逐次復号アルゴリズムII〕 ステップ0 M0 =M/b00 ≡M0 0 -1 (mod b1 ) ステップi(i=1〜K−2) Mi =(Mi-1 −mi-1 i-1 )/bii ≡Mi i -1 (mod bi+1 ) ステップK−1 MK-1 =(MK-2 −mK-2 K-2 )/bK-1K-1 =MK-1 /vK-1 [Sequential Decoding Algorithm II] Step 0 M 0 = M / b 0 m 0 ≡M 0 v 0 −1 (mod b 1 ) Step i (i = 1 to K−2) M i = (M i− 1 -m i-1 v i- 1) / b i m i ≡M i v i -1 (mod b i + 1) step K-1 M K-1 = (M K-2 -m K-2 v K-2 ) / bK - 1mK-1 = MK-1 / vK -1

【0049】なお、この逐次復号アルゴリズムIIを復号
器2で実行するフローチャートは、逐次復号アルゴリズ
ムIのフローチャート(第2図)と同様である。
The flowchart for executing the sequential decoding algorithm II in the decoder 2 is the same as the flowchart for the sequential decoding algorithm I (FIG. 2).

【0050】ここで、第2実施の形態における具体例を
示す。 ・秘密鍵 b=(1,11,13) v=(1009,131, 7) B=(1009,1441,1001) P=27481 w=739 w-1≡702 (mod P) (b1 <b2 <b3 であるので、v1 >v2 >v3 と設
定することにより、B1 ,B2 ,B3 が超増加数列にな
らないようにしている) ・公開鍵 c≡wB ≡(3664,20621, 25233) (mod P) ・暗号化 メッセージをm=(6,7,8)とする。 C=c・m =6×3664+7×20621 +8×25233 =368195 ・復号 中間復号文Mを求め、逐次復号アルゴリズムIIを用いて
復号する。M≡w-1C ≡702 ×368195 ≡24149 (mod 27481) ステップ0 M0 =24149 /1=24149 m0 ≡24149 ×1009-1≡6 (mod 11) ステップ1 M1 =(24149 −6×1009)/11=1645 m1 ≡1645×131 -1≡7 (mod 13) ステップ2 M2 =(1645−7×131 )/13=56 m2 =56/7=8 以上のようにして、メッセージm=(6,7,8)を得
る。
Here, a specific example in the second embodiment will be described.・ Secret key b = (1,11,13) v = (1009,131,7) B = (1009,1441,1001) P = 27481 w = 739 w -1 ≡702 (mod P) (b 1 <b Since 2 <b 3 , v 1 > v 2 > v 3 is set so that B 1 , B 2 , and B 3 do not become a super-increased sequence. ・ Public key c {wB} (3664 , 20621, 25233) (mod P)-Let the encrypted message be m = (6, 7, 8). C = c · m = 6 × 3664 + 7 × 20621 + 8 × 25233 = 368195 Decoding The intermediate decrypted text M is obtained and decrypted using the sequential decoding algorithm II. M≡w -1 C ≡702 × 368195 ≡24149 (mod 27481) Step 0 M 0 = 24149/1 = 24149 m 0 ≡24149 × 1009 -1 ≡6 (mod 11) Step 1 M 1 = (24149 −6 × 1009) / 11 = 1645 m 1 ≡1645 × 131 -1 ≡7 (mod 13) step 2 M 2 = (1645-7 × 131 ) / 13 = 56 m 2 = 56/7 = in the 8 above, The message m = (6, 7, 8) is obtained.

【0051】(第3実施の形態)第2実施の形態では、
基数ベクトル自体に乱数を組み込むようにしたが、第1
実施の形態と同じ基数ベクトルを使用し、暗号文Cを作
成する段階で乱数v0 ,v1 ,…,vK-1 を付加するよ
うにすることもできる。この場合の暗号文Cは、第2実
施の形態と同じ形となる。
(Third Embodiment) In the second embodiment,
The random number is incorporated into the radix vector itself.
Using the same radix vector as in the embodiment, random numbers v 0 , v 1 ,..., V K -1 can be added at the stage of generating the ciphertext C. The ciphertext C in this case has the same form as in the second embodiment.

【0052】(第4実施の形態)第1実施の形態で基数
ベクトルを多重化した第4実施の形態について説明す
る。第4実施の形態は、第1実施の形態による基数ベク
トル{Bi }を2つの法それぞれにおいて設定し、中国
人の剰余定理を利用した暗号化・復号方法である。この
第4実施の形態でも、基数ベクトル{Bi }が超増加数
列とはならず、LLL法の攻撃に強い。また、平文の桁
数を大きくできる。
(Fourth Embodiment) A fourth embodiment in which radix vectors are multiplexed in the first embodiment will be described. The fourth embodiment is an encryption / decryption method that sets a radix vector {B i } according to the first embodiment in each of two moduli and uses the Chinese remainder theorem. Also in the fourth embodiment, the radix vector {B i } does not become a super-incremental sequence, and is resistant to attacks by the LLL method. Also, the number of digits in the plaintext can be increased.

【0053】秘密鍵と公開鍵とを以下のように準備す
る。 ・秘密鍵:{bPi},{bQi},P,Q,N,w ・公開鍵:{ci } 2つの大きな素数P,Qを選択し、それらの積をNとす
る。第1実施の形態におけるK個のbi の集合を2通り
準備し、{bPi},{bQi}とする。また、それらより
生成した基数を{BPi},{BQi}とする。中国人の剰
余定理を用いて、P,Qによる余りがそれぞれBPi,B
Qiとなるような最小の整数Bi を導く。
A secret key and a public key are prepared as follows. - secret key: {b Pi}, {b Qi}, P, Q, N, w · Public Key: Select {c i} 2 two large prime numbers P, Q, to those of the product with N. A set of K b i in the first embodiment were prepared two ways, {b Pi}, and {b Qi}. The radix generated from them is {B Pi }, {B Qi }. Using the Chinese remainder theorem, the remainders of P and Q are B Pi and B
Derive the smallest integer B i such that Qi .

【0054】Nを法として、秘密の整数wを用いて、第
1実施の形態と同様に、公開鍵ベクトルcを以下の式
(18),式(19)のように求める。 ci ≡wBi (mod N) …(18) c=(c0 ,c1 ,…,cK-1 ) …(19)
Similarly to the first embodiment, the public key vector c is obtained by using the secret integer w using N as a modulus, as in the following equations (18) and (19). c i ≡wB i (mod N) (18) c = (c 0 , c 1 ,..., c K−1 ) (19)

【0055】メッセージベクトルmと公開鍵ベクトルc
との内積により、第1実施の形態と同様に(前記式
(5))、暗号文Cを得る。
Message vector m and public key vector c
The ciphertext C is obtained in the same manner as in the first embodiment (Equation (5)) by the inner product of.

【0056】復号処理は、以下のようにして行われる。
暗号文Cに対して、法P,法Qにおいて、それぞれ中間
復号文MP ,MQ を式(20),式(21)のようにして求
める。 MP ≡w-1C (mod P) …(20) MQ ≡w-1C (mod Q) …(21)
The decoding process is performed as follows.
For the ciphertext C, the intermediate decrypted texts MP and MQ are obtained as shown in Expressions (20) and (21) by the methods P and Q, respectively. M P ≡w -1 C (mod P ) ... (20) M Q ≡w -1 C (mod Q) ... (21)

【0057】各中間復号文MP ,MQ に関して、式(2
2),式(23)が成立する。 MP =m0 P0+m1 P1+・・・+mK-1 PK-1 …(22) MQ =m0 Q0+m1 Q1+・・・+mK-1 QK-1 …(23)
For each intermediate decrypted text M P , M Q , the expression (2
2), Equation (23) holds. M P = m 0 B P0 + m 1 B P1 + ... + m K-1 B PK-1 ... (22) M Q = m 0 B Q0 + m 1 B Q1 + ... + m K-1 B QK-1 …(twenty three)

【0058】MP ,MQ に対して、以下に示す逐次復号
アルゴリズムIII を適用することによって、余りのペア
(mi (p) ,mi (Q) )を導くことができる。但し、m
i は、式(24),式(25)の何れかであるとする。 mi ≡mi (p) (mod bPi+1) …(24) mi ≡mi (Q) (mod bQi+1) …(25) これらに対して中国人の剰余定理を適用すると、メッセ
ージmi <lcm(bPi +1,bQi+1)を復号することが
できる。
By applying the following sequential decoding algorithm III to M P and M Q , the remaining pairs ( mi (p) , mi (Q) ) can be derived. Where m
i is assumed to be one of Expressions (24) and (25). m i ≡m i (p) ( mod b Pi + 1) ... (24) m i ≡m i (Q) (mod b Qi + 1) ... (25) Applying the remainder theorem Chinese for these , Message m i < 1 cm (b Pi +1 , b Qi + 1 ).

【0059】〔逐次復号アルゴリズムIII 〕 ステップ0 MP0=MP /bP0Q0=MQ /bQ00 (p) ≡MP0 (mod bP1) m0 (Q) ≡MQ0 (mod bQ1) 中国人の剰余定理によりm0 を求める。 ステップi(i=1〜K−2) MPi=(MPi-1−mi-1 )/bPiQi=(MQi-1−mi-1 )/bQii (p) ≡MPi (mod bPi+1) mi (Q) ≡MQi (mod bQi+1) 中国人の剰余定理によりmi を求める。 ステップK−1 mK-1 =(MPK-2−mK-2 )/bPK-1 または mK-1 =(MQK-2−mK-2 )/bQK-1 [Sequential Decoding Algorithm III] Step 0 M P0 = M P / b P0 M Q0 = M Q / b Q0 m 0 (p) ≡M P0 (mod b P1 ) m 0 (Q) ≡M Q0 (mod b Q1 ) Find m 0 by the Chinese remainder theorem. Step i (i = 1 to K-2) M Pi = (M Pi-1 -m i-1 ) / b Pi M Qi = (M Qi-1 -m i-1 ) / b Qi m i (p) Request m i by ≡M Pi (mod b Pi + 1 ) m i (Q) ≡M Qi (mod b Qi + 1) Chinese remainder theorem. Step K-1 m K-1 = (M PK-2 -m K-2 ) / b PK-1 or m K-1 = (M QK-2 -m K-2 ) / b QK-1

【0060】ここで、第4実施の形態における具体例を
示す。 ・秘密鍵 bP =(1,11,19) bQ =(1,13,17) BP =(1,11,209) BQ =(1,13,221) B=(1,326859526, 1961157299) P=45053 Q=54833 N=2470391149 w=320718294 w-1≡1798315174 (mod N) (BP ,BQ では超増加性が見られるが、Bは超増加数
列ではない) ・公開鍵 c≡wB ≡(320718294, 1521781250, 644798264) (mod N) ・暗号化 メッセージをm=(45,67,89)とする。 C=c・m =173778712476 (メッセージの分割ビット数を11×13以下まで向上でき
る) ・復号 中間復号文MP ,MQ を求め、逐次復号アルゴリズムII
I を用いて復号する。 MP ≡w-1C≡19383 (mod 45053) MQ ≡w-1C≡20585 (mod 54833) ステップ0 MP0=19383 /1=19383 MQ0=20585 /1=20585 mP0≡19383 ≡1 (mod 11) mQ0≡20585 ≡6 (mod 13) m 0≡45 (mod 143) ステップ1 MP1=(19383 −45)/11=1758 MQ1=(20585 −45)/13=1580 mP1≡1758≡10 (mod 19) mQ1≡1580≡16 (mod 17) m1 ≡67 (mod 323) ステップ2 mP2=(1758−67)/19=89 mQ2=(1580−67)/17=89 m2 =89 以上のようにして、メッセージm=(45,67,89)を得
る。
Here, a specific example in the fourth embodiment will be described.・ Private key b P = (1,11,19) b Q = (1,13,17) BP = (1,11,209) B Q = (1,13,221) B = (1,326859526, 1961157299) P = 45053 Q = 54833 N = 2470391149 w = 320718294 w -1 7981798315174 (mod N) (B P and B Q show super-increase, but B is not a super-increase sequence) ・ Public key c {WB} (320718294, 1521781250, 644798264) (mod N)-Let the encrypted message be m = (45, 67, 89). C = c · m = 173778712476 (the number of divided bit message can be improved up to 11 × 13 or less) and decoding intermediate decrypted text M P, seek M Q, sequential decoding algorithm II
Decrypt using I. M P ≡w -1 C≡19383 (mod 45053 ) M Q ≡w -1 C≡20585 (mod 54833) Step 0 M P0 = 19383/1 = 19383 M Q0 = 20585/1 = 20585 m P0 ≡19383 ≡1 (Mod 11) m Q0 ≡20585 ≡6 (mod 13) m 0 ≡45 (mod 143) Step 1 M P1 = (19383 -45) / 11 = 1758 M Q1 = (20585 -45) / 13 = 1580 m P1 ≡1758≡10 (mod 19) m Q1 ≡1580 ≡16 (mod 17) m 1 ≡67 (mod 323) Step 2 m P2 = (1758-67) / 19 = 89 m Q2 = (1580-67) / 17 = 89 m 2 = 89 As described above, the message m = (45, 67, 89) is obtained.

【0061】なお、合成数Nを法とする第4実施の形態
のような多重化方式では、Nの素因数分解が困難である
場合、Nを公開しても安全と考えられる。よって、その
ような場合には、Nを法として求めた暗号文Cを送付す
ることにより、暗号化効率が向上する。
In a multiplexing system such as the fourth embodiment in which the number of composites N is used as a modulus, if it is difficult to decompose N into prime factors, it is considered safe to disclose N. Therefore, in such a case, the encryption efficiency is improved by transmitting the ciphertext C obtained modulo N.

【0062】(第5実施の形態)第5実施の形態は、第
4実施の形態に乱数を付加した暗号方式、言い換える
と、第2実施の形態で基数ベクトルを多重化した暗号方
式である。なお、この第5実施の形態については、前述
の第1〜第4実施の形態を参照すれば容易にその内容が
理解されるので、詳細な説明は省略する。
(Fifth Embodiment) The fifth embodiment is an encryption system in which random numbers are added to the fourth embodiment, in other words, an encryption system in which radix vectors are multiplexed in the second embodiment. Since the contents of the fifth embodiment can be easily understood by referring to the above-described first to fourth embodiments, detailed description will be omitted.

【0063】[0063]

【発明の効果】以上のように、本発明では、基数Bi
i =b0 1 …bi に設定するようにして、メッセー
ジを多進法を用いて表現するようにしたので、高速な復
号を行うことができる。この結果、積和型暗号の実用化
の道を開くことに、本発明は大いに寄与できる。
As is evident from the foregoing description, in the present invention, so as to set the base B i to B i = b 0 b 1 ... b i, since a message to be expressed using multi-numeration system, High-speed decoding can be performed. As a result, the present invention can greatly contribute to paving the way for the practical use of the product-sum encryption.

【図面の簡単な説明】[Brief description of the drawings]

【図1】2人のエンティティ間における情報の通信状態
を示す模式図である。
FIG. 1 is a schematic diagram showing a communication state of information between two entities.

【図2】本発明における復号の処理手順を示すフローチ
ャートである。
FIG. 2 is a flowchart showing a decoding processing procedure in the present invention.

【符号の説明】[Explanation of symbols]

1 暗号化器 2 復号器 3 通信路 a,b エンティティ DESCRIPTION OF SYMBOLS 1 Encryptor 2 Decryptor 3 Communication path a, b entity

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】 平文をK分割した平文ベクトルm=(m
0 ,m1 ,…,mK- 1 )と基数ベクトルB=(B0 ,B
1 ,…,BK-1 )とを用いて暗号文C=m00 +m1
1 +・・・+mK-1 K-1 を得る暗号化方法におい
て、前記Bi (0≦i≦K−1)を整数bi を用いてB
i =b0 1 …bi に設定することを特徴とする暗号化
方法。
1. A plaintext vector m = (m
0 , m 1 ,..., M K− 1 ) and the radix vector B = (B 0 , B
1, ..., B K-1 ) = m 0 ciphertext C by using a B 0 + m 1
B 1 +... + M K -1 In an encryption method for obtaining B K -1 , the above B i (0 ≦ i ≦ K−1) is calculated using an integer b i.
i = b 0 b 1 ... encryption method and setting the b i.
【請求項2】 前記Kは2のべき乗数である請求項1記
載の暗号化方法。
2. The encryption method according to claim 1, wherein said K is a power of two.
【請求項3】 請求項1によって暗号化された前記暗号
文Cを復号する復号方法であって、以下のアルゴリズム
により暗号文Cから平文ベクトルm=(m0,m1
…,mK-1 )を求めることを特徴とする復号方法。 ステップ0 C0 =C/b00 ≡C0 (mod b1 ) ステップi(i=1〜K−2) Ci =(Ci-1 −mi-1 )/bii ≡Ci (mod bi+1 ) ステップK−1 mK-1 =(CK-2 −mK-2 )/bK-1
3. A decryption method for decrypting the ciphertext C encrypted according to claim 1, wherein a plaintext vector m = (m 0 , m 1 ,
.., M K-1 ). Step 0 C 0 = C / b 0 m 0 ≡C 0 (mod b 1) Step i (i = 1~K-2) C i = (C i-1 -m i-1) / b i m i ≡ C i (mod b i + 1 ) step K−1 m K−1 = (C K−2 −m K−2 ) / b K−1
【請求項4】 平文をK分割した平文ベクトルm=(m
0 ,m1 ,…,mK- 1 )と基数ベクトルB=(B0 ,B
1 ,…,BK-1 )とを用いて暗号文C=m00 +m1
1 +・・・+mK-1 K-1 を得る暗号化方法におい
て、前記Bi (0≦i≦K−1)を整数bi ,乱数vi
を用いてBi =vi 0 1 …bi に設定することを特
徴とする暗号化方法。
4. A plaintext vector m = (m
0 , m 1 ,..., M K− 1 ) and the radix vector B = (B 0 , B
1, ..., B K-1 ) = m 0 ciphertext C by using a B 0 + m 1
B 1 + ··· + m K- 1 in the encryption process for obtaining a B K-1, wherein B i (0 ≦ i ≦ K -1) integers b i, a random number v i
Encryption method and setting the B i = v i b 0 b 1 ... b i with.
【請求項5】 乱数ベクトルv=(v0 ,v1 ,…,v
K-1 )を用いて暗号文C=m0 0 0 +m1 1 1
+・・・+mK-1 K-1 K-1 を得る請求項1記載の暗
号化方法。
5. A random number vector v = (v 0 , v 1 ,..., V
Ciphertext K-1) with a C = m 0 v 0 B 0 + m 1 v 1 B 1
The encryption method according to claim 1, wherein + ... + m K-1 v K-1 B K-1 is obtained.
【請求項6】 前記K個のbi の集合を複数組準備し、
それぞれの集合毎に暗号文を得るようにした請求項1ま
たは4記載の暗号化方法。
6. A plurality of sets of the K b i are prepared,
5. The encryption method according to claim 1, wherein a ciphertext is obtained for each set.
【請求項7】 平文をK分割した平文ベクトルm=(m
0 ,m1 ,…,mK- 1 )と基数ベクトルB=(B0 ,B
1 ,…,BK-1 )とを用いて前記平文を暗号文に変換
し、その暗号文を元の平文に変換する暗号化・復号方法
において、 前記Bi (0≦i≦K−1)を整数bi を用いてBi
0 1 …bi に設定するステップと、 w<P(P:素数)を満たすwを選択し、式(a)によ
り公開鍵ベクトルc=(c0 ,c1 ,…,cK-1 )を求
めるステップと、 ci ≡wBi (mod P) …(a) 平文ベクトルmと公開鍵ベクトルcとの内積により、式
(b)に示す暗号文Cを作成するステップと、 C=m0 0 +m1 1 +・・・+mK-1 K-1 …(b) 暗号文Cに対して、中間復号文Mを式(c)のようにし
て求めるステップと、 M≡w-1C (mod P) …(c) この中間復号文Mを以下のアルゴリズムにより復号して
平文ベクトルm=(m 0 ,m1 ,…,mK-1 )を求める
ステップと ステップ0 M0 =M/b00 ≡M0 (mod b1 ) ステップi(i=1〜K−2) Mi =(Mi-1 −mi-1 )/bii ≡Mi (mod bi+1 ) ステップK−1 mK-1 =(MK-2 −mK-2 )/bK-1 を有することを特徴とする暗号化・復号方法。
7. A plaintext vector m = (m
0, M1, ..., mK- 1) And the radix vector B = (B0, B
1, ..., BK-1) To convert the plaintext to ciphertext
Encryption / decryption method for converting the ciphertext into the original plaintext
In the above Bi(0 ≦ i ≦ K−1) is converted to an integer biUsing Bi=
b0b1... biAnd selecting w that satisfies w <P (P: prime number).
Public key vector c = (c0, C1, ..., cK-1)
And ci≡wBi (Mod P) (a) The inner product of the plaintext vector m and the public key vector c gives
Creating a ciphertext C shown in (b); C = m0c0+ M1c1+ ... + mK-1cK-1 .. (B) With respect to the ciphertext C, the intermediate decryption text M is expressed by the following equation (c).
And M ス テ ッ プ w-1C (mod P) (c) This intermediate decrypted text M is decrypted by the following algorithm.
Plaintext vector m = (m 0, M1, ..., mK-1Ask for)
Step and Step 0 M0= M / b0 m0≡M0 (Mod b1) Step i (i = 1 to K-2) Mi= (Mi-1-Mi-1) / Bi mi≡Mi (Mod bi + 1) Step K-1 mK-1= (MK-2-MK-2) / BK-1 An encryption / decryption method comprising:
【請求項8】 平文をK(Kは2のべき乗数)分割した
平文ベクトルm=(m0 ,m1 ,…,mK-1 )と基数ベ
クトルB=(B0 ,B1 ,…,BK-1 )とを用いて前記
平文を暗号文に変換し、前記暗号文を元の平文に変換す
る暗号化・復号方法において、 前記Bi (0≦i≦K−1)を整数bi を用いてBi
0 1 …bi に設定するステップと、 w<P(P:素数)を満たすwを選択し、式(d)によ
り公開鍵ベクトルc=(c0 ,c1 ,…,cK-1 )を求
めるステップと、 ci ≡wBi (mod P) …(d) 平文ベクトルmと公開鍵ベクトルcとの内積により、式
(e)に示す暗号文Cを作成するステップと、 C=m0 0 +m1 1 +・・・+mK-1 K-1 …(e) 暗号文Cに対して、中間復号文Mを式(f)のようにし
て求めるステップと、 M≡w-1C (mod P) …(f) この中間復号文Mを以下のアルゴリズムにより復号して
平文ベクトルm=(m 0 ,m1 ,…,mK-1 )を求める
ステップと 〔2分割アルゴリズム〕 第1ステップ ML ≡M (mod BK/2 ) 第2ステップ MR =(M−ML )/BK/2 〔高速アルゴリズム〕ML ,MR に対して再び2分割ア
ルゴリズムを適用する。4分割された中間復号文のそれ
ぞれに再び2分割アルゴリズムを適用する。このような
ことを繰り返すを有することを特徴とする暗号化・復号
方法。
8. The plaintext is divided into K (K is a power of 2)
Plaintext vector m = (m0, M1, ..., mK-1) And radix base
Vector B = (B0, B1, ..., BK-1) And
Convert the plaintext to ciphertext, and convert the ciphertext to the original plaintext.
In the encryption / decryption method,i(0 ≦ i ≦ K−1) is converted to an integer biUsing Bi=
b0b1... biAnd selecting w that satisfies w <P (P: prime number), and
Public key vector c = (c0, C1, ..., cK-1)
And ci≡wBi (Mod P) ... (d) The inner product of the plaintext vector m and the public key vector c gives
(E) creating a ciphertext C, C = m0c0+ M1c1+ ... + mK-1cK-1 .. (E) For the ciphertext C, the intermediate decryption text M is expressed as in equation (f).
And M ス テ ッ プ w-1C (mod P) (f) This intermediate decrypted text M is decrypted by the following algorithm.
Plaintext vector m = (m 0, M1, ..., mK-1Ask for)
Steps and [Divide Algorithm] First Step ML ≡ M (mod BK / 2) Second step MR = (ML-ML) / BK / 2 [High-speed algorithm] ML and MR are again divided into two parts.
Apply the algorithm. That of the intermediate decrypted text divided into four
The two-partition algorithm is again applied to each. like this
Encryption / decryption characterized by having a repetition of
Method.
【請求項9】 平文をK分割した平文ベクトルm=(m
0 ,m1 ,…,mK- 1 )と基数ベクトルB=(B0 ,B
1 ,…,BK-1 )とを用いて前記平文を暗号文に変換
し、前記暗号文を元の平文に変換する暗号化・復号方法
において、前記Bi (0≦i≦K−1)を式(g)にて
設定するステップと、 Bi =vi 0 1 …bi …(g) 但し、vi :乱数 bi :整数 gcd(vi ,bi+1 )=1 w<P(P:素数)を満たすwを選択し、式(h)によ
り公開鍵ベクトルc=(c0 ,c1 ,…,cK-1 )を求
めるステップと、 ci ≡wBi (mod P) …(h) 平文ベクトルmと公開鍵ベクトルcとの内積により、式
(i)に示す暗号文Cを作成するステップと、 C=m0 0 +m1 1 +・・・+mK-1 K-1 …(i) 暗号文Cに対して、中間復号文Mを式(j)のようにし
て求めるステップと、 M≡w-1C (mod P) …(j) この中間復号文Mを以下のアルゴリズムにより復号して
平文ベクトルm=(m 0 ,m1 ,…,mK-1 )を求める
ステップと ステップ0 M0 =C/b00 ≡M0 0 -1 (mod b1 ) ステップi(i=1〜K−2) Mi =(Mi-1 −mi-1 i-1 )/bii ≡Mi i -1 (mod bi+1 ) ステップK−1 MK-1 =(MK-2 −mK-2 K-2 )/bK-1K-1 =MK-1 /vK-1 を有することを特徴とする暗号化・復号方法。
9. A plaintext vector m = (m
0, M1, ..., mK- 1) And the radix vector B = (B0, B
1, ..., BK-1) To convert the plaintext to ciphertext
Encryption / decryption method for converting the ciphertext into the original plaintext
In the above Bi(0 ≦ i ≦ K−1) in equation (g)
Setting step; Bi= Vib0b1... bi ... (g) where vi: Random number bi: Integer gcd (vi, Bi + 1) = 1 Select w that satisfies w <P (P: prime number), and
Public key vector c = (c0, C1, ..., cK-1)
And ci≡wBi (Mod P) (h) The inner product of the plaintext vector m and the public key vector c gives
(C) creating a ciphertext C shown in (i);0c0+ M1c1+ ... + mK-1cK-1 .. (I) With respect to the cipher text C, the intermediate decrypted text M
And M ス テ ッ プ w-1C (mod P) (j) This intermediate decrypted text M is decrypted by the following algorithm.
Plaintext vector m = (m 0, M1, ..., mK-1Ask for)
Step and Step 0 M0= C / b0 m0≡M0v0 -1 (Mod b1) Step i (i = 1 to K-2) Mi= (Mi-1-Mi-1vi-1) / Bi mi≡Mivi -1 (Mod bi + 1) Step K-1 MK-1= (MK-2-MK-2vK-2) / BK-1 mK-1= MK-1/ VK-1 An encryption / decryption method comprising:
【請求項10】 平文をK分割した平文ベクトルm=
(m0 ,m1 ,…,m K-1 )と基数ベクトルB=
(B0 ,B1 ,…,BK-1 )とを用いて前記平文を暗号
文に変換し、前記暗号文を元の平文に変換する暗号化・
復号方法において、 素数P,Qを設定するステップと、 基数ベクトルBPi(0≦i≦K−1)を整数bPiを用い
てBPi=bP0P1…b Piに設定するステップと、 基数ベクトルBQi(0≦i≦K−1)を整数bQiを用い
てBQi=bQ0Q1…b Qiに設定するステップと、 中国人の剰余定理を用いて、P,Qによる余りがそれぞ
れBPi,BQiとなるような最小の整数Bi を導くステッ
プと、 w<N(N=PQ)を満たすwを選択し、式(k)によ
り公開鍵ベクトルc=(c0 ,c1 ,…,cK-1 )を求
めるステップと、 ci ≡wBi (mod N) …(k) 平文ベクトルmと公開鍵ベクトルcとの内積により、式
(l)に示す暗号文Cを作成するステップと、 C=m0 0 +m1 1 +・・・+mK-1 K-1 …(l) 暗号文Cに対して、法P,法Qにおいて、それぞれ中間
復号文MP ,MQ を式(m),式(n)のようにして求
めるステップと、 MP ≡w-1C (mod P) …(m) MQ ≡w-1C (mod Q) …(n) この中間復号文MP ,MQ を以下のアルゴリズムにより
復号して平文ベクトルm=(m0 ,m1 ,…,mK-1
を求めるステップと ステップ0 MP0=MP /bP0Q0=MQ /bQ00 (p) ≡MP0 (mod bP1) m0 (Q) ≡MQ0 (mod bQ1) 中国人の剰余定理によりm0 を求める。 ステップi(i=1〜K−2) MPi=(MPi-1−mi-1 )/bPiQi=(MQi-1−mi-1 )/bQii (p) ≡MPi (mod bPi+1) mi (Q) ≡MQi (mod bQi+1) 中国人の剰余定理によりmi を求める。 ステップK−1 mK-1 =(MPK-2−mK-2 )/bPK-1 または mK-1 =(MQK-2−mK-2 )/bQK-1 を有することを特徴とする暗号化・復号方法。
10. A plaintext vector m = K obtained by dividing a plaintext into K
(M0, M1, ..., m K-1) And the radix vector B =
(B0, B1, ..., BK-1) And encrypts the plaintext
To convert the ciphertext into the original plaintext.
In the decoding method, a step of setting prime numbers P and Q;Pi(0 ≦ i ≦ K−1) is converted to an integer bPiUsing
BPi= BP0bP1... b PiAnd the radix vector BQi(0 ≦ i ≦ K−1) is converted to an integer bQiUsing
BQi= BQ0bQ1... b QiAnd the remainder by P and Q using the Chinese remainder theorem
Re BPi, BQiThe smallest integer B such thatiStep leading to
And w satisfying w <N (N = PQ), and
Public key vector c = (c0, C1, ..., cK-1)
And ci≡wBi (Mod N) ... (k) The inner product of the plaintext vector m and the public key vector c gives
(C) creating a ciphertext C shown in (l);0c0+ M1c1+ ... + mK-1cK-1 ... (l) For ciphertext C, in law P and law Q, respectively
Decrypted text MP, MQIs calculated as in Equations (m) and (n).
And MP≡w-1C (mod P) ... (m) MQ≡w-1C (mod Q) ... (n) This intermediate decrypted text MP, MQBy the following algorithm
Decrypt the plaintext vector m = (m0, M1, ..., mK-1)
And step 0 MP0= MP/ BP0 MQ0= MQ/ BQ0 m0 (p)≡MP0 (Mod bP1) M0 (Q)≡MQ0 (Mod bQ1) According to the Chinese remainder theorem0Ask for. Step i (i = 1 to K-2) MPi= (MPi-1-Mi-1) / BPi MQi= (MQi-1-Mi-1) / BQi mi (p)≡MPi (Mod bPi + 1) Mi (Q)≡MQi (Mod bQi + 1) According to the Chinese remainder theoremiAsk for. Step K-1 mK-1= (MPK-2-MK-2) / BPK-1 Or mK-1= (MQK-2-MK-2) / BQK-1 An encryption / decryption method comprising:
【請求項11】 前記Nを法として前記暗号文Cを送る
ようにした請求項10記載の暗号化・復号方法。
11. The encryption / decryption method according to claim 10, wherein said ciphertext C is sent modulo N.
【請求項12】 複数のエンティティ間で暗号文による
情報通信を行う暗号通信システムにおいて、請求項1,
2,4,5または6の何れかに記載の暗号化方法を用い
て平文から暗号文を作成する暗号化器と、作成した暗号
文を一方のエンティティから他方のエンティティへ送信
する通信路と、送信された暗号文を元の平文に復号する
復号器とを備えることを特徴とする暗号通信システム。
12. A cryptographic communication system for performing information communication by ciphertext between a plurality of entities, wherein
An encryptor that creates a ciphertext from a plaintext using the encryption method described in any of 2, 4, 5, or 6, a communication path that transmits the created ciphertext from one entity to the other entity, A decryptor for decrypting the transmitted ciphertext into the original plaintext.
JP26203698A 1998-09-16 1998-09-16 Encryption communication method Expired - Fee Related JP3517731B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP26203698A JP3517731B2 (en) 1998-09-16 1998-09-16 Encryption communication method
US09/397,775 US6785388B1 (en) 1998-09-16 1999-09-16 Encryption method, decryption method, encryption/decryption method, cryptographic communications system, and computer usable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26203698A JP3517731B2 (en) 1998-09-16 1998-09-16 Encryption communication method

Publications (2)

Publication Number Publication Date
JP2000089668A true JP2000089668A (en) 2000-03-31
JP3517731B2 JP3517731B2 (en) 2004-04-12

Family

ID=17370147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26203698A Expired - Fee Related JP3517731B2 (en) 1998-09-16 1998-09-16 Encryption communication method

Country Status (1)

Country Link
JP (1) JP3517731B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990200B1 (en) 1999-11-04 2006-01-24 Murata Machinery Ltd. Encryption method, cryptographic communication method, ciphertext generating device and cryptographic communication system of public-key cryptosystem

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990200B1 (en) 1999-11-04 2006-01-24 Murata Machinery Ltd. Encryption method, cryptographic communication method, ciphertext generating device and cryptographic communication system of public-key cryptosystem

Also Published As

Publication number Publication date
JP3517731B2 (en) 2004-04-12

Similar Documents

Publication Publication Date Title
US7065210B1 (en) Secret key generation method, encryption method, cryptographic communications method, common key generator, cryptographic communications system, and recording media
CN110851845A (en) Light-weight single-user multi-data all-homomorphic data packaging method
Suguna et al. A study on symmetric and asymmetric key encryption algorithms
Aiswarya et al. Binary RSA encryption algorithm
JP3517663B2 (en) Encryption communication method and encryption communication system
CN109981254B (en) Micro public key encryption and decryption method based on finite lie type group decomposition problem
JP2001282103A (en) Ciphering method
KR100388059B1 (en) Data encryption system and its method using asymmetric key encryption algorithm
JP3517731B2 (en) Encryption communication method
JP2004246350A (en) Enciphering device, deciphering device, enciphering system equipped with the same, enciphering method, and deciphering method
US6785388B1 (en) Encryption method, decryption method, encryption/decryption method, cryptographic communications system, and computer usable medium
JP3518671B2 (en) Encryption communication method
Kumar et al. A comparative analysis of encryption algorithms for better utilization
Kumar et al. Exploration and Implementation of RSA-KEM Algorithm
Shakir Study and Design of an Encryption Algorithm for Data Transmitted Over the Network by the IDEA and RSA
JP3622072B2 (en) Encryption communication method
JPH1155244A (en) Method for restoring key and device therefor
JP3592118B2 (en) Encryption device, encryption communication method, encryption communication system, and recording medium
Srinidhi An Improved and Secured RSA algorithm using CRT for text encryption
JPH11161164A (en) Public key cipher system, ciphering device, and deciphering device
JP3464153B2 (en) Encryption communication method and encryption communication system
JP2000298432A (en) Ciphering method and deciphering method
JP2002182559A (en) Ciphering method, deciphering method, cipher communication method, cipher communication system, computer program, and recording medium
JP2001331103A (en) Encipherment method, decipherment method, enciphered communication system, enciphering device, and recording medium
JP2001092353A (en) Ciphering method, cipher communication method, and ciphered sentence generation device

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090206

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090206

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100206

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees