JP2010186075A - Integer encrypting and decoding method - Google Patents

Integer encrypting and decoding method Download PDF

Info

Publication number
JP2010186075A
JP2010186075A JP2009030444A JP2009030444A JP2010186075A JP 2010186075 A JP2010186075 A JP 2010186075A JP 2009030444 A JP2009030444 A JP 2009030444A JP 2009030444 A JP2009030444 A JP 2009030444A JP 2010186075 A JP2010186075 A JP 2010186075A
Authority
JP
Japan
Prior art keywords
integer
encryption
encrypting
substitution
decrypting
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
JP2009030444A
Other languages
Japanese (ja)
Other versions
JP5208796B2 (en
Inventor
Tatsuya Yoshino
達哉 芳野
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.)
Chugoku Electric Power Co Inc
Original Assignee
Chugoku Electric Power Co Inc
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 Chugoku Electric Power Co Inc filed Critical Chugoku Electric Power Co Inc
Priority to JP2009030444A priority Critical patent/JP5208796B2/en
Publication of JP2010186075A publication Critical patent/JP2010186075A/en
Application granted granted Critical
Publication of JP5208796B2 publication Critical patent/JP5208796B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an encrypting and decoding method of integers of high confidentiality. <P>SOLUTION: The method includes: a step of receiving an integer Xi concerning identifier information or the like referring to secrecy information as input; a step of generating two primes A and B exceeding input integer Xi by a product N, making D of the product of (A-1) and (B-1), and making K of the least common multiple of (A-1) and (B-1); a step of selecting E being a prime to D or K by using a random rule; a step of encrypting to execute residue arithmetic in a condition of generating overflow in integer operation of a computer by power (Eth power of Xi); a step of selecting F establishing E×F=m×K+1 by regarding m as an optional integer for encrypted integers; and a step of decoding in residue arithmetic of power (Fth power of Yi). <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、整数の暗号化及び復号化の方法に関する、特に、本発明は、守秘情報を参照するための識別情報等を高い秘匿性で暗号化し復号化する方法に関する。   The present invention relates to an integer encryption and decryption method, and in particular, the present invention relates to a method for encrypting and decrypting identification information and the like for referring to confidential information with high confidentiality.

従来より、法人組織等において構成員を識別するためにユニークな整数等を含む識別子を用いることが知られ、例えば国民健康保険制度等において加入者を識別するために8桁程度の数字が用いられ、又は銀行口座を識別するために銀行の支店及び口座のそれぞれに3桁から10桁程度の数字等が用いられ、あるいはクレジット会員を識別するために12桁程度の数字が用いられ、適当な区切り記号、文字列又は他の情報等を併用して、識別される本人が覚えやすい形式が適宜用いられている。
また、暗号及びデジタル署名を実現しうる方式として、桁数が大きい合成数の素因数分解問題が困難であることを安全性の根拠とした公開鍵暗号であるRSA暗号が知られている(特許文献1及び非特許文献1)。RSA暗号は、暗号化の段階においては適当な正数によるべき乗と素数2個の積を法数とする剰余演算とを用い、復号化においては当該積の素因数を要するべき乗根を用いることにより、素因数を知らなければ復号化が困難になることによって暗号の安全性を確保している。
さらに、コンピュータ・ネットワークを介する情報の送受信においてセキュリティを確保するために、暗号化、認証、改ざん検出の機能を有するSSLプロトコル等が知られている(非特許文献2)。SSLプロトコルに含まれる公開鍵証明書に基づく認証は、RSA暗号を用いうることが知られている。
Conventionally, it is known that an identifier including a unique integer is used to identify a member in a corporate organization or the like. For example, a number of about 8 digits is used to identify a subscriber in a national health insurance system or the like. Or, a bank branch and account are used to identify a bank account with a number of about 3 to 10 digits, or a number of about 12 digits is used to identify a credit member. A format that can be easily remembered by a person to be identified using a symbol, a character string, or other information is used as appropriate.
Further, as a method capable of realizing encryption and digital signature, RSA encryption, which is public key encryption based on the fact that the problem of prime factorization of a composite number with a large number of digits is difficult, is known (Patent Literature). 1 and Non-Patent Document 1). The RSA cipher uses a power of an appropriate positive number in the encryption stage and a remainder operation that uses a product of two prime numbers as a modulus, and uses a power root that requires a prime factor of the product in decryption. If the prime factor is not known, decryption becomes difficult, and thus the security of the encryption is ensured.
Furthermore, in order to ensure security in the transmission and reception of information via a computer network, an SSL protocol having encryption, authentication, and alteration detection functions is known (Non-Patent Document 2). It is known that the authentication based on the public key certificate included in the SSL protocol can use the RSA encryption.

米国特許第4405829号明細書U.S. Pat. No. 4,405,829

「RSA暗号」[online]、平成20年6月12日、[平成20年7月30日検索]、インターネット、<URL:http://ja.wikipedia.org/wiki/RSA%E6%9A%97%E5%8F%B7>“RSA encryption” [online], June 12, 2008, [July 30, 2008 search], Internet, <URL: http: // ja. wikipedia. org / wiki / RSA% E6% 9A% 97% E5% 8F% B7> 「Secure Sockets Layer」[online]、平成20年7月29日、[平成20年7月30日検索]、インターネット、<URL:http://ja.wikipedia.org/wiki/Secure_Sockets_Layer>“Secure Sockets Layer” [online], July 29, 2008, [July 30, 2008 search], Internet, <URL: http: // ja. wikipedia. org / wiki / Secure_Sockets_Layer>

しかし、従来技術又は従来技術の組み合わせにおいては、暗号化前の数字又は文字と、復号化後の数字又は文字の形式との組み合わせ等を手がかりとして、公開鍵と対をなす秘密鍵が解読されると、同じ公開鍵及び秘密鍵の組み合わせを用いる暗号は全て解読可能になるという弱点があった。RSA暗号においては素因数を特定するまでの所用時間の長さを暗号の安全性の根拠としていることから、解読に用いるコンピュータ機器等を高性能化することにより、一定の解読手法であってもより短時間で解読されて秘匿情報が漏洩する可能性が高まるという問題があった。
また、RSA暗号化等の公開鍵暗号化方式においては、元の情報と暗号化した情報との組み合わせが第三者に漏洩すると、当該組み合わせを手がかりとして暗号化及び復号化のための鍵を解析される可能性があった。
さらに、音声による通話又は印刷物等の文書を介する情報の漏洩においては、コンピュータ・ネットワークを用いて伝達される情報に対するSSLプロトコル等のセキュリティ技術では対応できないため、音声又は文書等を含む多様な形態で個人情報を隠蔽しうる方法が必要であった。
However, in the prior art or a combination of the prior arts, the secret key paired with the public key is decrypted using the combination of the number or characters before encryption and the number or character format after decryption as a clue. However, all ciphers that use the same combination of public and private keys have the weakness of being decipherable. In RSA cryptography, the length of time required to specify a prime factor is the basis of the security of the cryptography. Therefore, by improving the performance of computer equipment and the like used for decryption, even with a certain decryption technique, There has been a problem that the possibility of leaking confidential information increases in a short time.
In addition, in a public key encryption method such as RSA encryption, when the combination of the original information and the encrypted information is leaked to a third party, the key for encryption and decryption is analyzed using the combination as a clue. There was a possibility.
In addition, information leakage via voice calls or documents such as printed materials cannot be handled by security technology such as SSL protocol for information transmitted using a computer network. Therefore, in various forms including voice or documents. There was a need for a way to conceal personal information.

本発明は、暗号化及び復号化の諸段階の実施に要する処理時間は従来技術とほぼ同等のまま、乱数等のランダムな規則に基づいて暗号化のための鍵を選択し、同じ鍵が繰り返して用いられないようにすることにより、鍵を作成した時点の情報をもたなければ復号化が不可能となる手順を用い、解読を飛躍的に困難にする方法を提供することを目的とする。本発明は、公開鍵暗号方式だけでは暗号化が不十分な数字に対しても、秘匿性の高い情報の変換を実施できることを目的とする。これらによって、本発明は、コンピュータ・ネットワークを含む情報通信を介して送受信される個人情報等のセキュリティを確保することを目的とする。また、本発明は、コンピュータ・ネットワーク、音声、又は文書等の多様な形態で送受信しうる暗号化された情報を、同一の識別番号等から生成することを目的とする。   The present invention selects a key for encryption based on a random rule such as a random number while the processing time required for performing the steps of encryption and decryption is substantially the same as the prior art, and the same key is repeated. The purpose is to provide a method that makes decryption extremely difficult by using a procedure that cannot be decrypted without the information at the time the key was created. . It is an object of the present invention to perform highly confidential information conversion even for numbers that are insufficiently encrypted only by public key cryptography. Accordingly, an object of the present invention is to ensure the security of personal information transmitted and received through information communication including a computer network. It is another object of the present invention to generate encrypted information that can be transmitted and received in various forms such as a computer network, voice, or document from the same identification number.

本発明者は、計算過程において計算機が桁あふれを生じるような大きな数を意図的に発生する計算手順を用い、所定の手順で桁あふれを回避して暗号化及び復号化を実施することにより、個人情報を秘匿する方法を見出した(特願2008−244761)。さらに、本発明者は、乱数等のランダムな規則に基づいて鍵を選択することにより、第三者には同一の鍵の組み合わせが作成しえない方法を導入して秘匿性を飛躍的に向上しうることを見出したことにより、本発明を完成するに至った。
本発明では、以下のような解決手段を提供する。
The inventor uses a calculation procedure in which a computer intentionally generates a large number that causes overflow in the calculation process, and performs encryption and decryption while avoiding overflow in a predetermined procedure. A method for concealing personal information has been found (Japanese Patent Application No. 2008-244761). Furthermore, the present inventor introduced a method in which the same key combination cannot be created by a third party by selecting a key based on a random rule such as a random number, thereby dramatically improving confidentiality. As a result, the present invention has been completed.
The present invention provides the following solutions.

(1) 整数Xiを暗号化し復号化する方法であって、暗号化のための鍵をランダムな規則により選択するステップと、積NがXiを超える2つの素数A及びBを生成するステップと、(A−1)と(B−1)との積をDとし、(A−1)と(B−1)の最小公倍数をKとし、D又はKと素である数をEとして、次式において項XiのE乗が計算手段の整数演算に桁あふれを発生する条件で、次式の展開形を用いて整数Xiを変換した整数Yiを生成するステップと、

Figure 2010186075
mを任意の整数として次式を成立するFを用意するステップと、
Figure 2010186075
次式を用いて変換した整数Yiを整数Xnに復号化するステップと、
Figure 2010186075
を含み、式中、Eは暗号化のための鍵をランダムな規則により選択するステップにより選択される、整数を暗号化し復号化する方法。 (1) A method of encrypting and decrypting an integer Xi, the step of selecting a key for encryption according to a random rule, and the step of generating two prime numbers A and B having a product N exceeding Xi; The product of (A-1) and (B-1) is D, the least common multiple of (A-1) and (B-1) is K, and D or a number that is prime with K is E. Generating an integer Yi obtained by converting the integer Xi using the expansion form of the following equation under the condition that the power of the term Xi to the E power causes an overflow in the integer operation of the calculation means:
Figure 2010186075
preparing F satisfying the following expression where m is an arbitrary integer;
Figure 2010186075
Decoding the integer Yi converted using the following equation into an integer Xn;
Figure 2010186075
A method for encrypting and decrypting an integer, wherein E is selected by selecting a key for encryption according to a random rule.

本発明の暗号化及び復号化方法においては、整数演算を実施可能なコンピュータ装置等を用い、整数を入力して暗号化した整数を生成し、当該生成した暗号化した整数を復号化することにより、入力した整数を復元しうる。
入力に用いる整数は、コンピュータ処理可能な整数であればよく、文字又は画像等から可逆的に変換された整数でもよい。例えば、コンピュータ処理可能な文字のそれぞれに割り当てられた文字コード等を1桁、2桁又は4桁等の16進数の整数として扱ってもよい。また、例えば、英字アルファベットに含まれる26個の文字を、26進数を表す1桁の整数として扱ってもよい。また、例えば、コンピュータ処理可能な画像に含まれる個々の画素を、RGB各8ビットの整数の一組とする24ビットの2進数の整数として扱ってもよい。
一実施形態において、構成員の識別番号等の個人情報は、コンピュータ処理可能な整数に可逆的に変換され、本発明の整数を暗号化し復号化する方法の入力に用いられる。
In the encryption and decryption method of the present invention, by using a computer device or the like capable of performing integer operations, an integer is input to generate an encrypted integer, and the generated encrypted integer is decrypted. The input integer can be restored.
The integer used for input may be an integer that can be processed by a computer, and may be an integer reversibly converted from a character or an image. For example, a character code or the like assigned to each computer-processable character may be handled as a hexadecimal integer such as 1 digit, 2 digits, or 4 digits. Further, for example, 26 characters included in an alphabetic alphabet may be handled as a single digit integer representing a 26-digit number. Further, for example, each pixel included in an image that can be processed by a computer may be treated as a 24-bit binary integer that is a set of 8-bit RGB RGB integers.
In one embodiment, personal information, such as a member's identification number, is reversibly converted to a computer-processable integer and used to input the method for encrypting and decrypting the integer of the present invention.

本発明に係る素数A及びBの組み合わせは、積NがXiを超え、和が最も小さくなる組み合わせとなるように選択してもよい。このようにすることで、素数A及びBの組み合わせを限られた範囲の素数として、後続の諸段階の計算に要する計算機のリソースの膨大化を抑制し、効率的な暗号化及び複合化の計算を実施することが可能になる。   The combination of prime numbers A and B according to the present invention may be selected such that the product N exceeds Xi and the sum is the smallest. In this way, the combination of the prime numbers A and B is set to a limited range of prime numbers, and the enormous amount of computer resources required for the subsequent calculations is suppressed, and efficient encryption and decryption calculations are performed. Can be carried out.

本発明に係る暗号化及び復号化の鍵はいずれも整数でありうる。換言すれば、整数として扱うことが可能な情報を、本発明に係る暗号化及び復号化の鍵として用いうる。例えば、文字コード等を用いて特定の文字情報と可逆的に対応する整数を、本発明に係る暗号化及び復号化の鍵として用いてもよく、文字コードに限定せずに整数との関連づけが可能な情報を用いてもよい。
本発明に係る暗号化の鍵を選択するためのランダムな規則は、乱数の発生等を含むランダムな規則を用いることが可能である。例えば、整数の乱数を発生するためのコンピュータ・プログラムを用いて得られる整数を、本発明に係る暗号化の鍵として用いてもよい。これに限定せず、乱数賽等の機構、任意の時刻における電気的雑音の強度と関連づけた数値等をランダムな規則として、これらのランダムな規則に基づいて整数を選択して用いてもよい。
具体的には、本発明に係る整数を暗号化する方法においては、式(I)に含まれる整数Eは、ランダムな規則に基づいて選択されうる。また、本発明に係る整数を復号化する方法においては、式(II)により整数Eと関連づけられる整数Fが選択されうる。
本発明に係る整数を暗号化する方法においては、このランダムな規則による整数Eの選択により、整数Fも選択される。すなわち、本発明に係る任意の時点におけるべき剰余の計算において選択される一対の整数E及び整数Fは、他のべき剰余の計算中に選択された他の一対の整数E及び整数Fとは関連性のない整数でありうる。従って、本発明に係る暗号化及び復号化に用いられる整数E及び整数Fの正しい値を用いることのない第三者に対して、本発明は極めて高い秘匿性を提供することが可能になる。
Both encryption and decryption keys according to the present invention may be integers. In other words, information that can be handled as an integer can be used as a key for encryption and decryption according to the present invention. For example, an integer reversibly corresponding to specific character information using a character code or the like may be used as an encryption and decryption key according to the present invention, and the association with the integer is not limited to the character code. Possible information may be used.
As a random rule for selecting an encryption key according to the present invention, a random rule including generation of a random number or the like can be used. For example, an integer obtained by using a computer program for generating an integer random number may be used as the encryption key according to the present invention. The present invention is not limited to this, and a mechanism such as a random number 、 or a numerical value associated with the intensity of electrical noise at an arbitrary time may be used as a random rule, and an integer may be selected and used based on these random rules.
Specifically, in the method for encrypting an integer according to the present invention, the integer E included in the formula (I) can be selected based on a random rule. Also, in the method for decoding an integer according to the present invention, an integer F associated with the integer E can be selected according to equation (II).
In the method of encrypting an integer according to the present invention, the integer F is also selected by selecting the integer E according to this random rule. That is, the pair of integers E and F selected in the calculation of the power residue at any point in time according to the present invention is related to the other pair of integers E and F selected during the calculation of the other power residue. It can be an inexact integer. Therefore, the present invention can provide extremely high confidentiality to a third party who does not use the correct values of the integer E and the integer F used for encryption and decryption according to the present invention.

本発明の暗号化及び復号化方法に係る計算手段は、コンピュータに整数演算を実施させるプログラム等であり、アセンブラ又はコンパイラ等により生成された、インタープリタ等により変換された、あるいはスクリプト又はスプレッドシート等が内蔵する計算ルーチンにより呼び出される機械語プログラム等でありうる。
一実施形態において、桁あふれは、コンピュータが備える中央演算ユニット(CPU)の演算レジスタに発生しうる。従って、特定のCPUが有する演算レジスタの桁数に従って、有効な桁数の整数演算が実施されうる。例えば、レジスタ長が16ビットのCPUの場合、整数演算に用いうる整数は、例えば符号なし16ビット整数として、10進数の0〜65535の範囲である。レジスタ長が32ビットのCPUの場合は、同様に符号なし32ビット整数として、10進数の0〜4294967295の範囲である。
別の実施形態において、桁あふれは、インタープリタ、スクリプト又はスプレッドシート等が整数演算のために用意する内部関数において発生しうる。従って、特定のインタープリタ、スクリプト又はスプレッドシート等が有する内部関数が表現可能な整数の桁数に従って、有効な桁数の整数演算が実施されうる。例えば、特定のコンパイラ等において符号なし16ビット整数の型が定義された変数が表しうる整数は、10進数の0〜65535の範囲である。
The calculation means according to the encryption and decryption method of the present invention is a program or the like that causes a computer to perform integer arithmetic, and is generated by an assembler or compiler, converted by an interpreter, or a script or spreadsheet. It can be a machine language program called by a built-in calculation routine.
In one embodiment, overflow may occur in the arithmetic register of a central processing unit (CPU) included in the computer. Therefore, an integer operation with an effective number of digits can be performed in accordance with the number of digits in the operation register of a specific CPU. For example, in the case of a CPU having a register length of 16 bits, integers that can be used for integer operations are in the range of decimal numbers 0 to 65535, for example, as unsigned 16-bit integers. In the case of a CPU having a register length of 32 bits, similarly, an unsigned 32-bit integer is in the range of decimal 0 to 4294967295.
In another embodiment, overflow can occur in an internal function that an interpreter, script, spreadsheet, etc. provides for integer arithmetic. Therefore, an integer operation with an effective number of digits can be performed in accordance with the number of digits of an integer that can be represented by an internal function of a specific interpreter, script, spreadsheet, or the like. For example, an integer that can be represented by a variable in which a type of an unsigned 16-bit integer is defined in a specific compiler or the like is in the range of 0 to 65535 in decimal.

本発明の方法においては、式(I)で表されるべき乗の計算において、上述の桁あふれを含む任意の桁あふれを発生するよう、整数Eの範囲を選択する。桁あふれは、例えばCPU内部における整数演算中の桁あふれの発生の検出、又はコンパイラ等が適宜備える整数演算ライブラリに含まれる桁あふれに対するエラー処理ルーチン等の、当技術分野に公知の手法を用いて検出しうる。さらに、本発明の方法においては、当該範囲からランダムな規則により整数Eを選択する。   In the method of the present invention, the range of the integer E is selected so as to generate an arbitrary overflow including the above-mentioned overflow in the power calculation represented by the formula (I). The overflow is performed using a method known in the art, such as detection of occurrence of overflow during integer arithmetic in the CPU, or an error processing routine for overflow that is included in the integer arithmetic library appropriately provided in a compiler or the like. It can be detected. Furthermore, in the method of the present invention, the integer E is selected from the range according to a random rule.

本発明に係る暗号化及び復号化の方法に用いる展開形は、上述のように桁あふれを発生する条件を満たし、かつランダムな規則により選択された整数Eを用いて、整数のべき乗を代替する計算法を含む。具体的には、直接に式(I)を用いる代わりに、式(I)の項XiのE乗における桁あふれを回避するために、当該項を複数の整数の積で表す公知の手法を用いうるが、これに限定しない。

Figure 2010186075
式中、sは0<s<Eを満たす整数である。展開した右辺のいずれかの項が桁あふれを発生する場合は適宜さらにその項を展開してもよい。式(IV)のような展開形は整数sの選択に計算回数が依存しうる。このように得られたYiは、元のXiを暗号化した整数でありうる。 The expanded form used in the encryption and decryption method according to the present invention replaces the power of an integer by using an integer E that satisfies the condition for causing overflow as described above and is selected according to a random rule. Includes calculation methods. Specifically, instead of using the formula (I) directly, in order to avoid overflow in the E power of the term Xi in the formula (I), a known method of expressing the term as a product of a plurality of integers is used. Yes, but not limited to this.
Figure 2010186075
In the formula, s is an integer satisfying 0 <s <E. When any term on the expanded right side overflows, the term may be further expanded as appropriate. In the expanded form such as the formula (IV), the number of calculations can depend on the selection of the integer s. Yi thus obtained may be an integer obtained by encrypting the original Xi.

また、本発明に係る整数を暗号化し復号化する方法において、式(II)で表される整数Fは、任意のmを含んで選択された素数A及びBに基づいて生成しうる右辺の式(m×K+1)の因数である整数の集合から選択されうるものであれば何でもよい。整数E及びFの対は、当業に公知の公開鍵暗号化技術における公開鍵及び秘密鍵の対として扱ってもよい。   In the method of encrypting and decrypting an integer according to the present invention, the integer F represented by the formula (II) is an expression on the right side that can be generated based on the prime numbers A and B selected including any m. Anything can be used as long as it can be selected from a set of integers that are factors of (m × K + 1). The pair of integers E and F may be treated as a public key and private key pair in public key encryption technology known to those skilled in the art.

(2) さらに、換字式暗号化を用いて整数を換字暗号した整数に変換するステップと、換字式復号化を用いて換字暗号した整数を復号化するステップと、を含む、(1)に記載の整数を暗号化し復号化する方法。 (2) The method further includes a step of converting an integer into a substitution-encrypted integer using substitution-type encryption, and a step of decrypting the substitution-encrypted integer using substitution-type decoding. To encrypt and decrypt integers.

本発明の方法に係る、換字式暗号化を用いて整数を換字暗号した整数に変換するステップにおいては、入力の整数の数値又は記数法における桁の数字に対して換字暗号が実施される。好適な換字式暗号化はシーザー暗号化であるが、これに限定しない。例えば、整数Yiを換字暗号して整数Ziに換字式暗号化することにおいて、次式のような変換を用いうる。

Figure 2010186075
式中、Rは換字式暗号化の鍵として用いる整数であり、Rot()は鍵Rを用いて整数Yiを換字式暗号化する関数である。Rot()は、十進法等の記数法を用いて整数Yiを記述して得られる数字の並びを文字列として扱う、公知のシーザー暗号化を用いることができる。例えば、シーザー暗号化における鍵Rを整数3として、十進数の数字1文字からなる集合{0,1,2,3,4,5,6,7,8,9}の各要素に鍵Rを加算し、集合{3,4,5,6,7,8,9,0,1,2}の各要素を同一の順番で対応させて換字することが可能である。あるいは、シーザー暗号化とは異なって、鍵Rはランダムな順序を用いる情報又は所定の数字の並び方の情報等と関連づけ、対応させる集合はランダムな順序又は所定の数字の並び方でもよい。またあるいは、元の集合の一部の要素に対して鍵Rを用いる換字式暗号化を実施してもよく、当該一部の要素の選択には乱数を用いてもよく、当該一部の要素以外の残りの要素に対して公開鍵暗号化を含む任意の暗号化を実施してもよい。これらに限定せず、記数法の桁の数字を予め用意した規則に従って、可逆的かつ一対一に対応するように換字し、整数Yiを整数Ziに変換してもよい。これらの換字式暗号化は、ループカウンタLに依存せずに毎回実施してもよく、ループカウンタLに依存して、初回のみ又は偶数回のみ等、Lの所定の値に基づいて実施してもよく、適宜設計しうる。 In the step of converting an integer into a substitution-encrypted integer using substitution encryption according to the method of the present invention, substitution cryptography is performed on the input integer value or digit number in the notation system. A preferred substitution encryption is Caesar encryption, but is not limited thereto. For example, in the substitution encryption of the integer Yi and the substitution encryption to the integer Zi, the following transformation can be used.
Figure 2010186075
In the equation, R is an integer used as a key for substitution encryption, and Rot () is a function for substitution-encrypting the integer Yi using the key R. Rot () can use a known Caesar encryption that handles a sequence of numbers obtained by describing an integer Yi using a notation system such as a decimal system as a character string. For example, assuming that the key R in Caesar encryption is an integer 3, the key R is assigned to each element of the set {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} consisting of one decimal digit. It is possible to add and replace each element of the set {3, 4, 5, 6, 7, 8, 9, 0, 1, 2} in the same order. Alternatively, unlike Caesar encryption, the key R may be associated with information using a random order or information on how to arrange a predetermined number, and the corresponding set may be in a random order or a predetermined number. Alternatively, substitution encryption using the key R may be performed on a part of the elements of the original set, and a random number may be used to select the part of the elements. Arbitrary encryption including public key encryption may be performed on the remaining elements other than. However, the present invention is not limited to this, and the integer Yi may be converted to the integer Zi by reversibly converting the numbers in the numeration system so as to correspond to each other in a one-to-one correspondence according to a rule prepared in advance. These substitutional encryption may be performed every time without depending on the loop counter L, and depending on the loop counter L, it may be performed based on a predetermined value of L, such as only the first time or only even times. It can be designed as appropriate.

さらに、本発明の方法に係る、換字式復号化を用いて換字暗号した整数を復号化するステップにおいては、前述の換字式暗号化を用いて変換された整数から、変換前の整数が復号化される。例えば、変換された整数Ziから元の整数Yiを復号化する場合に、次式に示す換字式復号化を用いうる。

Figure 2010186075
式中、Rot−1()は、換字式暗号化により生成した整数Ziに対して、暗号化の鍵Rを用いて元の整数Yiに復号化する関数である。 Further, in the step of decrypting a substitution-encrypted integer using substitution decoding according to the method of the present invention, the integer before conversion is decrypted from the integer transformed using the substitution encryption described above. Is done. For example, when decoding the original integer Yi from the converted integer Zi, the substitution decoding shown in the following equation can be used.
Figure 2010186075
In the equation, Rot −1 () is a function for decrypting the integer Zi generated by the substitution encryption into the original integer Yi using the encryption key R.

本発明の方法は、暗号化において上述のべき剰余を用いる暗号化及び換字式暗号化の両者を用い、復号化においてこれらの両者を逆順で用いる。それぞれの暗号化の順序は何でもよく、暗号化において先に換字式暗号化を実施した後にべき剰余を用いる暗号化を実施してもよく、これらを入れ替えて暗号化してもよい。復号化は、対応する暗号化に含まれる換字式又はべき剰余による暗号化の手順を逆順で実施すればよい。   The method of the present invention uses both encryption using the above power residue and substitutional encryption in encryption, and uses both in reverse order in decryption. The order of each encryption may be any, and after performing substitution-type encryption in the encryption, encryption using a power residue may be performed, or these may be replaced and encrypted. Decryption may be performed in the reverse order by the substitution procedure included in the corresponding encryption or by the power residue.

本発明に係る整数を暗号化し復号化する方法においては、桁あふれを発生する条件で式(I)の整数Eを選択するため、本発明の方法を用いないコンピュータ装置等においては暗号化した整数Yiを正確に得ることができず、情報秘匿性の高い暗号化を実施することが可能になる。また、同じ方法を用いて暗号化を繰り返すことは、他の鍵による1回の暗号化と等価でありうるが、本発明においてはべき剰余と異なる方法である換字式暗号化を含み、これらを重畳することで互いに独立した暗号化を多重に用いることになり、元の情報を飛躍的に解読困難とすることができる。すなわち、Fが第三者に知られにくいこと、換字式暗号化及びべき剰余を用いる暗号化が独立して繰り返し用いられうることによる解読の困難さに基づいて、本発明においては高いセキュリティを確保しうる。重畳及び繰り返しの詳細は後述する。   In the method for encrypting and decrypting an integer according to the present invention, since the integer E of the formula (I) is selected under the condition that overflow occurs, the encrypted integer is used in a computer apparatus or the like that does not use the method of the present invention. Yi cannot be obtained accurately, and encryption with high information confidentiality can be performed. Further, repeating the encryption using the same method may be equivalent to one-time encryption using another key, but in the present invention, includes substitution-type encryption which is a method different from the power residue, By superimposing, multiple independent encryptions are used, and the original information can be remarkably difficult to decipher. That is, high security is ensured in the present invention based on the difficulty of deciphering because F is difficult to be known by a third party and substitution encryption and encryption using a power residue can be repeatedly used independently. Yes. Details of superposition and repetition will be described later.

また、本発明に係る整数を暗号化し復号化する方法においては、べき剰余による暗号化において特異点である0、1及びNに対しても、これらの整数を換字式暗号化によって他の整数に変換することにより、べき剰余の特異点ではない整数に暗号化することが可能になる。すなわち、本発明に係る方法においては、従来技術における特異点を元の整数に含んでもよく、第三者による解読の手がかりとなりうる特異点がないことから、より高い秘匿性を提供することが可能になる。   Further, in the method for encrypting and decrypting integers according to the present invention, these integers are also converted into other integers by substitution encryption for 0, 1 and N which are singular points in power residue encryption. By converting, it becomes possible to encrypt to an integer that is not a singular point of a power residue. That is, in the method according to the present invention, the singular point in the prior art may be included in the original integer, and since there is no singular point that can be used as a clue by a third party, higher confidentiality can be provided. become.

さらに、本発明に係る整数を暗号化し復号化する方法において、べき剰余による暗号化において0、1及びNが特異点であることを利用し、これら以外の整数に対して換字式暗号化を実施してもよい。具体的には、整数Nに対して、0、1又はNのいずれかを含まない範囲の整数の各桁を換字式暗号化してもよい。従って、「1以上N以下」、「2以上N以下」、「1以上(N−1)以下」、又は「2以上(N−1)」以下のいずれかの範囲の整数から、換字式暗号化及び複合化する整数を選択してもよい。このようにすることで、本発明に係る整数を暗号化し復号化する方法は、0、1及びNをべき剰余による暗号化の特異点としたまま、換字式暗号化及び複合化の範囲を選択することにより、第三者による解読をさらに困難にすることが可能である。
これらの4通りの範囲に加えて、「0以上N以下」及び「0以上(N−1)以下」の範囲は、前述の特異点に対する換字式暗号化及び復号化の実施に含まれうる。本発明に係る換字式暗号化及び復号化の範囲の選択は、これらの6通りの範囲のいずれかでもよく、例えば、「(N−3)以上N以下」等のより狭い範囲でもよく、適宜設計しうる。
Furthermore, in the method for encrypting and decrypting integers according to the present invention, subscript encryption is performed on integers other than these, utilizing the fact that 0, 1 and N are singular points in power residue encryption. May be. Specifically, each integer digit in a range not including any of 0, 1, or N may be substituted for the integer N. Accordingly, the substitution cipher from an integer in the range of “1 or more and N or less”, “2 or more and N or less”, “1 or more (N-1) or less”, or “2 or more (N-1)” or less. An integer to be converted and combined may be selected. In this way, the method of encrypting and decrypting integers according to the present invention selects the range of substitutional encryption and decryption while keeping 0, 1 and N as singular points of encryption with a power residue. By doing so, it is possible to make the decryption by a third party more difficult.
In addition to these four ranges, ranges of “0 or more and N or less” and “0 or more and (N−1) or less” can be included in the implementation of substitutional encryption and decryption for the singular points. The selection of the range of substitutional encryption and decryption according to the present invention may be any of these six ranges, for example, a narrower range such as “(N−3) or more and N or less”, and the like. Can be designed.

(3) 換字式暗号化の鍵は、ランダムな規則により選択される整数である、(2)に記載の整数を暗号化し復号化する方法。 (3) The method of encrypting and decrypting the integer according to (2), wherein the substitution encryption key is an integer selected according to a random rule.

換字式暗号化の鍵Rは、第三者による暗号の解読に用いられる可能性又は危険性が伴う情報であり、本発明により暗号化される整数又は暗号化した整数を含む何らかの情報から推測されないことが望ましい。そこで、本発明に係る整数を暗号化し復号化する方法においては、換字式暗号化の鍵Rを、ランダムに発生した整数に基づいて選択することにより、第三者による暗号の解読を困難としうる。   The substitution encryption key R is information with the possibility or danger of being used for decryption by a third party, and is not inferred from any information including an integer encrypted by the present invention or an encrypted integer. It is desirable. Therefore, in the method for encrypting and decrypting an integer according to the present invention, it is possible to make it difficult for a third party to decrypt the encryption by selecting a substitution encryption key R based on a randomly generated integer. .

一実施形態において、換字式暗号化の鍵Rは、予め素数の集合等を用意し、この集合の要素を順番付けし、最大の順番の数字以下の整数の乱数を発生させ、発生した乱数を順番として有する要素として選択することができる。別の実施形態において、換字式暗号化の鍵Rは、暗号化される整数以下の整数の乱数を発生させ、発生した乱数との差が最も小さい素数から選択することができる。他の変数の値を選択することについても同様である。またこれらの選択の手順に限らず、発生した乱数との関連づけが可能な選択の手順により、上記の変数の値を選択してもよい。このようにすることで、本発明に係る整数を暗号化し復号化する方法においては、第三者による暗号の解読をさらに困難としうる。   In one embodiment, the substitution encryption key R prepares a set of prime numbers in advance, orders the elements of this set, generates an integer random number less than the maximum order number, and generates the generated random number. It can be selected as an element having an order. In another embodiment, the substitution encryption key R generates an integer random number less than or equal to the integer to be encrypted, and can be selected from prime numbers having the smallest difference from the generated random number. The same applies to selecting values for other variables. The values of the variables may be selected not only by these selection procedures but also by a selection procedure that can be associated with the generated random number. By doing so, in the method for encrypting and decrypting integers according to the present invention, it is possible to make it more difficult for a third party to decrypt the encryption.

(4) 展開形を用いて整数Xiを整数Yiに変換した後に、換字式暗号化を用いて整数Yiを整数Ziに変換する、べき剰余と換字とを連続する暗号化ステップと、換字式復号化を用いて整数Ziを整数Yiに復号化した後に、整数YiをXnに復号化する、換字とべき剰余とを連続する復号化ステップと、を含む、(2)に記載の整数を暗号化し復号化する方法。 (4) After converting the integer Xi to the integer Yi using the expanded form, the integer Yi is converted to the integer Zi using the substitution encryption, an encryption step in which the power residue and the substitution are continuous, and the substitution decryption And decrypting the integer Yi into an integer Yi using the conversion, then decrypting the integer Yi into Xn, and decrypting the substitution and the power residue in succession, and encrypting the integer according to (2) How to decrypt.

このようにすることで、本発明に係る整数を暗号化する方法においては、異なる暗号化の方法を連続することにより、同じ暗号化の方法の繰り返しからは得られない、より秘匿性の高い暗号化が可能になる。本発明に係る整数を復号化する方法においても、対応する暗号化の手順を知らなければ正確な復号化ができないため、第三者による解読にはより多くの手間を必要とする。従って、本発明に係る整数を暗号化し復号化する方法においては、元の整数に対して極めて高い秘匿性を与えることが可能になる。   In this way, in the method for encrypting integers according to the present invention, by using different encryption methods in succession, it is possible to obtain a more confidential encryption that cannot be obtained by repeating the same encryption method. Can be realized. Even in the method for decrypting an integer according to the present invention, since accurate decryption cannot be performed without knowing the corresponding encryption procedure, more labor is required for decryption by a third party. Therefore, in the method for encrypting and decrypting an integer according to the present invention, it is possible to give extremely high confidentiality to the original integer.

(5) べき剰余と換字とを連続する暗号化ステップ、及び換字とべき剰余とを連続する復号化ステップは、少なくとも2以上の同一の回数実施される、(4)に記載の整数を暗号化し復号化する方法。 (5) The step of encrypting the power residue and the substitution and the step of decoding the substitution of the substitution and the power residue are performed at least two times, and the integer described in (4) is encrypted. How to decrypt.

このようにすることで、暗号化ステップにおいては、べき剰余と換字とが交互に繰り返される。隣接する暗号化の方法は互いに異なるので、それぞれの暗号化は互いに独立して実施される。すなわち、隣接する二つの暗号化は、等価な一つのべき剰余又は換字式暗号化と置き換えることはできないので、本発明に係る連続する暗号化ステップを用いて暗号化した整数は、第三者による解読により多くの手間を必要とする。同様に、連続する復号化ステップにおける隣接する二つの復号化は、等価な一つのべき剰余又は換字式暗号化と置き換えることはできないため、本発明に係る整数を暗号化し復号化する方法においては、元の整数に対して極めて高い秘匿性を与えることが可能になる。   By doing in this way, in the encryption step, the power residue and substitution are repeated alternately. Since the adjacent encryption methods are different from each other, each encryption is performed independently of each other. That is, since two adjacent encryptions cannot be replaced with an equivalent power residue or substitution encryption, an integer encrypted using successive encryption steps according to the present invention is determined by a third party. Deciphering requires a lot of work. Similarly, since two adjacent decryptions in successive decryption steps cannot be replaced with an equivalent power residue or substitution encryption, in the method of encrypting and decrypting an integer according to the present invention, It becomes possible to give very high confidentiality to the original integer.

(6) 整数Xiは換字式暗号化を用いて変換された整数である、換字とべき剰余とを連続する暗号化ステップと、整数Yiから復号化された整数Xnに対して換字式復号化を用いて復号化する、べき剰余と換字を連続する復号化ステップと、を含む、(2)に記載の整数を暗号化し復号化する方法。 (6) The integer Xi is an integer converted using substitution encryption, an encryption step in which substitution and power residue are continued, and substitution decoding on the integer Xn decrypted from the integer Yi. A method for decrypting by encrypting the integer according to (2), comprising: a step of decrypting the power residue and a substitution character, wherein the integer is decrypted.

本発明に係る整数を暗号化し復号化する方法においては、連続する暗号化ステップとして換字式暗号化とべき剰余を用いる暗号化とが交互に実施され、連続する復号化ステップとしてべき剰余を用いる復号化と換字式復号化とが、暗号化と対応して逆順で交互に実施されればよい。前述の(2)に示したように、暗号化においてべき剰余を用いる暗号化を先に実施する場合は、復号化において換字式復号化を先に実施すればよく、(4)に示すように暗号化において換字式暗号化を先に実施する場合は、復号化においてべき剰余を用いる復号化を先に実施すればよい。これらの連続する手順が実施可能であることは、本発明に係る方法を用いて暗号化したときの正確な情報に基づいてのみ、暗号化された整数が正しく復号化され、当該正確な情報に基づかない解読の試行では、復号化に膨大な手間を必要とすることを意味している。従って、本発明に係る整数を暗号化し復号化する方法においては、元の整数に対して極めて高い秘匿性を与えることが可能になる。   In the method for encrypting and decrypting an integer according to the present invention, substitution encryption and encryption using a power residue are alternately performed as a continuous encryption step, and decryption using a power residue as a continuous decryption step And substitutional decryption may be performed alternately in reverse order corresponding to encryption. As shown in the above (2), when the encryption using the power residue in the encryption is performed first, the substitutional decryption may be performed in the decryption first, as shown in (4) When substituting encryption is performed first in encryption, decryption using a power residue in decryption may be performed first. The fact that these sequential procedures can be performed is that the encrypted integer is correctly decrypted only on the basis of accurate information when encrypted using the method according to the present invention, and the accurate information is A non-based decryption attempt means that much time is required for decryption. Therefore, in the method for encrypting and decrypting an integer according to the present invention, it is possible to give extremely high confidentiality to the original integer.

(7) 換字とべき剰余とを連続する暗号化ステップ、及びべき剰余と換字を連続する復号化ステップは、少なくとも2以上の同一の回数実施される、(6)に記載の整数を暗号化し復号化する方法。 (7) The encryption step in which the substitution character and the power residue are continued, and the decryption step in which the power residue and the substitution character are continued are performed at least two or more times. The integer according to (6) is encrypted and decrypted. How to turn.

前述の(3)に示した暗号化ステップと同様に、本発明においては、換字とべき剰余とを交互に繰り返して暗号化してもよい。隣接する暗号化の方法は互いに異なるので、それぞれの暗号化は互いに独立して実施されうる。すなわち、隣接する二つの暗号化は、等価な一つのべき剰余又は換字式暗号化と置き換えることはできないので、本発明に係る連続する暗号化ステップを用いて暗号化した整数は、第三者による解読により多くの手間を必要とする。同様に、連続する復号化ステップにおける隣接する二つの復号化は、等価な一つのべき剰余又は換字式復号化と置き換えることはできない。本発明においてはこれらの繰り返し手順が実施可能であり、本発明に係る方法を用いて暗号化したときの正確な情報に基づいてのみ、暗号化された整数が正しく復号化される。一方、当該正確な情報に基づかない第三者による解読の試行においては、復号化に膨大な手間を必要とする。従って、本発明に係る整数を暗号化し復号化する方法においては、元の整数に対して極めて高い秘匿性を与えることが可能になる。   Similar to the encryption step shown in the above (3), in the present invention, the substitution and the power residue may be alternately repeated for encryption. Since the adjacent encryption methods are different from each other, the respective encryptions can be performed independently of each other. That is, since two adjacent encryptions cannot be replaced with an equivalent power residue or substitution encryption, an integer encrypted using successive encryption steps according to the present invention is determined by a third party. Deciphering requires a lot of work. Similarly, two adjacent decodings in successive decoding steps cannot be replaced with an equivalent power residue or substitution decoding. In the present invention, these iterative procedures can be performed, and the encrypted integer is correctly decrypted only on the basis of accurate information when encrypted using the method according to the present invention. On the other hand, in a trial of decryption by a third party that is not based on the accurate information, enormous effort is required for decryption. Therefore, in the method for encrypting and decrypting an integer according to the present invention, it is possible to give extremely high confidentiality to the original integer.

(8) 少なくとも2以上の同一の回数は、所定の正の整数、所定の正の整数を暗号化した正の整数、及びランダムに発生した正の整数からなる群から選ばれる、(5)又は(7)に記載の整数を暗号化し復号化する方法。 (8) The same number of times of at least two or more is selected from the group consisting of a predetermined positive integer, a positive integer obtained by encrypting the predetermined positive integer, and a randomly generated positive integer, (5) or A method of encrypting and decrypting the integer described in (7).

当該回数は、コンピュータ・プログラムにおける制御のためのループカウンタ等に記憶させる数値として設定してもよい。当該回数は2回以上であればよいが、暗号化の強度を確保するために、予め下限を設定してもよい。また、暗号化及び復号化の計算処理のための時間を短縮するために、予め上限を設定してもよい。従って、本発明に係る整数を暗号化し復号化する方法における当該回数の値は、予め設定された下限及び/又は上限の範囲に従って、所定の正の整数、所定の正の整数を暗号化した正の整数、及びランダムに発生した正の整数からなる群から選ばれうる。当該回数を暗号化する方法は何でもよい。
このように、べき剰余を用いる暗号化及び換字式暗号化のいずれとも独立した変数でありうる当該回数を秘密とすることで、当該回数は第三者に不明となる。すなわち、第三者の解読の手間はさらに膨大となりうる。従って、本発明に係る整数を暗号化し復号化する方法においては、元の整数に対して極めて高い秘匿性を与えることが可能になる。
The number of times may be set as a numerical value stored in a loop counter or the like for control in the computer program. The number of times may be two or more, but a lower limit may be set in advance in order to ensure the strength of encryption. Further, an upper limit may be set in advance in order to shorten the time for calculation processing of encryption and decryption. Therefore, the value of the number of times in the method of encrypting and decrypting an integer according to the present invention is a positive integer obtained by encrypting a predetermined positive integer and a predetermined positive integer according to a preset lower limit and / or upper limit range. And a group consisting of randomly generated positive integers. Any method may be used to encrypt the number of times.
In this way, by making the number of times that can be a variable independent of both encryption using power residue and substitution-type encryption, the number of times becomes unknown to a third party. That is, the trouble of third party decoding can be further increased. Therefore, in the method for encrypting and decrypting an integer according to the present invention, it is possible to give extremely high confidentiality to the original integer.

(9) 換字式暗号化は、単表式暗号化、多表式暗号化及び自動鍵暗号化からなる群から選ばれ、換字式復号化は、換字式暗号化に対応して単表式復号化、多表式復号化及び自動鍵復号化からなる群から選ばれる、(2)に記載の整数を暗号化し復号化する方法。 (9) Substitution type encryption is selected from the group consisting of single table type encryption, multi-table type encryption and automatic key encryption, and substitution type decryption corresponds to substitution type encryption. A method for encrypting and decrypting an integer according to (2), selected from the group consisting of encryption, multi-table decryption and automatic key decryption.

本発明に係る換字式暗号化は、前述のシーザー暗号化以外にも、当業に公知の換字式暗号化を用いることが可能である。単表式暗号化は、単一換字式暗号化、単文字換字暗号化、単純換字暗号化を含む公知の暗号化でもよく、多表式暗号化は、ヴィジュネル暗号化、進行鍵暗号化、正方換字表を用いる暗号化を含む公知の暗号化でもよく、自動鍵暗号化は暗号化の鍵が元の整数又は暗号文、又はその両方に基づいて自動的に変更あるいは更新される暗号化でもよい。本発明に係る復号化においても、暗号化と同様に換字式復号化を用いることが可能であり、暗号化として列挙した種々の方法に対応する復号化の手順を用いることが可能である。   The substitution encryption according to the present invention can use substitution encryption known in the art in addition to the above-mentioned Caesar encryption. Single-table encryption may be well-known encryption including single substitution encryption, single-substitution encryption, and simple substitution encryption, and multi-table encryption includes visionnel encryption, progress key encryption, square Known encryption including encryption using a substitution table may be used, and automatic key encryption may be encryption in which the encryption key is automatically changed or updated based on the original integer and / or ciphertext. . Also in the decryption according to the present invention, substitutional decryption can be used in the same manner as encryption, and decryption procedures corresponding to various methods enumerated as encryption can be used.

(10) さらに、整数Xiを変換した整数Yiを生成する前に、整数Xiから整数Xi以下の整数Tを加算して整数Xiと置き換えるステップと、変換した整数Yiを整数Xnに復号化した後に、整数Xnに整数Tを減算して整数Xnと置き換えるステップと、を含む、(2)に記載の整数を暗号化し復号化する方法。 (10) Further, before generating the integer Yi converted from the integer Xi, a step of adding an integer T equal to or less than the integer Xi from the integer Xi and replacing the integer Xi, and after decoding the converted integer Yi into the integer Xn Subtracting the integer T from the integer Xn and substituting the integer Xn, and encrypting and decrypting the integer according to (2).

整数Tは、いわゆるオフセットであり、本発明に係る暗号化及び復号化においては、前述の換字式暗号化及び復号化に加えて、数値の加算によるオフセットの適用及び当該数値の減算によるオフセットの消去を用いて、情報の秘匿化を行いうる。
特に、べき剰余を用いる暗号化及び復号化においては、従来の公開鍵暗号化技術等では0、1、及び元の整数自身が変換されずに特異点となりうるが、本発明においてはオフセットを用いて従来法における特異点の数値を変更することが可能である。従って、本発明においては、従来法の特異点に係る問題を避けて暗号化及び復号化を実施することが可能になる。ここで、オフセットTの加算により得られる整数(Xi+T)が、上述の素数A及びBの積Nを超える場合は、入力として受け付ける整数Xiの範囲を(N−T)未満としてもよく、積Nが整数(Xi+T)を超えるように素数A及びBを改めて選択してもよく、適宜設計しうる。
The integer T is a so-called offset. In the encryption and decryption according to the present invention, in addition to the above-described substitutional encryption and decryption, the offset is applied by adding a numerical value and the offset is erased by subtracting the numerical value. Information can be concealed using.
In particular, in encryption and decryption using a power residue, 0, 1, and the original integer itself can be singularity without being converted in the conventional public key encryption technology, etc., but in the present invention, an offset is used. Thus, it is possible to change the numerical value of the singular point in the conventional method. Therefore, in the present invention, it is possible to perform encryption and decryption while avoiding the problems related to the singularities of the conventional method. Here, when the integer (Xi + T) obtained by adding the offset T exceeds the product N of the prime numbers A and B, the range of the integer Xi accepted as an input may be less than (N−T), and the product N The prime numbers A and B may be selected anew so as to exceed an integer (Xi + T), and can be appropriately designed.

(11) 整数Tはランダムな規則により選択される整数である、(10)に記載の整数を暗号化し復号化する方法。 (11) The method of encrypting and decrypting the integer according to (10), wherein the integer T is an integer selected according to a random rule.

前述の変数E、変数F、素数A、素数B、素数の積N、任意の整数m等と同様に、整数Tも、第三者による暗号の解読に用いられる可能性又は危険性が伴う情報でありうる。本発明に係る整数を暗号化し復号化する方法においては、整数Tを乱数等を用いてランダムな規則により選択される整数とすることにより、第三者による暗号の解読を困難としうる。   Like the variable E, variable F, prime number A, prime number B, prime number product N, arbitrary integer number m, etc., the integer number T is also information with the possibility or danger of being used for decryption by a third party. It can be. In the method for encrypting and decrypting an integer according to the present invention, it is possible to make it difficult for a third party to decipher the cipher by making the integer T an integer selected by a random rule using a random number or the like.

(12) 展開形はXiの桁を2つに分割し、分割した桁の上位の桁により表される整数Xu及び分割した下位の桁により表される整数Xdを生成し、次式を用いてXiを置き換えることであり、

Figure 2010186075
式中、Mは記数法の底であり、Cdは下位の桁の数であり、Cdは少なくとも1であり、置き換えたXu又はXdを用いて剰余計算を実施する、(1)に記載の整数を暗号化し復号化する方法。 (12) The expanded form divides the Xi digit into two, generates an integer Xu represented by the upper digit of the divided digit and an integer Xd represented by the divided lower digit, and uses the following formula: Is to replace Xi,
Figure 2010186075
Where M is the base of the numeration system, Cd is the number of the lower digits, Cd is at least 1, and the remainder calculation is performed using the replaced Xu or Xd. A method of encrypting and decrypting integers.

このようにすることで、本発明に係る整数を暗号化し復号化する方法においては、桁あふれを発生する条件で前述の式(I)のEを選択した後に、式(VII)を用いてXiを展開し、桁あふれを避けて、暗号化した整数であるYiを正確に得ることができる。
従って、前述の式(I)として表されるXiのべき乗の計算において、式(VII)を用いて適宜元の整数Xiを上位の桁と下位の桁とに分割することにより、べき乗の計算過程での桁あふれを避けることが可能になる。
In this way, in the method of encrypting and decrypting an integer according to the present invention, after selecting E in the above-mentioned formula (I) under the condition that overflow occurs, Xi using the formula (VII) is used. Yi that is an encrypted integer can be obtained accurately by avoiding overflow.
Therefore, in the calculation of the power of Xi expressed as the above-described formula (I), the power integer calculation process is performed by appropriately dividing the original integer Xi into upper and lower digits using the formula (VII). It becomes possible to avoid overflowing digits.

(13) 整数Xiは、識別子に含まれる文字又は数字の一部又は全体から、可逆的に変換された整数である、(1)に記載の整数を暗号化し復号化する方法。 (13) The method of encrypting and decrypting the integer according to (1), wherein the integer Xi is an integer reversibly converted from a part or all of characters or numbers included in the identifier.

本発明に係る識別子は、典型的にはコンピュータ処理可能な文字(文字としての数字を含む)又は数値であり、文字は文字コード等の公知技法を用いることによりユニークな整数に変換されうる。従って、本発明に係る整数の暗号化及び復号化の方法においては、ユニークな整数との関連づけが可能な文字又は数値を元の整数として暗号化し、復号化することができる。   The identifier according to the present invention is typically a computer-processable character (including a number as a character) or a numerical value, and the character can be converted into a unique integer by using a known technique such as a character code. Therefore, in the method for encrypting and decrypting integers according to the present invention, characters or numerical values that can be associated with unique integers can be encrypted and decrypted as original integers.

(14) 整数Xiは、1次元画像又は2次元画像から可逆的に変換された1次元画像の一部又は全体から、可逆的に変換された整数である、(1)に記載の整数を暗号化し復号化する方法。 (14) The integer Xi is an integer reversibly converted from a part or the whole of the one-dimensional image reversibly converted from the one-dimensional image or the two-dimensional image, and the integer described in (1) is encrypted. To decrypt.

本発明に係る画像は、典型的にはコンピュータ処理可能な画像データであり、例えば一つの画素は、R(赤)G(緑)B(青)の各色ごとに8ビットの階調の値を含む符号なしの24ビットの整数でありうる。2次元画像は、所定の手順に従って画素を並び替えることにより1次元画像に変換してもよい。このようにして、画素からなる画像は整数として扱うことができ、特定の画像はユニークな整数と関連づけられる。暗号化される元の整数に含まれる画素数は適宜設計しうる。従って、本発明に係る整数の暗号化及び復号化の方法においては、ユニークな整数との関連づけが可能な1次元又は2次元画像を元の整数として暗号化し、復号化することができる。   An image according to the present invention is typically image data that can be processed by a computer. For example, one pixel has an 8-bit gradation value for each color of R (red), G (green), and B (blue). It can be an unsigned 24-bit integer. A two-dimensional image may be converted into a one-dimensional image by rearranging pixels according to a predetermined procedure. In this way, an image consisting of pixels can be treated as an integer, and a particular image is associated with a unique integer. The number of pixels included in the original integer to be encrypted can be designed as appropriate. Therefore, in the method for encrypting and decrypting integers according to the present invention, a one-dimensional or two-dimensional image that can be associated with a unique integer can be encrypted and decrypted as an original integer.

(15) さらに、暗号化に先立って、少なくとも一つの桁を元の整数に対して追加することにより桁を増した整数に置き換えるステップを含む、(1)に記載の整数を暗号化し復号化する方法。 (15) In addition, prior to encryption, the method further includes the step of replacing at least one digit with the original integer by adding at least one digit to the original integer, and encrypting and decrypting the integer according to (1) Method.

このようにすることで、暗号化される整数Xiに対して、任意に選択される桁数を追加した整数を生成して暗号化の入力に用いうる。桁数を増した整数Wiは、元の整数Xiが同一であっても、増した桁数及び当該桁数の整数に含まれる各桁の数字に依存して変化しうる。従って、同一のXi及び任意に選択される桁数の整数に基づいて、互いに異なる整数Wiを生成して暗号化に用いうる。
一実施形態において、暗号化される整数Xiは生年月日の日付の情報を含む文字列に基づいて生成される4桁、6桁、又は8桁等の整数であり、任意に選択される桁数は例えば2桁の整数でありうる。本発明に係る整数を暗号化し復号化する方法のユーザ等は、自己の生年月日に基づく同一の整数及び任意に選択される2桁の整数から生成される、桁数を増した整数Wiを暗号化の入力とし、当該2桁の整数を使い分けることにより、複数の暗号化した整数を生成して利用しうる。暗号化される整数は例えば10桁等であっても、ユーザは全ての桁の数字を使用目的ごとに記憶する必要はなく、当該2桁の整数を使い分ければよい。
従って、本発明に係る整数を暗号化し復号化する方法においては、生年月日の日付等の個人情報を含む文字列と関連づけられる整数であっても、任意に選択される桁数を増して暗号化することにより、複数の暗号化した整数を生成して使い分けることが可能になる。
In this way, an integer obtained by adding an arbitrarily selected number of digits to the encrypted integer Xi can be generated and used for encryption input. The integer Wi with the increased number of digits can change depending on the increased number of digits and the number of each digit included in the integer of the number of digits even if the original integer Xi is the same. Therefore, different integers Wi can be generated and used for encryption based on the same Xi and an arbitrarily selected integer of digits.
In one embodiment, the encrypted integer Xi is an integer such as 4 digits, 6 digits, or 8 digits that is generated based on a character string that includes date of birth date information, and is an arbitrarily selected digit. The number can be, for example, a two-digit integer. The user of the method for encrypting and decrypting an integer according to the present invention can generate an integer Wi with an increased number of digits, which is generated from the same integer based on his / her date of birth and an arbitrarily selected two-digit integer. A plurality of encrypted integers can be generated and used by properly using the 2-digit integer as an input for encryption. Even if the integer to be encrypted is, for example, 10 digits, the user does not have to store all the digits for each purpose of use, and the two-digit integer may be used properly.
Therefore, in the method for encrypting and decrypting an integer according to the present invention, even if an integer is associated with a character string including personal information such as a date of birth, the number of digits selected arbitrarily is increased. By making it possible, a plurality of encrypted integers can be generated and used properly.

(16) さらに、復号化の後に復号化した整数から追加した少なくとも一つの桁を除去するステップを含む、(15)に記載の整数を暗号化し復号化する方法。 (16) The method for encrypting and decrypting an integer according to (15), further including a step of removing at least one digit added from the decrypted integer after decryption.

このようにすることで、本発明に係る整数を暗号化し復号化する方法においては、復号化の後に、桁を増した整数Wiから元の整数Xiを完全に復号化することが可能になる。   By doing so, in the method for encrypting and decrypting an integer according to the present invention, it is possible to completely decrypt the original integer Xi from the integer Wi having an increased number of digits after decryption.

(17) (1)から(16)のいずれかに記載の方法の各ステップをコンピュータを用いて実行するための、コンピュータ・プログラム。 (17) A computer program for executing each step of the method according to any one of (1) to (16) using a computer.

これにより、本発明に係る整数を暗号化し復号化する方法の各ステップをコンピュータに実行させうる。従って、暗号化及び復号化に係る各ステップはコンピュータを用いて自動的に処理されうる。   Thereby, each step of the method for encrypting and decrypting an integer according to the present invention can be executed by a computer. Accordingly, each step relating to encryption and decryption can be automatically processed using a computer.

(18) (1)から(17)のいずれかに記載の方法の各ステップを用いてエンコードした数値を含むコンピュータ可読媒体。 (18) A computer-readable medium including a numerical value encoded using each step of the method according to any one of (1) to (17).

これにより、本発明に係る整数を暗号化し復号化する方法を用いて、記憶媒体に記録する任意のデータ、及び/又は記憶媒体の特定の記憶領域を参照するためのファイル割り当てテーブル等に含まれる数値を暗号化及び復号化しうる。当該データ又は当該数値は整数と見なしうるものであれば何でもよい。すなわち、本発明により、第三者に対して隠蔽したコンピュータ可読媒体を提供しうる。具体的には、コンピュータ可読媒体はフラッシュメモリ等の電気的記憶媒体、CD−ROM等の光学読み取り可能媒体、ハードディスク等の磁気記憶媒体等の任意の形態を含む。本発明に係る整数を暗号化し復号化する方法を用いて提供しうるコンピュータ可読媒体は、暗号化又は復号化の諸段階においてコンピュータ・ネットワーク等を介する必要はなく、ネットワーク等から切り離されたオフライン状態でも本発明に係る暗号化及び復号化の方法を用いてエンコードした情報を記憶しうる。従って、本発明においては、通信技術と連携して動作するセキュリティ技術等とは独立して、単独で暗号化及び復号化の方法を用いるコンピュータ可読媒体を提供しうる。   Thus, using the method for encrypting and decrypting integers according to the present invention, it is included in arbitrary data to be recorded on the storage medium and / or a file allocation table for referring to a specific storage area of the storage medium. Numeric values can be encrypted and decrypted. The data or the numerical value may be anything as long as it can be regarded as an integer. That is, according to the present invention, a computer-readable medium concealed from a third party can be provided. Specifically, the computer-readable medium includes any form such as an electrical storage medium such as a flash memory, an optically readable medium such as a CD-ROM, and a magnetic storage medium such as a hard disk. The computer-readable medium that can be provided by using the method for encrypting and decrypting an integer according to the present invention does not need to go through a computer network or the like in various stages of encryption or decryption, and is in an offline state separated from the network or the like However, information encoded using the encryption and decryption methods according to the present invention can be stored. Accordingly, the present invention can provide a computer-readable medium that uses encryption and decryption methods independently, independently of security technologies that operate in cooperation with communication technologies.

(19) 整数Xiを暗号化し復号化する方法であって、暗号化のための鍵をランダムな規則により選択する暗号化鍵選択部と、積NがXiを超える2つの素数A及びBを生成する素数生成部と、(A−1)と(B−1)との積をDとし、(A−1)と(B−1)の最小公倍数をKとし、D又はKと素である数をEとして、次式において項XiのE乗が計算手段の整数演算に桁あふれを発生する条件で、次式の展開形を用いて整数Xiを変換した整数Yiを生成する剰余暗号化実行部と、

Figure 2010186075
mを任意の整数として次式を成立するFを用意する秘密鍵生成部と、
Figure 2010186075
次式を用いて変換したYiをXnに復号化する剰余復号化実行部と、
Figure 2010186075
を含み、式中、Eは暗号化のための鍵をランダムな規則により選択するステップにより選択される、整数を暗号化し復号化する装置。 (19) A method for encrypting and decrypting an integer Xi, wherein an encryption key selection unit that selects a key for encryption according to a random rule, and two prime numbers A and B having a product N exceeding Xi are generated. The prime number generator to be used and the product of (A-1) and (B-1) as D, the least common multiple of (A-1) and (B-1) as K, and D or K and a prime number Is a residue encryption execution unit that generates an integer Yi obtained by converting the integer Xi using the expanded form of the following equation under the condition that the E power of the term Xi in the following equation causes overflow in the integer operation of the calculation means When,
Figure 2010186075
a secret key generation unit that prepares F that satisfies the following expression, where m is an arbitrary integer;
Figure 2010186075
A remainder decoding execution unit for decoding Yi converted using the following equation into Xn;
Figure 2010186075
A device for encrypting and decrypting an integer, wherein E is selected by selecting a key for encryption according to a random rule.

本発明に係る整数の暗号化及び復号化装置においては、CPU内部における整数演算中の桁あふれの検出又はプログラム実行中の整数演算の桁あふれ発生の検出を実施可能であればよい。
また、本発明に係る整数の暗号化及び復号化装置においては、桁あふれを発生する条件で前述の式(I)のEを選択した後に、例えば前述の式(VII)を用いてXiを展開し、桁あふれを避けて、暗号化した整数であるYiを正確に得ることができる。
さらに、本発明に係る整数の暗号化及び復号化装置においては、換字式暗号化実行部及び換字式復号化実行部を、べき剰余暗号化及び復号化に重畳して用いることにより、単独の方法の繰り返しでは得られない、秘匿性の高い暗号化を実施し、この暗号化により変換された整数を正しく復号化するための情報を生成することが可能である。
In the integer encryption / decryption device according to the present invention, it is only necessary to be able to detect overflow in integer arithmetic in the CPU or detection of overflow in integer arithmetic during program execution.
In the integer encryption / decryption device according to the present invention, after selecting E in the above-described formula (I) under the condition that overflow occurs, Xi is expanded using, for example, the above-described formula (VII). Thus, Yi which is an encrypted integer can be accurately obtained while avoiding overflow.
Further, in the integer encryption and decryption device according to the present invention, the substitution method and execution unit are used in superposition on the power residue encryption and decryption, so that a single method is obtained. It is possible to perform encryption with high secrecy that cannot be obtained by repeating the above, and to generate information for correctly decrypting the integer converted by this encryption.

従って、本発明に係る整数を暗号化及び復号化する装置においては、個人情報等と関連づけられた整数に対して高いセキュリティを確保した暗号化した整数を生成でき、この暗号化した整数を正しく復号化して元の整数を得られる。   Therefore, in the device for encrypting and decrypting integers according to the present invention, it is possible to generate an encrypted integer that secures high security for the integer associated with personal information, etc., and correctly decrypt the encrypted integer. To get the original integer.

(20) 整数Xiを暗号化し復号化するシステムであって、暗号化のための鍵をランダムな規則により選択する暗号化鍵選択手段と、積NがXiを超える2つの素数A及びBを生成する素数生成手段と、(A−1)と(B−1)との積をDとし、(A−1)と(B−1)の最小公倍数をKとし、D又はKと素である数をEとして、次式において項XiのE乗が計算手段の整数演算に桁あふれを発生する条件で、次式の展開形を用いて整数Xiを変換した整数Yiを生成する剰余暗号化手段と、

Figure 2010186075
mを任意の整数として次式を成立するFを用意する秘密鍵生成手段と、
Figure 2010186075
次式を用いて変換したYiをXnに復号化する剰余復号化手段と、
Figure 2010186075
を含み、式中、Eは暗号化のための鍵をランダムな規則により選択するステップにより選択される、整数を暗号化し復号化するシステム。 (20) A system that encrypts and decrypts an integer Xi, and generates encryption key selection means for selecting a key for encryption according to a random rule, and two prime numbers A and B whose product N exceeds Xi The prime number generating means to perform the product of (A-1) and (B-1) is D, the least common multiple of (A-1) and (B-1) is K, and D or K is a prime number A remainder encryption means for generating an integer Yi obtained by converting the integer Xi using the expansion form of the following expression under the condition that the power of the term Xi in the following expression causes overflow in the integer operation of the calculation means in the following expression: ,
Figure 2010186075
a secret key generating means for preparing F satisfying the following expression where m is an arbitrary integer;
Figure 2010186075
Residue decoding means for decoding Yi converted using the following equation into Xn;
Figure 2010186075
Wherein E is selected by the step of selecting a key for encryption according to a random rule. The system for encrypting and decrypting an integer.

本発明に係る情報を暗号化及び復号化するシステムにおいては、CPU内部における整数演算中の桁あふれの検出又はプログラム実行中の整数演算の桁あふれ発生の検出を実施可能であればよく、これを用いて式(IX)で表されるべき乗計算に含まれる整数Eを選択してもよい。
さらに、本発明に係る整数を暗号化及び復号化するシステムにおいては、桁あふれを発生する条件で前述の式(IX)のEを選択した後に、例えば前述の式(VI)を用いてXiを展開し、桁あふれを避けて、暗号化した整数であるYiを正確に得ることができる。
さらに、本発明に係る整数の暗号化及び復号化するシステムにおいては、換字式暗号化手段及び換字式復号化手段による処理を、べき剰余暗号化及び復号化に重畳するにより、単独の方法の繰り返しでは得られない、秘匿性の高い暗号化を実施し、この暗号化により変換された整数を正しく復号化するための情報を生成することが可能である。
In the system for encrypting and decrypting information according to the present invention, it is only necessary to be able to detect overflow in integer arithmetic in the CPU or detection of overflow in integer arithmetic during program execution. The integer E included in the power calculation represented by the formula (IX) may be selected.
Furthermore, in the system for encrypting and decrypting integers according to the present invention, after selecting E in the above formula (IX) under the condition that overflow occurs, Xi is calculated using, for example, the above formula (VI). Yi that is an encrypted integer can be obtained accurately by expanding and avoiding overflow.
Further, in the system for encrypting and decrypting integers according to the present invention, it is possible to repeat a single method by superimposing the processing by the substitution encryption means and the substitution decryption means on the power residue encryption and decryption. It is possible to generate information for correctly decrypting an integer converted by this encryption by performing encryption with high secrecy that cannot be obtained by.

従って、本発明に係る整数を暗号化及び復号化するシステムにおいては、個人情報等と関連づけられた整数に対して高いセキュリティを確保した暗号化した整数を生成でき、この暗号化した整数を正しく復号化して元の整数を得られる。   Therefore, in the system for encrypting and decrypting integers according to the present invention, it is possible to generate an encrypted integer that secures high security for the integer associated with personal information and the like, and correctly decrypt the encrypted integer. To get the original integer.

本発明に係る整数を暗号化及び復号化する方法、装置、システム等は、コンピュータ・ネットワーク技術等の、既存の情報伝達技術等と組み合わせることができ、そのように組み合わせた技術もまた、本発明の技術範囲に含まれる。同様に、本発明の技法を含む情報記録システム、情報管理システム、情報処理システム等も、本発明の技術範囲に含まれる。さらに、本発明の技法は、暗号化及び復号化の諸段階を、FPGA(現場でプログラム可能なゲートアレイ)、ASIC(特定用途向け集積回路)、これらと同等のハードウェア・ロジック素子、プログラム可能な集積回路、又はこれらの組み合わせが記憶し得るプログラムの形態、すなわちプログラム製品として提供し得る。具体的には、入出力、データバス、メモリバス、システムバス等を備えるカスタムLSI(大規模集積回路)の形態として、本発明に係る暗号化及び復号化装置等を提供でき、そのように集積回路に記憶されたプログラム製品の形態も、本発明の技術範囲に含まれる。   The method, apparatus, system, etc. for encrypting and decrypting integers according to the present invention can be combined with existing information transmission technologies, such as computer network technologies, and such combined technologies are also included in the present invention. Included in the technical scope. Similarly, an information recording system, an information management system, an information processing system and the like including the technique of the present invention are also included in the technical scope of the present invention. In addition, the technique of the present invention allows the encryption and decryption stages to be performed in FPGA (field programmable gate array), ASIC (application specific integrated circuit), equivalent hardware logic elements, programmable. The integrated circuit or a combination thereof can be provided as a program form that can be stored, that is, as a program product. Specifically, the encryption and decryption device according to the present invention can be provided as a form of a custom LSI (large scale integrated circuit) including an input / output, a data bus, a memory bus, a system bus, etc. The form of the program product stored in the circuit is also included in the technical scope of the present invention.

本発明によれば、計算機が桁あふれを発生する条件で整数を暗号化し復号化する方法、及び乱数等のランダムな規則に基づいて鍵を選択する方法の両者を用いて、個人を特定するための識別番号等を暗号化した整数を生成することができる。従って、本発明によれば、第三者に対して生成した整数から当該識別番号等の推定を極めて困難として、当該識別番号を秘匿しうるという効果がある。また、本発明によれば、乱数等のランダムな規則に基づいて鍵を選択する方法を重畳して暗号化及び復号化を実施することにより、第三者の解読は飛躍的に困難となって、当該識別番号等の秘匿性を高めることが可能である。すなわち、本発明は乱数を適用可能な目標に対して具体的な実装及び製品化が可能な形態を提供でき、簡単なロジックに比して解読の困難さを飛躍的に向上させたという効果がある。さらに、本発明によれば、乱数等のランダムな規則に基づいて鍵が選択されるべき剰余を用いる暗号化と、換字式暗号化とを交互に繰り返すことにより、それぞれの暗号化が独立して多重化され、極めて秘匿性の高い暗号化を実施することが可能である。また、本発明によれば、生年月日等の同一の個人情報を含む文字列を表す整数及び任意に選択される整数を用いて、ランダムに生成した鍵、又は桁数を増した整数を用いて暗号化及び復号化することにより、同一の個人情報等から複数の異なる暗号化した整数を生成して使い分けることが可能になる。さらに、本発明によれば、音声による通話又は印刷物等の文書等を含む多様な形態で個人情報を隠蔽することが可能になる。   According to the present invention, to identify an individual using both a method in which a computer encrypts and decrypts an integer under conditions that cause overflow, and a method in which a key is selected based on a random rule such as a random number. An integer obtained by encrypting the identification number or the like can be generated. Therefore, according to the present invention, there is an effect that the identification number can be concealed by making it extremely difficult to estimate the identification number or the like from the integer generated for a third party. In addition, according to the present invention, decryption by a third party becomes extremely difficult by performing encryption and decryption by superimposing a method for selecting a key based on a random rule such as a random number. It is possible to improve the confidentiality of the identification number and the like. That is, the present invention can provide a form that can be concretely implemented and commercialized for a target to which random numbers can be applied, and has the effect of dramatically improving the difficulty of decoding compared to simple logic. is there. Furthermore, according to the present invention, each encryption is independently performed by alternately repeating encryption using a residue in which a key is to be selected based on a random rule such as a random number and substitutional encryption. Multiplexed encryption can be performed with extremely high confidentiality. Further, according to the present invention, an integer representing a character string including the same personal information such as date of birth and an integer selected arbitrarily are used, a randomly generated key, or an integer with an increased number of digits is used. Thus, by encrypting and decrypting, a plurality of different encrypted integers can be generated from the same personal information and used separately. Furthermore, according to the present invention, it is possible to conceal personal information in various forms including a voice call or a document such as a printed matter.

本発明の一実施形態に係る、整数を暗号化する方法のフロー図である。FIG. 3 is a flow diagram of a method for encrypting an integer, according to one embodiment of the invention. 本発明の一実施形態に係る、暗号化した整数を復号化する方法のフロー図である。FIG. 4 is a flow diagram of a method for decrypting an encrypted integer, according to one embodiment of the invention. 本発明の一実施形態に係る、整数を暗号化する方法を用いる個人情報隠蔽手順の例を示す図である。FIG. 4 is a diagram illustrating an example of a personal information hiding procedure using a method for encrypting an integer according to an embodiment of the present invention. 本発明の一実施形態に係る、整数を暗号化する方法を用いる個人情報隠蔽手順の別の例を示す図である。It is a figure which shows another example of the personal information concealment procedure using the method which encrypts an integer based on one Embodiment of this invention. 本発明の一実施形態に係る、整数を暗号化する方法を用いる個人情報隠蔽手順のさらに別の例を示す図である。It is a figure which shows another example of the personal information concealment procedure using the method which encrypts an integer based on one Embodiment of this invention. 本発明の一実施形態に係る、暗号化した整数の復号化手順の例を示す図である。FIG. 4 is a diagram illustrating an example of an encrypted integer decryption procedure according to an embodiment of the present invention. 本発明の一実施形態に係る、暗号化の方法の諸段階をスプレッドシート形式の計算アプリケーション・パッケージを用いて実装する例を示す図である。FIG. 6 illustrates an example of implementing steps of an encryption method according to an embodiment of the present invention using a spreadsheet-style calculation application package. 本発明の一実施形態に係る、復号化の方法の諸段階をスプレッドシート形式の計算アプリケーション・パッケージに実装して計算する実施例を示す図である。FIG. 6 is a diagram illustrating an example of calculating and implementing the steps of the decryption method in a spreadsheet-type calculation application package according to an embodiment of the present invention.

以下、本発明の実施形態について、図面を併用して説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

[暗号化及び復号化のフロー図]
図1及び図2に、本発明の一実施形態に係る、整数を暗号化し復号化する方法のフロー図を示す。図1は本発明に係る整数を暗号化する方法のフロー図の例であり、図2は当該暗号化した整数を復号化する方法のフロー図の例である。
[Flow diagram of encryption and decryption]
1 and 2 show a flow chart of a method for encrypting and decrypting an integer according to an embodiment of the present invention. FIG. 1 is an example of a flowchart of a method for encrypting an integer according to the present invention, and FIG. 2 is an example of a flowchart of a method for decrypting the encrypted integer.

[暗号化の諸段階]
まず、図1を参照し、暗号化の諸段階を説明する。本発明に係る整数を暗号化する方法は、図1のステップS100において、変数領域を確保する。具体的には、次の表1に列挙する変数を用いる計算のためにコンピュータ装置等のメモリ領域が適宜確保される。

Figure 2010186075
[Encryption stages]
First, the encryption steps will be described with reference to FIG. The method for encrypting an integer according to the present invention secures a variable area in step S100 of FIG. Specifically, a memory area of a computer device or the like is appropriately secured for calculation using the variables listed in the following Table 1.
Figure 2010186075

このとき、ループカウンタL等の初期設定を適宜実施してもよい。
例えば、べき剰余を用いる暗号化及び換字式暗号化の組み合わせを全体として3回繰り返す場合に、ステップS100においてループカウンタLに整数3を設定してもよい。これに限定せず、ループカウンタLは、所定の正の整数、当該所定の正の整数を暗号化した正の整数、及びランダムに発生した正の整数からなる群から選択してもよい。
ループカウンタLは、べき剰余を用いる暗号化及び換字式暗号化のいずれとも独立した変数であり、暗号化による秘匿性の強度に影響し、暗号化及び復号化のために計算時間に影響しうる。
ループカウンタLに対して、秘匿性の強度を確保するために、予め下限を設定してもよい。さらに、暗号化及び復号化の計算処理のための時間を短縮するために、予め上限を設定してもよい。従って、本発明に係る整数を暗号化し復号化する方法におけるループカウンタLの値は、予め設定された下限及び/又は上限の範囲に従って、所定の正の整数、当該所定の正の整数を暗号化した正の整数、及びランダムに発生した正の整数からなる群から選ばれうる。ループカウンタLを第三者に秘密とすることで、それぞれの暗号化の方法における秘匿性に加えて、第三者の解読の手間はさらに膨大となりうる。従って、本発明に係る整数を暗号化し復号化する方法においては、元の整数に対して極めて高い秘匿性を与えることが可能になる。
At this time, initial setting of the loop counter L and the like may be appropriately performed.
For example, when the combination of encryption using power remainder and substitution-type encryption is repeated three times as a whole, the integer 3 may be set in the loop counter L in step S100. Without being limited thereto, the loop counter L may be selected from the group consisting of a predetermined positive integer, a positive integer obtained by encrypting the predetermined positive integer, and a randomly generated positive integer.
The loop counter L is an independent variable for both encryption using power remainder and substitution-type encryption, affects the strength of secrecy by encryption, and may affect calculation time for encryption and decryption. .
In order to ensure the strength of confidentiality for the loop counter L, a lower limit may be set in advance. Furthermore, an upper limit may be set in advance in order to shorten the time for calculation processing of encryption and decryption. Therefore, the value of the loop counter L in the method for encrypting and decrypting an integer according to the present invention is a predetermined positive integer according to a preset lower limit and / or upper limit range, and the predetermined positive integer is encrypted. Selected from the group consisting of a positive integer and a randomly generated positive integer. By keeping the loop counter L secret from a third party, in addition to the secrecy of each encryption method, the effort of the third party to decrypt can be further increased. Therefore, in the method for encrypting and decrypting an integer according to the present invention, it is possible to give extremely high confidentiality to the original integer.

他の、べき剰余を用いる暗号化に含まれる変数であるオフセットT及び任意の整数m、並びに換字式暗号化に含まれる変数である鍵Rも同様に、第三者に秘密となるように選択してもよい。   Similarly, the offset T and the arbitrary integer m included in the encryption using the power residue and the key R which is the variable included in the substitution encryption are also selected so as to be secret from a third party. May be.

暗号化する整数としては、識別子等に含まれうる符号なしの整数が挙げられるが、これに限定せず、任意の形式の整数を本発明に係る方法に用いうる。好適には、暗号化する整数は0以上の任意の整数でありうる。
一実施形態において、計算に用いるコンピュータ装置等における整数Xi、Yi、Zi、Xn及びYnのワード長は、当該コンピュータ装置等が備えるCPUの内部命令において一つの整数を表すために用いうるレジスタのビット幅の最大以内でありうる。例えば、16ビットレジスタを用いて内部命令に含まれる整数演算を実施可能なCPUを備えるコンピュータ装置においては、整数Xi、Yi、Zi、Xn及びYnのワード長は16ビット以下であり、これらの整数の変数は10進数の記法における0以上65535以下でありうる。
The integer to be encrypted includes an unsigned integer that can be included in an identifier or the like, but is not limited to this, and an integer in any format can be used in the method according to the present invention. Preferably, the integer to be encrypted can be any integer greater than or equal to zero.
In one embodiment, word lengths of integers Xi, Yi, Zi, Xn, and Yn in a computer device or the like used for calculation are register bits that can be used to represent one integer in an internal instruction of a CPU included in the computer device or the like. Can be within maximum width. For example, in a computer device equipped with a CPU that can execute an integer operation included in an internal instruction using a 16-bit register, the word lengths of integers Xi, Yi, Zi, Xn, and Yn are 16 bits or less. The variable may be 0 or more and 65535 or less in decimal notation.

変数領域を確保した後、本発明に係る整数を暗号化する方法は、ステップS10に含まれるべき剰余を用いて暗号化する諸段階、及びステップS30に含まれる換字式暗号化の諸段階を、順次実施する。   After securing the variable area, the method of encrypting an integer according to the present invention includes the steps of encrypting using the remainder to be included in step S10, and the steps of substitutional encryption included in step S30. Implement sequentially.

ステップS10は、S110からS150の各ステップを含む。まず、本発明に係る整数を暗号化する方法は、ステップS110において、積NがXiを超える2つの素数A及びBを生成する。素数A及びBは、予め素数の集合等を用意して適宜選択してもよい。あるいは、素数A及びBの組み合わせは、積NがXiを超え、和が最も小さくなる組み合わせとなるように自動的に選択してもよい。このようにすることで、素数A及びBの組み合わせを限られた範囲の素数として、後続の諸段階の計算に要する計算機のリソースの膨大化を抑制し、効率的な暗号化及び複合化の計算を実施することが可能になる。
次いで、本発明に係る整数を暗号化する方法は、ステップS120において、(A−1)と(B−1)との積をDに代入し、(A−1)と(B−1)の最小公倍数をKに代入する。
次いで、本発明に係る整数を暗号化する方法は、ステップS130において、D又はKと素である数の集合からランダムにEを選択する。例えば、D又はKと素である数の集合の各要素を大きさに従って昇順に配列し、配列した要素数を上限として整数型の乱数を発生させ、発生した乱数を配列の順番とする要素を選択して、整数Eとしてもよい。
次いで、本発明に係る整数を暗号化する方法は、ステップS140において、次の式(VIII)の右辺の項(XiのE乗)が、計算手段の整数演算に桁あふれを発生するか否かを判定する。判定の結果が真であればステップS150に進み、偽であればステップS130に戻る。

Figure 2010186075
Step S10 includes steps S110 to S150. First, the method for encrypting an integer according to the present invention generates two prime numbers A and B having a product N exceeding Xi in step S110. The prime numbers A and B may be selected as appropriate by preparing a set of prime numbers in advance. Alternatively, the combination of prime numbers A and B may be automatically selected so that the product N exceeds Xi and the sum becomes the smallest. In this way, the combination of the prime numbers A and B is set to a limited range of prime numbers, and the enormous amount of computer resources required for the subsequent calculations is suppressed, and efficient encryption and decryption calculations are performed. Can be carried out.
Next, in the method for encrypting an integer according to the present invention, in step S120, the product of (A-1) and (B-1) is substituted into D, and (A-1) and (B-1) Substitute the least common multiple for K.
Next, in the method for encrypting an integer according to the present invention, in step S130, E is randomly selected from a set of numbers that are prime with D or K. For example, each element of a set of numbers that is prime with D or K is arranged in ascending order according to the size, an integer type random number is generated with the number of arranged elements as an upper limit, and an element with the generated random number as the order of arrangement The integer E may be selected.
Next, in the method for encrypting an integer according to the present invention, in step S140, whether the term on the right side of the following equation (VIII) (Xi raised to the E power) causes overflow in the integer operation of the calculation means. Determine. If the determination result is true, the process proceeds to step S150, and if it is false, the process returns to step S130.
Figure 2010186075

桁あふれの検出は、計算手段が備えるCPUの内部動作の状況を記憶するための、CPUの特定のレジスタに含まれるフラグ(例えばステータス・レジスタ又はコンディション・レジスタ等に含まれるオーバーフロー・フラグ等)の値を参照してもよく、コンパイラ言語等により予めオペレーティング・システムに例外処理等を登録して当該例外処理の動作を参照してもよく、スクリプト言語又はコンパイラ言語等に付属するライブラリ等が備えるオーバーフロー・エラー処理を参照してもよく、適宜設計しうる。   The overflow detection is performed by using a flag included in a specific register of the CPU (for example, an overflow flag included in the status register or the condition register) for storing the internal operation status of the CPU included in the calculation means. You may refer to the value, register exception handling in the operating system in advance using the compiler language, etc., and refer to the operation of the exception handling, or an overflow provided by a library attached to the script language or compiler language, etc. • You may refer to error handling and design accordingly.

次いで、本発明に係る整数を暗号化する方法は、ステップS150において、式(VIII)の展開形を用いて、整数Xiを暗号化した整数Yiを生成しうる。式(VIII)の展開形には、例えば次の式を用いうる。

Figure 2010186075
式中、Mは記数法の底であり、Cdは当該下位の桁の数であり、Cdは少なくとも1でありうる。すなわり、このようにして置き換えたXu又はXdを用いて、式(VIII)の剰余計算を実施しうる。
このようにすることで、本発明に係る整数を暗号化し復号化する方法においては、桁あふれを発生する条件で前述の式(VIII)のEを選択した後に、式(IX)を用いてXiを展開し、桁あふれを避けて、暗号化した整数であるYiを正確に得ることができる。 Next, in step S150, the method for encrypting an integer according to the present invention may generate an integer Yi obtained by encrypting the integer Xi using the expanded form of the formula (VIII). For example, the following expression can be used as the expanded form of the expression (VIII).
Figure 2010186075
Where M is the base of the numeration system, Cd is the number of the lower digits, and Cd can be at least 1. In other words, the remainder calculation of Expression (VIII) can be performed using Xu or Xd thus replaced.
In this way, in the method for encrypting and decrypting an integer according to the present invention, after selecting E in the above-mentioned formula (VIII) under the condition that overflow occurs, Xi using the formula (IX) is used. Yi that is an encrypted integer can be obtained accurately by avoiding overflow.

一実施形態において、記数法の底であるMを10とし、Xiの桁数を10桁、下位の桁数Ctを5桁とする場合、式(IX)は次式のように表される。

Figure 2010186075
別の実施形態において、記数法の底であるMを2とし、Xiの桁数を16桁、下位の桁数Ctを8桁とする場合、式(IX)は次式のように表される。
Figure 2010186075
In one embodiment, when M, which is the base of the number system, is 10, the number of digits of Xi is 10 digits, and the number of lower digits Ct is 5 digits, the formula (IX) is expressed as .
Figure 2010186075
In another embodiment, when M, which is the base of the numeration system, is 2, the number of digits of Xi is 16 digits, and the number of lower digits Ct is 8 digits, the formula (IX) is expressed as: The
Figure 2010186075

例えば、本発明に係る整数を暗号化し復号化する方法の実施手段等が16ビット幅のレジスタを有するCPUを備えるコンピュータ装置等である場合に、元の整数Xiの値が10進数の65532等であると、Xiのべき乗の計算において、最も小さい整数のべき数でありうる2を用いた時点で、当該CPUが備える16ビット幅のレジスタを用いて表しうる整数の上限値65535を超えてしまう。すなわち、単に元の整数をそのままべき乗する通常の計算方法に従って式(VIII)の右辺に含まれるXiのE乗の計算を実施すると、正確なべき乗の値が得られない場合がある。
本発明に係る方法においては、式(IX)又はその具体例である式(X)又は式(XI)等を用いて上位の桁と下位の桁を分離しうる。例えば前述の元の整数Xiの値である65532を、2進数の1111111111111100(2)として表し、上位8桁と下位8桁等に分割し、上位8桁に含まれる整数11111111(2)(10進数の255)及び下位8桁に含まれる整数11111100(2)(10進数の252)を用い、255の2乗、255と252の積、252の2乗をそれぞれ計算すると、これらの整数の積はいずれも当該CPUが備える16ビット幅のレジスタを用いて表しうる整数の範囲内にあることは明白である。32ビット幅のレジスタ、64ビット幅のレジスタ等についても同様である。
従って、前述の式(VIII)として表されるXiのべき乗の計算において、最も少ない回数であるXiの2乗の場合に、式(XI)の右辺の2乗からは、Xuの2乗、Xu・Xd、及びXdの2乗が生成され、これらはいずれも元のXiの桁数以下の整数でありうるため、桁あふれを避けられる。すなわち、Xiの任意のべき乗において、式(XI)の手順を繰り返すことにより、べき乗の計算過程での桁あふれを避けることが可能になる。
分割する桁数は、計算手段等が備えるCPUの整数演算のためのレジスタのビット幅等に基づいて適宜設定しうる。好適には、符号なし整数演算のためのレジスタのビット幅を等分した上位の桁数及び下位の桁数を、分割した桁数として用いうる。
For example, when the implementation means of the method for encrypting and decrypting an integer according to the present invention is a computer device including a CPU having a 16-bit width register, the value of the original integer Xi is a decimal number 65532, etc. In some cases, in the calculation of the power of Xi, when 2 which is the smallest integer power is used, the integer upper limit value 65535 that can be expressed by using a 16-bit wide register included in the CPU is exceeded. That is, if the calculation of the Xi power of Xi included in the right side of the formula (VIII) is performed according to a normal calculation method in which the original integer is simply raised to a power, an accurate power value may not be obtained.
In the method according to the present invention, the high-order digit and the low-order digit can be separated by using Formula (IX) or its specific example, Formula (X) or Formula (XI). For example, the above-mentioned original integer Xi value 65532 is expressed as a binary number 1111111111111100 (2), divided into upper 8 digits and lower 8 digits, etc., and an integer 11111111 (2) (decimal number) included in the upper 8 digits. 255) and the integer 11111100 (2) (decimal number 252) included in the lower 8 digits, and calculating the square of 255, the product of 255 and 252 and the square of 252 respectively, the product of these integers is It is clear that both are in the range of integers that can be expressed using a 16-bit register provided in the CPU. The same applies to 32-bit wide registers, 64-bit wide registers, and the like.
Therefore, in the calculation of the power of Xi expressed as the above formula (VIII), in the case of the square of Xi that is the smallest number of times, the square of the right side of the formula (XI) is changed to the square of Xu, Xu Xd and the square of Xd are generated, and both of these can be integers less than or equal to the number of digits in the original Xi, thus avoiding overflow. That is, by repeating the procedure of the formula (XI) at an arbitrary power of Xi, it is possible to avoid overflow in the power calculation process.
The number of digits to be divided can be set as appropriate based on the bit width of a register for integer operation of the CPU provided in the calculation means or the like. Preferably, the number of upper digits and the number of lower digits obtained by equally dividing the bit width of the register for unsigned integer arithmetic can be used as the divided digits.

以上の諸段階により、元の整数Xiから、べき剰余を用いて暗号化した整数であるYiを得られる。整数Yiを表すために必要なワード長は、元の整数Xiを表すためのワード長と同じでありうるが、これに限定せず、暗号化した整数Yiの用途等に応じて、又は他のセキュリティ手段又は方法等を組み合わせて、桁数を増す数字等を追加してもよく、あるいは整数Yiを文字に変換して適宜記号等を含む文字を任意に追加してもよい。さらに、任意にオフセットTを用いて、暗号化された整数Yiをオフセットしてもよい。具体的には、ステップS150の動作により生成したYiに換えて、オフセットした(Yi+T)を用いてもよい。   Through the above steps, Yi which is an integer encrypted using a power residue is obtained from the original integer Xi. The word length required to represent the integer Yi may be the same as the word length to represent the original integer Xi, but is not limited thereto, depending on the use of the encrypted integer Yi, etc. A number or the like that increases the number of digits may be added by combining security means or methods, or an integer Yi may be converted into a character and a character including a symbol or the like may be arbitrarily added. Furthermore, the encrypted integer Yi may be offset using the offset T arbitrarily. Specifically, instead of Yi generated by the operation in step S150, an offset (Yi + T) may be used.

さらに、本発明に係る整数を暗号化する方法は、ステップS30に含まれる換字式暗号化の諸段階を、順次実施する。ステップS30は、次のS310及びS320の各ステップを含む。まず、本発明に係る整数を暗号化する方法は、ステップS310において、鍵Rで整数Yiを換字式暗号化し、整数Ziを生成する。例えば、整数Ziは、次式で表される。

Figure 2010186075
式中、Rは換字式暗号化の鍵として用いる整数であり、Rot()は鍵Rを用いて整数Yiを換字式暗号化する関数である。具体的には、Rot()は、十進法等の記数法を用いて整数Yiを記述して得られる数字の並びを文字列として扱う、公知のシーザー暗号化を用いることができる。例えば、シーザー暗号化における鍵Rを整数3として、十進数の数字1文字からなる集合{0,1,2,3,4,5,6,7,8,9}の各要素に鍵Rを加算し、集合{3,4,5,6,7,8,9,0,1,2}の各要素を同一の順番で対応させて換字することが可能である。あるいは、シーザー暗号化とは異なって、鍵Rはランダムな順序を用いる情報又は所定の数字の並び方の情報等と関連づけ、対応させる集合はランダムな順序又は所定の数字の並び方でもよい。またあるいは、元の集合の一部の要素に対して鍵Rを用いる換字式暗号化を実施してもよく、当該一部の要素の選択には乱数を用いてもよく、当該一部の要素以外の残りの要素に対して公開鍵暗号化を含む任意の暗号化を実施してもよい。これらに限定せず、記数法の桁の数字を予め用意した規則に従って、可逆的かつ一対一に対応するように換字し、整数Yiを整数Ziに変換してもよい。これらの換字式暗号化は、ループカウンタLに依存せずに毎回実施してもよく、ループカウンタLに依存して、初回のみ又は偶数回のみ等、Lの所定の値に基づいて実施してもよく、適宜設計しうる。
例えば、英字アルファベットを26進数の1桁の数字として扱い、unix(登録商標)オペレーティング・システムが備える文字列をシーザー暗号化するためのrot13関数等を利用してもよい。また例えば、このrot13関数が有する鍵である、整数の13に換えて任意の1桁の整数を鍵に用い、同様の関数を10進数の整数に対するシーザー暗号化の関数として定義して用いてもよい。 Furthermore, the method for encrypting an integer according to the present invention sequentially implements the substitution encryption steps included in step S30. Step S30 includes the following steps S310 and S320. First, in the method for encrypting an integer according to the present invention, in step S310, the integer Yi is substitution-encrypted with the key R to generate the integer Zi. For example, the integer Zi is expressed by the following formula.
Figure 2010186075
In the equation, R is an integer used as a key for substitution encryption, and Rot () is a function for substitution-encrypting the integer Yi using the key R. Specifically, Rot () can use a known Caesar encryption that handles a sequence of numbers obtained by describing an integer Yi using a notation system such as a decimal system as a character string. For example, assuming that the key R in Caesar encryption is an integer 3, the key R is assigned to each element of the set {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} consisting of one decimal digit. It is possible to add and replace each element of the set {3, 4, 5, 6, 7, 8, 9, 0, 1, 2} in the same order. Alternatively, unlike Caesar encryption, the key R may be associated with information using a random order or information on how to arrange a predetermined number, and the corresponding set may be in a random order or a predetermined number. Alternatively, substitution encryption using the key R may be performed on a part of the elements of the original set, and a random number may be used to select the part of the elements. Arbitrary encryption including public key encryption may be performed on the remaining elements other than. However, the present invention is not limited to this, and the integer Yi may be converted to the integer Zi by reversibly converting the numbers in the numeration system so as to correspond to each other in a one-to-one correspondence according to a rule prepared in advance. These substitutional encryption may be performed every time without depending on the loop counter L, and depending on the loop counter L, it may be performed based on a predetermined value of L, such as only the first time or only even times. It can be designed as appropriate.
For example, an alphabetic alphabet may be treated as a one-digit number of 26 hexadecimal numbers, and a rot13 function or the like for Caesar encryption of a character string provided in a unix (registered trademark) operating system may be used. Further, for example, an arbitrary one-digit integer may be used as a key instead of the integer 13 which is the key of the rot13 function, and the same function may be defined and used as a Caesar encryption function for a decimal integer. Good.

次いで、本発明に係る整数を暗号化する方法は、ステップS320において、必要であれば桁数の情報を保持する。例えば、換字式暗号化により生成した整数Ziの最上位がゼロである場合に、この情報を変換前の整数Yiの桁数として保持してもよい。当該保持した桁数の情報は、後述する復号化の諸段階において生成する整数の確認のために用いられてもよい。   Next, the method for encrypting an integer according to the present invention retains information on the number of digits in step S320 if necessary. For example, when the most significant integer Zi generated by substitutional encryption is zero, this information may be held as the number of digits of the integer Yi before conversion. The information on the number of digits held may be used for confirmation of an integer generated at various stages of decoding to be described later.

ステップS10及びステップS30を続けて実施した後に、本発明に係る整数を暗号化する方法は、ステップS180において、ループカウンタLをデクリメントする。さらに、ステップS190において、ループカウンタLが0以下であるかを判定する。判定の結果が真であれば終了し、偽であればステップS195に進み、上述の式(XII)から生成した整数ZiをXiとして、ステップS10の諸段階を繰り返す。
なお、繰り返しにおいて、変数A、B、D、Kは同じ値を再利用してもよい。変数E及びFの対も同じ値を再利用してもよいが、より好適には、ループカウンタLの値に依存して変数E及びFの対を変化することにより、第三者による解読をさらに困難にすることが可能になる。
このようにして、ステップS190の判定が真になるまで上述の諸段階を繰り返し、暗号化した整数Ziが得られる。例えば、ループカウンタLを3とした場合には、上述のステップS10及びステップS30からなる諸段階が3回繰り返される。
After performing step S10 and step S30 in succession, the method for encrypting an integer according to the present invention decrements the loop counter L in step S180. In step S190, it is determined whether the loop counter L is 0 or less. If the determination result is true, the process is terminated. If the determination result is false, the process proceeds to step S195, and the steps of step S10 are repeated with the integer Zi generated from the above-described equation (XII) as Xi.
In the repetition, the same values may be reused for the variables A, B, D, and K. The same value may be reused for the pair of variables E and F, but more preferably, the pair of variables E and F is changed depending on the value of the loop counter L so that the decryption by a third party is possible. It becomes possible to make it more difficult.
In this way, the above-described steps are repeated until the determination in step S190 becomes true, and an encrypted integer Zi is obtained. For example, when the loop counter L is set to 3, the steps including the above-described steps S10 and S30 are repeated three times.

従って、本発明に係る整数を暗号化する方法においては、ループカウンタLが0以下となるまで、ステップS10に含まれるべき剰余を用いる暗号化の諸段階、及びステップS30に含まれる換字式暗号化の諸段階が、続けて繰り返して実行される。べき剰余を用いる暗号化の諸段階と換字式暗号化の諸段階とは、全体を入れ替えてもよい。すなわち、ステップS100の変数初期化の後にステップS30に含まれる換字式暗号化の諸段階を実施し、その後にステップS10に含まれるべき剰余を用いる暗号化の諸段階を実施し、ステップS180及びステップS190、適宜ステップS195を実施してもよい。   Therefore, in the method for encrypting an integer according to the present invention, the stages of encryption using the remainder to be included in step S10 and the substitution encryption included in step S30 until the loop counter L becomes 0 or less. These steps are performed repeatedly in succession. The stages of encryption using a power residue and the stages of substitutional encryption may be interchanged. That is, after the variable initialization in step S100, the substitutional encryption steps included in step S30 are performed, and thereafter, the encryption steps using the remainder to be included in step S10 are performed. S190 and step S195 may be performed as appropriate.

このように、本発明に係る整数を暗号化する方法においては、べき剰余を用いる暗号化の諸段階と換字式暗号化の諸段階とを重畳して用いることにより、いずれかの暗号化のみを用いる場合と比較して、極めて高い秘匿性を確保することが可能になる。   Thus, in the method for encrypting an integer according to the present invention, only one of the encryptions can be performed by superimposing the steps of encryption using a power residue and the steps of substitutional encryption. Compared with the case of using it, it becomes possible to ensure extremely high secrecy.

[復号化の諸段階]
次に、復号化の諸段階を説明する。本発明に係る整数を暗号化する方法は、図2のステップS200において、変数領域を確保し、ループカウンタLを初期化する。この変数領域の確保は、前述の暗号化の諸段階におけるステップS100と同様でもよく、暗号化及び復号化の諸段階を一つのコンピュータ装置等に内蔵し、共通の変数領域を暗号化及び復号化の両方の諸段階に用いてもよい。ループカウンタLの初期化は、復号化と対応する暗号化におけるループカウンタLの値を繰り返し用いうる。例えば、暗号化においてループカウンタLを3とした場合には、復号化においても同様にループカウンタLを3とする。
次いで、本発明に係る暗号化した整数を復号化する方法は、ステップS40に含まれる換字式暗号を復号化する諸段階、及びステップS20に含まれるべき剰余を用いる復号化の諸段階を実施する。ここで、復号化の対象になる数は、図1を用いて前述した暗号化した整数Ziである。
[Decoding stages]
Next, the decoding steps will be described. The method for encrypting an integer according to the present invention secures a variable area and initializes the loop counter L in step S200 of FIG. The securing of the variable area may be the same as that in step S100 in the above-described encryption stages, and the encryption and decryption stages are built in one computer device and the common variable area is encrypted and decrypted. It may be used in both stages. The initialization of the loop counter L can repeatedly use the value of the loop counter L in the encryption corresponding to the decryption. For example, when the loop counter L is set to 3 in encryption, the loop counter L is set to 3 in decryption as well.
Next, the method for decrypting an encrypted integer according to the present invention implements the steps of decrypting the substitution cipher included in step S40 and the steps of decryption using the remainder to be included in step S20. . Here, the number to be decrypted is the encrypted integer Zi described above with reference to FIG.

ステップS40は、S410及びS420の各ステップを含む。ステップS410では、必要であれば整数Ziの桁数の情報が復元される。これは、単に暗号化の過程において保持した情報との照合のために行われてもよい。ステップS420においては、換字式暗号の復号化が実施され、暗号化した整数Ziから整数Yiを生成する。例えば、整数Yiは次式により復号化される。

Figure 2010186075
式中、Rot−1()は、換字式暗号化により生成した整数Ziを、鍵Rを用いて元の整数Yiに復号化する関数である。 Step S40 includes the steps of S410 and S420. In step S410, information on the number of digits of the integer Zi is restored if necessary. This may be done simply for verification with information held during the encryption process. In step S420, the substitution cipher is decrypted, and an integer Yi is generated from the encrypted integer Zi. For example, the integer Yi is decoded by the following equation.
Figure 2010186075
In the equation, Rot −1 () is a function for decrypting the integer Zi generated by the substitution encryption into the original integer Yi using the key R.

次いで、本発明に係る整数を暗号化する方法においては、ステップS20に含まれるべき剰余を用いる復号化の諸段階を実施する。ステップS20は、S210及びS220の各ステップを含む。まず、本発明に係る整数を暗号化する方法は、ステップS210において、次式を成立するFを生成する。

Figure 2010186075
式(XIV)は式(II)と同一でもよい。式(XIV)において、整数Eと関連づけられる整数Fが選択されうる。
次いで、本発明に係る暗号化した整数を復号化する方法は、ステップS220において、次の式(XV)を用いて当該暗号化したYiをXnに復号化する。次式(XV)は前述の式(III)と同一でもよい。
Figure 2010186075
ステップS150においてオフセットした(Yi+T)を用いた場合は、Xnの復号化において、ステップS220の動作に先立って、整数Yiに換えてオフセットを消去した(Yi−T)が用いられる。 Next, in the method for encrypting an integer according to the present invention, steps of decryption using the remainder to be included in step S20 are performed. Step S20 includes the steps of S210 and S220. First, the method for encrypting an integer according to the present invention generates F that satisfies the following expression in step S210.
Figure 2010186075
Formula (XIV) may be the same as Formula (II). In formula (XIV), an integer F associated with the integer E can be selected.
Next, in the method for decrypting an encrypted integer according to the present invention, in step S220, the encrypted Yi is decrypted into Xn using the following equation (XV). The following formula (XV) may be the same as the aforementioned formula (III).
Figure 2010186075
When (Yi + T) offset in step S150 is used, prior to the operation in step S220, (Yi-T) in which the offset is deleted is used instead of the integer Yi in the decoding of Xn.

このようにすることで、本発明に係る整数を暗号化し復号化する方法においては、桁あふれを発生する条件で式(VIII)のEを選択するため、本発明の方法を用いないコンピュータ装置等においては暗号化した整数Yiを正確に得ることができず、情報秘匿性の高い暗号化を実施することが可能になる。
さらに、本発明の整数を暗号化し復号化する方法においては、暗号化の過程である式(VIII)に含まれず、復号化の過程である式(XVI)及び式(XVII)に含まれる整数Fが第三者に知られにくい又は推定されにくいことに基づいて高いセキュリティを確保しうる。
なお、式(XIV)の左辺に含まれるE及びFを、当業に公知の公開鍵暗号に係る公開鍵及び秘密鍵の対として用いうること、鍵の保管又は認証に第三者機関等を用いうること等、公開鍵暗号技術に関連する方法は周知であり、本発明に適宜取り入れて用いることができる。
In this way, in the method for encrypting and decrypting integers according to the present invention, since E in the formula (VIII) is selected under the condition that overflow occurs, a computer apparatus that does not use the method of the present invention, etc. The encrypted integer Yi cannot be obtained accurately and encryption with high information confidentiality can be performed.
Furthermore, in the method for encrypting and decrypting an integer according to the present invention, the integer F included in the expressions (XVI) and (XVII) that are not included in the expression (VIII) that is the process of encryption but is included in the expression (XVI) that is the process of decryption. Can ensure high security based on the fact that it is difficult to be known or estimated by a third party.
It should be noted that E and F included in the left side of the formula (XIV) can be used as a public / private key pair related to public key cryptography known to those skilled in the art, and a third party or the like is used for key storage or authentication. Methods relating to public key cryptography, such as being usable, are well known, and can be appropriately incorporated into the present invention.

ステップS40及びステップS20を続けて実施した後に、本発明に係る整数を復号化する方法は、ステップS280において、ループカウンタLをデクリメントする。さらに、ステップS290において、ループカウンタLが0以下であるかを判定する。判定の結果が真であれば終了し、偽であればステップS295に進み、上述の式(XV)から生成した整数XnをZiとして、ステップS40の諸段階を繰り返す。このようにして、ステップS290の判定が真になるまで上述の諸段階を繰り返し、復号化した整数Xnが得られる。例えば、ループカウンタLを3とした場合には、上述のステップS40及びS20からなる諸段階が3回繰り返される。   After performing step S40 and step S20 in succession, the method for decoding an integer according to the present invention decrements the loop counter L in step S280. In step S290, it is determined whether the loop counter L is 0 or less. If the determination result is true, the process is terminated. If the determination result is false, the process proceeds to step S295, and the steps of step S40 are repeated with the integer Xn generated from the above equation (XV) as Zi. In this way, the above-described steps are repeated until the determination in step S290 becomes true, and a decoded integer Xn is obtained. For example, when the loop counter L is set to 3, the steps consisting of the above steps S40 and S20 are repeated three times.

従って、本発明に係る整数を復号化する方法においては、ループカウンタLが0以下となるまで、ステップS40に含まれる換字式暗号を復号化する諸段階、及びステップS20に含まれるべき剰余を用いる復号化の諸段階が、続けて繰り返して実行される。換字式暗号を復号化する諸段階とべき剰余を用いる復号化の諸段階とは、暗号化の諸段階の逆順であればよく、全体を入れ替えてもよい。すなわち、ステップS200の変数初期化の後にステップS20に含まれるべき剰余を用いる復号化の諸段階を実施し、その後にステップS40に含まれる換字式暗号を復号化する諸段階を実施し、ステップS280及びステップS290、適宜ステップS295を実施してもよい。   Therefore, in the method for decrypting an integer according to the present invention, the stages for decrypting the substitution cipher included in step S40 and the remainder to be included in step S20 are used until the loop counter L becomes 0 or less. The decryption steps are performed repeatedly in succession. The steps of decrypting the substitution cipher and the steps of decoding using a power residue may be in the reverse order of the steps of encryption, and the whole may be exchanged. That is, after the variable initialization in step S200, the various stages of decryption using the remainder to be included in step S20 are performed, and then the various stages of decrypting the substitution cipher included in step S40 are performed, and step S280 is performed. Step S290 and step S295 may be performed as appropriate.

このように、本発明に係る整数を復号化する方法においては、換字式暗号を復号化する諸段階とべき剰余を用いる復号化の諸段階とを重畳して用い、対応する暗号化の諸段階により暗号化された整数Ziから、元の整数Xiと等しい整数Xnに復号化することが可能になる。   Thus, in the method of decrypting an integer according to the present invention, the stages of decrypting the substitution cipher and the stages of decryption using a power residue are used in an overlapping manner, and the corresponding stages of encryption are used. It is possible to decrypt the encrypted integer Zi into an integer Xn equal to the original integer Xi.

図1に示した本発明に係る整数を暗号化する方法、及び図2に示した整数を復号化する方法においては、個人を識別するための識別子等を整数型の識別子として受け付けて暗号化しうる。これに限らず、本発明に係る整数を暗号化し復号化する方法においては、整数のべき乗及び剰余計算等を実施可能なコンピュータ装置等が受け付けうる、種々のデータもまた暗号化及び復号化に用いうる。例えば、整数に変換した画像を本発明の方法を用いて暗号化及び復号化することにより、第三者に対して隠蔽した画像の伝達が可能になる。また例えば、記憶媒体の特定の記憶領域を参照するためのファイル割り当てテーブル等を本発明の方法を用いて暗号化及び復号化することにより、第三者に対して隠蔽した記憶媒体等を提供しうる。これらの、本発明に係る整数を暗号化し復号化する方法を用いて提供しうる記憶媒体等は、暗号化又は復号化の諸段階においてコンピュータ・ネットワーク等を介する必要はなく、ネットワーク等から切り離されたオフライン状態でも暗号化及び復号化を実施可能である。従って、本発明においては、通信技術と連携して動作するセキュリティ技術等とは独立して、単独で暗号化及び復号化の方法を提供しうる。   In the method for encrypting an integer according to the present invention shown in FIG. 1 and the method for decrypting an integer shown in FIG. 2, an identifier for identifying an individual can be received as an integer type identifier and encrypted. . The present invention is not limited to this, and in the method for encrypting and decrypting integers according to the present invention, various data that can be received by a computer device or the like capable of performing exponentiation and remainder calculation, etc. are also used for encryption and decryption. sell. For example, by encrypting and decrypting an image converted into an integer using the method of the present invention, it is possible to transmit a concealed image to a third party. In addition, for example, a storage medium or the like concealed from a third party is provided by encrypting and decrypting a file allocation table or the like for referring to a specific storage area of the storage medium using the method of the present invention. sell. These storage media that can be provided using the method for encrypting and decrypting integers according to the present invention do not need to be connected via a computer network or the like at various stages of encryption or decryption, and are separated from the network or the like. Encryption and decryption can be performed even in an offline state. Therefore, in the present invention, independent encryption and decryption methods can be provided independently of the security technology operating in cooperation with the communication technology.

[個人情報隠蔽手順の形態]
図3に、本発明の一実施形態に係る、整数を暗号化する方法を用いる個人情報隠蔽手順の例を示す。
暗号化手段100は、本発明に係る入力された整数から暗号化した整数を生成する手段である。暗号化手段100は、特定の個人20が有する識別のための数字及び/又は文字を含む識別子等を、整数型の識別子30として受け付ける。具体的には、個人20は事業体等に所属する構成員の1人であり、整数型の識別子30は当該事業体において複数の構成員を識別するために適宜用いられる、複数の桁の整数を含む構成員識別子等でありうる。例えば、当該構成員識別子の形態は、当該事業体等の所属が開始された年次を表す数字2桁及び同時期に所属を開始した他の構成員を含む複数の構成員のそれぞれに割り当てられた6桁の数字等からなる、全体として8桁の数字等であり、適宜設定しうる。典型的には、特定の個人20と整数型の識別子30とは1対1に関連づけられ、他の構成員等とは関連づけられない。また、構成員識別子等が英文字等を含む場合、整数型の識別子30は、英文字及び数字の全体又はその一部をコンピュータ処理可能な文字コードの集まりとして扱い、個々の文字コードを16進法の整数として、整数型の識別子30を構成してもよい。本発明に係る整数を暗号化し復号化する方法においては、このように変換された16進法の整数を暗号化し、当該暗号化した16進法の整数から元のコンピュータ処理可能な文字コードの集まりを復号化しうる。構成員識別子等が画像データの場合についても、16進法の整数の集まりとして元の画像データを扱うことにより、同様に暗号化及び復号化が可能である。
[Personal information hiding procedure]
FIG. 3 shows an example of a personal information concealment procedure using an integer encryption method according to an embodiment of the present invention.
The encryption unit 100 is a unit that generates an encrypted integer from the input integer according to the present invention. The encryption unit 100 accepts an identifier including numbers and / or characters for identification possessed by a specific individual 20 as an integer type identifier 30. Specifically, the individual 20 is one of the members belonging to the business entity, and the integer type identifier 30 is an integer of a plurality of digits that is appropriately used to identify a plurality of members in the business entity. May be a member identifier or the like. For example, the form of the member identifier is assigned to each of a plurality of members including a two-digit number representing the year in which the business entity or the like has belonged and other members who have started belonging at the same time. The number is composed of 6-digit numbers and the like, and is an 8-digit number as a whole, and can be set as appropriate. Typically, a specific individual 20 and an integer type identifier 30 are associated one-to-one, and are not associated with other members. In addition, when the member identifier includes English characters, the integer identifier 30 treats all or part of the English characters and numbers as a set of computer-processable character codes, and converts each character code to hexadecimal. The integer type identifier 30 may be configured as a modulo integer. In the method of encrypting and decrypting an integer according to the present invention, the thus converted hexadecimal integer is encrypted, and a set of original computer-processable character codes from the encrypted hexadecimal integer. Can be decrypted. Even in the case where the member identifier or the like is image data, the original image data is handled as a collection of hexadecimal integers, so that encryption and decryption are possible in the same manner.

暗号化手段100は、乱数発生手段39を備え、本発明に係る入力された整数から暗号化した整数を生成する過程において、乱数を用いて暗号化の鍵を選択することが可能であり、さらに当該暗号化の鍵と関連づけられる復号化の鍵も選択されうる。   The encryption unit 100 includes a random number generation unit 39, and can select an encryption key using a random number in the process of generating an encrypted integer from the input integer according to the present invention. A decryption key associated with the encryption key may also be selected.

識別用途A(122)、識別用途B(124)及び識別用途C(126)は、整数型の識別子30を用いて特定の個人20を識別することが必要な任意の用途でありうる。図1にはこれらの3つの識別用途を図示するが、これらに限定せず、識別用途の種類、個数等は適宜設定しうる具体的には、これらの用途は、特定の個人20による電子メール送受信等を含む事業体内部のコンピュータ・ネットワーク利用又は事業体と関連づけられるオンライン銀行業務又は保険サービス等の利用、あるいは事業体による特定の個人20の業務に係る記録行為等でありうる。それぞれの識別用途A(122)、識別用途B(124)及び識別用途C(126)は、暗号化手段100において互いに他を区別するための情報を含んでもよい。すなわち、識別用途Aの固有情報(62)、識別用途Bの固有情報(64)及び識別用途Cの固有情報(66)等は、互いに他と異なればよい。例えば、これらの識別用途の固有情報は特定の整数の値でもよく、前述の式(VIII)に含まれるN又はEの値として、それぞれ独立して異なる値を用いてもよい。   Identification application A (122), identification application B (124), and identification application C (126) can be any application that requires identification of a particular individual 20 using an integer type identifier 30. Although these three identification uses are illustrated in FIG. 1, the type, number, etc. of the identification uses can be appropriately set. It may be a computer network use within the business entity including transmission / reception or the like, an online banking business associated with the business entity, an insurance service, etc., or a recording act related to a business of a specific individual 20 by the business entity. Each identification application A (122), identification application B (124), and identification application C (126) may include information for distinguishing each other from each other in the encryption unit 100. That is, the unique information (62) for the identification application A, the unique information (64) for the identification application B, the unique information (66) for the identification application C, and the like may be different from each other. For example, the specific information for identification use may be a specific integer value, and different values may be used independently as the values of N or E included in the above formula (VIII).

暗号化手段100は、受け付けた整数型の識別子30に対して、識別用途Aの固有情報(62)、識別用途Bの固有情報(64)又は識別用途Cの固有情報(66)を用い、それぞれの識別用途の固有情報ごとに独立して、暗号化計算A(72)、暗号化計算B(74)又は暗号化計算C(76)を実施しうる。当該暗号化計算には、前述のように、整数のべき乗を含む計算のために暗号化手段100が用いるコンピュータ装置等において桁あふれを発生する条件で、式(VIII)の展開形を用いて暗号化した整数を生成する諸段階を含む。当該暗号化計算の結果として、暗号化した整数A(42)、暗号化した整数B(44)又は暗号化した整数C(46)が生成される。   The encryption unit 100 uses the unique information (62) for the identification application A, the unique information (64) for the identification application B, or the unique information (66) for the identification application C for the received integer type identifier 30, respectively. The encryption calculation A (72), the encryption calculation B (74), or the encryption calculation C (76) can be performed independently for each unique information of the identification use. As described above, the encryption calculation is performed using the expansion form of the formula (VIII) under the condition that overflow occurs in the computer apparatus or the like used by the encryption unit 100 for the calculation including the power of the integer. Steps to generate a generalized integer. As a result of the encryption calculation, an encrypted integer A (42), an encrypted integer B (44), or an encrypted integer C (46) is generated.

生成したそれぞれの暗号化した整数A(42)、暗号化した整数B(44)又は暗号化した整数C(46)のそれぞれは、独立して、対応する識別用途A(122)、識別用途B(124)又は識別用途C(126)のために提供されうる。
例えば、識別用途A(122)が事業体内部のコンピュータ・ネットワーク利用等である場合、本発明に係る暗号化手段100は、特定の個人20を識別するための整数型の識別子30に替えて暗号化した整数A(42)を、情報伝達経路A(82)を介して当該事業体のコンピュータ・ネットワーク132等に提供しうる。情報伝達経路A(82)は例えば当該事業体内のローカルエリアネットワーク等でありうる。
また、例えば、識別用途B(124)が事業体による特定の個人20の業務に係る記録行為等である場合、本発明に係る暗号化手段100は、特定の個人20を識別するための整数型の識別子30に替えて暗号化した整数B(44)を、情報伝達経路B(84)を介して当該事業体の勤務管理記憶装置134等に提供しうる。情報伝達経路B(84)は例えば当該事業体の出入口等に適宜備えられた入構者記録のための端末装置及び記憶装置等でありうる。
Each of the generated encrypted integer A (42), encrypted integer B (44) or encrypted integer C (46) is independently associated with the corresponding identification application A (122), identification application B. (124) or for identification application C (126).
For example, when the identification application A (122) is the use of a computer network inside the business entity, the encryption unit 100 according to the present invention encrypts the identifier instead of the integer identifier 30 for identifying the specific individual 20. The converted integer A (42) can be provided to the computer network 132 of the entity through the information transmission path A (82). The information transmission path A (82) can be, for example, a local area network in the business entity.
Further, for example, when the identification use B (124) is a recording act or the like related to the business of the specific individual 20 by the business entity, the encryption unit 100 according to the present invention is an integer type for identifying the specific individual 20 The integer B (44) encrypted in place of the identifier 30 can be provided to the work management storage device 134 or the like of the business entity via the information transmission path B (84). The information transmission path B (84) can be, for example, a terminal device and a storage device for recording a visitor provided appropriately at the entrance and exit of the business entity.

これらのコンピュータ処理可能な数値データに限らず、暗号化手段100は、特定の個人20を識別するための整数型の識別子30に替えて暗号化した整数C(46)を、情報伝達経路C(86)を介して不特定の他者136等に提供しうる。情報伝達経路C(86)は、口頭又は文書等を含む任意の形式でもよい。例えば、不特定の他者136は当該事業体と独立して運営される団体加入保険サービス業の受け付け担当者であり、当該事業体の構成員である特定の個人20は、情報伝達経路C(86)として一般公衆回線の電話等を用い、当該団体保健サービスにおいて自己を特定するための情報として、暗号化した整数C(46)を送信しうる。この送信は、通話、ファクシミリ、電子メール等の任意の形態を含む。従って、電話等の通話の音声がたまたま周囲にいる第三者に聞かれてしまう等の状況により、この送信の内容が無関係の第三者に傍受されても、本発明に係る暗号化手段100により暗号化した整数C(46)は、特定の個人20を識別するための整数型の識別子30とは異なる整数であるため、当該第三者は傍受内容から当該整数型の識別子30を知ることができない。すなわち、本発明に係る暗号化手段100を用いることにより、個人情報を隠蔽することが可能になる。
このようにして、本発明に係る暗号化手段100においては、特定の個人20に関連づけられる整数型の識別子30から、識別用途ごとに異なる暗号化した整数を生成し、当該特定の個人20の個人情報を隠蔽しうる。
The encryption unit 100 is not limited to the numerical data that can be processed by the computer, and the encryption unit 100 converts the encrypted integer C (46) in place of the integer identifier 30 for identifying the specific individual 20 into the information transmission path C ( 86) to an unspecified other person 136 or the like. The information transmission path C (86) may be in any form including oral or document. For example, the unspecified other person 136 is a person in charge of accepting a group insurance service business operated independently of the business entity, and the specific individual 20 who is a member of the business entity is informed of the information transmission path C ( 86), an encrypted integer C (46) can be transmitted as information for identifying itself in the group health service using a telephone of a general public line. This transmission includes any form such as a telephone call, a facsimile, and an electronic mail. Therefore, even if the voice of a telephone call or the like is heard by a third party around, the content of this transmission is intercepted by an irrelevant third party, the encryption means 100 according to the present invention. Since the integer C (46) encrypted by the above is an integer different from the integer identifier 30 for identifying the specific individual 20, the third party knows the integer identifier 30 from the intercepted content. I can't. That is, the personal information can be concealed by using the encryption means 100 according to the present invention.
In this way, in the encryption means 100 according to the present invention, an encrypted integer that is different for each identification purpose is generated from the integer type identifier 30 associated with the specific individual 20, and the individual of the specific individual 20 is generated. Information can be hidden.

さらに、本発明に係る暗号化手段100は、特定の識別用途において複数の構成員の識別子を一括して暗号化してもよい。
本発明に係る暗号化手段100は特定の識別用途に対して特定の個人情報を隠蔽しうる。暗号化手段100が受け付ける整数型の識別子30が個々の特定の個人20ごとに異なることにより、別個の整数型の識別子30ごとに、暗号化した整数が生成される。従って、識別用途A(122)、識別用途Aの固有情報(62)及び暗号化計算A(72)が一定であっても、異なる整数型の識別子30を有する事業体内の複数の構成員等は、それぞれが異なる暗号化した整数A(72)を得ることができる。
例えば、事業体のネットワーク管理者等は、識別用途Aの固有情報(62)をネットワーク・メンテナンスの日時等の特定の条件に従って選択することにより、当該事業体の複数の構成員のネットワーク・アカウント情報のそれぞれを別個に一括して暗号化しうる。ネットワーク管理者等は識別用途Aの固有情報(62)を選択する条件を管理することにより、複数の構成員のアカウント情報を一括して暗号化して保持し、管理しうる。さらに式(XVI)及び式(XVII)に含まれる整数Fが第三者に知られにくい又は推定されにくいことにより、この値を知らない第三者に対して明示的なアカウント情報を隠蔽することが可能になる。
Furthermore, the encryption unit 100 according to the present invention may collectively encrypt the identifiers of a plurality of members in a specific identification application.
The encryption means 100 according to the present invention can conceal specific personal information for specific identification applications. Since the integer type identifiers 30 received by the encryption unit 100 are different for each specific individual 20, an encrypted integer is generated for each individual integer type identifier 30. Therefore, even if the identification application A (122), the identification information A unique information (62), and the encryption calculation A (72) are constant, a plurality of members in the business entity having different integer type identifiers 30 , Each can obtain a different encrypted integer A (72).
For example, the network administrator of the business entity selects the specific information (62) of the identification use A according to the specific conditions such as the date and time of network maintenance, and thereby the network account information of a plurality of members of the business entity. Each of these can be encrypted separately and collectively. The network administrator or the like can manage the conditions for selecting the unique information (62) for the identification use A, thereby collectively storing and managing the account information of a plurality of members. Furthermore, by concealing explicit account information from a third party who does not know this value because the integer F included in the formula (XVI) and formula (XVII) is difficult to be known or estimated by a third party. Is possible.

図3には、特定の個人20から事業体のコンピュータ・ネットワーク132、事業体の勤務管理記憶装置134、又は不特定の他者136等に向けて、本発明に係る暗号化手段100を用いて整数型の識別子30を暗号化して送信することを示すが、送受信の主体を入れ替えても、本発明に係る暗号化手段100を用いることができる。すなわち、事業体のコンピュータ・ネットワーク132に接続されたサーバ装置(図示せず)等が記憶した整数型の識別子30を本発明に係る暗号化手段100への入力として、上述の手順に従って暗号化した整数A(42)等を生成し、特定の個人20に送信してもよい。このようにすることで、事業体等は、構成員の識別情報又は事業に関連する情報等を暗号化し、当該暗号化した識別子等を使用するよう従業員に促して、セキュリティを高めることが可能になる。   In FIG. 3, the encryption means 100 according to the present invention is used from a specific individual 20 toward the computer network 132 of the business entity, the work management storage device 134 of the business entity, or an unspecified other person 136. Although the integer type identifier 30 is encrypted and transmitted, the encryption unit 100 according to the present invention can be used even if the subject of transmission and reception is switched. That is, the integer type identifier 30 stored by a server device (not shown) connected to the computer network 132 of the business entity is encrypted as an input to the encryption means 100 according to the present invention according to the above-described procedure. An integer A (42) or the like may be generated and transmitted to the specific individual 20. By doing so, the business entity can encrypt the identification information of the member or information related to the business, etc., and urge the employee to use the encrypted identifier, etc., to increase security. become.

本発明に係る暗号化手段100は、具体的にはパーソナル・コンピュータ等で実行可能な汎用のワークシート等のアプリケーションに内蔵された整数計算ライブラリ等を用いて実施しうる。従って、本発明に係る整数を暗号化し復号化する方法においては、特に専用の計算機等を用意することなく、既存の計算機を用いて社員番号等の暗号化及び復号化を実施することも可能である。さらに、本発明においては、本発明に係る整数を暗号化し復号化する方法によらなければ暗号化又は復号化のいずれかの諸段階における桁あふれが発生して、正確な暗号化及び/又は復号化ができないため、本発明の方法を実施しない第三者に対して構成員の識別子等の個人情報を隠蔽することが可能になる。   Specifically, the encryption unit 100 according to the present invention can be implemented using an integer calculation library or the like built in an application such as a general-purpose worksheet that can be executed by a personal computer or the like. Therefore, in the method of encrypting and decrypting integers according to the present invention, it is possible to encrypt and decrypt employee numbers and the like using an existing computer without preparing a dedicated computer or the like. is there. Furthermore, in the present invention, if the method for encrypting and decrypting an integer according to the present invention is not used, overflow in any stage of encryption or decryption occurs, and accurate encryption and / or decryption is performed. Therefore, it is possible to conceal personal information such as member identifiers from a third party who does not implement the method of the present invention.

[個人情報隠蔽手順の別の形態]
図4に、本発明の一実施形態に係る、整数を暗号化する方法を用いる個人情報隠蔽手順の別の例を示す。図3と共通する箇所は説明を省略する。
[Another form of personal information hiding procedure]
FIG. 4 shows another example of a personal information hiding procedure using a method for encrypting an integer according to an embodiment of the present invention. Descriptions of parts common to those in FIG. 3 are omitted.

図4においては、暗号化手段100は特定の個人20から受け付けた整数型の識別子30に対して、追加の桁37を適宜追加しうる。この追加の桁は整数型の識別子30と同様に整数でありうる。追加の桁37の桁数は何桁でもよく、例えば2桁、3桁、又は4桁等でもよい。追加の桁37は、整数型の識別子30に対して左側から追加してもよく右側から追加してもよい。あるいは、整数型の識別子30を予め定めた桁において分割し、追加の桁37を挿入してもよく、追加の桁37の追加の態様は適宜設定しうる。また、追加の桁37の値は何でもよく、本発明に係る整数の暗号化及び復号化を利用する事業体又はシステム等により任意に用意されてもよく、あるいは整数型の識別子30から予め定めた手順により生成してもよい。例えば、整数型の識別子30の各桁の数字の和を算出した値の下位2桁等を、追加の桁37としてもよい。さらに、追加の桁37は、識別用途A(122)、識別用途B(124)及び識別用途C(126)等に依存してそれぞれの識別用途ごとに独立して用意されてもよい。
追加の桁37を追加することにより、整数型の識別子30及び追加の桁37に含まれる各桁の数字を含む新たな整数である、桁増しした識別子38が生成されうる。
In FIG. 4, the encryption unit 100 can appropriately add an additional digit 37 to the integer type identifier 30 received from a specific individual 20. This additional digit may be an integer, similar to the integer type identifier 30. The number of digits of the additional digit 37 may be any number, for example, 2 digits, 3 digits, or 4 digits. The additional digit 37 may be added to the integer type identifier 30 from the left side or from the right side. Alternatively, the integer type identifier 30 may be divided at a predetermined digit and an additional digit 37 may be inserted, and an additional mode of the additional digit 37 may be set as appropriate. Further, the value of the additional digit 37 may be any value, and may be arbitrarily prepared by an entity or system using integer encryption and decryption according to the present invention, or may be determined in advance from the integer identifier 30. It may be generated by a procedure. For example, the lower two digits of the value obtained by calculating the sum of the digits of the integer type identifier 30 may be used as the additional digits 37. Further, the additional digit 37 may be prepared independently for each identification application depending on the identification application A (122), the identification application B (124), the identification application C (126), and the like.
By adding the additional digit 37, the identifier 38 with an additional digit, which is a new integer including the integer type identifier 30 and the number of each digit included in the additional digit 37, can be generated.

一実施形態において、桁増しした識別子38は、整数型の識別子30の右に追加の桁37を追加した整数として生成される。例えば、整数型の識別子30が8桁の整数であり、追加の桁37が2桁の整数である場合、桁増しした識別子38は10桁の整数であり、桁増しした識別子38の値は次式で表される。

Figure 2010186075
式中、X38は桁増しした識別子38の値、X30は整数型の識別子30の値、X37は追加の桁37の値であり、Mは記数法の底である。例えば、これらの整数が10進法の整数であるときには、X38の値はX30を100倍してX37を加えた値でありうる。記数法は10進法に限らず、2進法、8進法又は16進法等を任意に用いうる。桁増しする桁の数は2桁に限らず適宜設定しうる。 In one embodiment, the digitized identifier 38 is generated as an integer with an additional digit 37 added to the right of the integer type identifier 30. For example, when the integer type identifier 30 is an 8-digit integer and the additional digit 37 is a 2-digit integer, the identifier 38 with an additional digit is an integer with 10 digits, and the value of the identifier 38 with an additional digit is It is expressed by a formula.
Figure 2010186075
Where X 38 is the value of identifier 38 incremented by digits, X 30 is the value of integer type identifier 30, X 37 is the value of additional digits 37, and M is the base of numeration. For example, these integers is at an integer decimal, the value of X 38 may be a value obtained by adding X 37 and the X 30 100 times. The number system is not limited to the decimal system, and a binary system, an octal system, a hexadecimal system, or the like can be arbitrarily used. The number of digits to be added is not limited to two digits and can be set as appropriate.

追加の桁37を含む桁増しした識別子38に対する暗号化の諸段階は、図1に示した一実施形態のフロー図、又は図3に示した一実施形態の識別用途に依存して実施しうる暗号化の手順等と同様である。暗号化の鍵が、乱数発生手段39等を用いて、ランダムな選択則により選択されることも同様である。すなわち、図4に示す形態の暗号化の諸段階により生成される暗号化した整数は、コンピュータ・ネットワーク132又は勤務管理記憶装置134等を用いてコンピュータ処理可能なデータとして生成してもよく、不特定の他者136が知りうる音声又は出版物等の形態で生成してもよい。   The steps of encryption for an extended identifier 38 including additional digits 37 may be performed depending on the flow diagram of one embodiment shown in FIG. 1 or the identification application of one embodiment shown in FIG. This is the same as the encryption procedure. Similarly, the encryption key is selected by a random selection rule using the random number generating means 39 or the like. That is, the encrypted integer generated by the various stages of encryption shown in FIG. 4 may be generated as computer-processable data using the computer network 132 or the work management storage device 134. You may generate | occur | produce in the form of the audio | voice or publication etc. which the specific others 136 can know.

一実施形態において、構成員の生年月日に含まれる数字等を識別子として利用する事業体等は、本発明に係る整数を暗号化し復号化する方法を用い、当該構成員の生年月日に含まれる数字等に追加して、任意の2桁の数字を追加の桁37として組み合わせうる。これにより、生年月日が同一の構成員が複数存在しても、任意の2桁の数字が相互に異なれば、生成する暗号化された数字は互いに異なるので、追加の桁37を用いることにより当該事業体等は暗号化した整数を用いて構成員を識別しうる。   In one embodiment, an entity that uses a number or the like included in a member's date of birth as an identifier is included in the date of birth of the member using the method of encrypting and decrypting an integer according to the present invention. An arbitrary two-digit number can be combined as an additional digit 37 in addition to the number to be displayed. Thus, even if there are multiple members with the same date of birth, if any two-digit numbers are different from each other, the generated encrypted numbers are different from each other. The business entity or the like can identify the member using the encrypted integer.

このようにして、予め定めた桁数の追加の桁37を追加することにより、本発明に係る暗号化手段100の暗号化の諸段階に入力される整数は、特定の個人20等が有する識別のための情報そのものではなくなる。桁を追加して得られる整数を暗号化することにより、本発明に係る整数の暗号化においては、特定の個人20等の個人情報をさらに隠蔽した暗号化が可能になる。   In this way, by adding the additional digits 37 having a predetermined number of digits, the integer input to the various stages of encryption of the encryption means 100 according to the present invention is the identification that the specific individual 20 or the like has. Is no longer the information for itself. By encrypting the integer obtained by adding digits, the encryption of the integer according to the present invention enables the encryption in which the personal information of the specific individual 20 or the like is further concealed.

[個人情報隠蔽手順のさらに別の形態]
図5に、本発明の一実施形態に係る、整数を暗号化する方法を用いる個人情報隠蔽手順のさらに別の例を示す。図3と共通する箇所は説明を省略する。
[Another form of personal information hiding procedure]
FIG. 5 shows still another example of the personal information hiding procedure using the method of encrypting an integer according to an embodiment of the present invention. Descriptions of parts common to those in FIG. 3 are omitted.

図5に示す個人情報隠蔽手順においては、本発明に係る暗号化手段100が、乱数発生手段39及びオフセット情報40を含みうることを示す。   In the personal information concealment procedure shown in FIG. 5, it is shown that the encryption unit 100 according to the present invention can include the random number generation unit 39 and the offset information 40.

一実施形態において、本発明に係る暗号化手段100は乱数発生手段39を用いて乱数を発生させ、当該発生した乱数に基づいて、整数型の識別子30を暗号化しうる。
乱数発生手段39により発生した乱数は、上述のように、本発明に係る暗号化の鍵の選択に用いられ、さらに、図1を用いて前述したステップS30に含まれる換字式暗号化の鍵Rの選択に用いることができる。具体的には、換字式暗号化の鍵Rの選択は、発生した乱数に対して直近の素数を選択してもよい。すなわち、重複無く素数を含む集合から、当該発生した乱数との差が最も小さい素数を選択してもよい。あるいは、換字式暗号化の鍵Rの選択は、重複無く素数を含む集合からそれぞれの要素(すなわち素数)を昇順又は降順に配列した数列を用意し、乱数の上限を当該集合の要素数として、発生した乱数を項番号とする要素(すなわち素数)を当該数列から選択してもよい。これらに限らず、乱数と素数の関連づけは適宜設計しうる。
In one embodiment, the encryption unit 100 according to the present invention can generate a random number using the random number generation unit 39 and encrypt the integer type identifier 30 based on the generated random number.
As described above, the random number generated by the random number generation means 39 is used for selection of the encryption key according to the present invention, and further, the substitution encryption key R included in step S30 described above with reference to FIG. Can be used for selection. Specifically, the selection of the substitution encryption key R may be performed by selecting a prime number nearest to the generated random number. That is, a prime number having the smallest difference from the generated random number may be selected from a set including prime numbers without duplication. Alternatively, the selection of the key R for substitution encryption is performed by preparing a number sequence in which elements (that is, prime numbers) are arranged in ascending or descending order from a set including prime numbers without duplication, and the upper limit of the random number is set as the number of elements in the set. An element (that is, a prime number) having the generated random number as a term number may be selected from the number sequence. Not limited to these, the association between random numbers and prime numbers can be designed as appropriate.

別の実施形態において、本発明に係る暗号化手段100はオフセット情報40を用いて整数型の識別子30をオフセットした後に、図1を用いて示した暗号化の諸段階を実施しうる。すなわち、本発明に係る暗号化手段100は、整数型の識別子30に整数型の所定の定数を加算又は減算しうる。この加算又は減算される所定の定数は、元の整数への復号化の段階において減算又は加算されることにより、整数型の識別子30が正しく復元されうる。オフセット情報40は定数に限らず、本発明に係る暗号化手段100が一つの整数型の識別子30を受け付けて動作するごとに、毎回異なる値を選択して用いてもよい。この異なる値の選択において、上述の乱数発生手段39を用いてもよい。   In another embodiment, the encryption unit 100 according to the present invention may perform the steps of encryption shown in FIG. 1 after offsetting the integer type identifier 30 using the offset information 40. That is, the encryption unit 100 according to the present invention can add or subtract a predetermined integer type constant to the integer type identifier 30. The predetermined constant to be added or subtracted is subtracted or added at the stage of decoding into the original integer, whereby the integer type identifier 30 can be correctly restored. The offset information 40 is not limited to a constant, and a different value may be selected and used each time the encryption unit 100 according to the present invention operates by accepting one integer type identifier 30. In selecting the different values, the random number generating means 39 described above may be used.

また別の実施形態において、本発明に係る暗号化手段100は乱数発生手段39を用いて乱数を発生させ、当該発生した乱数に基づいて、図1に示したステップS190のループカウンタLを選択してもよい。図2に示したステップS290のループカウンタLは、図1に示したステップS190のループカウンタLと同一の値でありうる。すなわち、ループカウンタLは、所定の正の整数、当該所定の正の整数を暗号化した正の整数、及びランダムに発生した正の整数からなる群から選ばれうる。
ループカウンタLは、暗号化の強度を確保するために、予め下限を設定してもよい。また、暗号化及び復号化の計算処理のための時間を短縮するために、予め上限を設定してもよい。従って、本発明に係る整数を暗号化し復号化する方法におけるループカウンタLの値は、予め設定された下限及び/又は上限の範囲に従って、所定の正の整数、当該所定の正の整数を暗号化した正の整数、及びランダムに発生した正の整数からなる群から選ばれうる。このように、べき剰余を用いる暗号化及び換字式暗号化のいずれとも独立した変数でありうるループカウンタLを秘密とすることで、第三者の解読の手間はさらに膨大となりうる。
In another embodiment, the encryption unit 100 according to the present invention generates a random number using the random number generation unit 39, and selects the loop counter L in step S190 shown in FIG. 1 based on the generated random number. May be. The loop counter L in step S290 shown in FIG. 2 can be the same value as the loop counter L in step S190 shown in FIG. That is, the loop counter L can be selected from the group consisting of a predetermined positive integer, a positive integer obtained by encrypting the predetermined positive integer, and a randomly generated positive integer.
The loop counter L may set a lower limit in advance in order to ensure the strength of encryption. Further, an upper limit may be set in advance in order to shorten the time for calculation processing of encryption and decryption. Therefore, the value of the loop counter L in the method for encrypting and decrypting an integer according to the present invention is a predetermined positive integer according to a preset lower limit and / or upper limit range, and the predetermined positive integer is encrypted. Selected from the group consisting of a positive integer and a randomly generated positive integer. Thus, by making the loop counter L, which can be a variable independent of both the encryption using the power residue and the substitutional encryption, the trouble of decryption by a third party can be further increased.

さらに別の実施形態において、本発明に係る暗号化手段100は、公開鍵暗号化技術における公開鍵に対して、オフセット情報40を用いてオフセットした公開鍵を生成してもよい。具体的には、式(I)に含まれる変数Eを決定した後に、当該変数Eに整数型の所定の定数を加算又は減算して公開鍵としてもよい。従って、この整数型の所定の定数が加算又は減算されていることを知らない第三者が解読のために当該公開鍵を用いることは無駄な手順となる。従って、オフセット情報40を公開鍵に適用することにより、暗号化された整数等の情報の秘匿性はさらに高められる。   In still another embodiment, the encryption unit 100 according to the present invention may generate a public key that is offset using the offset information 40 with respect to the public key in the public key encryption technology. Specifically, after determining the variable E included in the formula (I), a predetermined integer constant may be added to or subtracted from the variable E to obtain the public key. Therefore, it is a useless procedure for a third party who does not know that this predetermined integer type constant is added or subtracted to use the public key for decryption. Therefore, by applying the offset information 40 to the public key, the confidentiality of information such as an encrypted integer is further enhanced.

また別の実施形態において、本発明に係る暗号化手段100は、上述の乱数発生手段39及びオフセット情報40の両者を用いて、整数型の識別子30を暗号化してもよい。   In another embodiment, the encryption unit 100 according to the present invention may encrypt the integer identifier 30 using both the random number generation unit 39 and the offset information 40 described above.

図5においては、識別用途A(122)、識別用途B(124)及び識別用途C(126)等のそれぞれに対して暗号化の過程を一つの矢印として表しているが、図1を用いて前述したように、本発明に係る暗号化の方法においては、それぞれの識別用途ごとに、べき剰余を用いる暗号化及び換字式暗号化が所定の繰り返し回数だけ交互に重畳されうる。それぞれの識別用途ごとに生成した、暗号化した整数A(42)、暗号化した整数B(44)又は暗号化した整数C(46)は、乱数発生手段39を用いて発生した乱数の情報、べき剰余を用いる暗号化の情報、及び換字式暗号化の情報の全てを正確に用いなければ、いずれも正しく復号化することができない。従って、本発明の実施の形態における個人情報隠蔽手順においては、正確な復号化のための情報の種類をより多く必要とすることで、周知の公開鍵暗号化技術等に比較してさらに秘匿性を高めることが可能になる。   In FIG. 5, the encryption process is shown as one arrow for each of the identification application A (122), the identification application B (124), the identification application C (126), etc., but FIG. As described above, in the encryption method according to the present invention, for each identification application, encryption using a power residue and substitution-type encryption can be alternately superimposed for a predetermined number of repetitions. The encrypted integer A (42), the encrypted integer B (44) or the encrypted integer C (46) generated for each identification application is information on random numbers generated using the random number generating means 39, If all of the encryption information using the power residue and the substitutional encryption information are not used accurately, neither can be decrypted correctly. Therefore, the personal information concealment procedure according to the embodiment of the present invention requires more types of information for accurate decryption, which further enhances the secrecy compared to known public key encryption technology and the like. Can be increased.

[復号化の手順の例]
図6に、本発明の一実施形態に係る、暗号化した整数の復号化手順の例を示す。図6においては、説明の簡潔化のためにコンピュータ処理可能な数値に関し、図3を示して説明した暗号化手段100が生成した暗号化した整数A(42)及び/又は暗号化した整数B(44)に対する復号化を説明するが、通話又は文書等の形態で伝達しうる暗号化した整数の復号化についても同様である。図3又は図4と共通する箇所は説明を省略する。
[Example of decryption procedure]
FIG. 6 shows an example of a procedure for decrypting an encrypted integer according to an embodiment of the present invention. In FIG. 6, with respect to numerical values that can be processed by a computer for simplification of explanation, an encrypted integer A (42) and / or an encrypted integer B (generated by the encryption means 100 shown in FIG. 44), the same applies to decryption of an encrypted integer that can be transmitted in the form of a call or a document. Descriptions of portions common to FIG. 3 or 4 are omitted.

図6は、本発明に係る復号化手段110が、暗号化した整数A’(52)及び/又は暗号化した整数B’(54)を受け付け、整数型の復号化した識別子41を生成することを示す。ここで、暗号化した整数A’(52)は、整数型の識別子30に対して暗号化手段100が暗号化計算A(72)を用いて生成した暗号化した整数A(42)が、情報伝達経路A(82)を介してコンピュータ・ネットワーク132等に伝達された後に、さらに情報伝達経路A’(102)を介して本発明に係る復号化手段110に伝達したものでありうる。従って、整数型の数値としては、暗号化した整数A’(52)は対応する暗号化した整数A(42)と同一でありうる。
同様に、暗号化した整数B’(54)は暗号化した整数B(44)と同一でありうる。
FIG. 6 shows that the decryption means 110 according to the present invention accepts an encrypted integer A ′ (52) and / or an encrypted integer B ′ (54) and generates an integer-type decrypted identifier 41. Indicates. Here, the encrypted integer A ′ (52) is the information obtained by the encrypted integer A (42) generated by the encryption unit 100 using the encryption calculation A (72) for the integer type identifier 30. After being transmitted to the computer network 132 or the like via the transmission path A (82), it may be further transmitted to the decoding means 110 according to the present invention via the information transmission path A ′ (102). Therefore, as an integer type numerical value, the encrypted integer A ′ (52) may be the same as the corresponding encrypted integer A (42).
Similarly, the encrypted integer B ′ (54) may be the same as the encrypted integer B (44).

本発明に係る復号化手段110は、暗号化した整数A’(52)及び暗号化した整数B’(54)に対して、図1に示したステップS200からステップS220の諸段階を実施し、整数型の復号化した識別子41を生成しうる。
暗号化した整数A’(52)は、暗号化手段100による暗号化計算A(72)において識別用途A(122)の固有情報(62)を用いて生成した暗号化した整数A(42)でありうる。当該固有情報(62)は、前述の式(VIII)に含まれるN又はEの値、及びKの値でありうるので、例えば、暗号化計算A(72)において用いられたEの値及びKの値を固有情報(92)として復号化計算A(112)に用いうる。
同様に、暗号化計算B(74)において用いられたEの値及びKの値を固有情報(94)として復号化計算B(114)に用いうる。
固有情報(92)及び/又は固有情報(94)は、予め復号化手段110が記憶してもよく、予め定められた手順に従って暗号化手段100又は復号化手段110の一方又は両方が生成してもよく、適宜設定しうる。
The decryption means 110 according to the present invention performs the steps S200 to S220 shown in FIG. 1 on the encrypted integer A ′ (52) and the encrypted integer B ′ (54), An integer-type decrypted identifier 41 may be generated.
The encrypted integer A ′ (52) is an encrypted integer A (42) generated by using the unique information (62) of the identification application A (122) in the encryption calculation A (72) by the encryption unit 100. It is possible. Since the specific information (62) can be the value of N or E and the value of K included in the above formula (VIII), for example, the value of E and the value of K used in the encryption calculation A (72) Can be used as the specific information (92) in the decoding calculation A (112).
Similarly, the value of E and the value of K used in the encryption calculation B (74) can be used as the unique information (94) in the decryption calculation B (114).
The unique information (92) and / or the unique information (94) may be stored in advance by the decryption means 110, and generated by one or both of the encryption means 100 and the decryption means 110 according to a predetermined procedure. It can be set as appropriate.

図6は、情報伝達経路A(82)、情報伝達経路B(84)、情報伝達経路A’(102)及び情報伝達経路B’(104)としてコンピュータ処理可能な数値を伝達しうるネットワーク等の情報伝達経路を示すが、これらに限らず、音声又は文書等を含む任意の伝達経路又は伝達手段を介して、暗号化した整数を暗号化手段100から復号化手段110に向かって伝達しうる。
本発明に係る整数を暗号化し復号化する方法には、これらの伝達経路又は伝達手段を介して伝達される整数が暗号化されていること、桁あふれを発生する条件での暗号化に用いた特定の数値で復号化する本発明の方法によらなければ元の整数を復号化することはできないという特徴がある。従って、本発明においては、伝達経路又は伝達手段等にアクセスする可能性のある第三者に対して個人情報を隠蔽し、所定の固有情報及び所定の暗号化及び所定の復号化の方法を用いる本発明の実施手段等のみが当該個人情報を正確に復号化することが可能になる。
FIG. 6 illustrates a network or the like that can transmit numerical values that can be processed by a computer as the information transmission path A (82), the information transmission path B (84), the information transmission path A ′ (102), and the information transmission path B ′ (104). Although an information transmission path is shown, the encrypted integer can be transmitted from the encryption means 100 to the decryption means 110 via any transmission path or transmission means including, but not limited to, audio or a document.
In the method of encrypting and decrypting integers according to the present invention, the integers transmitted through these transmission paths or means are encrypted, and used for encryption under conditions that cause overflow. The original integer cannot be decoded unless the method of the present invention for decoding with a specific numerical value is used. Accordingly, in the present invention, personal information is concealed from a third party who may access a transmission path or a transmission means, and predetermined specific information and predetermined encryption and decryption methods are used. Only the implementation means of the present invention can correctly decrypt the personal information.

図6には、暗号化手段100及び復号化手段110のそれぞれを別個に示したが、これに限らず、暗号化手段100及び復号化手段110を一体の装置としてもよい。暗号化した整数を伝達する伝達経路又は伝達手段等の形態は、コンピュータ・ネットワークでもよく、一般公衆回線の電話を含む通話、ファクシミリ、電子メール等の形態でもよく、任意に設定しうる。それぞれの伝達経路又は伝達手段に依存して、一つの整数型の識別子30から独立して別個に暗号化した整数を生成してもよく、さらに図4に示した追加の桁37、図5に示した乱数発生手段39、オフセット情報40、又はこれらの組み合わせを適宜用いて整数型の識別子30を加工した後に暗号化してもよい。このようにして、本発明に係る整数を暗号化し復号化する方法においては、構成員識別子等の一つの識別子から、当該識別子を用いる各種の情報伝達手段ごとに、個人情報を隠蔽した整数を識別子に替えて提供しうる。暗号化又は復号化の諸段階はコンピュータ装置等を用いて自動的に実施しうるので、本発明に係る方法のユーザはこれらの手順を特に意識することなく、自己の個人情報を隠蔽した整数を自己の識別子に替えて用いうる。   Although FIG. 6 shows the encryption unit 100 and the decryption unit 110 separately, the present invention is not limited to this, and the encryption unit 100 and the decryption unit 110 may be integrated. The form of the transmission path or means for transmitting the encrypted integer may be a computer network, a telephone call including a public telephone line, a facsimile, an electronic mail, or the like, and can be arbitrarily set. Depending on each transmission path or transmission means, a separate encrypted integer may be generated independently from one integer-type identifier 30, and additional digits 37 shown in FIG. The random number generator 39, the offset information 40, or a combination thereof shown in the figure may be used as appropriate, and the integer identifier 30 may be processed and then encrypted. In this way, in the method of encrypting and decrypting an integer according to the present invention, an integer that conceals personal information is identified from one identifier such as a member identifier for each of various information transmission means using the identifier. Can be provided instead. Since the steps of encryption or decryption can be automatically performed using a computer device or the like, the user of the method according to the present invention can set an integer that conceals his / her personal information without being particularly conscious of these procedures. It can be used instead of its own identifier.

図6には、整数型の識別子30が暗号化され、事業体のコンピュータ・ネットワーク132又は事業体の勤務管理記憶装置134等に向けて送信された後に、上述の用に復号化されうることを示すが、送受信の主体を入れ替えても、本発明に係る復号化手段110を用いることができる。すなわち、事業体のコンピュータ・ネットワーク132に接続されたサーバ装置(図示せず)等が記憶した整数型の識別子30を本発明に係る暗号化手段100で暗号化して構成員等に送信し、構成員等は上述の手順に従って、本発明に係る復号化手段110を用いて整数型の識別子30を復号化してもよい。   FIG. 6 shows that the integer identifier 30 can be encrypted and sent to the entity's computer network 132 or the entity's work management storage device 134, etc., and then decrypted for the purposes described above. As shown, the decoding means 110 according to the present invention can be used even if the subject of transmission and reception is switched. That is, the integer identifier 30 stored in a server device (not shown) connected to the computer network 132 of the business entity is encrypted by the encryption means 100 according to the present invention and transmitted to the members, etc. The member or the like may decrypt the integer type identifier 30 using the decryption means 110 according to the present invention in accordance with the above-described procedure.

[実施例1:ワークシートの内部関数を用いて整数を暗号化する例]
図7に、本発明の一実施形態に係る、暗号化の諸段階をスプレッドシート形式の計算アプリケーション・パッケージを用いて実装する例を示す。スプレッドシート形式の計算アプリケーション・パッケージとしてはマイクロソフト社製エクセル2007等を用いうるが、これに限らず、整数のべき乗及び剰余計算を実施可能なパッケージ・ソフトウェア等を任意に用いうる。
図7に示す整数の暗号化計算ワークシート200は、複数の行及び列の形態に配列されるセルを含む、スプレッドシート形式の計算アプリケーションのデータでありうる。整数の暗号化計算ワークシート200に含まれる個々のセルは、1組の行番号及び列番号を用いて特定しうる。
[Example 1: Example of encrypting integer using internal function of worksheet]
FIG. 7 shows an example of implementing the stages of encryption using a spreadsheet-type calculation application package according to an embodiment of the present invention. As a spreadsheet application software package, Microsoft Excel 2007 or the like can be used. However, the present invention is not limited to this, and package software that can perform integer power and remainder calculation can be arbitrarily used.
The integer cryptographic calculation worksheet 200 shown in FIG. 7 may be spreadsheet application data including cells arranged in a plurality of rows and columns. Individual cells included in the integer cryptographic calculation worksheet 200 may be identified using a set of row and column numbers.

整数の暗号化計算ワークシート200に含まれる、2行1列から15行1列の領域、及び2行2列から15行(2n+1)列の領域は、図1に示したステップS100からステップS195における暗号化の諸段階に係る計算のために用いられうる。
具体的には、2行1列から15行1列の領域は、図1に示したステップS100における変数領域を確保するために用いられる。2行2列から15行(2n+1)列の領域は、図1に示したステップS10及びステップS30の繰り返しのために用いられる。図7には、変数A、B、D、Kはそれぞれ同じ値が繰り返して用いられ、変数E、F、Tはループカウンタに依存して繰り返しの各回において変化する例を示す。
The region of 2 rows and 1 column to 15 rows and 1 column and the region of 2 rows and 2 columns to 15 rows (2n + 1) columns included in the integer encryption calculation worksheet 200 are shown in steps S100 to S195 shown in FIG. Can be used for calculations related to encryption stages in
Specifically, the region from 2 rows and 1 column to 15 rows and 1 column is used to secure the variable region in step S100 shown in FIG. The region of 2 rows and 2 columns to 15 rows (2n + 1) columns is used for repeating step S10 and step S30 shown in FIG. FIG. 7 shows an example in which the same values are repeatedly used for the variables A, B, D, and K, and the variables E, F, and T change at each repetition depending on the loop counter.

例示的実施形態において、2行1列のセルは暗号化の入力Xiを記憶するために用いうる。1列の他のセルには、べき剰余を用いる復号化における素数A及びB、(A−1)と(B−1)との積D及び最小公倍数K、公開鍵及び秘密鍵の対でありうる整数Ei及びFi、換字式暗号化鍵Ri、オフセットTi、ループカウンタL等が適宜定義され得る。   In an exemplary embodiment, a 2 × 1 cell may be used to store the encryption input Xi. The other cells in one column are a pair of prime numbers A and B, a product D of (A-1) and (B-1) and a least common multiple K, a public key and a secret key in decoding using a power residue. Integers Ei and Fi, substitution type encryption key Ri, offset Ti, loop counter L, and the like can be appropriately defined.

3行1列のセル及び4行2列のセルは、2個の素数A及びBを記憶するために用いうる。また、A及びBの積が入力Xiを超えることの判定を、例えば3行2列のセルを用いて表示してもよい。このA及びBの積は、前述の式(VIII)におけるNであり、Nは本発明に係る整数の暗号化に含まれる剰余計算の底でありうる。   The 3 × 1 cell and the 4 × 2 cell can be used to store two prime numbers A and B. The determination that the product of A and B exceeds the input Xi may be displayed using, for example, a cell with 3 rows and 2 columns. The product of A and B is N in the above-described formula (VIII), and N may be the base of the remainder calculation included in the integer encryption according to the present invention.

素数A及びBの組み合わせは、積NがXiを超え、和が最も小さくなる組み合わせとなるように自動的に選択してもよい。このようにすることで、素数A及びBの組み合わせを限られた範囲の素数として、後続の諸段階の計算に要する計算機のリソースの膨大化を抑制し、効率的な暗号化及び複合化の計算を実施することが可能になる。   The combination of prime numbers A and B may be automatically selected so that the product N exceeds Xi and the sum becomes the smallest. In this way, the combination of the prime numbers A and B is set to a limited range of prime numbers, and the enormous amount of computer resources required for the subsequent calculations is suppressed, and efficient encryption and decryption calculations are performed. Can be carried out.

7行1列のセルは、(A−1)及び(B−1)の積であるD値を記憶するために用いうる。8行1列のセルは、(A−1)と(B−1)の最小公倍数であるK値を記憶するために用いうる。9行1列のセルは、D又はKと素である整数Eiを記憶するために用いうる。この整数Eiは、公開鍵暗号化技術における公開鍵として用いうる。11行1列のセルは、前述の式(XVI)を成立する整数Fを記憶するために用いうる。この整数Fiは、公開鍵暗号化技術における秘密鍵として用いうる。13行1列のセルは、換字式暗号化の鍵Riを、14行1列のセルはオフセットTiを、15行1列はループカウンタLを記憶するために用いうる。   The cell in 7 rows and 1 column can be used to store a D value that is the product of (A-1) and (B-1). The cell of 8 rows and 1 column can be used to store a K value that is the least common multiple of (A-1) and (B-1). A cell of 9 rows and 1 column can be used to store an integer Ei that is prime with D or K. This integer Ei can be used as a public key in public key encryption technology. The cell of 11 rows and 1 column can be used to store the integer F that satisfies the above formula (XVI). This integer Fi can be used as a secret key in public key encryption technology. The cell of 13 rows and 1 column can be used to store the substitution encryption key Ri, the cell of 14 rows and 1 column can store the offset Ti, and the 15 rows and 1 column can store the loop counter L.

これらの整数Eiは、本発明に係る整数を暗号化する方法において、ランダムな規則により選択されうる。例えば、D又はKと素である数の集合の各要素を大きさに従って昇順に配列し、配列した要素数を上限として整数型の乱数を発生させ、発生した乱数を配列の順番とする要素を選択して、整数Eとしてもよい。整数Fiは、例えば前述の式(II)又は式(XIV)を用いて、当該整数Eiと関連づけて選択されうる。
従って、本発明においては、図7の9行に含まれるEi、E1、E2等はランダムに選択された整数であり、11行に含まれるFi、F1、F2等は、それぞれ対応するEi、E1、E2等との関連づけを有して所定の条件を満たす集合から選択される。
These integers Ei can be selected according to random rules in the method for encrypting integers according to the present invention. For example, each element of a set of numbers that is prime with D or K is arranged in ascending order according to the size, an integer type random number is generated with the number of arranged elements as an upper limit, and an element with the generated random number as the order of arrangement The integer E may be selected. The integer Fi can be selected in association with the integer Ei using, for example, the above formula (II) or formula (XIV).
Accordingly, in the present invention, Ei, E1, E2, etc. included in the 9th row in FIG. 7 are integers selected at random, and Fi, F1, F2, etc. included in the 11th row are respectively the corresponding Ei, E1. , E2 and the like and selected from a set satisfying a predetermined condition.

10行の各セルは、整数Eiによるべき乗がワークシート内蔵の整数演算においてオーバーフローを発生しているか否かを表示するために用いうる。例えば、当該オーバーフローが発生することは、整数Eiによるべき乗の値がスプレッドシート形式の計算アプリケーション・パッケージにおいて取り扱い可能な範囲を超えていることを表す「エラー」等の文字等により表されてもよく、又は当該エラーに対応して論理値の偽を表す数値等を表示してもよい。同様に、12行の各セルは、整数Fiによるべき乗がワークシート内蔵の整数演算においてオーバーフローを発生しているか否かを表示するために用いうる。これらの整数Eiによるべき乗又は整数Fiによるべき乗がオーバーフローを発生することを条件として、本発明に係るべき剰余を用いる暗号化の方法は、式(VII)に示した展開形を用いて変換前の整数を展開し、正確なべき剰余を得ることができる。具体的には、1行2列の元の整数Xiに対して、14行2列のオフセットT1を用いてオフセットした整数から、暗号化した整数として2行2列に整数Y1を得ることができる。このときに、当該べき剰余を用いる暗号化から生じる公開鍵E1及び秘密鍵F1が、それぞれ9行2列、11行2列に記憶される。   Each cell in the 10 rows can be used to display whether or not the power of the integer Ei has caused an overflow in the integer operation incorporated in the worksheet. For example, the occurrence of the overflow may be represented by characters such as “error” indicating that the power value of the integer Ei exceeds the range that can be handled in the spreadsheet-type calculation application package. Alternatively, a numerical value or the like representing a false logical value may be displayed in response to the error. Similarly, each cell in the 12th row can be used to display whether or not the power of the integer Fi has overflowed in the integer operation built in the worksheet. On the condition that the power of the integer Ei or the power of the integer Fi generates an overflow, the encryption method using the power residue according to the present invention uses the expansion form shown in Equation (VII) before conversion. You can expand integers to get the exact power remainder. Specifically, it is possible to obtain an integer Y1 in 2 rows and 2 columns as an encrypted integer from an integer offset using an offset T1 of 14 rows and 2 columns with respect to the original integer Xi of 1 row and 2 columns. . At this time, the public key E1 and the secret key F1 resulting from the encryption using the power residue are stored in 9 rows and 2 columns and 11 rows and 2 columns, respectively.

なお、添え字iを伴う変数は配列でもよい。すなわち、1個のセルに割り当てられるEi、Fi、Ri及びTiのそれぞれは、{E1,E2,…,En},{F1,F2,…,Fn},{R1,R2,…,Rn},{T1,T2,…,Tn}等の配列又は配列の形式を用いる数列(適宜、漸化式又は任意の関数により各項を定義してもよい)でもよく、行ごとにこれらの配列に含まれる個々の整数を取り出して用いてもよい。   The variable with the subscript i may be an array. That is, each of Ei, Fi, Ri, and Ti assigned to one cell is {E1, E2,..., En}, {F1, F2,..., Fn}, {R1, R2,. {T1, T2, ..., Tn}, etc., or a sequence using an array format (each term may be defined by a recurrence formula or an arbitrary function as appropriate) may be included in these arrays for each row. Individual integers may be extracted and used.

さらなる例示的実施形態において、2列は、べき剰余を用いる暗号化のために用いられる。図5においては、2行2列には、べき剰余を用いる暗号化を1回実施して得られる整数Y1が記憶される。3列は、換字式暗号化のために用いられ、図5においては、2行3列には、Y1から換字式暗号化により生じる、変換された整数Z1が記憶される。
他の2列のセルには、暗号化の諸段階から生じる変数の値が適宜記憶される。例えば、9行2列には公開鍵E1、11行2列には秘密鍵F1、14行2列にはオフセットT1がそれぞれ記憶される。同様に、他の3列のセルに関しては、13行3列には換字式暗号化の鍵R1、15行3列には1回デクリメントされたループカウンタ(L−1)がそれぞれ記憶される。
このようにして、入力Xiから、2列にはべき剰余を用いる暗号化における変換後の整数Y1、他の変数E1、F1、及びT1が記憶され、3列には整数Y1から変換される整数Z1、他の変数R1、及びデクリメントされたループカウンタ(L−1)が記憶される。
In a further exemplary embodiment, two columns are used for encryption with a power residue. In FIG. 5, an integer Y1 obtained by performing encryption using a power residue once is stored in 2 rows and 2 columns. The third column is used for substitutional encryption. In FIG. 5, the converted integer Z1 generated by substitutional encryption from Y1 is stored in two rows and three columns.
The values of variables resulting from the various stages of encryption are stored appropriately in the other two columns of cells. For example, the public key E1 is stored in the 9th and 2nd column, the secret key F1 is stored in the 11th and 2nd column, and the offset T1 is stored in the 14th and 2nd column. Similarly, for the other three columns of cells, the substitution encryption key R1 is stored in row 13 and column 3, and the loop counter (L-1) decremented once is stored in row 15 and column 3.
In this way, the converted integer Y1 and other variables E1, F1, and T1 in the encryption using the power residue are stored in the second column from the input Xi, and the third column is an integer converted from the integer Y1. Z1, the other variable R1, and the decremented loop counter (L-1) are stored.

なお、一つのセルに配列等を定義して複数の定数、変数又は計算式を任意に含みうることは当技術分野において公知である。すなわち、2行1列のセルは1個の整数Xiを記憶してもよく、配列の形式を用いて数列{X1,X2,X3,…,Xk}を記憶してもよい。ここに、Xkは、べき剰余を用いる暗号化における鍵の絶対値に依存して定義される、暗号化可能な整数の個数であり、この数列に含まれる整数の個数は最小公倍数Kと同じ値でもよく、当該個数はK−1,K−2,K−3等でもよく任意に設定しうる。数列{X1,X2,X3,…,Xk}の初項X1は0でもよく、1でもよく、2以上の整数でもよい。例えば、初項の値を整数2として、数列に含まれる整数の個数をK−1個とする場合は、全体としてこの数列にはK−2個の整数が含まれうる。本発明に係る整数を暗号化する方法は、このようなK−2個の整数のそれぞれを別個に暗号化し、暗号化した数列を得ることができるが、これに限定せずに、暗号化した数列に含まれる整数の個数は適宜設計しうる。従って、本発明のユーザは、予め計算された暗号化した数列から適宜抽出して暗号化した整数を用いることも可能である。   It is known in the art that an array or the like can be defined in one cell and a plurality of constants, variables, or calculation formulas can be arbitrarily included. That is, a cell of 2 rows and 1 column may store one integer Xi, or may store a number sequence {X1, X2, X3,..., Xk} using an array format. Here, Xk is the number of encryptable integers defined depending on the absolute value of the key in encryption using a power residue, and the number of integers included in this sequence is the same value as the least common multiple K Alternatively, the number may be K-1, K-2, K-3, or the like, and can be arbitrarily set. The first term X1 of the sequence {X1, X2, X3,..., Xk} may be 0, 1 or an integer of 2 or more. For example, when the value of the first term is an integer 2 and the number of integers included in the number sequence is K-1, the number sequence can include K-2 integers as a whole. In the method for encrypting integers according to the present invention, each of such K-2 integers can be separately encrypted to obtain an encrypted sequence of numbers, but the present invention is not limited to this. The number of integers included in the number sequence can be designed as appropriate. Therefore, the user of the present invention can also use an integer that is encrypted by appropriately extracting from a previously calculated encrypted sequence.

次いで、本発明に係る整数を暗号化する方法は、換字式暗号化を用いて、2行2列に記憶された整数Y1を、2行3列の整数Z1に変換する。この変換は、換字式暗号化の鍵として13行3列のR1を用いうる。
換字式暗号化により整数Z1が得られた後に、本発明に係る整数を暗号化する方法は、15行1列のループカウンタLをデクリメントし、15行3列に当該デクリメントした値である(L−1)を記憶する。当該デクリメントした値がゼロ以下である場合は、暗号化の諸段階を終了させる。当該デクリメントしたループカウンタの値がゼロより大きければ、2行3列のZ1の値を上述の2行1列のXiの値のように取り扱い、べき剰余を用いる暗号化の諸段階及び換字式暗号化の諸段階を繰り返し、2行5列にZ2として暗号化した整数を得られる。
Next, the method of encrypting an integer according to the present invention converts the integer Y1 stored in 2 rows and 2 columns into an integer Z1 of 2 rows and 3 columns using substitution-type encryption. This conversion can use R1 in 13 rows and 3 columns as a key for substitutional encryption.
After the integer Z1 is obtained by substitutional encryption, the method of encrypting an integer according to the present invention is the value obtained by decrementing the loop counter L of 15 rows and 1 column and decrementing it to 15 rows and 3 columns (L -1) is stored. If the decremented value is less than or equal to zero, the encryption steps are terminated. If the value of the decremented loop counter is greater than zero, the value of Z1 in 2 rows and 3 columns is treated like the value of Xi in 2 rows and 1 column, the various stages of encryption using the power residue, and the substitution cipher By repeating the steps, the encrypted integer is obtained as Z2 in 2 rows and 5 columns.

このようにして、本発明に係る整数を暗号化する方法は、べき剰余を用いる暗号化及び換字式暗号化の組み合わせを繰り返し実施し、ループカウンタがゼロ以下となることを条件として、2行(2n+1)列に整数Znとして暗号化した整数が得られる。   In this way, the method for encrypting an integer according to the present invention repeatedly performs a combination of encryption using a power residue and substitution-type encryption, and the condition that the loop counter becomes zero or less is 2 lines ( In the 2n + 1) column, an integer encrypted as an integer Zn is obtained.

[実施例2:ワークシートの内部関数を用いて整数を復号化する例]
図8に、本発明の一実施形態に係る、復号化の諸段階をスプレッドシート形式の計算アプリケーション・パッケージを用いて実装する例を示す。図8に示す整数の復号化計算ワークシート220は、複数の行及び列の形態に配列されるセルを含む、スプレッドシート形式の計算アプリケーションのデータでありうる。整数の復号化計算ワークシート220に含まれる個々のセルは、1組の行番号及び列番号を用いて特定しうる。
[Example 2: Decoding an integer using an internal function of a worksheet]
FIG. 8 shows an example of implementing the decryption stages using a spreadsheet-style calculation application package according to one embodiment of the present invention. The integer decryption calculation worksheet 220 shown in FIG. 8 can be spreadsheet application data including cells arranged in a plurality of rows and columns. Individual cells included in the integer decryption calculation worksheet 220 may be identified using a set of row and column numbers.

整数の復号化計算ワークシート220に含まれる、2行1列から15行1列の領域、及び2行2列から15行(2n+1)列の領域は、図2に示したステップS200からステップS295における暗号化の諸段階に係る計算のために用いられうる。
具体的には、2行1列から15行1列の領域は、図1に示したステップS200における変数領域の確保及びループカウンタLの初期化のために用いられる。2行2列から15行(2n+1)列の領域は、図2に示したステップS40及びステップS20の繰り返しのために用いられる。
The region of 2 rows and 1 column to 15 rows and 1 column and the region of 2 rows and 2 columns to 15 rows (2n + 1) columns included in the integer decryption calculation worksheet 220 are the steps S200 to S295 shown in FIG. Can be used for calculations related to encryption stages in
Specifically, the area from 2 rows 1 column to 15 rows 1 column is used for securing the variable area and initializing the loop counter L in step S200 shown in FIG. The region of 2 rows and 2 columns to 15 rows (2n + 1) columns is used for repeating step S40 and step S20 shown in FIG.

例示的実施形態において、2行1列のセルは復号化の入力Ziを記憶するために用いうる。1列の他のセルには、前述の図7を用いて示したべき剰余を用いる復号化における変数と同一である。すなわち、復号化の入力Ziに対応する暗号化の過程において、すでに用いられた値をそれぞれの変数A,B,D,K,Ei、Fi、Ri,Tiに用いることができる。従って、復号化においては、対応する暗号化の変数の値を再利用し、入力Ziに対応するループカウンタLを初期化してもよい。
9行に含まれる整数Eiがランダムな規則により選択されうることは、図7を用いて示した整数の暗号化計算ワークシート200の場合と同様である。
In an exemplary embodiment, a 2 × 1 cell may be used to store the decoding input Zi. The other cells in one column are the same as the variables in the decoding using the remainder shown in FIG. That is, in the process of encryption corresponding to the decryption input Zi, the values already used can be used for the respective variables A, B, D, K, Ei, Fi, Ri, Ti. Therefore, in decryption, the value of the corresponding encryption variable may be reused to initialize the loop counter L corresponding to the input Zi.
The integer Ei included in the 9th row can be selected by a random rule, as in the case of the integer encryption calculation worksheet 200 shown in FIG.

本発明に係る整数の復号化においては、対応する暗号化と逆の手順により、暗号化された整数から元の整数を復号化する。例えば、べき剰余及び換字式の暗号化がこの順番の組み合わせで繰り返された場合、対応する復号化は、換字式及びべき剰余の復号化をこの順番で同じ回数だけ繰り返す。   In the decryption of the integer according to the present invention, the original integer is decrypted from the encrypted integer by a procedure reverse to the corresponding encryption. For example, when power residue and substitution encryption are repeated in this order combination, the corresponding decryption repeats substitution and power residue decryption the same number of times in this order.

まず、換字式復号化を用いて、入力Ziを変換する手順を説明する。換字式復号化においては、2行1列に記憶された整数Znを、2行2列の整数Ynに変換する。この変換のための換字式暗号化の鍵は13行2列のRnであり、当該Rnは対応する暗号化に用いられた、図7の整数の暗号化計算ワークシート200における13行(2n+1)列のRnと同一でありうる。   First, a procedure for converting the input Zi using substitution decoding will be described. In substitution decoding, the integer Zn stored in 2 rows and 1 column is converted into an integer Yn in 2 rows and 2 columns. The substitution encryption key for this conversion is Rn in 13 rows and 2 columns, and the Rn is 13 rows (2n + 1) in the integer encryption calculation worksheet 200 of FIG. 7 used for the corresponding encryption. Can be the same as the Rn in the column.

次いで、本発明に係る整数の復号化において、2行2列のYnに対してべき剰余を用いる復号化を実施し、さらにオフセットを消去して、2行3列に整数Xn−1が得られる。べき剰余の指数には11行3列のFnが用いられ、オフセットの値としては14行3列のTnが用いられる。
べき剰余を用いる復号化により整数Xn−1が得られた後に、本発明に係る整数を復号化する方法は、15行1列のループカウンタLをデクリメントし、15行3列に当該デクリメントした値である(L−1)を記憶する。当該デクリメントした値がゼロ以下である場合は、復号化の諸段階を終了させる。当該デクリメントしたループカウンタの値がゼロより大きければ、2行3列のXn−1の値を上述の2行1列のZiの値のように取り扱い、換字式復号化の諸段階及びべき剰余を用いる復号化の諸段階を繰り返し、2行5列にXn−2として復号化した整数を得られる。
Next, in the decoding of the integer according to the present invention, decoding using a power residue is performed on Yn of 2 rows and 2 columns, and the offset is eliminated to obtain the integer Xn-1 in 2 rows and 3 columns. . Fn of 11 rows and 3 columns is used as the exponent of the power residue, and Tn of 14 rows and 3 columns is used as the offset value.
After the integer Xn−1 is obtained by decoding using the power residue, the method of decoding the integer according to the present invention decrements the loop counter L of 15 rows and 1 column, and the value decremented to 15 rows and 3 columns. (L-1) is stored. If the decremented value is less than or equal to zero, the decoding steps are terminated. If the value of the decremented loop counter is greater than zero, the value of Xn-1 in 2 rows and 3 columns is treated like the value of Zi in 2 rows and 1 column, and the stages of substitution decoding and the power residue are determined. The decoding steps used are repeated to obtain an integer decoded as Xn-2 in 2 rows and 5 columns.

10行及び12行の各セルは、暗号化と同様に、整数Ei及び整数Fiによるべき乗がワークシート内蔵の整数演算においてオーバーフローを発生しているか否かを表示するために用いうる。これらの整数Eiによるべき乗又は整数Fiによるべき乗がオーバーフローを発生することを条件として、本発明に係るべき剰余を用いる復号化の方法は、式(VII)に示した展開形を用いて変換前の整数を展開し、正確なべき剰余を得ることができる。   Each cell in the 10th and 12th rows can be used to display whether or not the power of the integer Ei and the integer Fi has overflowed in the integer operation incorporated in the worksheet, as in the encryption. On the condition that the power by the integer Ei or the power by the integer Fi generates an overflow, the decoding method using the power residue according to the present invention uses the expansion form shown in Equation (VII) before conversion. You can expand integers to get the exact power remainder.

さらなる例示的実施形態において、2列は、べき剰余を用いる復号化のために用いられる。図5においては、2行2列には、べき剰余を用いる復号化を1回実施して得られる整数Y1が記憶される。3列は、換字式復号化のために用いられ、図5においては、2行3列には、Y1から換字式復号化により生じる、変換された整数Z1が記憶される。
他の2列のセルには、暗号化の諸段階から生じる変数の値が適宜記憶される。例えば、9行2列には公開鍵E1、11行2列には秘密鍵F1、14行2列にはオフセットT1がそれぞれ記憶される。同様に、他の3列のセルに関しては、13行3列には換字式暗号化の鍵R1、15行3列には1回デクリメントされたループカウンタ(L−1)がそれぞれ記憶される。
このようにして、入力Xiから、2列にはべき剰余を用いる復号化における変換後の整数Y1、他の変数E1、F1、及びT1が記憶され、3列には整数Y1から変換される整数Z1、他の変数R1、及びデクリメントされたループカウンタ(L−1)が記憶される。
In a further exemplary embodiment, two columns are used for decoding with a power residue. In FIG. 5, an integer Y1 obtained by performing decoding using a power residue once is stored in 2 rows and 2 columns. Three columns are used for substitution decoding. In FIG. 5, a converted integer Z1 generated by substitution decoding from Y1 is stored in two rows and three columns.
The values of variables resulting from the various stages of encryption are stored appropriately in the other two columns of cells. For example, the public key E1 is stored in the 9th and 2nd column, the secret key F1 is stored in the 11th and 2nd column, and the offset T1 is stored in the 14th and 2nd column. Similarly, for the other three columns of cells, the substitution encryption key R1 is stored in row 13 and column 3, and the loop counter (L-1) decremented once is stored in row 15 and column 3.
In this way, from the input Xi, the converted integer Y1 and other variables E1, F1, and T1 in decoding using the power residue are stored in the second column, and the third column is an integer converted from the integer Y1. Z1, the other variable R1, and the decremented loop counter (L-1) are stored.

このようにして、本発明に係る整数を復号化する方法は、換字式復号化及びべき剰余を用いる復号化の組み合わせを繰り返し実施し、ループカウンタがゼロ以下となることを条件として、2行(2n+1)列に整数X1として復号化した整数が得られる。これらの復号化の諸段階が、対応する暗号化の諸段階の逆順で実施されることにより、図8に示す整数の復号化計算ワークシート220の2行(2n+1)列に得られる整数X1は、図7に示した整数の暗号化計算ワークシート200の2行1列に入力された元の整数Xiと等しくなる。   In this way, the method for decoding an integer according to the present invention repeatedly executes a combination of substitution decoding and decoding using a power residue, on the condition that the loop counter becomes zero or less. An integer decoded as an integer X1 in 2n + 1) columns is obtained. By performing these decryption steps in the reverse order of the corresponding encryption steps, the integer X1 obtained in 2 rows (2n + 1) columns of the integer decryption calculation worksheet 220 shown in FIG. , Which is equal to the original integer Xi input in 2 rows and 1 column of the integer encryption calculation worksheet 200 shown in FIG.

本発明に係る整数の暗号化及び復号化の方法の諸段階を用いることにより、べき剰余を用いる暗号化及び復号化の諸段階のいずれにおいても、計算過程において桁あふれを発生することにより、本発明の方法を用いない計算手段等においては、正しい暗号化も復号化も実施することはできない。また、べき剰余に加えて換字式暗号化及び復号化を重畳することにより、本発明の方法においては情報の秘匿性を飛躍的に高めることが可能になる。さらに、本発明においては、暗号化の鍵がランダムな規則により選択されることから、情報の秘匿性はさらに高まりうる。これらにより、本発明に係る整数の暗号化及び復号化の方法及び該方法の実施手段等は、個人情報等と関連する整数の形態の情報に対して高い秘匿性を付与することが可能になる。   By using the steps of the integer encryption and decryption method according to the present invention, it is possible to generate an overflow in the calculation process at any of the steps of encryption and decryption using a power residue. In a calculation means that does not use the method of the invention, neither correct encryption nor decryption can be performed. In addition, by superimposing substitutional encryption and decryption in addition to the power residue, it is possible to dramatically improve the confidentiality of information in the method of the present invention. Furthermore, in the present invention, since the encryption key is selected according to a random rule, the confidentiality of information can be further increased. Thus, the method for encrypting and decrypting integers according to the present invention and the means for implementing the method can impart high confidentiality to information in the form of integers related to personal information and the like. .

[解読のための所要時間]
本発明に係る整数を暗号化する方法を用いて生成した整数に対して、解読の可能性を総当たりにより探索する場合の所要時間を例示する。これは、いわゆるブルート・フォース・アタック(総当たり攻撃)を用いて秘密情報を解読するための計算時間でありうる。
コンピュータの計算能力が毎秒1ペタフロップス、すなわち1秒間に10の15乗命令数であると仮定すると、当該コンピュータは1年間に約10の22乗命令数を実行することが可能である。
本発明に係る整数を暗号化する方法において、元の整数が6桁の10進数であり、べき剰余を用いる暗号化及び換字式暗号化が連続して実行されるとする。暗号化において、この連続して実行される暗号化が5回繰り返される場合、当該5回繰り返された暗号化に含まれる独立した五重の換字式暗号化の組み合わせの総数は10の30乗(すなわち、10の6乗の5乗)であり、前述のコンピュータによる総当たり計算の所要時間は約10の8乗年(すなわち約1億年)と算出できる。本発明に係る暗号化の方法においては、さらに五重の独立したべき剰余を用いる暗号化が実施され、これらの暗号化に用いられる鍵は乱数発生手段によりランダムに選択されうるので、総当たりによる解読の所要時間は1億年をはるかに超える天文学的数字の時間でありうる。従って、本発明は乱数を適用可能な目標に対して具体的な実装及び製品化が可能な形態を提供でき、簡単なロジックに比して解読の困難さを飛躍的に向上させたという効果がある。
このように、本発明においては、べき剰余を用いる暗号化及び換字式暗号化を連続して複数回繰り返し実行することにより、元の整数から極めて秘匿性の高い暗号化した整数を生成することが可能である。本発明においては、第三者による解読の手間を膨大化することにより、守秘情報を参照するための識別情報等を高い秘匿性で暗号化し復号化することができる。
[Time required for decoding]
The time required in the case of searching for the possibility of a decipherment with respect to the integer produced | generated using the method which encrypts the integer based on this invention is illustrated. This can be the computation time for decrypting the secret information using a so-called brute force attack.
Assuming that the computing power of the computer is 1 petaflop per second, that is, 10 15 instructions per second, the computer can execute approximately 10 22 instructions per year.
In the method for encrypting an integer according to the present invention, it is assumed that the original integer is a 6-digit decimal number, and encryption using a power residue and substitution-type encryption are continuously executed. In the case of encryption, when this continuously executed encryption is repeated five times, the total number of independent five-fold substitutional encryption combinations included in the five-time repeated encryption is 10 30 ( That is, 10 6 to the 5th power), and the time required for the brute force calculation by the computer can be calculated to be about 10 8 years (that is, about 100 million years). In the encryption method according to the present invention, encryption using a quintuple independent power residue is further performed, and the keys used for these encryptions can be randomly selected by random number generation means. The time required for decoding can be astronomical figures well over 100 million years. Therefore, the present invention can provide a form that can be concretely implemented and commercialized for a target to which random numbers can be applied, and has the effect of dramatically improving the difficulty of decoding compared to simple logic. is there.
In this way, in the present invention, it is possible to generate an encrypted integer with extremely high secrecy from the original integer by repeatedly performing encryption using a remainder and substitution-type encryption a plurality of times in succession. Is possible. In the present invention, it is possible to encrypt and decrypt identification information or the like for referring to confidential information with high confidentiality by enlarging the effort of decryption by a third party.

以上、本発明の実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更又は改良を加えることができる。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。   As mentioned above, although demonstrated using embodiment of this invention, the technical scope of this invention is not limited to the range as described in the said embodiment. Various modifications or improvements can be added to the above embodiment. It is apparent from the scope of the claims that the embodiments added with such changes or improvements can be included in the technical scope of the present invention.

20 特定の個人
30 整数型の識別子
37 追加の桁
39 乱数発生手段
40 オフセット情報
41 整数型の復号化した識別子
42、44、46、52、54 暗号化した整数
62、64、66、92、94 固有情報
72、74、76 暗号化計算
82、84、102、104 情報伝達経路
100 暗号化手段
110 復号化手段
112、114 復号化計算
122、124、126 識別用途
20 Specific individuals 30 Integer type identifiers 37 Additional digits 39 Random number generating means 40 Offset information 41 Integer type decrypted identifiers 42, 44, 46, 52, 54 Encrypted integers 62, 64, 66, 92, 94 Unique information 72, 74, 76 Encryption calculation 82, 84, 102, 104 Information transmission path 100 Encryption means 110 Decoding means 112, 114 Decryption calculation 122, 124, 126 Identification application

Claims (20)

整数Xiを暗号化し復号化する方法であって、
暗号化のための鍵をランダムな規則により選択するステップと、
積NがXiを超える2つの素数A及びBを生成するステップと、
(A−1)と(B−1)との積をDとし、(A−1)と(B−1)の最小公倍数をKとし、D又はKと素である数をEとして、次式において項XiのE乗が計算手段の整数演算に桁あふれを発生する条件で、次式の展開形を用いて前記整数Xiを変換した整数Yiを生成するステップと、
Figure 2010186075
mを任意の整数として次式を成立するFを用意するステップと、
Figure 2010186075
次式を用いて前記変換した整数Yiを整数Xnに復号化するステップと、
Figure 2010186075
を含み、式中、
前記Eは前記暗号化のための鍵をランダムな規則により選択するステップにより選択される、
整数を暗号化し復号化する方法。
A method of encrypting and decrypting an integer Xi,
Selecting a key for encryption according to a random rule;
Generating two prime numbers A and B in which the product N exceeds Xi;
The product of (A-1) and (B-1) is D, the least common multiple of (A-1) and (B-1) is K, and D or a number that is prime with K is E. Generating an integer Yi obtained by converting the integer Xi using the expansion form of the following equation under the condition that the power of the term Xi to the E power causes an overflow in the integer operation of the calculation means:
Figure 2010186075
preparing F satisfying the following expression where m is an arbitrary integer;
Figure 2010186075
Decoding the converted integer Yi into an integer Xn using the following equation:
Figure 2010186075
Including
The E is selected by selecting a key for the encryption according to a random rule.
A method of encrypting and decrypting integers.
さらに、
換字式暗号化を用いて整数を換字暗号した整数に変換するステップと、
換字式復号化を用いて前記換字暗号した整数を復号化するステップと、を含む、
請求項1に記載の整数を暗号化し復号化する方法。
further,
Converting the integer to a substitution-encrypted integer using substitution encryption;
Decrypting the substitution-encrypted integer using substitution decryption, and
A method for encrypting and decrypting an integer according to claim 1.
前記換字式暗号化の鍵は、ランダムな規則により選択される整数である、請求項2に記載の整数を暗号化し復号化する方法。   The method of encrypting and decrypting an integer according to claim 2, wherein the substitution encryption key is an integer selected according to a random rule. 前記展開形を用いて前記整数Xiを前記整数Yiに変換した後に、前記換字式暗号化を用いて前記整数Yiを整数Ziに変換する、べき剰余と換字とを連続する暗号化ステップと、
前記換字式復号化を用いて前記整数Ziを前記整数Yiに復号化した後に、前記整数YiをXnに復号化する、換字とべき剰余とを連続する復号化ステップと、
を含む、請求項2に記載の整数を暗号化し復号化する方法。
A step of converting the integer Xi into the integer Yi using the expanded form, and then converting the integer Yi into the integer Zi using the substitution encryption, and a step of encrypting a power residue and substitution continuously;
Decoding the integer Yi into Xn after decoding the integer Zi into the integer Yi using the substitution decoding, and successively decoding the substitution and the power residue;
A method of encrypting and decrypting an integer according to claim 2 comprising:
前記べき剰余と換字とを連続する暗号化ステップ、及び前記換字とべき剰余とを連続する復号化ステップは、少なくとも2以上の同一の回数実施される、請求項4に記載の整数を暗号化し復号化する方法。   5. The integer is encrypted and decrypted according to claim 4, wherein the step of encrypting the power residue and substitution and the step of decrypting the substitution and power residue are performed at least the same number of times. How to turn. 前記整数Xiは前記換字式暗号化を用いて変換された整数である、換字とべき剰余とを連続する暗号化ステップと、
前記整数Yiから復号化された前記整数Xnに対して前記換字式復号化を用いて復号化する、べき剰余と換字を連続する復号化ステップと、
を含む、請求項2に記載の整数を暗号化し復号化する方法。
The integer Xi is an integer converted using the substitution encryption, and an encryption step of consecutive substitution and power residue,
Decoding the integer Xn decoded from the integer Yi using the substitution decoding, and successively decoding a power residue and substitutions;
A method of encrypting and decrypting an integer according to claim 2 comprising:
前記換字とべき剰余とを連続する暗号化ステップ、及び前記べき剰余と換字を連続する復号化ステップは、少なくとも2以上の同一の回数実施される、請求項6に記載の整数を暗号化し復号化する方法。   7. The integer is encrypted and decrypted according to claim 6, wherein the step of encrypting the substitution and the power residue and the step of decrypting the power and the substitution are performed at least two times. how to. 前記少なくとも2以上の同一の回数は、所定の正の整数、前記所定の正の整数を暗号化した正の整数、及びランダムに発生した正の整数からなる群から選ばれる、請求項5又は7に記載の整数を暗号化し復号化する方法。   The at least two or more identical times are selected from the group consisting of a predetermined positive integer, a positive integer obtained by encrypting the predetermined positive integer, and a randomly generated positive integer. A method for encrypting and decrypting the integer described in 1. 前記換字式暗号化は、単表式暗号化、多表式暗号化及び自動鍵暗号化からなる群から選ばれ、
前記換字式復号化は、前記換字式暗号化に対応して単表式復号化、多表式復号化及び自動鍵復号化からなる群から選ばれる、
請求項2に記載の整数を暗号化し復号化する方法。
The substitution encryption is selected from the group consisting of single-table encryption, multi-table encryption and automatic key encryption,
The substitution decryption is selected from the group consisting of single table decryption, multi-table decryption and automatic key decryption corresponding to the substitution encryption,
A method for encrypting and decrypting an integer according to claim 2.
さらに、前記整数Xiを変換した整数Yiを生成する前に、前記整数Xiから前記整数Xi以下の整数Tを加算して前記整数Xiと置き換えるステップと、
前記変換した整数Yiを整数Xnに復号化した後に、前記整数Xnに前記整数Tを減算して前記整数Xnと置き換えるステップと、
を含む、請求項2に記載の整数を暗号化し復号化する方法。
Furthermore, before generating the integer Yi obtained by converting the integer Xi, adding the integer T equal to or less than the integer Xi from the integer Xi to replace the integer Xi;
Decoding the converted integer Yi into an integer Xn and then subtracting the integer T from the integer Xn to replace the integer Xn;
A method of encrypting and decrypting an integer according to claim 2 comprising:
前記整数Tはランダムな規則により選択される整数である、請求項10に記載の整数を暗号化し復号化する方法。   The method of claim 10, wherein the integer T is an integer selected according to a random rule. 前記展開形はXiの桁を2つに分割し、前記分割した桁の上位の桁により表される整数Xu及び前記分割した下位の桁により表される整数Xdを生成し、次式を用いてXiを置き換えることであり、
Figure 2010186075
式中、Mは記数法の底であり、Cdは前記下位の桁の数であり、Cdは少なくとも1であり、前記置き換えたXu又はXdを用いて剰余計算を実施する、請求項1に記載の整数を暗号化し復号化する方法。
The expanded form divides the Xi digit into two, generates an integer Xu represented by the upper digit of the divided digit and an integer Xd represented by the divided lower digit, and uses the following equation: Is to replace Xi,
Figure 2010186075
Wherein M is the base of the numeration system, Cd is the number of the lower digits, Cd is at least 1, and a remainder calculation is performed using the replaced Xu or Xd. A method of encrypting and decrypting the described integer.
前記整数Xiは、識別子に含まれる文字又は数字の一部又は全体から、可逆的に変換された整数である、請求項1に記載の整数を暗号化し復号化する方法。   The method of encrypting and decrypting an integer according to claim 1, wherein the integer Xi is an integer reversibly converted from a part or all of a character or a number included in an identifier. 前記整数Xiは、1次元画像又は2次元画像から可逆的に変換された1次元画像の一部又は全体から、可逆的に変換された整数である、請求項1に記載の整数を暗号化し復号化する方法。   The integer Xi according to claim 1, wherein the integer Xi is an integer reversibly converted from a part or the whole of a one-dimensional image reversibly converted from a one-dimensional image or a two-dimensional image. How to turn. さらに、暗号化に先立って、少なくとも一つの桁を元の整数に対して追加することにより桁を増した整数に置き換えるステップを含む、請求項1に記載の整数を暗号化し復号化する方法。   The method of encrypting and decrypting an integer according to claim 1, further comprising the step of replacing the integer with an additional digit by adding at least one digit to the original integer prior to encryption. さらに、復号化の後に復号化した整数から前記追加した少なくとも一つの桁を除去するステップを含む、請求項15に記載の整数を暗号化し復号化する方法。   The method of claim 15 further comprising the step of removing the added at least one digit from the decrypted integer after decryption. 請求項1から16のいずれかに記載の方法の各ステップをコンピュータを用いて実行するための、コンピュータ・プログラム。   A computer program for executing each step of the method according to claim 1 using a computer. 請求項1から17のいずれかに記載の方法の各ステップを用いてエンコードした数値を含むコンピュータ可読媒体。   A computer readable medium comprising numerical values encoded using the steps of the method of any of claims 1-17. 整数Xiを暗号化し復号化する方法であって、
暗号化のための鍵をランダムな規則により選択する暗号化鍵選択部と、
積NがXiを超える2つの素数A及びBを生成する素数生成部と、
(A−1)と(B−1)との積をDとし、(A−1)と(B−1)の最小公倍数をKとし、D又はKと素である数をEとして、次式において項XiのE乗が計算手段の整数演算に桁あふれを発生する条件で、次式の展開形を用いて前記整数Xiを変換した整数Yiを生成する剰余暗号化実行部と、
Figure 2010186075
mを任意の整数として次式を成立するFを用意する秘密鍵生成部と、
Figure 2010186075
次式を用いて前記変換した整数Yiを整数Xnに復号化する剰余復号化実行部と、
Figure 2010186075
を含み、式中、
前記Eは前記暗号化のための鍵をランダムな規則により選択するステップにより選択される、
整数を暗号化し復号化する装置。
A method of encrypting and decrypting an integer Xi,
An encryption key selector that selects a key for encryption according to a random rule;
A prime number generation unit for generating two prime numbers A and B having a product N exceeding Xi;
The product of (A-1) and (B-1) is D, the least common multiple of (A-1) and (B-1) is K, and D or a number that is prime with K is E. A remainder encryption execution unit for generating an integer Yi obtained by converting the integer Xi using the expansion form of the following equation under the condition that the E power of the term Xi causes overflow in the integer operation of the calculation means:
Figure 2010186075
a secret key generation unit that prepares F that satisfies the following expression, where m is an arbitrary integer;
Figure 2010186075
A remainder decoding execution unit for decoding the converted integer Yi into an integer Xn using the following equation:
Figure 2010186075
Including
The E is selected by selecting a key for the encryption according to a random rule.
A device that encrypts and decrypts integers.
整数Xiを暗号化し復号化するシステムであって、
暗号化のための鍵をランダムな規則により選択する暗号化鍵選択手段と、
積NがXiを超える2つの素数A及びBを生成する素数生成手段と、
(A−1)と(B−1)との積をDとし、(A−1)と(B−1)の最小公倍数をKとし、D又はKと素である数をEとして、次式において項XiのE乗が計算手段の整数演算に桁あふれを発生する条件で、次式の展開形を用いて前記整数Xiを変換した整数Yiを生成する剰余暗号化手段と、
Figure 2010186075
mを任意の整数として次式を成立するFを用意する秘密鍵生成手段と、
Figure 2010186075
次式を用いて前記変換した整数Yiを整数Xnに復号化する剰余復号化実行手段と、
Figure 2010186075
を含み、式中、
前記Eは前記暗号化のための鍵をランダムな規則により選択するステップにより選択される、
整数を暗号化し復号化するシステム。
A system for encrypting and decrypting an integer Xi,
An encryption key selection means for selecting a key for encryption according to a random rule;
A prime number generating means for generating two prime numbers A and B having a product N exceeding Xi;
The product of (A-1) and (B-1) is D, the least common multiple of (A-1) and (B-1) is K, and D or a number that is prime with K is E. A remainder encryption unit that generates an integer Yi obtained by converting the integer Xi using the expansion form of the following equation under the condition that the E power of the term Xi generates overflow in the integer operation of the calculation unit:
Figure 2010186075
a secret key generating means for preparing F satisfying the following expression where m is an arbitrary integer;
Figure 2010186075
Residue decoding execution means for decoding the converted integer Yi into an integer Xn using the following equation:
Figure 2010186075
Including
The E is selected by selecting a key for the encryption according to a random rule.
A system that encrypts and decrypts integers.
JP2009030444A 2009-02-12 2009-02-12 Integer encryption and decryption methods Active JP5208796B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009030444A JP5208796B2 (en) 2009-02-12 2009-02-12 Integer encryption and decryption methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009030444A JP5208796B2 (en) 2009-02-12 2009-02-12 Integer encryption and decryption methods

Publications (2)

Publication Number Publication Date
JP2010186075A true JP2010186075A (en) 2010-08-26
JP5208796B2 JP5208796B2 (en) 2013-06-12

Family

ID=42766761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009030444A Active JP5208796B2 (en) 2009-02-12 2009-02-12 Integer encryption and decryption methods

Country Status (1)

Country Link
JP (1) JP5208796B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110199339A (en) * 2017-01-20 2019-09-03 日本电信电话株式会社 Secure computing system, secret computing device, secret calculation method, program
WO2022269914A1 (en) * 2021-06-25 2022-12-29 日本電気株式会社 Terminal device, encrypted information conversion device, collation system, input information encryption method, encrypted information conversion method, collation method, input information encryption program, and encrypted information conversion program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104616195A (en) * 2015-03-04 2015-05-13 中国农业银行股份有限公司 Method and apparatus for processing limit-generating data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0227389A (en) * 1988-07-15 1990-01-30 Sony Corp Enciphering method and enciphering device/decoding device using enciphering method concerned
JPH0488736A (en) * 1990-07-31 1992-03-23 Matsushita Electric Ind Co Ltd Data transmission system
JPH0720778A (en) * 1993-07-02 1995-01-24 Fujitsu Ltd Remainder calculating device, table generating device, and multiplication remainder calculating device
JP2001500293A (en) * 1996-09-05 2001-01-09 エリクソン インコーポレイテッド Electronic memory tampering prevention system
JP2003029631A (en) * 2001-07-14 2003-01-31 Baba Giken:Kk Packaging for practical rsa cipher

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0227389A (en) * 1988-07-15 1990-01-30 Sony Corp Enciphering method and enciphering device/decoding device using enciphering method concerned
JPH0488736A (en) * 1990-07-31 1992-03-23 Matsushita Electric Ind Co Ltd Data transmission system
JPH0720778A (en) * 1993-07-02 1995-01-24 Fujitsu Ltd Remainder calculating device, table generating device, and multiplication remainder calculating device
JP2001500293A (en) * 1996-09-05 2001-01-09 エリクソン インコーポレイテッド Electronic memory tampering prevention system
JP2003029631A (en) * 2001-07-14 2003-01-31 Baba Giken:Kk Packaging for practical rsa cipher

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CSNB199700220001; 岡本栄司: "暗号理論入門" 初版3刷, 19961001, p.88-99, 共立出版株式会社 *
CSNB199700221001; 岡本龍明,太田和夫: "暗号・ゼロ知識証明・数論" 初版3刷, 19970620, p.173-184,220, 共立出版株式会社 *
JPN6012057807; 岡本龍明,太田和夫: "暗号・ゼロ知識証明・数論" 初版3刷, 19970620, p.173-184,220, 共立出版株式会社 *
JPN6012057808; 岡本栄司: "暗号理論入門" 初版3刷, 19961001, p.88-99, 共立出版株式会社 *
JPN6012057809; Hans Eberle, Sheueling Shantz, Vipul Gupta, Nils Gura, Leonard Rarick, Lawrence Spracklen: '"ACCELERATING NEXT-GENERATION PUBLIC-KEY CRYPTOSYSTEMS ON GENERAL-PURPOSE CPUS"' IEEE MICRO Volume 25, Issue 2, 200503, p.52-59, [online] *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110199339A (en) * 2017-01-20 2019-09-03 日本电信电话株式会社 Secure computing system, secret computing device, secret calculation method, program
CN110199339B (en) * 2017-01-20 2022-07-12 日本电信电话株式会社 Secret calculation system, secret calculation device, secret calculation method, and recording medium
WO2022269914A1 (en) * 2021-06-25 2022-12-29 日本電気株式会社 Terminal device, encrypted information conversion device, collation system, input information encryption method, encrypted information conversion method, collation method, input information encryption program, and encrypted information conversion program

Also Published As

Publication number Publication date
JP5208796B2 (en) 2013-06-12

Similar Documents

Publication Publication Date Title
US10951392B2 (en) Fast format-preserving encryption for variable length data
Thangavel et al. Enhanced DNA and ElGamal cryptosystem for secure data storage and retrieval in cloud
EP2742644B1 (en) Encryption and decryption method
TWI688250B (en) Method and device for data encryption and decryption
JP2011164607A (en) Method and system for privacy-preserving computation of edit distance of symbol sequence
CN108768617A (en) A kind of holding format encryption method based on legacy packets password
Attaullah et al. Cryptosystem techniques based on the improved Chebyshev map: an application in image encryption
US20210279341A1 (en) Cryptographic security system, method, and program product using data partitioning
Ahmad et al. A secure network communication protocol based on text to barcode encryption algorithm
Hussam New lightweight hybrid encryption algorithm for cloud computing (LMGHA-128bit) by using new 5-D hyperchaos system
KR100583495B1 (en) Efficient block cipher method
Sakib Analysis of Fundamental Algebraic Concepts and Information Security System
JP5208796B2 (en) Integer encryption and decryption methods
Ahmad Abusukhon et al. A novel network security algorithm based on encrypting text into a white-page image
JP5208717B2 (en) Integer encryption and decryption methods
Galbreath Cryptography for Internet and database applications: developing secret and public key techniques with Java
JarJar Two Feistel rounds in image cryptography acting at the nucleotide level exploiting dna and rna property
JP2001282103A (en) Ciphering method
Tu et al. Protecting secret documents via a sharing and hiding scheme
JP5208797B2 (en) Integer encryption and decryption methods
Babash XOR ciphers model and the attack to it
JP5208642B2 (en) Integer encryption and decryption methods
Moon et al. A cryptographic algorithm based on ASCII and number system conversions along with a cyclic mathematical function
JP5208982B2 (en) Method, apparatus and system for encrypting and decrypting integers
RU2188513C2 (en) Method for cryptographic conversion of l-bit digital-data input blocks into l-bit output blocks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130220

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

Free format text: PAYMENT UNTIL: 20160301

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5208796

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160301

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250