JP5208642B2 - Integer encryption and decryption methods - Google Patents
Integer encryption and decryption methods Download PDFInfo
- Publication number
- JP5208642B2 JP5208642B2 JP2008244761A JP2008244761A JP5208642B2 JP 5208642 B2 JP5208642 B2 JP 5208642B2 JP 2008244761 A JP2008244761 A JP 2008244761A JP 2008244761 A JP2008244761 A JP 2008244761A JP 5208642 B2 JP5208642 B2 JP 5208642B2
- Authority
- JP
- Japan
- Prior art keywords
- integer
- digits
- power
- calculation
- computer device
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 141
- 238000004364 calculation method Methods 0.000 claims description 113
- 230000014509 gene expression Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 30
- 230000008569 process Effects 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000036541 health Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Images
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.
従来より、法人組織等において構成員を識別するためにユニークな整数等を含む識別子を用いることが知られ、例えば国民健康保険制度等において加入者を識別するために8桁程度の数字が用いられ、又は銀行口座を識別するために銀行の支店及び口座のそれぞれに3桁から10桁程度の数字等が用いられ、あるいはクレジット会員を識別するために12桁程度の数字が用いられ、適当な区切り記号、文字列又は他の情報等を併用して、識別される本人が覚えやすい形式が適宜用いられている。
また、暗号及びデジタル署名を実現しうる方式として、桁数が大きい合成数の素因数分解問題が困難であることを安全性の根拠とした公開鍵暗号であるRSA暗号が知られている(特許文献1及び非特許文献1)。RSA暗号は、暗号化の段階においては適当な正数によるべき乗と素数2個の積を法数とする剰余演算とを用い、復号においては当該積の素因数を要するべき乗根を用いることにより、素因数を知らなければ復号が困難になることによって暗号の安全性を確保している。
さらに、コンピュータネットワークを介する情報の送受信においてセキュリティを確保するために、暗号化、認証、改ざん検出の機能を有するSSLプロトコル等が知られている(非特許文献2)。SSLプロトコルに含まれる公開鍵証明書に基づく認証は、RSA暗号を用いうることが知られている。
As a method capable of realizing encryption and digital signature, RSA encryption, which is a public key encryption based on the fact that the problem of prime factorization of a composite number having 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 at the encryption stage and a remainder operation whose modulus is a product of two prime numbers, and a prime factor by using a power root that requires a prime factor of the product in decryption. If the password is not known, the decryption becomes difficult, thereby ensuring the security of the encryption.
Furthermore, in order to ensure security in transmission / 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.
しかし、従来技術又は従来技術の組み合わせにおいては、識別される本人が覚えやすい形式の識別子を日常的に用いることには、この識別子を何らかの手段により入手しうる他者へ個人情報を漏洩する機会を発生する危険があった。特に、コンピュータネットワークの発達した社会において、識別される本人が覚えやすい識別子の情報をコンピュータネットワークを介して無加工で送受信すると、通信の中継装置等の通信記録から当該識別子の情報が漏洩する等の危険があり、特定の個人情報に対するセキュリティが確保できなかった。また、大企業等において、構成員を特定するための識別子、当該構成員の健康保険者番号、社内銀行口座番号等の、それぞれにセキュリティ確保が必要な複数の個人情報に共通の番号等を用いると、いずれかが漏洩した時点で他の個人情報も漏洩の危険にさらされるという課題があった。さらに、音声による通話又は印刷物等の文書を介する情報の漏洩においては、コンピュータネットワークを用いて伝達される情報に対するSSLプロトコル等のセキュリティ技術では対応できないため、音声又は文書等を含む多様な形態で個人情報を隠蔽しうる方法が必要であった。 However, in the prior art or a combination of the prior arts, the daily use of an identifier in a form that is easy for the identified person to remember has the opportunity to leak personal information to others who can obtain this identifier by some means. There was a risk of occurring. In particular, in a society where a computer network has been developed, when information on an identifier that can be easily remembered is transmitted and received through the computer network without processing, the information on the identifier leaks from a communication record of a communication relay device, etc. There was a danger, and security for specific personal information could not be secured. In large corporations, etc., a common number is used for multiple personal information that requires security, such as an identifier for identifying the member, the health insurer number of the member, and an internal bank account number. When one of them leaks, there is a problem that other personal information is also exposed to the risk of leakage. Furthermore, 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, so individuals in various forms including voice or documents. There was a need for a way to hide information.
本発明は、個人情報と関連付けられた識別子等を、計算機が桁あふれを発生する条件で暗号化する方法を提供することにより、本発明の方法によらない第三者には元の識別子を復元できない識別子等を生成することを目的とする。これにより、本発明は、コンピュータネットワーク等を含む情報通信を介して送受信される個人情報のセキュリティを確保することを目的とする。
また本発明は、個別にセキュリティの確保が必要な複数の個人情報に共通の識別子等を運用しうることを目的とする。
The present invention provides a method for encrypting an identifier associated with personal information under conditions that cause the computer to overflow, thereby restoring the original identifier to a third party not based on the method of the present invention. The purpose is to generate identifiers that cannot be used. Accordingly, an object of the present invention is to ensure the security of personal information transmitted and received via information communication including a computer network or the like.
Another object of the present invention is to be able to use a common identifier or the like for a plurality of pieces of personal information that need to be individually secured.
本発明者は、計算過程において計算機が桁あふれを生じるような大きな数を意図的に発生する計算手順を用い、所定の手順で桁あふれを回避して暗号化及び復号を実施することにより、個人情報を秘匿する方法を見出し、本発明を完成するに至った。
本発明では、以下のような解決手段を提供する。
The present inventor uses a calculation procedure in which a computer intentionally generates a large number that causes an overflow in the calculation process, and performs encryption and decryption while avoiding the overflow in a predetermined procedure. A method for concealing information has been found and the present invention has been completed.
The present invention provides the following solutions.
(1) コンピュータ装置が、0及び1を除く整数Xiを暗号化し復号する方法であって、コンピュータ装置が、その積Nが入力された前記整数Xiを超える2つの素数A及びBを生成し、前記N、A、Bを記憶手段に記憶するステップと、コンピュータ装置が(A−1)と(B−1)との積D及び(A−1)と(B−1)の最小公倍数Kを生成し、前記D及びKを記憶手段に記憶するステップと、コンピュータ装置がD又はKと素である数Eを生成して、前記整数XiのE乗がコンピュータ装置の計算手段の整数演算に桁あふれを発生するか否かを判定し、判定結果が真となるまで、前記D又はKと素である数Eの生成と前記判定を繰り返すステップと、コンピュータ装置が前記判定結果が真となるEを記憶手段に記憶するステップと、コンピュータ装置が、前記整数Xiを整数Mを基数とするM進表記に変換し、前記整数XiのM進表記の桁数を、少なくとも2つ以上に分割し、前記分割したそれぞれの桁に対応する整数と当該桁数をべき指数とするMのべき乗との積からなる単項式の和からなる前記整数Xiの展開形を生成するステップと、コンピュータ装置が、前記記憶された数Eをべき指数とする、次式記載の前記整数XiのE乗冪演算において、前記整数Xiの前記展開形を用いて、前記それぞれの桁に対応する整数間の計算に置き換えて展開した剰余計算により、前記整数XiをE乗してNを法とする整数Yiを計算するステップと、コンピュータ装置が、前記整数Xiを暗号化した前記整数Yiを記憶手段に記憶するステップと、
コンピュータ装置が前記整数Xnを記憶手段に記憶し、暗号化した前記整数YiをXnすなわち、Xiに復号するステップと、を含む、整数を暗号化し復号する方法。
A computer device storing the integer Xn in a storage means, and decrypting the encrypted integer Yi into Xn, that is, Xi.
本発明の暗号化及び復号方法においては、整数演算を実施可能なコンピュータ装置等を用い、整数を入力して暗号化した整数を生成し、当該生成した暗号化した整数を復号することにより、入力した整数を復元しうる。
入力に用いる整数は、コンピュータ処理可能な整数であればよく、文字又は画像等から可逆的に変換された整数でもよい。例えば、コンピュータ処理可能な文字のそれぞれに割り当てられた文字コード等を1桁、2桁又は4桁等の16進数の整数として扱ってもよい。また、例えば、コンピュータ処理可能な画像に含まれる個々の画素を、RGB各8ビットの整数の一組とする24ビットの2進数の整数として扱ってもよい。
一実施形態において、構成員の識別番号等の個人情報は、コンピュータ処理可能な整数に可逆的に変換され、本発明の整数を暗号化し復号する方法の入力に用いられる。
In the encryption and decryption method of the present invention, 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 to be input. 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, 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.
本発明の暗号化及び復号方法に係る計算手段は、コンピュータに整数演算を実施させるプログラム等であり、アセンブラ又はコンパイラ等により生成された、インタープリタ等により変換された、あるいはスクリプト又はスプレッドシート等が内蔵する計算ルーチンにより呼び出される機械語プログラム等でありうる。
一実施形態において、桁あふれは、コンピュータが備える中央演算ユニット(CPU)の演算レジスタに発生しうる。従って、特定のCPUが有する演算レジスタの桁数に従って、有効な桁数の整数演算が実施されうる。例えば、レジスタ長が16ビットのCPUの場合、整数演算に用いうる整数は、例えば符号なし16ビット整数として、10進数の0〜65535の範囲である。レジスタ長が32ビットのCPUの場合は、同様に符号なし32ビット整数として、10進数の0〜4294967295の範囲である。
別の実施形態において、桁あふれは、インタープリタ、スクリプト又はスプレッドシート等が整数演算のために用意する内部関数において発生しうる。従って、特定のインタープリタ、スクリプト又はスプレッドシート等が有する内部関数が表現可能な整数の桁数に従って、有効な桁数の整数演算が実施されうる。例えば、特定のコンパイラ等において符号なし16ビット整数の型が定義された変数が表しうる整数は、10進数の0〜65535の範囲である。
本発明の方法においては、数式(I)で表されるべき乗の計算において、上述の桁あふれを含む任意の桁あふれを発生するよう、整数Eを選択する。桁あふれは、例えばCPU内部における整数演算中の桁あふれの発生の検出、又はコンパイラ等が適宜備える整数演算ライブラリに含まれる桁あふれに対するエラー処理ルーチン等の、当技術分野に公知の手法を用いて検出しうる。
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 the like, or has a built-in script or spreadsheet, etc. It can be a machine language program or the like called by a 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.
In the method of the present invention, the integer E is selected so as to generate an arbitrary overflow including the above-described 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.
本発明に係る暗号化及び復号の方法に用いる展開形は、上述のように桁あふれを発生する条件を満たす整数のべき乗を代替する計算法を含む。具体的には、直接に数式(I)を用いる代わりに、数式(I)の項XiのE乗における桁あふれを回避するために、当該項を複数の整数の積で表す公知の手法を用いうるが、これに限定しない。
次いで、本発明に係る整数を暗号化し復号する方法においては、数式(II)で表される整数Fを用意する。整数Fは、任意のmを含んで選択された素数A及びBに基づいて生成しうる右辺の式(m×K+1)の因数であれば何でもよい。 Next, in the method for encrypting and decrypting an integer according to the present invention, an integer F represented by Formula (II) is prepared. The integer F may be any factor as long as it is a factor of the expression (m × K + 1) on the right side that can be generated based on the prime numbers A and B selected including arbitrary m.
次いで、本発明に係る整数を暗号化し復号する方法においては、数式(III)を用い、前述のようにして得られたFを用いて、暗号化した整数であるYiから元のXiを復号しうる。 Next, in the method of encrypting and decrypting an integer according to the present invention, the original Xi is decrypted from the encrypted integer Yi by using Formula (III) and using F obtained as described above. sell.
このようにすることで、本発明に係る整数を暗号化し復号する方法においては、桁あふれを発生する条件で数式(I)のEを選択するため、本発明の方法を用いないコンピュータ装置等においては暗号化した整数Yiを正確に得ることができず、情報秘匿性の高い暗号化を実施することが可能になる。
本発明に係る整数の暗号化の諸段階は、本発明に係る整数の暗号化の諸段階は、公知のRSA暗号とは異なり、素数そのものではなく素数から1を減じた整数を剰余演算に用い、さらにこれらの整数の積及び最小公倍数と素である整数をべき乗に用いる。従って、本発明に係る整数の暗号化においては、素数をそのまま用いる公知の技法からは予測不可能な整数を生成しうる。従って、本発明においては、Fが第三者に知られにくいことに基づいて高いセキュリティを確保しうる。
In this way, in the method for encrypting and decrypting integers according to the present invention, since E in Formula (I) is selected under the condition that overflow occurs, in a computer apparatus or the like that does not use the method of the present invention Cannot accurately obtain the encrypted integer Yi, and it is possible to implement encryption with high information confidentiality.
The stages of integer encryption according to the present invention are different from the known RSA ciphers in the stages of integer encryption according to the present invention. Instead of the prime number itself, an integer obtained by subtracting 1 from the prime number is used for the remainder operation. Furthermore, the product of these integers and the least common multiple and prime integer are used for the power. Therefore, in the integer encryption according to the present invention, an unpredictable integer can be generated from a known technique using a prime number as it is. Therefore, in the present invention, high security can be ensured based on the fact that F is difficult to be known by a third party.
(2) 前記展開形はコンピュータ装置が、Xiの桁を2つに分割し、前記分割した桁の上位の桁により表される整数Xu及び前記分割した下位の桁により表される整数Xdを生成し、次式を用いてXiを置き換えることで展開し、
このようにすることで、本発明に係る整数を暗号化し復号する方法においては、桁あふれを発生する条件で前述の数式(I)のEを選択した後に、数式(IV)を用いてXiを展開し、桁あふれを避けて、暗号化した整数であるYiを正確に得ることができる。
従って、前述の数式(I)として表されるXiのべき乗の計算において、数式(IV)を用いて適宜元の整数Xiを上位の桁と下位の桁とに分割することにより、べき乗の計算過程での桁あふれを避けることが可能になる。
In this way, in the method of encrypting and decrypting an integer according to the present invention, after selecting E in the above formula (I) under the condition that overflow occurs, Xi is calculated using the formula (IV). Yi that is an encrypted integer can be obtained accurately by expanding and avoiding overflow.
Therefore, in the calculation of the power of Xi expressed as the above-described mathematical formula (I), the power integer calculation process is performed by appropriately dividing the original integer Xi into upper and lower digits using the mathematical formula (IV). It becomes possible to avoid overflowing digits.
(3) 前記整数Xiは、コンピュータ装置が、識別子に含まれる文字又は数字の一部又は全体から、可逆的に変換した整数である、(1)に記載の整数を暗号化し復号する方法。 (3) wherein said integer Xi, the computer device, the part or all of a character or number included in the identifier is reversibly converted integer, for decrypting encrypted integers described in (1).
本発明に係る識別子は、典型的にはコンピュータ処理可能な文字(文字としての数字を含む)又は数値であり、文字は文字コード等の公知技法を用いることによりユニークな整数に変換されうる。従って、本発明に係る整数の暗号化及び復号の方法においては、ユニークな整数との関連付けが可能な文字又は数値を元の整数として暗号化し、復号することができる。 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.
(4) 前記整数Xiは、コンピュータ装置が、1次元画像又は2次元画像から可逆的に変換された1次元画像の一部又は全体から、可逆的に変換した整数である、(1)に記載の整数を暗号化し復号する方法。 (4) The integer Xi is an integer reversibly converted by a computer device from a part or the whole of a one-dimensional image reversibly converted from a one-dimensional image or a two-dimensional image. To encrypt and decrypt integers.
本発明に係る画像は、典型的にはコンピュータ処理可能な画像データであり、例えば1つの画素は、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.
(5) コンピュータ装置が、さらに、暗号化に先立って、前記整数Xiを、少なくとも1つの桁を前記整数Xiに対して追加することにより桁を増した整数Wiに置き換えるステップを含む、(1)から(4)のいずれかに記載の整数を暗号化し復号する方法。 (5) The computer device further includes the step of replacing the integer Xi with an integer Wi increased in number by adding at least one digit to the integer Xi prior to encryption. (1) To the method of encrypting and decrypting the integer according to any one of (4).
このようにすることで、暗号化される整数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 encrypts the 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. By using the two-digit integer properly as an input for the conversion, a plurality of encrypted integers can be generated and used. 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 an integer associated with a character string including personal information such as a date of birth is encrypted with an arbitrarily selected number of digits. By doing so, a plurality of encrypted integers can be generated and used properly.
(6) コンピュータ装置が、さらに、復号の後に復号した前記整数Wiから前記追加した少なくとも1つの桁を除去するステップを含む、(5)に記載の整数を暗号化し復号する方法。 (6) The method for encrypting and decrypting an integer according to (5), further comprising the step of the computer device removing the added at least one digit from the decrypted integer Wi after decryption.
このようにすることで、本発明に係る整数を暗号化し復号する方法においては、復号の後に、前記桁を増した整数Wiから元の前記整数Xiを完全に復号することが可能になる。 In this way, in the method for encrypting and decrypting an integer according to the present invention, it becomes possible to completely decrypt the original integer Xi from the integer Wi with the digit increased after decryption.
(7) 前記Fを生成し記憶手段に記憶するステップは、コンピュータ装置がmを任意の整数として、前記数式[数12]を成立する数Fを生成して、前記整数YiのF乗がコンピュータ装置の計算手段の整数演算に桁あふれを発生するか否かを判定し、判定結果が真となるまで、数Fの生成と前記判定を繰り返すステップと、コンピュータ装置が前記判定結果が真となるFを記憶手段に記憶するステップとを含み、
前記整数Xnを計算するステップは、コンピュータ装置が、前記整数Yiを整数Mを基数とするM進表記に変換し、前記整数YiのM進表記の桁数を、少なくとも2つ以上に分割し、前記分割したそれぞれの桁に対応する整数と当該桁数をべき指数とするMのべき乗との積からなる単項式の和からなる前記整数Yiの展開形を生成するステップと、コンピュータ装置が、前記記憶された数Fをべき指数とする、前記整数YiのF乗冪演算において、前記整数Yiの前記展開形を用いて、前記それぞれの桁に対応する整数間の計算に置き換えて展開した剰余計算により、前記整数YiをF乗してNを法とする整数Xnを計算するステップとを含むことを特徴とする、(1)から(6)のいずれかに記載の整数を暗号化し復号する方法。
(7) The step of generating F and storing it in the storage means is such that a computer device generates a number F that satisfies the mathematical formula [Equation 12], where m is an arbitrary integer, and the integer Yi raised to the F power is a computer It is determined whether or not overflow occurs in the integer operation of the calculation means of the apparatus, the step of repeating the generation of the number F and the determination until the determination result becomes true, and the computer apparatus makes the determination result true. Storing F in the storage means,
The step of calculating the integer Xn is such that the computer device converts the integer Yi into an M-decimal notation based on the integer M, and divides the number of digits in the M-ary notation of the integer Yi into at least two or more. Generating a development form of the integer Yi consisting of a monomial sum consisting of a product of an integer corresponding to each of the divided digits and a power of M with the number of digits as a power exponent; In the power multiplication operation of the integer Yi with the generated number F as a power exponent, by using the expansion form of the integer Yi and replacing the calculation between integers corresponding to the respective digits, the remainder calculation is performed. The method of encrypting and decrypting an integer according to any one of (1) to (6), further comprising: calculating an integer Xn modulo N by raising the integer Yi to the power of F.
このようにすることで、復号化の計算過程において桁あふれを発生することにより、本発明の方法を用いない計算手段等においては、正しい復号を実施することはできない。By doing so, overflow occurs in the decoding calculation process, so that correct decoding cannot be performed in a calculation means that does not use the method of the present invention.
(8) コンピュータ装置に(1)から(7)のいずれかに記載の方法の各ステップを実行させるための、コンピュータ・プログラム。
これにより、本発明に係る整数を暗号化し復号する方法の各ステップをコンピュータに実行させうる。従って、暗号化及び復号に係る各ステップはコンピュータを用いて自動的に処理されうる。
(8) A computer program for causing a computer device to execute each step of the method according to any one of (1) to (7).
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.
本発明に係る整数を暗号化し復号する方法を用いて、記憶媒体に記録する任意のデータ、及び/又は記憶媒体の特定の記憶領域を参照するためのファイル割り当てテーブル等に含まれる数値を暗号化及び復号しうる。当該データ又は当該数値は整数と見なしうるものであれば何でもよい。すなわち、本発明により、第三者に対して隠蔽したコンピュータ可読媒体を提供しうる。具体的には、コンピュータ可読媒体はフラッシュメモリ等の電気的記憶媒体、CD−ROM等の光学読み取り可能媒体、ハードディスク等の磁気記憶媒体等の任意の形態を含む。本発明に係る整数を暗号化し復号する方法を用いて提供しうるコンピュータ可読媒体は、暗号化又は復号の諸段階においてコンピュータネットワーク等を介する必要はなく、ネットワーク等から切り離されたオフライン状態でも本発明に係る暗号化及び復号の方法を用いてエンコードした情報を記憶しうる。従って、本発明においては、通信技術と連携して動作するセキュリティ技術等とは独立して、単独で暗号化及び復号の方法を用いるコンピュータ可読媒体を提供しうる。 Using the method for encrypting and decrypting integers according to the present invention, any data to be recorded on a storage medium and / or numerical values included in a file allocation table or the like for referring to a specific storage area of the storage medium are encrypted And can be 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. Information encoded using the encryption and decryption methods according to the above can be stored. Therefore, 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.
(9) 入力された0及び1と異なる整数Xiを暗号化し復号する装置であって、積Nが前記整数Xiを超える2つの素数A及びBを生成し、前記N、A、Bを記憶手段に記憶する素数生成部と、(A−1)と(B−1)との積D及び(A−1)と(B−1)の最小公倍数Kを生成し、前記D及びKを記憶手段に記憶し、前記D又はKと素である数Eを生成して、前記整数XiのE乗がコンピュータ装置の計算手段の整数演算に桁あふれを発生するか否かを判定し、判定結果が真となるまで、前記D又はKと素である数Eの生成と前記判定を繰り返し、判定結果が真となるEを記憶手段に記憶し、整数Xiを整数Mを基数とするM進表記に変換し、前記XiのM進表記の桁数を、少なくとも2つ以上に分割し、前記分割したそれぞれの桁に対応する整数と当該桁数をべき指数とするMのべき乗との積からなる単項式の和からなる前記Xiの展開形を生成し、前記記憶された数Eをべき指数とする、次式記載の整数XiのE乗冪演算において、整数Xiの前記展開形を用いて、前記それぞれの桁に対応する整数間の計算に置き換えて展開した剰余計算により、整数XiをE乗してNを法とする整数Yiを計算して、整数Xiを暗号化した整数Yiを生成し、記憶手段に記憶する暗号生成部と、
本発明に係る整数の暗号化及び復号装置においては、CPU内部における整数演算中の桁あふれの検出又はプログラム実行中の整数演算の桁あふれ発生の検出を実施可能であればよく、これを用いて数式(VI)で表されるべき乗計算に含まれる整数Eを選択してもよい。
さらに、本発明に係る整数の暗号化及び復号装置においては、桁あふれを発生する条件で前述の数式(VI)のEを選択した後に、例えば前述の数式(IV)を用いてXiを展開し、桁あふれを避けて、暗号化した整数であるYiを正確に得ることができる。
従って、本発明に係る整数の暗号化及び復号装置は、本発明に係る方法の実施手段を含まないコンピュータ装置等では桁あふれが発生する状況においても、整数Yiを正確に得ることが可能になる。すなわち、本発明に係る整数の暗号化及び復号装置は、暗号化及び復号のいずれも正確に実施し得る。
In the integer encryption and decryption device according to the present invention, it is only necessary to be able to detect overflow of an integer operation in the CPU or detection of overflow of an integer operation during program execution. You may select the integer E contained in the power calculation represented by Numerical formula (VI).
Furthermore, in the integer encryption and decryption apparatus according to the present invention, after selecting E in the above formula (VI) under the condition that overflow occurs, Xi is expanded using, for example, the above formula (IV). Thus, Yi which is an encrypted integer can be obtained accurately by avoiding overflow.
Therefore, the integer encryption and decryption apparatus according to the present invention can accurately obtain the integer Yi even in a situation where a digit overflow occurs in a computer apparatus or the like that does not include the implementation means of the method according to the present invention. . That is, the integer encryption and decryption apparatus according to the present invention can accurately perform both encryption and decryption.
(11) 入力された0及び1を除く整数Xiを暗号化及び復号するシステムであって、積Nが前記整数Xiを超える2つの素数A及びBを生成し、前記生成したN、A、Bを記憶手段に記憶する手段と、(A−1)と(B−1)との積D及び(A−1)と(B−1)の最小公倍数Kを生成し前記D及びKを記憶手段に記憶する手段と、前記D又はKと素である数Eを生成して、項XiのE乗がコンピュータ装置の計算手段の整数演算に桁あふれを発生するか否かを判定し、判定結果が真となるまで、前記D又はKと素である数Eの生成と前記判定を繰り返す手段と、前記判定結果が真となるEを記憶手段に記憶する手段と、前記整数Xiを整数Mを基数とするM進表記に変換し、前記整数XiのM進表記の桁数を、少なくとも2つ以上に分割し、前記分割したそれぞれの桁に対応する整数と当該桁数をべき指数とするMのべき乗との積からなる単項式の和からなる前記整数Xiの展開形を生成する手段と、前記記憶された数Eをべき指数とする、次式記載の整数XiのE乗冪演算において、整数Xiの前記展開形を用いて、前記それぞれの桁に対応する整数間の計算に置き換えて展開した剰余計算により、整数XiをE乗してNを法とする整数Yiを計算する手段と、前記整数Xiを暗号化した整数Yiを記憶手段に記憶する手段と、
本発明に係る情報を暗号化及び復号するシステムにおいては、CPU内部における整数演算中の桁あふれの検出又はプログラム実行中の整数演算の桁あふれ発生の検出を実施可能であればよく、これを用いて数式(IX)で表されるべき乗計算に含まれる整数Eを選択してもよい。
さらに、本発明に係る整数を暗号化及び復号するシステムにおいては、桁あふれを発生する条件で前述の数式(IX)のEを選択した後に、例えば前述の数式(VI)を用いてXiを展開し、桁あふれを避けて、暗号化した整数であるYiを正確に得ることができる。
従って、本発明に係る情報を暗号化及び復号するシステムは、本発明に係る方法の実施手段を含まないコンピュータシステム等では桁あふれが発生する状況においても、整数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.
Further, 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 expanded using, for example, the above formula (VI). Thus, Yi which is an encrypted integer can be accurately obtained while avoiding overflow.
Therefore, the system for encrypting and decrypting information according to the present invention can accurately obtain the integer Yi even in a situation where overflow occurs in a computer system or the like that does not include the means for implementing the method according to the present invention. Become. That is, the integer encryption and decryption apparatus according to the present invention can accurately perform both encryption and decryption.
本発明に係る整数を暗号化及び復号する方法、装置、システム等は、コンピュータネットワーク技術等の、既存の情報伝達技術等と組み合わせることができ、そのように組み合わせた技術もまた、本発明の技術範囲に含まれる。同様に、本発明の技法を含む情報記録システム、情報管理システム、情報処理システム等も、本発明の技術範囲に含まれる。さらに、本発明の技法は、暗号化及び復号の諸段階を、FPGA(現場でプログラム可能なゲートアレイ)、ASIC(特定用途向け集積回路)、これらと同等のハードウェアロジック素子、プログラム可能な集積回路、又はこれらの組み合わせが記憶し得るプログラムの形態、すなわちプログラム製品として提供し得る。具体的には、入出力、データバス、メモリバス、システムバス等を備えるカスタムLSI(大規模集積回路)の形態として、本発明に係る暗号化及び復号装置等を提供でき、そのように集積回路に記憶されたプログラム製品の形態も、本発明の技術範囲に含まれる。 The method, apparatus, system, and the like for encrypting and decrypting integers according to the present invention can be combined with existing information transmission technologies, such as computer network technologies, and the combined technologies are also the technologies of the present invention. Included in the range. 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. Furthermore, the technique of the present invention provides the steps of encryption and decryption in FPGA (field programmable gate array), ASIC (application specific integrated circuit), equivalent hardware logic elements, programmable integration. It may be provided as a program form that can be stored in the circuit or a combination thereof, 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., and such an integrated circuit The form of the program product stored in is also included in the technical scope of the present invention.
本発明によれば、個人を特定するための識別番号等を、計算機が桁あふれを発生する条件で暗号化した整数を生成することにより、第三者に対して当該整数から当該識別番号の推定を極めて困難として、当該識別番号を秘匿しうるという効果がある。また、本発明によれば、当該識別番号と関連付けられた特定の個人情報が漏洩する状況においても、同一の識別番号と関連付けられた他の複数の個人情報に対する第三者からの推定を極めて困難にしうるという効果がある。また、本発明によれば、生年月日等の同一の個人情報を含む文字列を表す整数及び任意に選択される整数を用いて、桁数を増した整数を暗号化することにより、同一の個人情報等から複数の異なる暗号化した整数を生成して使い分けることが可能になる。さらに、本発明によれば、音声による通話又は印刷物等の文書等を含む多様な形態で個人情報を隠蔽することが可能になる。 According to the present invention, an identification number for identifying an individual is generated by encrypting an identification number or the like under a condition in which the computer overflows, so that the third party can estimate the identification number from the integer. Therefore, the identification number can be concealed. In addition, according to the present invention, it is extremely difficult to estimate a plurality of other personal information associated with the same identification number from a third party even in a situation where specific personal information associated with the identification number is leaked. There is an effect that can be made. Further, according to the present invention, by encrypting an integer with an increased number of digits using an integer representing a character string including the same personal information such as date of birth and an arbitrarily selected integer, the same A plurality of different encrypted integers can be generated from 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.
以下、本発明の実施形態について、図面を併用して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[暗号化及び復号のフロー図]
図1に、本発明の一実施形態に係る、整数を暗号化し復号する方法のフロー図を示す。図1(a)は本発明に係る整数を暗号化する方法フロー図の例であり、図1(b)は当該暗号化した整数を復号する方法のフロー図の例である。
まず、暗号化の諸段階を説明する。本発明に係る整数を暗号化する方法は、図1(a)のステップS100において、変数領域を確保する。具体的には、次の表1に列挙する変数を用いる計算のためにコンピュータ装置等のメモリ領域が適宜確保される。
FIG. 1 shows a flow diagram of a method for encrypting and decrypting an integer according to one embodiment of the present invention. FIG. 1A is an example of a method flow diagram for encrypting an integer according to the present invention, and FIG. 1B is an example of a flowchart of a method for decrypting the encrypted integer.
First, the encryption steps will be described. In the method for encrypting an integer according to the present invention, a variable area is secured 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.
暗号化する整数としては、識別子等に含まれうる符号なしの整数が挙げられるが、これに限定せず、任意の形式の整数を本発明に係る方法に用いうる。好適には、暗号化する整数は0以上の任意の整数でありうる。
一実施形態において、計算に用いるコンピュータ装置等における整数Xi、Yi及びXnのワード長は、当該コンピュータ装置等が備えるCPUの内部命令において1つの整数を表すために用いうるレジスタのビット幅の最大以内でありうる。例えば、16ビットレジスタを用いて内部命令に含まれる整数演算を実施可能なCPUを備えるコンピュータ装置においては、整数Xi、Yi及びXnのワード長は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, the word lengths of integers Xi, Yi, and Xn in a computer device or the like used for calculation are within the maximum bit width of a register that can be used to represent one integer in an internal instruction of a CPU included in the computer device or the like. It can be. For example, in a computer device having a CPU that can execute integer operations included in internal instructions using a 16-bit register, the word lengths of integers Xi, Yi, and Xn are 16 bits or less, and these integer variables are 10 It can be 0 or more and 65535 or less in the decimal notation.
次いで、本発明に係る整数を暗号化する方法は、ステップS110において、積NがXiを超える2つの素数A及びBを生成しうる。素数A及びBは、予め素数の集合等を用意して適宜選択してもよい。
次いで、本発明に係る整数を暗号化する方法は、ステップS120において、(A−1)と(B−1)との積をDに代入し、(A−1)と(B−1)の最小公倍数をKに代入する。
次いで、本発明に係る整数を暗号化する方法は、ステップS130において、D又はKと素である整数Eを生成する。
次いで、本発明に係る整数を暗号化する方法は、ステップS140において、次の数式(XII)の右辺の項(XiのE乗)が、計算手段の整数演算に桁あふれを発生するか否かを判定する。判定の結果が真であればステップS150に進み、偽であればステップS130に戻る。
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, the method for encrypting an integer according to the present invention generates an integer E that is prime with D or K in step S130.
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 formula (XII) (Xi raised to the E power) generates 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.
次いで、本発明に係る整数を暗号化する方法は、ステップS150において、数式(XII)の展開形を用いて、整数Xiを暗号化した整数Yiを生成しうる。数式(XII)の展開形には、例えば次の式を用いうる。
このようにすることで、本発明に係る整数を暗号化し復号する方法においては、桁あふれを発生する条件で前述の数式(XII)のEを選択した後に、数式(XIII)を用いてXiを展開し、桁あふれを避けて、暗号化した整数であるYiを正確に得ることができる。
一実施形態において、記数法の底であるMを10とし、Xiの桁数を10桁、下位の桁数Ctを5桁とする場合、数式(XIII)は次式のように表される。
本発明に係る方法においては、数式(XIII)又はその具体例である数式(XIV)又は数式(XV)等を用いて上位の桁と下位の桁を分離しうる。例えば前述の元の整数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ビット幅のレジスタ等についても同様である。
従って、前述の数式(XII)として表されるXiのべき乗の計算において、最も少ない回数であるXiの2乗の場合に、数式(XV)の右辺の2乗からは、Xuの2乗、Xu・Xd、及びXdの2乗が生成され、これらはいずれも元のXiの桁数以下の整数でありうるため、桁あふれを避けられる。すなわち、Xiの任意のべき乗において、数式(XV)の手順を繰り返すことにより、べき乗の計算過程での桁あふれを避けることが可能になる。
分割する桁数は、計算手段等が備えるCPUの整数演算のためのレジスタのビット幅等に基づいて適宜設定しうる。好適には、符号なし整数演算のためのレジスタのビット幅を等分した上位の桁数及び下位の桁数を、分割した桁数として用いうる。
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 mathematical formula (XII). For example, the following expression can be used as the expanded form of the expression (XII).
In this way, in the method of encrypting and decrypting an integer according to the present invention, after selecting E in the above formula (XII) under the condition that overflow occurs, Xi is calculated using the formula (XIII). Yi that is an encrypted integer can be obtained accurately by expanding and avoiding overflow.
In one embodiment, when M, which is the base of the numeration system, is 10, the number of digits of Xi is 10 digits, and the number of lower digits Ct is 5 digits, the formula (XIII) is expressed as: .
In the method according to the present invention, the upper digit and the lower digit can be separated using Equation (XIII) or a specific example of Equation (XIV) or Equation (XV). 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-described mathematical formula (XII), in the case of the square of Xi which is the smallest number of times, the square of the right side of the mathematical formula (XV) is calculated from 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, it is possible to avoid overflow in the power calculation process by repeating the procedure of the mathematical formula (XV) at an arbitrary power of Xi.
The number of digits to be divided can be appropriately set based on the bit width of a register for integer arithmetic 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を文字に変換して適宜記号等を含む文字を任意に追加してもよい。 Through the above steps, Yi which is an encrypted integer can be 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.
次に、復号の諸段階を説明する。本発明に係る整数を暗号化する方法は、図1(b)のステップS200において、変数領域を確保する。この変数領域の確保は、前述の暗号化の諸段階におけるステップS100と同様でもよく、暗号化及び復号の諸段階を1つのコンピュータ装置等に内蔵し、共通の変数領域を暗号化及び復号の両方の諸段階に用いてもよい。
次いで、本発明に係る暗号化した整数を復号する方法は、ステップS210において、mを任意の整数として次の数式(XVI)を成立するFを生成する。
次いで、本発明に係る暗号化した整数を復号する方法は、ステップS220において、次の数式(XVII)を用いて前記暗号化したYiをXnに復号する。
Next, the method for decrypting an encrypted integer according to the present invention generates F that satisfies the following mathematical formula (XVI) where m is an arbitrary integer in step S210.
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 (XVII).
このようにすることで、本発明に係る整数を暗号化し復号する方法においては、桁あふれを発生する条件で数式(XII)のEを選択するため、本発明の方法を用いないコンピュータ装置等においては暗号化した整数Yiを正確に得ることができず、情報秘匿性の高い暗号化を実施することが可能になる。
さらに、本発明の整数を暗号化し復号する方法においては、暗号化の過程である数式(XII)に含まれず、復号の過程である数式(XVI)及び数式(XVII)に含まれる整数Fが第三者に知られにくい又は推定されにくいことに基づいて高いセキュリティを確保しうる。
In this way, in the method of encrypting and decrypting integers according to the present invention, since E in Formula (XII) is selected under the condition that overflow occurs, in a computer apparatus or the like that does not use the method of the present invention Cannot accurately obtain the encrypted integer Yi, and it is possible to implement encryption with high information confidentiality.
Furthermore, in the method for encrypting and decrypting an integer according to the present invention, the integer F included in the formula (XVI) and the formula (XVII) that are not included in the formula (XII) that is the process of decryption is included in the formula (XII) that is the process of decryption. High security can be secured based on the fact that it is difficult to be known or estimated by the three parties.
図1に示した本発明に係る整数を暗号化し復号する方法においては、個人を識別するための識別子等を整数型の識別子として受け付けて暗号化しうる。これに限らず、本発明に係る整数を暗号化し復号する方法においては、整数のべき乗及び剰余計算等を実施可能なコンピュータ装置等が受け付けうる、種々のデータもまた暗号化及び復号に用いうる。例えば、整数に変換した画像を本発明の方法を用いて暗号化及び復号することにより、第三者に対して隠蔽した画像の伝達が可能になる。また例えば、記憶媒体の特定の記憶領域を参照するためのファイル割り当てテーブル等を本発明の方法を用いて暗号化及び復号することにより、第三者に対して隠蔽した記憶媒体等を提供しうる。これらの、本発明に係る整数を暗号化し復号する方法を用いて提供しうる記憶媒体等は、暗号化又は復号の諸段階においてコンピュータネットワーク等を介する必要はなく、ネットワーク等から切り離されたオフライン状態でも暗号化及び復号を実施可能である。従って、本発明においては、通信技術と連携して動作するセキュリティ技術等とは独立して、単独で暗号化及び復号の方法を提供しうる。 In the method for encrypting and decrypting an integer according to the present invention shown in FIG. 1, an identifier for identifying an individual or the like can be received and encrypted as an integer type identifier. However, 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 integer power and remainder calculation can also be used for encryption and decryption. For example, an image converted into an integer is encrypted and decrypted using the method of the present invention, thereby enabling transmission of a concealed image to a third party. Further, for example, a storage medium or the like concealed from a third party can be 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. . These storage media that can be provided using the method for encrypting and decrypting integers according to the present invention do not need to go through a computer network or the like in various stages of encryption or decryption, and are in an offline state separated from the network or the like However, encryption and decryption can be performed. 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.
[個人情報隠蔽手順の例]
図2に、本発明の一実施形態に係る、整数を暗号化する方法を用いる個人情報隠蔽手順の例を示す。
暗号化手段100は、本発明に係る入力された整数から暗号化した整数を生成する手段である。暗号化手段100は、特定の個人20が有する識別のための数字及び/又は文字を含む識別子等を、整数型の識別子30として受け付ける。具体的には、個人20は事業体等に所属する構成員の1人であり、整数型の識別子30は当該事業体において複数の構成員を識別するために適宜用いられる、複数の桁の整数を含む構成員識別子等でありうる。例えば、当該構成員識別子の形態は、当該事業体等の所属が開始された年次を表す数字2桁及び同時期に所属を開始した他の構成員を含む複数の構成員のそれぞれに割り当てられた6桁の数字等からなる、全体として8桁の数字等であり、適宜設定しうる。典型的には、特定の個人20と整数型の識別子30とは1対1に関連付けられ、他の構成員等とは関連付けられない。また、構成員識別子等が英文字等を含む場合、整数型の識別子30は、英文字及び数字の全体又はその一部をコンピュータ処理可能な文字コードの集まりとして扱い、個々の文字コードを16進法の整数として、整数型の識別子30を構成してもよい。本発明に係る整数を暗号化し復号する方法においては、このように変換された16進法の整数を暗号化し、当該暗号化した16進法の整数から元のコンピュータ処理可能な文字コードの集まりを復号しうる。構成員識別子等が画像データの場合についても、16進法の整数の集まりとして元の画像データを扱うことにより、同様に暗号化及び復号が可能である。
[Example of personal information hiding procedure]
FIG. 2 shows an example of a personal information hiding procedure using a method for encrypting an integer according to an embodiment of the present invention.
The
識別用途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)等は、互いに他と異なればよい。例えば、これらの識別用途の固有情報は特定の整数の値でもよく、前述の数式(XII)に含まれる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
暗号化手段100は、受け付けた整数型の識別子30に対して、識別用途Aの固有情報(62)、識別用途Bの固有情報(64)又は識別用途Cの固有情報(66)を用い、それぞれの識別用途の固有情報ごとに独立して、暗号化計算A(72)、暗号化計算B(74)又は暗号化計算C(76)を実施しうる。当該暗号化計算には、前述のように、整数のべき乗を含む計算のために暗号化手段100が用いるコンピュータ装置等において桁あふれを発生する条件で、数式(XII)の展開形を用いて暗号化した整数を生成する諸段階を含む。当該暗号化計算の結果として、暗号化した整数A(42)、暗号化した整数B(44)又は暗号化した整数C(46)が生成される。
The
生成したそれぞれの暗号化した整数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
Further, for example, when the identification use B (124) is a recording act or the like related to the business of the
これらのコンピュータ処理可能な数値データに限らず、暗号化手段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
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
さらに、本発明に係る暗号化手段100は、特定の識別用途において複数の構成員の識別子を一括して暗号化してもよい。
図1に示し、識別用途A(122)、識別用途Aの固有情報(62)、暗号化計算A(72)及び暗号化した整数A(42)を用いて上述のように、本発明に係る暗号化手段100は特定の識別用途に対して特定の個人情報を隠蔽しうる。ここで、暗号化手段100が受け付ける整数型の識別子30が個々の特定の個人20ごとに異なることにより、別個の整数型の識別子30ごとに、暗号化した整数が生成される。従って、識別用途A(122)、識別用途Aの固有情報(62)及び暗号化計算A(72)が一定であっても、異なる整数型の識別子30を有する次行体内の複数の構成員等は、それぞれが異なる暗号化した整数A(72)を得ることができる。
例えば、事業体のネットワーク管理者等は、識別用途Aの固有情報(62)をネットワークメンテナンスの日時等の特定の条件に従って選択することにより、当該事業体の複数の構成員のネットワークアカウント情報のそれぞれを別個に一括して暗号化しうる。ネットワーク管理者等は識別用途Aの固有情報(62)を選択する条件を管理することにより、複数の構成員のアカウント情報を一括して暗号化して保持し、管理しうる。さらに数式(XVI)及び数式(XVII)に含まれる整数Fが第三者に知られにくい又は推定されにくいことにより、この値を知らない第三者に対して明示的なアカウント情報を隠蔽することが可能になる。
Furthermore, the
As shown in FIG. 1, using the identification application A (122), the unique information (62) of the identification application A, the encryption calculation A (72), and the encrypted integer A (42), as described above, according to the present invention. The encryption means 100 can conceal specific personal information for specific identification applications. Here, since the
For example, the network administrator or the like of the business entity selects the specific information (62) of the identification usage A according to specific conditions such as the date and time of network maintenance, so that each of the network account information of the members of the business entity is selected. 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, 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.
本発明に係る暗号化手段100は、具体的にはパーソナルコンピュータ等で実行可能な汎用のワークシート等のアプリケーションに内蔵された整数計算ライブラリ等を用いて実施しうる。従って、本発明に係る整数を暗号化し復号する方法においては、特に専用の計算機等を用意することなく、既存の計算機を用いて社員番号等の暗号化及び復号を実施することも可能である。さらに、本発明においては、本発明に係る整数を暗号化し復号する方法によらなければ暗号化又は復号のいずれかの諸段階における桁あふれが発生して、正確な暗号化及び/又は復号ができないため、本発明の方法を実施しない第三者に対して構成員の識別子等の個人情報を隠蔽することが可能になる。
Specifically, the
[個人情報隠蔽手順の別の例]
図3に、本発明の一実施形態に係る、整数を暗号化する方法を用いる個人情報隠蔽手順の別の例を示す。図2と共通する箇所は説明を省略する。
[Another example of the procedure for hiding personal information]
FIG. 3 shows another example of the personal information hiding procedure using the method of encrypting an integer according to an embodiment of the present invention. A description of portions common to those in FIG. 2 is omitted.
図3においては、暗号化手段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. 3, the
By adding the
一実施形態において、桁増しした識別子38は、整数型の識別子30の右に追加の桁37を追加した整数として生成される。例えば、整数型の識別子30が8桁の整数であり、追加の桁37が2桁の整数である場合、桁増しした識別子38は10桁の整数であり、桁増しした識別子38の値は次式で表される。
追加の桁37を含む桁増しした識別子38に対する暗号化の諸段階は、図1に示した一実施形態のフロー図、又は図2に示した一実施形態の識別用途に依存して実施しうる暗号化の手順等と同様である。すなわち、図3に示す形態の暗号化の諸段階により生成される暗号化した整数は、コンピュータネットワーク132又は勤務管理記憶装置134等を用いてコンピュータ処理可能なデータとして生成してもよく、不特定の他者136が知りうる音声又は出版物等の形態で生成してもよい。
The steps of encryption for an
一実施形態において、構成員の生年月日に含まれる数字等を識別子として利用する事業体等は、本発明に係る整数を暗号化し復号する方法を用い、当該構成員の生年月日に含まれる数字等に追加して、任意の2桁の数字を追加の桁37として組み合わせうる。これにより、生年月日が同一の構成員が複数存在しても、任意の2桁の数字が相互に異なれば、生成する暗号化された数字は互いに異なるので、追加の桁37を用いることにより当該事業体等は暗号化した整数を用いて構成員を識別しうる。
In one embodiment, an entity that uses a number or the like included in the date of birth of a member as an identifier includes the date of birth of the member using the method of encrypting and decrypting an integer according to the present invention. Arbitrary two-digit numbers can be combined as
このようにして、予め定めた桁数の追加の桁37を追加することにより、本発明に係る暗号化装置100の暗号化の諸段階に入力される整数は、特定の個人20等が有する識別のための情報そのものではなくなる。桁を追加して得られる整数を暗号化することにより、本発明に係る整数の暗号化においては、特定の個人20等の個人情報をさらに隠蔽した暗号化が可能になる。
In this way, by adding the
[復号の手順の例]
図4に、本発明の一実施形態に係る、暗号化した整数の復号手順の例を示す。図4においては、説明の簡潔化のためにコンピュータ処理可能な数値に関し、図2を示して説明した暗号化装置100が生成した暗号化した整数A(42)及び/又は暗号化した整数B(44)に対する復号を説明するが、通話又は文書等の形態で伝達しうる暗号化した整数の復号についても同様である。図2又は図3と共通する箇所は説明を省略する。
[Example of decryption procedure]
FIG. 4 shows an example of an encrypted integer decryption procedure according to an embodiment of the present invention. In FIG. 4, 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
図4は、本発明に係る復号装置110が、暗号化した整数A’(52)及び/又は暗号化した整数B’(54)を受け付け、整数型の復号した識別子40を生成することを示す。ここで、暗号化した整数A’(52)は、整数型の識別子30に対して暗号化装置100が暗号化計算A(72)を用いて生成した暗号化した整数A(42)が、情報伝達経路A(82)を介してコンピュータネットワーク132等に伝達された後に、さらに情報伝達経路A’(102)を介して本発明に係る復号装置110に伝達したものでありうる。従って、整数型の数値としては、暗号化した整数A’(52)は対応する暗号化した整数A(42)と同一でありうる。
同様に、暗号化した整数B’(54)は暗号化した整数B(44)と同一でありうる。
FIG. 4 shows that the
Similarly, the encrypted integer B ′ (54) may be the same as the encrypted integer B (44).
本発明に係る復号装置110は、暗号化した整数A’(52)及び暗号化した整数B’(54)に対して、図1に示したステップS200からステップS220の諸段階を実施し、整数型の復号した識別子40を生成しうる。
暗号化した整数A’(52)は、暗号化装置100による暗号化計算A(72)において識別用途A(122)の固有情報(62)を用いて生成した暗号化した整数A(42)でありうる。当該固有情報(62)は、前述の数式(XII)に含まれるN又はEの値、及びKの値でありうるので、例えば、暗号化計算A(72)において用いられたEの値及びKの値を固有情報(92)として復号計算A(112)に用いうる。
同様に、暗号化計算B(74)において用いられたEの値及びKの値を固有情報(94)として復号計算B(114)に用いうる。
固有情報(92)及び/又は固有情報(94)は、予め復号装置110が記憶してもよく、予め定められた手順に従って暗号化装置100又は復号装置110の一方又は両方が生成してもよく、適宜設定しうる。
The decrypting
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
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
図4は、情報伝達経路A(82)、情報伝達経路B(84)、情報伝達経路A’(102)及び情報伝達経路B’(104)としてコンピュータ処理可能な数値を伝達しうるネットワーク等の情報伝達経路を示すが、これらに限らず、音声又は文書等を含む任意の伝達経路又は伝達手段を介して、暗号化した整数を暗号化装置100から復号装置110に向かって伝達しうる。
本発明に係る整数を暗号化し復号する方法には、これらの伝達経路又は伝達手段を介して伝達される整数が暗号化されていること、桁あふれを発生する条件での暗号化に用いた特定の数値で復号する本発明の方法によらなければ元の整数を復号することはできないという特徴がある。従って、本発明においては、伝達経路又は伝達手段等にアクセスする可能性のある第三者に対して個人情報を隠蔽し、所定の固有情報及び所定の暗号化及び所定の復号の方法を用いる本発明の実施手段等のみが当該個人情報を正確に復号することが可能になる。
FIG. 4 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
In the method of encrypting and decrypting integers according to the present invention, the integers transmitted via these transmission paths or means are encrypted, and the identification used for encryption under the condition that overflow occurs The original integer cannot be decoded unless the method of the present invention for decoding with the numerical value of is used. Therefore, in the present invention, the personal information is concealed from a third party who may access the transmission path or the transmission means, and the predetermined unique information and the predetermined encryption and decryption method are used. Only the implementation means of the invention can correctly decrypt the personal information.
図4には、暗号化装置100及び復号装置110のそれぞれを別個に示したが、これに限らず、暗号化装置100及び復号装置110を一体の装置としてもよい。暗号化した整数を伝達する伝達経路又は伝達手段等の形態は、コンピュータネットワークでもよく、一般公衆回線の電話を含む通話、ファクシミリ、電子メール等の形態でもよく、任意に設定しうる。それぞれの伝達経路又は伝達手段に依存して、1つの整数型の識別子30から独立して別個に暗号化した整数を生成してもよく、さらに図3に示した追加の桁37を適宜用いて整数型の識別子30を加工した後に暗号化してもよい。このようにして、本発明に係る整数を暗号化し復号する方法においては、構成員識別子等の1つの識別子から、当該識別子を用いる各種の情報伝達手段ごとに、個人情報を隠蔽した整数を識別子に替えて提供しうる。暗号化又は復号の諸段階はコンピュータ装置等を用いて自動的に実施しうるので、本発明に係る方法のユーザはこれらの手順を特に意識することなく、自己の個人情報を隠蔽した整数を自己の識別子に替えて用いうる。
In FIG. 4, each of the
(ワークシートの内部関数を用いて整数を暗号化及び復号する方法)
図5に、本発明の一実施形態に係る、暗号化及び復号の方法の諸段階をスプレッドシート形式の計算アプリケーションパッケージを用いて実装する例を示す。スプレッドシート形式の計算アプリケーションパッケージとしてはマイクロソフト社製エクセル2007等を用いうるが、これに限らず、整数のべき乗及び剰余計算を実施可能なパッケージソフトウェア等を任意に用いうる。
図5に示す整数の暗号化及び復号計算ワークシート200は、複数の行及び列の形態に配列されるセルを含む、スプレッドシート形式の計算アプリケーションのデータでありうる。暗号化及び復号計算ワークシート200に含まれる個々のセルは、1組の行番号及び列番号を用いて特定しうる。例えば、1行1列のセルは暗号化の入力Xiを記憶するために用いうる。同様に、11行5列のセルには暗号化した整数Yiを、19行5列のセルには復号した整数Xnをそれぞれ記憶しうる。1つのセルに記憶しうる値又は計算式の種類、数等は適宜設定しうる。1つのセルに配列等を定義して複数の定数、変数又は計算式を任意に含みうることも当技術分野において公知である。
(Method to encrypt and decrypt integer using internal function of worksheet)
FIG. 5 shows an example of implementing the steps of the encryption and decryption method according to an embodiment of the present invention using a spreadsheet-type calculation application package. As a spreadsheet format calculation application package, Microsoft Excel 2007 or the like can be used. However, the present invention is not limited thereto, and package software capable of performing integer power and remainder calculation can be arbitrarily used.
The integer encryption and decryption calculation worksheet 200 shown in FIG. 5 may be spreadsheet application data including cells arranged in a plurality of rows and columns. Individual cells included in the encryption and decryption calculation worksheet 200 may be identified using a set of row numbers and column numbers. For example, a cell with 1 row and 1 column can be used to store an input Xi for encryption. Similarly, an encrypted integer Yi can be stored in a cell of 11 rows and 5 columns, and a decrypted integer Xn can be stored in a cell of 19 rows and 5 columns. The value that can be stored in one cell or the type and number of calculation formulas can be set as appropriate. It is also 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.
整数の暗号化及び復号計算ワークシート200に含まれる1行1列のセルと11行5列のセルを対角とする長方形状の領域は、図1に示したステップS100からステップS150における暗号化の諸段階に係る計算のために用いられうる。
具体的には、1行1列のセルは、入力Xiを記憶するために用いうる。
2行1列のセル及び2行2列のセルは、2個の素数A及びBを記憶するために用いうる。2行3列のセルは、A及びBの積が入力Xiを超えることの判定のために用いうる。このA及びBの積は、前述の数式(XII)におけるNであり、Nは本発明に係る整数の暗号化に含まれる剰余計算の底でありうる。
3行1列のセルは、(A−1)及び(B−1)の積であるD値を記憶するために用いうる。
4行1列のセルは、(A−1)と(B−1)の最小公倍数であるK値を記憶するために用いうる。
5行1列のセルは、D又はKと素である整数Eを記憶するために用いうる。
6行1列のセルは、XiのE乗の値を記憶するために用いうる。6行2列のセルは、このXiのE乗がワークシート内蔵の整数演算においてオーバーフローを発生しているか否かを判定するために用いうる。例えば、当該オーバーフローが発生することは、6行1列の値がスプレッドシート形式の計算アプリケーションパッケージにおいて取り扱い可能な範囲を超えていることを表す「エラー」等の文字等により表され、6行2列のセルには当該エラーに対応して論理値の偽を表す数値等を記憶しうる。
7行1列のセルは入力Xiの展開形のために用いうるが、これに限らず入力Xiを展開することを表すフラグ又はメモ等の文字でもよい。7行2列及び8行2列のセルは、図1に示したステップS150又は数式(XIII)、数式(XVI)又は数式(XVII)を用いて記載した、記数法の桁を分割して入力Xiから生成した整数を記憶するために用いうる。例えば、7行2列は上位桁から生成した整数であり、8行2列は下位桁から生成した整数でありうる。
9行1列のセルは、上位桁及び下位桁から生成した整数を用いるべき乗の計算のために用いうるが、これに限らずメモ等の文字でもよい。9行2列のセルには上位桁から生成した整数同士の積を、11行2列には下位桁から生成した整数同士の積を、10行2列にはこれらの上位桁及び下位桁の積を、それぞれ記憶しうる。
11行3列のセルには、前述の9行2列から11行2列に記憶した積の和を記憶しうる。すなわち、当該積の和は、A及びBの積であるNを底とする剰余計算の剰余を含みうる。
11行4列は、11行3列の値に対するNの剰余を記憶しうる。
11行5列は、暗号化の出力であるYiを記憶しうる。実質的にはYiは11行3列の値と同一でありうる。
The rectangular area having the 1st row and 1st column cell and the 11th row and 5th column cell included in the integer encryption and decryption calculation worksheet 200 is encrypted in steps S100 to S150 shown in FIG. It can be used for calculations related to the various stages.
Specifically, a cell in one row and one column can be used to store the input Xi.
The 2 × 1 cell and the 2 × 2 cell can be used to store two prime numbers A and B. A cell with 2 rows and 3 columns can be used to determine that the product of A and B exceeds the input Xi. The product of A and B is N in the above formula (XII), and N may be the base of the remainder calculation included in the integer encryption according to the present invention.
A cell of 3 rows and 1 column can be used to store a D value that is the product of (A-1) and (B-1).
A cell of 4 rows and 1 column can be used to store a K value which is the least common multiple of (A-1) and (B-1).
A 5 × 1 cell can be used to store an integer E that is prime with D or K.
A cell in 6 rows and 1 column can be used to store the value of Xi raised to the E power. The cell of 6 rows and 2 columns can be used to determine whether or not this Xi raised to the E power has caused an overflow in the integer operation incorporated in the worksheet. For example, the occurrence of the overflow is represented by a character such as “error” indicating that the value of 6 rows and 1 column exceeds the range that can be handled in the spreadsheet-type calculation application package. In the cell of the column, a numerical value representing false of the logical value can be stored corresponding to the error.
The cell of 7 rows and 1 column can be used for the expanded form of the input Xi, but is not limited thereto, and may be a flag or a character such as a memo indicating that the input Xi is expanded. The cells in the 7th row and the 2nd column and the 8th row and the 2nd column are obtained by dividing the numeration digits described using the step S150 shown in FIG. 1 or the formula (XIII), the formula (XVI), or the formula (XVII). Can be used to store an integer generated from input Xi. For example, 7 rows and 2 columns may be integers generated from upper digits, and 8 rows and 2 columns may be integers generated from lower digits.
The cell in the 9th row and 1st column can be used for calculating the power to use the integer generated from the upper digit and the lower digit, but is not limited to this and may be a character such as a memo. A cell of integers generated from the upper digits in the cell of 9 rows and 2 columns, a product of integers generated from the lower digits in 11 rows and 2 columns, and the upper and lower digits of these in 10 rows and 2 columns. Each product can be stored.
The cell of 11 rows and 3 columns can store the sum of the products stored in the above-mentioned 9 rows and 2 columns to 11 rows and 2 columns. That is, the sum of the products can include a remainder of a remainder calculation with N as the product of A and B.
11 rows and 4 columns can store N remainders for the values of 11 rows and 3 columns.
The 11th row and the 5th column can store Yi that is an output of encryption. Substantially Yi may be the same as the value of 11 rows and 3 columns.
整数の暗号化及び復号計算ワークシート200に含まれる12行1列のセルと19行5列のセルを対角とする長方形状の領域は、図1に示したステップS200からステップS220における復号の諸段階に係る計算のために用いられうる。
12行1列のセルは、前述の数式(XVI)に含まれる任意の整数mを記憶するために用いうる。
13行1列のセルは、前述の数式(XVI)を成立する整数Fを記憶するために用いうる。
14行1列のセルは、前述の数式(XVII)に含まれるYiのF乗の値を記憶するために用いうる。14行2列のセルは、このYiのE乗がワークシート内蔵の整数演算においてオーバーフローを発生しているか否かを判定するために用いうる。例えば、当該オーバーフローが発生することは、14行1列の値がスプレッドシート形式の計算アプリケーションパッケージにおいて取り扱い可能な範囲を超えていることを表す「エラー」等の文字等により表され、14行2列のセルには当該エラーに対応して論理値の偽を表す数値等を記憶しうる。
15行1列のセルはYiの展開形のために用いうるが、これに限らずYiを展開することを表すフラグ又はメモ等の文字でもよい。15行2列及び16行2列のセルは、記数法の桁を分割してYiから生成した整数を記憶するために用いうる。例えば、15行2列は上位桁から生成した整数であり、16行2列は下位桁から生成した整数でありうる。
17行1列のセルは、上位桁及び下位桁から生成した整数を用いるべき乗の計算のために用いうる。17行2列のセルには上位桁から生成した整数同士の積を、19行2列には下位桁から生成した整数同士の積を、18行2列にはこれらの上位桁及び下位桁の積を、それぞれ記憶しうる。
19行3列のセルには、前述の17行2列から19行2列に記憶した積の和を記憶しうる。すなわち、当該積の和は、A及びBの積であるNを底とする剰余計算の剰余を含みうる。
19行4列は、19行3列の値に対するNの剰余を記憶しうる。
19行5列は、復号の出力であるXnを記憶しうる。実質的にはXnは1行1列の入力Xiと同一でありうる。
The rectangular region including the 12th row and 1st column cell and the 19th row and 5th column cell included in the integer encryption and decryption calculation worksheet 200 is decrypted in steps S200 to S220 shown in FIG. It can be used for calculations according to the steps.
The cell of 12 rows and 1 column can be used to store an arbitrary integer m included in the above formula (XVI).
The cell of 13 rows and 1 column can be used to store the integer F that satisfies the above-described equation (XVI).
The cell of 14 rows and 1 column can be used to store the value of Yi raised to the F power included in the above formula (XVII). The cell of 14 rows and 2 columns can be used to determine whether this Yi raised to the E power has overflowed in the integer operation incorporated in the worksheet. For example, the occurrence of the overflow is represented by a character such as “error” indicating that the value of 14 rows and 1 column exceeds the range that can be handled in the spreadsheet format calculation application package. In the cell of the column, a numerical value representing false of the logical value can be stored corresponding to the error.
The cell of 15 rows and 1 column can be used for the expansion form of Yi, but is not limited thereto, and may be a flag or a character such as a memo indicating expansion of Yi. The 15 × 2 and 16 × 2 cells can be used to store integers generated from Yi by dividing the numeration digits. For example, 15 rows and 2 columns may be integers generated from upper digits, and 16 rows and 2 columns may be integers generated from lower digits.
The cell of 17 rows and 1 column can be used for the calculation of the power which should use the integer generated from the upper and lower digits. The cell of the integers generated from the upper digits in the cell of 17 rows and 2 columns, the product of the integers generated from the lower digits in 19 rows and 2 columns, and the upper and lower digits of these in 18 rows and 2 columns. Each product can be stored.
In the cell of 19 rows and 3 columns, the sum of the products stored from the 17 rows and 2 columns to the 19 rows and 2 columns can be stored. That is, the sum of the products can include a remainder of a remainder calculation with N as the product of A and B.
19 rows and 4 columns may store N remainders for the values of 19 rows and 3 columns.
19 rows and 5 columns can store Xn which is an output of decoding. Substantially, Xn can be the same as the input Xi of 1 row and 1 column.
このように、本発明に係る整数を暗号化し復号する方法の諸段階は、べき乗及び剰余計算を実施可能なスプレッドシート形式の計算アプリケーションパッケージに実装しうる。従って、当該スプレッドシート等の実装手段をインストールしたパーソナルコンピュータ等を用いて、本発明に係る整数を暗号化し復号する方法を実施でき、スプレッドシート形式のデータとして本発明に係る整数を暗号化し復号する方法の実施手段を提供することが可能である。 Thus, the steps of the method for encrypting and decrypting integers according to the present invention can be implemented in a spreadsheet-type calculation application package capable of performing power and remainder calculations. Therefore, the method for encrypting and decrypting the integer according to the present invention can be implemented using a personal computer or the like in which the mounting means such as the spreadsheet is installed, and the integer according to the present invention is encrypted and decrypted as spreadsheet format data. It is possible to provide means for performing the method.
(ワークシートによる暗号化及び復号の計算)
図6に、本発明の一実施形態に係る、暗号化及び復号の方法の諸段階をスプレッドシート形式の計算アプリケーションパッケージに実装して計算する実施例を示す。例示の計算においては、スプレッドシート形式の計算アプリケーションパッケージとしてマイクロソフト社製エクセル2003を用いた。このアプリケーションソフトウェアは、−1×10307〜1×10307の範囲の数値を扱うことが可能であるが、内部関数等の演算結果がこの範囲にない数値を発生する場合は「#num!」等のエラーメッセージを表示する。従って、該エラーメッセージにより、このアプリケーションソフトウェアでは取り扱えない桁あふれした数値が発生したことを知ることができる。
図6に示したスプレッドシートの各セルは、本発明に係る整数の暗号化及び復号のための諸段階を実施するための、図5を用いて説明したワークシートの各セルに対応する計算式をそれぞれ含む。
(Encryption and decryption calculation by worksheet)
FIG. 6 shows an example in which the steps of the encryption and decryption method according to an embodiment of the present invention are implemented in a spreadsheet-type calculation application package. In the example calculation, Excel 2003 made by Microsoft Corporation was used as a calculation application package in a spreadsheet format. This application software can handle numerical values in the range of −1 × 10 307 to 1 × 10 307 , but if the calculation result of an internal function or the like generates a numerical value not in this range, “#num!” Etc. is displayed. Therefore, it is possible to know from the error message that an overflowing numerical value that cannot be handled by this application software has occurred.
Each cell of the spreadsheet shown in FIG. 6 is a calculation formula corresponding to each cell of the worksheet described with reference to FIG. 5 for performing the steps for integer encryption and decryption according to the present invention. Respectively.
図6に示すワークシート計算例210においては、1行1列のセルと11行5列のセルを対角とする長方形状の領域は、入力の整数を暗号化する諸段階に係る計算のために用いられる。
1行1列のセルは入力の整数(Xi)を記憶するために用いられる。この例では、入力整数を10進法の「9999912345」とする。
2行1列のセル及び2行2列のセルに記憶する2個の素数としては、例えば素数Aとして「13」を、素数Bとして「769230769」を選択しうる。2行3列のセルには、これらの2個の素数の積(N)である「9999999997」が表示される。この積の値は入力の整数よりも大きいので、本発明に係る整数の暗号化の方法に必要な条件を満たしている。換言すれば、素数A及び素数Bは、これらの積が入力の整数よりも大きければよく、任意に選択しうる。
3行1列のセルには、(A−1)及び(B−1)の積であるD値として「9230769216」が表示される。
4行1列のセルには、最小公倍数を計算するための内部関数であるLCM関数を用いて、(A−1)と(B−1)の最小公倍数であるK値として「769230768」が表示される。
5行1列のセルには、D値又はK値と素である整数Eの例として「11114323」が表示される。当該選択は、予め整数Eとして用いうる任意の個数の候補を適宜用意し、上記のように計算されたD値及びK値のそれぞれに対して1以外の公約数を有するかどうかを、最大の公約数を計算するための内部関数であるGCM関数を用いて判定し、この判定に基づいて実施しうるが、これに限定せず、整数Eは、D値又はK値と素である条件を満たせばよく、適宜設定しうる。
6行1列のセルには、XiのE乗の値が表示されるが、図6に示す例においてはアプリケーションソフトウェアでは取り扱えない桁あふれした数値が発生することにより、「#num!」というエラーメッセージが表示される。従って、上述の手順により設定した素数A、素数B、D値、K値、及び整数Eは、本発明に係る整数の暗号化の方法を用いて入力の整数Xiを暗号化するための条件を満たしている。
6行2列のセルは、6行1列のセルにおいて桁あふれが発生したことを表示する。例えば、6行2列のセルは、6行1列のセルの計算結果が、計算可能な正の整数の範囲を超えることを条件として、「桁あふれ」等の所定の文字列を表示するように設定しうる。例えば、この所定の文字列の表示により、本発明に係る整数の暗号化の方法のための条件が満たされたことを、計算方法の利用者に通知してもよい。
7行1列のセルは、図6においては入力Xiを表す。7行2列及び8行2列のセルは、図6においては、入力Xiの上位5桁及び下位5桁のそれぞれを表す。
9行2列のセルには入力Xiの上位桁の2乗を、10行2列には上位桁及び下位桁の積の2倍を、11行2列には下位桁の2乗を、それぞれ表す。すなわち、9行2列から11行2列の3つのセルは、入力Xiのべき乗の最も少ない回数である2乗について、前述の数式(XIII)等に示した展開形に含まれる式の値を含みうる。
11行3列のセルには、この展開形に含まれる式の値を、10進法の桁を有する1つの整数として表しうる。具体的には、図6の例では、9999800001×1010+2468975310×105+152399025の結果である、「99998246907683399025」が表示される。
10行4列には、11行3列の値を2行3列のセルの値(N)で除した商「9999824693」が表示され、11行4列にはこのときの剰余「7682873104」が表示される。なお、10行4列の商は、本発明に係る暗号化の過程においては後続の計算で用いないため、表示を省略してもよい。前述の図5に示した暗号化及び復号計算ワークシート200においては、この商の表示を省略する態様を図示した。
再び図6に戻り、Xiの3乗に対する剰余の値は、11行4列の値と1行1列の値(入力Xi)との積を、2行3列のセルの値(N)で除して得ることができる。4乗以上についても同様であり、入力Xiを乗ずる回数が整数Eに達するまで、この処理を繰り返すことで、最終的に、11行5列のセルに、暗号化した整数Yiが得られる。図6の例では、整数「2655731903」が得られたことを示す。
In the worksheet calculation example 210 shown in FIG. 6, the rectangular region diagonally having the 1-row and 1-column cell and the 11-row and 5-column cell is used for the calculation related to the steps for encrypting the input integer. Used for.
The 1-by-1 cell is used to store an input integer (Xi). In this example, the input integer is assumed to be “99999912345” in decimal.
As two prime numbers stored in the cell of 2 rows and 1 column and the cell of 2 rows and 2 columns, for example, “13” can be selected as the prime A and “7692309769” can be selected as the prime B. The cell of 2 rows and 3 columns displays “9999999997” which is the product (N) of these two prime numbers. Since the value of this product is larger than the input integer, the condition necessary for the integer encryption method according to the present invention is satisfied. In other words, the prime number A and the prime number B may be arbitrarily selected as long as their product is larger than the input integer.
In the cell of 3 rows and 1 column, “9230769216” is displayed as the D value which is the product of (A-1) and (B-1).
In the cell of 4 rows and 1 column, "769276868" is displayed as the K value which is the least common multiple of (A-1) and (B-1) using the LCM function which is an internal function for calculating the least common multiple. Is done.
In the cell of 5 rows and 1 column, “11114323” is displayed as an example of the integer E that is prime with the D value or K value. In this selection, an arbitrary number of candidates that can be used in advance as an integer E are appropriately prepared, and whether or not each of the D value and the K value calculated as described above has a common divisor other than 1 is determined as follows. It is determined using a GCM function that is an internal function for calculating a common divisor, and can be implemented based on this determination. However, the present invention is not limited to this, and the integer E is a condition that is prime with a D value or a K value. It can be set as appropriate.
In the cell of 6 rows and 1 column, the value of Xi raised to the E power is displayed, but in the example shown in FIG. 6, an error “#num!” Occurs due to an overflowing numerical value that cannot be handled by the application software. A message is displayed. Accordingly, the prime number A, prime number B, D value, K value, and integer E set by the above-described procedure are the conditions for encrypting the input integer Xi using the integer encryption method according to the present invention. Satisfies.
The cell of 6 rows and 2 columns indicates that an overflow has occurred in the cell of 6 rows and 1 column. For example, a cell of 6 rows and 2 columns displays a predetermined character string such as “overflow” on condition that the calculation result of the cell of 6 rows and 1 column exceeds the range of a positive integer that can be calculated. Can be set. For example, the display of the predetermined character string may notify the user of the calculation method that the condition for the integer encryption method according to the present invention is satisfied.
The cell of 7 rows and 1 column represents the input Xi in FIG. The cells in the 7th row and the 2nd column and the 8th row and the 2nd column respectively represent the upper 5 digits and the lower 5 digits of the input Xi in FIG.
The cell of the 9th row and the 2nd column has the square of the upper digit of the input Xi, the 10th row and the 2nd column has twice the product of the upper and lower digits, the 11th row and the 2nd column have the lower digit squared, Represent. That is, the three cells from 9 rows 2 columns to 11 rows 2 columns have the values of the expressions included in the expanded form shown in the above formula (XIII), etc., for the square which is the smallest number of powers of the input Xi. May be included.
In the cell of 11 rows and 3 columns, the value of the expression included in this expanded form can be expressed as one integer having decimal digits. Specifically, in the example of FIG. 6, “99998246690768399025”, which is the result of 9999800001 × 10 10 + 24689755310 × 10 5 +1523999025, is displayed.
In the 10th row and the 4th column, the quotient “9999824493” obtained by dividing the value in the 11th row and the 3rd column by the value (N) of the cell in the 2nd row and the 3rd column is displayed. Is displayed. Since the quotient of 10 rows and 4 columns is not used in the subsequent calculation in the encryption process according to the present invention, the display may be omitted. In the encryption and decryption calculation worksheet 200 shown in FIG. 5 described above, a mode in which the display of the quotient is omitted is shown.
Returning to FIG. 6 again, the value of the remainder for the cube of Xi is the product of the value of 11 rows and 4 columns and the value of 1 row and 1 column (input Xi) as the cell value (N) of 2 rows and 3 columns. Can be obtained. The same applies to the fourth power or higher, and this process is repeated until the number of times the input Xi is multiplied reaches the integer E, whereby an encrypted integer Yi is finally obtained in the cell of 11 rows and 5 columns. The example of FIG. 6 indicates that the integer “2655731903” has been obtained.
図6に示すワークシート計算例210においては、12行1列のセルと19行5列のセルを対角とする長方形状の領域は、復号の諸段階に係る計算のために用いられる。
12行1列のセル、及び13行1列のセルには、前述の数式(XVI)に含まれる任意の整数m及び前述の数式(XVI)を成立する整数Fが、それぞれ表示される。これらの
m及びFは、数式(XVI)を満たすものであればよい。図6の例では、整数mとして「1219862」が、整数Fとして「84427579」が表示される。例えば、予め整数Fとして用いうる任意の個数の候補を適宜用意し、暗号化の段階に用いたE値及びK値に基づいて、数式(XVI)を満たすように、整数m及び整数Fを選択してもよい。
14行1列のセルには、前述の数式(XVII)に含まれるYiのF乗の値が表示されるが、図6に示す例においては、暗号化の過程に含まれるべき乗の計算と同様に、桁あふれした数値が発生することにより、「#num!」というエラーメッセージが表示される。従って、上述の手順により設定された整数Fは、本発明に係る暗号化した整数の復号の方法を用いて、暗号化した整数Yiを復号するための条件を満たしている。
14行2列のセルは、14行1列のセルにおいて桁あふれが発生したことを表示する。これは暗号化の過程における6行2列のセルと同様であり、詳細は省略する。
15行1列のセルは、図6においては暗号化した整数Yiを表す15行2列及び16行2列のセルは、図6においては、暗号化した整数Yiの上位5桁及び下位5桁のそれぞれを表す。
17行2列のセルには暗号化した整数Yiの上位桁の2乗を、18行2列には上位桁及び下位桁の積の2倍を、19行2列には下位桁の2乗を、それぞれ表す。すなわち、17行2列から19行2列の3つのセルは、暗号化した整数Yiのべき乗の最も少ない回数である2乗について、前述の数式(XVII)の展開形に含まれる式の値を含みうる。
19行3列のセルには、この数式(XVII)の展開形に含まれる式の値を、10進法の桁を有する1つの整数として表しうる。具体的には、図6の例では、705274249×1010+1694495942×105+1017801409の結果である、「7052911940612001409」が表示される。
18行4列には、19行3列の値を2行3列のセルの値(N)で除した商「705291194」が表示され、19行4列にはこのときの剰余「2727874991」が表示される。なお、18行4列の商は、本発明に係る暗号化の過程においては後続の計算で用いないため、表示を省略してもよい。前述の図5に示した暗号化及び復号計算ワークシート200においては、この商の表示を省略する態様を図示した。
再び図6に戻り、Yiの3乗に対する剰余の値は、19行4列の値と17行2列の値(Yi)との積を、2行3列のセルの値(N)で除して得ることができる。4乗以上についても同様であり、暗号化した整数Yiを乗ずる回数が整数Fに達するまで、この処理を繰り返すことで、最終的に、19行5列のセルに、復号した整数Xnが得られる。図6の例では、整数「999912345」が得られたことが示され、これは入力Xiと一致している。
従って、本発明に係る整数の暗号化及び復号の方法の諸段階を用いることにより、暗号化の諸段階及び復号の諸段階のいずれにおいても計算過程で桁あふれが発生する条件で、入力の整数Xiを暗号化して暗号化した整数Yiが得られ、暗号化した整数Yiから復号した整数Xnが得られる。計算過程において桁あふれを発生することにより、本発明の方法を用いない計算手段等においては、正しい暗号化も復号も実施することはできない。これにより、本発明に係る整数の暗号化及び復号の方法及び該方法の実施手段等は、個人情報等と関連する整数の形態の情報に対して高い秘匿性を付与することが可能になる。
In the worksheet calculation example 210 shown in FIG. 6, a rectangular area whose diagonal is a cell of 12 rows and 1 column and a cell of 19 rows and 5 columns is used for calculations related to various stages of decoding.
In the cell of 12 rows and 1 column and the cell of 13 rows and 1 column, an arbitrary integer m included in the above formula (XVI) and an integer F that holds the above formula (XVI) are displayed. These m and F should just satisfy | fill numerical formula (XVI). In the example of FIG. 6, “1219862” is displayed as the integer m, and “844275579” is displayed as the integer F. For example, an arbitrary number of candidates that can be used as the integer F are prepared in advance, and the integer m and the integer F are selected so as to satisfy the formula (XVI) based on the E value and the K value used in the encryption stage. May be.
In the cell of 14 rows and 1 column, the value of the power of Yi included in the above formula (XVII) is displayed, but in the example shown in FIG. 6, it is the same as the calculation of the power to be included in the encryption process. In addition, an error message “#num!” Is displayed when a numerical value overflowing digits occurs. Therefore, the integer F set by the above-described procedure satisfies the condition for decrypting the encrypted integer Yi using the method for decrypting the encrypted integer according to the present invention.
The 14th row and 2nd column cell indicates that an overflow has occurred in the 14th row and 1st column cell. This is the same as the cell of 6 rows and 2 columns in the encryption process, and the details are omitted.
The cell of 15 rows and 1 column represents the encrypted integer Yi in FIG. 6, and the cell of 15 rows and 2 columns and 16 rows and 2 columns in FIG. 6 represents the upper 5 digits and the lower 5 digits of the encrypted integer Yi. Represents each of
The cell of the 17th row and the 2nd column is the square of the upper digit of the encrypted integer Yi, the 18th row and the 2nd column is twice the product of the upper and lower digits, and the 19th row and 2nd column is the square of the lower digit. Respectively. That is, the three cells from the 17th row and the second column to the 19th row and the second column express the value of the expression included in the expanded form of the above formula (XVII) for the square that is the smallest number of times of the power of the encrypted integer Yi. May be included.
In the cell of 19 rows and 3 columns, the value of the expression included in the expanded form of the expression (XVII) can be expressed as one integer having decimal digits. Specifically, in the example of FIG. 6, “7052911944061140409”, which is the result of 7052747449 × 10 10 + 1694995942 × 10 5 +101801409, is displayed.
In the 18th row and the 4th column, the quotient “705291194” obtained by dividing the value in the 19th row and the 3rd column by the value (N) of the cell in the 2nd and 3rd column is displayed. In the 19th row and the 4th column, the remainder “2727287991” at this time is displayed. Is displayed. Note that the quotient of 18 rows and 4 columns is not used in subsequent calculations in the encryption process according to the present invention, and may be omitted. In the encryption and decryption calculation worksheet 200 shown in FIG. 5 described above, a mode in which the display of the quotient is omitted is shown.
Returning to FIG. 6 again, the value of the remainder for the cube of Yi is obtained by dividing the product of the value of 19 rows and 4 columns and the value of 17 rows and 2 columns (Yi) by the cell value (N) of 2 rows and 3 columns. Can be obtained. The same applies to the fourth power or higher, and by repeating this process until the number of times of multiplying the encrypted integer Yi reaches the integer F, the decrypted integer Xn is finally obtained in a cell of 19 rows and 5 columns. . In the example of FIG. 6, it is shown that the integer “999912345” has been obtained, which matches the input Xi.
Therefore, by using the steps of the integer encryption and decryption method according to the present invention, the input integer is input under the condition that overflow occurs in the calculation process in both the encryption step and the decryption step. An encrypted integer Yi is obtained by encrypting Xi, and an integer Xn decrypted from the encrypted integer Yi is obtained. By generating overflow in the calculation process, correct encryption and decryption cannot be performed in a calculation means that does not use the method of the present invention. Thus, the method of encrypting and decrypting integers according to the present invention and the means for implementing the method can provide high confidentiality to information in the form of integers related to personal information and the like.
以上、本発明の実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更又は改良を加えることができる。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。 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 追加の桁
40 整数型の復号した識別子
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
Claims (12)
コンピュータ装置が、その積Nが入力された前記整数Xiを超える2つの素数A及びBを生成し、前記N、A、Bを記憶手段に記憶するステップと、
コンピュータ装置が(A−1)と(B−1)との積D及び(A−1)と(B−1)の最小公倍数Kを生成し、前記D及びKを記憶手段に記憶するステップと、
コンピュータ装置がD又はKと素である数Eを生成して、前記整数XiのE乗がコンピュータ装置の計算手段の整数演算に桁あふれを発生するか否かを判定し、判定結果が真となるまで、前記D又はKと素である数Eの生成と前記判定を繰り返すステップと、
コンピュータ装置が前記判定結果が真となるEを記憶手段に記憶するステップと、
コンピュータ装置が、前記整数Xiを整数Mを基数とするM進表記に変換し、前記整数XiのM進表記の桁数を、少なくとも2つ以上に分割し、前記分割したそれぞれの桁に対応する整数と当該桁数をべき指数とするMのべき乗との積からなる単項式の和からなる前記整数Xiの展開形を生成するステップと、
コンピュータ装置が、前記記憶された数Eをべき指数とする、次式記載の前記整数XiのE乗冪演算において、前記整数Xiの前記展開形を用いて、前記それぞれの桁に対応する整数間の計算に置き換えて展開した剰余計算により、前記整数XiをE乗してNを法とする整数Yiを計算するステップと、
コンピュータ装置が、前記整数Xiを暗号化した前記整数Yiを記憶手段に記憶するステップと、
コンピュータ装置が前記整数Xnを記憶手段に記憶し、暗号化した前記整数YiをXnすなわち、Xiに復号するステップと、を含む、整数を暗号化し復号する方法。
A computer device generating two prime numbers A and B , the product N of which is greater than the input integer Xi , and storing the N, A, and B in a storage means ;
A computer generating a product D of (A-1) and (B-1) and a least common multiple K of (A-1) and (B-1), and storing the D and K in a storage means; ,
The computer device generates a number E that is prime with D or K, and determines whether or not the integer Xi raised to the E power causes an overflow in the integer operation of the calculation means of the computer device. Repeating the generation of the number E that is prime with D or K and the determination until
A step in which the computer stores E in which the determination result is true in a storage means ;
The computer device converts the integer Xi into an M-ary notation based on the integer M, divides the number of digits in the M-ary notation of the integer Xi into at least two, and corresponds to each of the divided digits Generating an expanded form of the integer Xi consisting of a monomial sum consisting of an integer and a power of M with the number of digits as a power exponent;
In the E-power multiplication operation of the integer Xi described in the following equation, in which the computer apparatus uses the stored number E as a power exponent, the expansion between the integers Xi is used to calculate the interval between the integers corresponding to the respective digits. Calculating an integer Yi modulo N by raising the integer Xi to the E power by a remainder calculation expanded by replacing with the calculation of
A computer device storing the integer Yi obtained by encrypting the integer Xi in a storage means ;
A computer device storing the integer Xn in a storage means, and decrypting the encrypted integer Yi into Xn, that is, Xi.
コンピュータ装置がmを任意の整数として、前記数式[数2]を成立する数Fを生成して、前記整数YiのF乗がコンピュータ装置の計算手段の整数演算に桁あふれを発生するか否かを判定し、判定結果が真となるまで、数Fの生成と前記判定を繰り返すステップと、
コンピュータ装置が前記判定結果が真となるFを記憶手段に記憶するステップとを含み、
前記整数Xnを計算するステップは、
コンピュータ装置が、前記整数Yiを整数Mを基数とするM進表記に変換し、前記整数YiのM進表記の桁数を、少なくとも2つ以上に分割し、前記分割したそれぞれの桁に対応する整数と当該桁数をべき指数とするMのべき乗との積からなる単項式の和からなる前記整数Yiの展開形を生成するステップと、
コンピュータ装置が、前記記憶された数Fをべき指数とする、前記整数YiのF乗冪演算において、前記整数Yiの前記展開形を用いて、前記それぞれの桁に対応する整数間の計算に置き換えて展開した剰余計算により、前記整数YiをF乗してNを法とする整数Xnを計算するステップとを含むことを特徴とする、請求項1から6のいずれかに記載の整数を暗号化し復号する方法。 The step of generating F and storing it in the storage means includes:
Whether the computer apparatus generates a number F that satisfies the mathematical expression [Equation 2], where m is an arbitrary integer, and whether the integer Yi raised to the F power causes overflow in the integer operation of the calculation means of the computer apparatus Repeating the generation of the number F and the determination until the determination result is true;
A computer device storing F in the storage means for which the determination result is true,
The step of calculating the integer Xn includes:
The computer apparatus converts the integer Yi into M-ary notation based on the integer M, divides the number of digits in the M-ary notation of the integer Yi into at least two, and corresponds to each of the divided digits Generating an unfolded form of the integer Yi consisting of a monomial sum consisting of an integer and a power of M with the number of digits as a power exponent;
In the F power multiplication operation of the integer Yi using the stored number F as a power exponent, the computer apparatus replaces the calculation between the integers corresponding to the respective digits using the expansion form of the integer Yi And an integer Xn modulo N by calculating the integer Yi to the Fth power by a residue calculation expanded in an encrypted manner. How to decrypt .
積Nが前記整数Xiを超える2つの素数A及びBを生成し、前記N、A、Bを記憶手段に記憶する素数生成部と、
(A−1)と(B−1)との積D及び(A−1)と(B−1)の最小公倍数Kを生成し、前記D及びKを記憶手段に記憶し、前記D又はKと素である数Eを生成して、前記整数XiのE乗がコンピュータ装置の計算手段の整数演算に桁あふれを発生するか否かを判定し、判定結果が真となるまで、前記D又はKと素である数Eの生成と前記判定を繰り返し、判定結果が真となるEを記憶手段に記憶し、
整数Xiを整数Mを基数とするM進表記に変換し、前記XiのM進表記の桁数を、少なくとも2つ以上に分割し、前記分割したそれぞれの桁に対応する整数と当該桁数をべき指数とするMのべき乗との積からなる単項式の和からなる前記Xiの展開形を生成し、
前記記憶された数Eをべき指数とする、次式記載の整数XiのE乗冪演算において、整数Xiの前記展開形を用いて、前記それぞれの桁に対応する整数間の計算に置き換えて展開した剰余計算により、整数XiをE乗してNを法とする整数Yiを計算して、整数Xiを暗号化した整数Yiを生成し、記憶手段に記憶する暗号生成部と、
A prime number generating unit that generates two prime numbers A and B having a product N exceeding the integer Xi , and stores the N, A, and B in a storage unit ;
A product D of (A-1) and (B-1) and a least common multiple K of (A-1) and (B-1) are generated, the D and K are stored in a storage means, and the D or K To generate a number E that is prime and to determine whether the integer Xi raised to the E power causes an overflow in the integer operation of the calculation means of the computer device, and until the determination result is true, The generation of the number E that is prime with K and the above determination are repeated, and E for which the determination result is true is stored in the storage means,
The integer Xi is converted into an M-ary notation based on the integer M, the number of digits in the M notation of the Xi is divided into at least two, and the integer corresponding to each of the divided digits and the number of digits are Generating an expanded form of the Xi consisting of a sum of monomials consisting of a product of a power of M as a power exponent;
In the E power operation of the integer Xi described in the following equation using the stored number E as a power exponent, the expansion of the integer Xi is used to replace the calculation between integers corresponding to the respective digits. An integer Yi modulo N by calculating the integer Xi to the power E , generating an integer Yi obtained by encrypting the integer Xi , and storing it in the storage means ;
mを任意の整数として、前記[数6]を成立する前記Fを生成して、整数YiのF乗がコンピュータ装置の計算手段の整数演算に桁あふれを発生するか否かを判定し、判定結果が真となるまで、数Fの生成と前記判定とを繰り返す手段と、
前記判定結果が真となるFを記憶手段に記憶する手段とを含み、
前記復号部は、
暗号化された整数Yiを整数Mを基数とするM進表記に変換し、前記YiのM進表記の桁数を、少なくとも2つ以上に分割し、前記分割したそれぞれの桁に対応する整数と当該桁数をべき指数とするMのべき乗との積からなる単項式の和からなる前記Yiの展開形を生成する手段と、
前記生成した数Fをべき指数とする、整数YiのF乗冪演算において、整数Yiの前記展開形を用いて、前記それぞれの桁に対応する整数間の計算に置き換えて展開した剰余計算により、整数YiをF乗してNを法とする整数Xnを計算する手段とを含むことを特徴とする、請求項9に記載の整数の暗号化及び復号装置。 The decryption preparation unit
The above F that holds the above [Formula 6] is generated, where m is an arbitrary integer, and it is determined whether or not the integer Yi raised to the F power will cause an overflow in the integer operation of the computing means of the computer device. Means for repeating the generation of the number F and the determination until the result is true;
Means for storing in the storage means F for which the determination result is true,
The decoding unit
The encrypted integer Yi is converted into M-ary notation based on the integer M, the number of digits of the Yi in M-ary notation is divided into at least two, and an integer corresponding to each of the divided digits Means for generating the expanded form of Yi consisting of a monomial sum consisting of a product of a power of M with the number of digits as a power exponent;
In the power multiplication operation of the integer Yi using the generated number F as a power exponent, by using the expansion form of the integer Yi and replacing the calculation between integers corresponding to the respective digits, 10. The integer encryption and decryption device according to claim 9, further comprising means for calculating an integer Xn modulo N by raising the integer Yi to the power of F.
積Nが前記整数Xiを超える2つの素数A及びBを生成し、前記生成したN、A、Bを記憶手段に記憶する手段と、
(A−1)と(B−1)との積D及び(A−1)と(B−1)の最小公倍数Kを生成し前記D及びKを記憶手段に記憶する手段と、
前記D又はKと素である数Eを生成して、項XiのE乗がコンピュータ装置の計算手段の整数演算に桁あふれを発生するか否かを判定し、判定結果が真となるまで、前記D又はKと素である数Eの生成と前記判定を繰り返す手段と、
前記判定結果が真となるEを記憶手段に記憶する手段と、
前記整数Xiを整数Mを基数とするM進表記に変換し、前記整数XiのM進表記の桁数を、少なくとも2つ以上に分割し、前記分割したそれぞれの桁に対応する整数と当該桁数をべき指数とするMのべき乗との積からなる単項式の和からなる前記整数Xiの展開形を生成する手段と、
前記記憶された数Eをべき指数とする、次式記載の整数XiのE乗冪演算において、整数Xiの前記展開形を用いて、前記それぞれの桁に対応する整数間の計算に置き換えて展開した剰余計算により、整数XiをE乗してNを法とする整数Yiを計算する手段と、
前記整数Xiを暗号化した整数Yiを記憶手段に記憶する手段と、
Means for generating two prime numbers A and B having a product N exceeding the integer Xi , and storing the generated N, A and B in a storage means ;
Means for generating a product D of (A-1) and (B-1) and a least common multiple K of (A-1) and (B-1) and storing said D and K in a storage means ;
Wherein to generate the D or K and prime a number E, multiply E term Xi is determined whether or not to generate an overflow in integer arithmetic calculation means of the computer device, until the determination result is true, Means for repeating generation of the number E that is prime with D or K and the determination;
Means for storing in the storage means E for which the determination result is true ;
The integer Xi is converted into an M-ary notation based on the integer M, the number of digits in the M-ary notation of the integer Xi is divided into at least two, and the integer corresponding to each of the divided digits and the digit Means for generating an expanded form of the integer Xi consisting of a monomial sum consisting of a product of a power of M with a number as a power exponent ;
In the E power operation of the integer Xi described in the following equation using the stored number E as a power exponent, the expansion of the integer Xi is used to replace the calculation between integers corresponding to the respective digits. by the remainder calculated, means for calculating an integer Yi modulo N and multiplication E integers Xi,
It means for storing the integer Yi obtained by encrypting the integer Xi in the storage means,
mを任意の整数として前記[数9]を成立する数Fを生成して、整数YiのF乗がコンピュータ装置の計算手段の整数演算に桁あふれを発生するか否かを判定し、判定結果が真となるまで、数Fの生成と前記判定を繰り返す手段と、
前記判定結果が真となるFを記憶手段に記憶する手段を含み、
前記復号する手段は、
暗号化した整数Yiを整数Mを基数とするM進表記に変換し、前記YiのM進表記の桁数を、少なくとも2つ以上に分割し、前記分割したそれぞれの桁に対応する整数と当該桁数をべき指数とするMのべき乗との積からなる単項式の和からなる前記Yiの展開形を生成する手段と、
前記生成した数Fをべき指数とする、整数YiのF乗冪演算において、整数Yiの前記展開形を用いて、前記それぞれの桁に対応する整数間の計算に置き換えて展開した剰余計算により、整数YiをF乗してNを法とする整数Xnを計算する手段とを含むことを特徴とする、請求項11に記載の整数を暗号化及び復号するシステム。 The means for generating F and storing it in the storage means,
A number F that satisfies the above [Equation 9] is generated by using m as an arbitrary integer, and it is determined whether or not the integer Yi raised to the F power causes an overflow in the integer operation of the calculation means of the computer device. Means for repeating the generation of the number F and the determination until is true;
Means for storing in the storage means F for which the determination result is true ;
The means for decoding is
The encrypted integer Yi is converted into an M-ary notation based on the integer M, the number of digits in the Y-M notation is divided into at least two, and the integer corresponding to each of the divided digits and the corresponding Means for generating the expanded form of Yi consisting of a monomial sum consisting of a product of a power of M with the number of digits as a power exponent;
In the power multiplication operation of the integer Yi using the generated number F as a power exponent, by using the expansion form of the integer Yi and replacing the calculation between integers corresponding to the respective digits, 12. The system for encrypting and decrypting integers according to claim 11, comprising means for calculating an integer Xn modulo N by raising the integer Yi to the power of F.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008244761A JP5208642B2 (en) | 2008-09-24 | 2008-09-24 | Integer encryption and decryption methods |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008244761A JP5208642B2 (en) | 2008-09-24 | 2008-09-24 | Integer encryption and decryption methods |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2010078713A JP2010078713A (en) | 2010-04-08 |
| JP5208642B2 true JP5208642B2 (en) | 2013-06-12 |
Family
ID=42209278
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008244761A Expired - Fee Related JP5208642B2 (en) | 2008-09-24 | 2008-09-24 | Integer encryption and decryption methods |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5208642B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5247773B2 (en) * | 2010-08-03 | 2013-07-24 | 中国電力株式会社 | Cryptographic device and method thereof |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002023624A (en) * | 2000-07-07 | 2002-01-23 | Murata Mach Ltd | Block cipher communication method and device therefor, and recording medium with block cipher communication program recorded thereon |
| JP2005025243A (en) * | 2003-06-30 | 2005-01-27 | Toshiba Corp | Print network system authentication system, remote storage server, and remote output device |
-
2008
- 2008-09-24 JP JP2008244761A patent/JP5208642B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2010078713A (en) | 2010-04-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108463968B (en) | Fast format-preserving encryption of variable length data | |
| JP2008513811A (en) | Calculation conversion method and system | |
| Attaullah et al. | Cryptosystem techniques based on the improved Chebyshev map: an application in image encryption | |
| EP4465589A1 (en) | Data processing | |
| CN115918028A (en) | Device and method for performing statistical operations on homomorphic ciphertext | |
| CN114584283A (en) | Privacy protection method, device, equipment and storage medium for blacklist matching | |
| CN114006689B (en) | Data processing method, device and medium based on federal learning | |
| Sihwail et al. | A new image encryption method using an optimized smart codebook | |
| Ahmad et al. | A secure network communication protocol based on text to barcode encryption algorithm | |
| Somsuk | The development of signing and verification methods for high speed digital signatures on electronic official documents by using RSA cryptography | |
| Galbreath | Cryptography for Internet and database applications: developing secret and public key techniques with Java | |
| Jana et al. | A novel time-stamp-based audio encryption scheme using sudoku puzzle | |
| JP5208796B2 (en) | Integer encryption and decryption methods | |
| JP5208717B2 (en) | Integer encryption and decryption methods | |
| JarJar | Two Feistel rounds in image cryptography acting at the nucleotide level exploiting dna and rna property | |
| JP5208642B2 (en) | Integer encryption and decryption methods | |
| Paragas | An enhanced cryptographic algorithm in securing healthcare medical records | |
| 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 | |
| JP5208797B2 (en) | Integer encryption and decryption methods | |
| Kalaichelvi et al. | RETRACTED: Design of digital image encryption based on elliptic curve cryptography (ECC) algorithm and Radix-64 conversion | |
| Hamad et al. | Text cryptography and steganography based on RNA sequences generation, true random number generators, and codebook method | |
| Gopalan et al. | An effective reversible data-hiding in encrypted images using memory cellular automata | |
| Kumaresan et al. | Reversible data hiding in encrypted images using public cloud and cellular Automata | |
| Zheng et al. | LRSA-Hybrid Encryption Method Using Linear Cipher and RSA Algorithm to Conceal the Text Messages. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101215 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121005 |
|
| 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: 5208642 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 |
|
| LAPS | Cancellation because of no payment of annual fees |