JP5208982B2 - 整数を暗号化及び復号化する方法、装置及びシステム - Google Patents
整数を暗号化及び復号化する方法、装置及びシステム Download PDFInfo
- Publication number
- JP5208982B2 JP5208982B2 JP2010044728A JP2010044728A JP5208982B2 JP 5208982 B2 JP5208982 B2 JP 5208982B2 JP 2010044728 A JP2010044728 A JP 2010044728A JP 2010044728 A JP2010044728 A JP 2010044728A JP 5208982 B2 JP5208982 B2 JP 5208982B2
- Authority
- JP
- Japan
- Prior art keywords
- integer
- digits
- power
- encryption
- decoding
- 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.)
- Active
Links
Images
Description
また、本発明は、個人情報と関連付けられた識別子等を、計算機が桁あふれを発生する条件で暗号化する方法を提供することにより、本発明の方法によらない第三者には元の識別子を復元できない暗号化された識別子等を生成することが可能な、方法、装置及びシステムを提供することを目的とする。
本発明では、以下のような解決手段を提供する。
入力に用いる整数は、コンピュータ処理可能な整数であればよく、文字又は画像等から可逆的に変換された整数でもよい。例えば、コンピュータ処理可能な文字のそれぞれに割り当てられた文字コード等を、1桁、2桁又は4桁等の16進数の整数として扱ってもよい。また、例えば、コンピュータ処理可能な画像に含まれる個々の画素を、RGB各8ビットの整数の一組とする24ビットの2進数の整数として扱ってもよい。例えば、構成員の識別番号等の個人情報を、コンピュータ処理可能な整数に可逆的に変換して、本発明の整数を暗号化し復号化する方法の入力に用いることができる。
また、本発明の方法においては、暗号化する整数の数値範囲に応じて計算条件を自動的に選択することにより、計算に要するコンピュータ資源を削減し、計算を高速化することができ、計算条件を隠蔽することによりセキュリティをより高度に確保することができる。
特に、従来の公開鍵暗号化技術等では0、1、及び元の整数自身が変換されずに特異点となりうるが、本発明においては、オフセットを用いて従来法における特異点の数値を変更できる。したがって、本発明においては、従来法の特異点に係る問題を避けて暗号化及び復号化を実施できる。
(12)前記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)から(11)のいずれかに記載の整数を暗号化し復号化する方法。
(14)前記Fを生成し記憶手段に記憶するステップは、コンピュータ装置がmを任意の整数として、前記数式[数12]を成立する数Fを生成して、前記整数YiのF乗がコンピュータ装置の計算手段の整数演算に桁あふれを発生するか否かを判定し、判定結果が真となるまで、数Fの生成と前記判定を繰り返すステップと、コンピュータ装置が前記判定結果が真となるFを記憶手段に記憶するステップとを含む、ことを特徴とする(13)に記載の整数を暗号化し復号化する方法。
さらに、本発明の装置においては、桁あふれが発生する条件で数式(V)のEを選択した後に、例えば前述の数式(IV)を用いてXiを展開し、桁あふれを避けて、暗号化した整数であるYiを正確に得ることができる。
したがって、本発明の装置は、整数Yiを正確に得ることが可能になる。すなわち、本発明の装置は、暗号化及び復号化のいずれも正確に実施することができる。
さらに、本発明に係る整数を暗号化及び復号化するシステムにおいては、桁あふれを発生する条件で前述の数式(VIII)のEを選択した後に、例えば前述の数式(IV)を用いてXiを展開し、桁あふれを避けて、暗号化した整数であるYiを正確に得ることができる。
また、本発明によれば、個人情報と関連付けられた識別子等を、計算機が桁あふれを発生する条件で暗号化する方法を提供することにより、本発明の方法によらない第三者には元の識別子を復元できない暗号化された識別子等を生成することが可能な、方法、装置及びシステムを提供できる。
図1に、本発明の一実施形態に係る、整数を暗号化し復号化する方法のフロー図を示す。図1(a)は、本実施形態に係る、整数を暗号化する方法フロー図であり、図1(b)は、当該暗号化した整数を復号化する方法のフロー図である。
続いて、ステップS112において、暗号化装置100は、ステップS111又はステップS116において加算された整数を、この加算された整数の平方根を超えない素数で順次除算する。ここで算出される商をN1とする。
ステップS113では、暗号化装置100は、加算された整数が素数で割り切れたか否かを判定する。判定の結果がYESであればステップS114に進み、NOであればステップS116に進む。
この場合、暗号化装置100は、S116における加算処理に代わり、減算処理を行う。
次いで、暗号化装置100は、ステップS130において、D又はKと素である整数Eを生成する。
次いで、暗号化装置100は、ステップS140において、次式(XI)の右辺の項(整数XiのE乗)が、計算手段の整数演算に桁あふれを発生するか否かを判定する。判定の結果がYESであればステップS150に進み、NOであればステップS130に戻る。
図3に、本発明の一実施形態に係る、整数を暗号化する方法を用いる個人情報保護手順の例を示す。
本実施形態に係る方法を用いない第三者は、暗号化又は復号化のいずれかの諸段階において桁あふれが発生することにより正確な暗号化及び/又は復号化ができない。したがって、本実施形態の方法は、構成員の識別子等の個人情報を、このような第三者に対する漏洩から保護することが可能になる。
図4に、本発明の一実施形態に係る、整数を暗号化する方法を用いる個人情報保護手順の別の例を示す。図3と共通する箇所は説明を省略する。
暗号化装置100は、追加の桁37を追加することにより、整数型の識別子30及び追加の桁37に含まれる各桁の数字を含む新たな整数である、桁増しした識別子38を生成する。
図5に、本発明の一実施形態に係る、整数を暗号化する方法を用いる個人情報保護手順のまた別の例を示す。図3又は図4と共通する箇所は説明を省略する。
図5においては、識別用途A(122)、識別用途B(124)及び識別用途C(126)等のそれぞれに対応する暗号化の過程を、整数型の識別子30から、暗号化した整数A(42)、暗号化した整数B(44)及び暗号化した整数C(46)へのそれぞれ独立した矢印として表している。暗号化装置100は、これらのそれぞれについて、独立して乱数発生手段39又はオフセット情報40を用いる。したがって、それぞれの識別用途ごとに生成した、暗号化した整数A(42)、暗号化した整数B(44)又は暗号化した整数C(46)は、乱数発生手段39を用いて発生した乱数の情報、オフセット情報40、及び本発明のいずれかの実施形態に係る暗号化の情報の全てを正確に用いなければ、いずれも正しく復号化することができない。このように、本実施形態に係る個人情報保護手順においては、正確な復号化のための情報の種類をより多く必要とすることで、周知の公開鍵暗号化技術等に比較して、さらに秘匿性を高めることができる。
図6に、本発明の一実施形態に係る、暗号化した整数の復号化手順の例を示す。
図7及び図8に、本発明の別の実施形態に係る、整数を暗号化し復号化する方法のフロー図を示す。図7は、本発明の別の実施形態に係る、整数を暗号化する方法のフロー図であり、図8は、当該暗号化した整数を復号化する方法のフロー図である。具体的には、図7及び図8に示す方法は、べき剰余と換字式とを重畳する暗号化及び復号化の処理を含む。図1に示した実施形態と重複する箇所は説明を省略する。
暗号化装置100は、図7のステップS300で変数領域を確保する。具体的には、暗号化装置100は、次の表2に列挙する変数を用いる計算のために、メモリ領域を適宜確保する。表2に示す変数は、表1に示した変数に、Zi、R、L及びTを追加したものである。変数Ziは、前述の変数Yiと同様に設定できる。
なお、繰り返しにおいて、変数A、B、D、Kは同じ値を再利用してもよい。変数E及びFの対も同じ値を再利用してもよいが、より好適には、ループカウンタLの値に依存して変数E及びFの対を変化することにより、第三者による解読をさらに困難にすることが可能になる。
次に、復号化の処理を、復号化装置110の動作として説明する。図1(b)に示した復号化の処理と共通する箇所は説明を省略する。本発明の別の実施形態に係る整数を復号化する方法において、復号化装置110は、図8のステップS400で変数領域を確保し、ループカウンタLを初期化する。
図9及び図10に、本発明のまた別の実施形態に係る、整数を暗号化し復号化する方法のフロー図を示す。図9は、本発明のまた別の実施形態に係る、整数を暗号化する方法のフロー図であり、図10は、当該暗号化した整数を復号化する方法のフロー図である。具体的には、図9及び図10に示す方法は、べき剰余と換字式とを重畳する暗号化及び復号化の処理を含み、べき剰余による暗号化の鍵である整数Eをランダムに選択する処理を含む。図1又は図7に示した実施形態と重複する箇所は説明を省略する。
ステップS500では、暗号化装置100は、変数領域を確保する。このステップS500において用いられる変数は、前述の表2に示した変数と同等である。このステップS500において、暗号化装置100は、前述のようにループカウンタL等の初期設定を適宜実施してもよい。なお、暗号化装置100は、べき剰余を用いる暗号化に含まれる他の変数であるオフセットT、任意の整数m、及び換字式暗号化に含まれる変数である鍵Rも同様に、第三者に秘密となるように選択する。また、これらの値の選択において、暗号化装置100は、例えば、図5に示した乱数発生手段39を用いる。
ステップS510は、S511からS515の各ステップを含む。これらのうち、ステップS511、S512、S514及びS515は、図7に示したステップS311、S312、S314及びS315とそれぞれ同等である。
次に、復号化の処理を、復号化装置110(図3)の動作として説明する。
ステップS600において、復号化装置110は、変数領域を確保し、ループカウンタLを初期化する。この変数領域の確保は、前述の暗号化の処理におけるステップS500と同様である。
ステップS610は、図8に示したステップS410と同等である。
ステップS621では、復号化装置110は、前述の数式(XV)を成立する整数Fを生成するために、式中のmをランダムな規則によって選択する。
ステップS622では、復号化装置110は、ステップS621にて生成された整数Fにより、数式(XVI)を用いてYnをXnに復号化する。
図11及び図12に、本発明のさらに別の実施形態に係る、整数を暗号化し復号化する方法のフロー図を示す。図11は、本発明のさらに別の実施形態に係る、整数を暗号化する方法のフロー図であり、図12は、当該暗号化した整数を復号化する方法のフロー図である。具体的には、図11及び図12に示す方法は、多桁の整数の上位桁及び下位桁を分割する処理、及び分割した整数部分を関連付ける情報を保持する処理を含む。
図12を参照して、多桁の整数の復号化を、復号化装置110の動作として説明する。図1(b)、図8又は図10に示した実施形態と重複する箇所は説明を省略する。
次いで、ステップS830において、復号化装置110は、数式(XVI)を用いて暗号化されたYiをXnに復号化する。この処理は、ステップS220と同等である。
図13に、本発明の一実施形態に係る、整数を暗号化する方法を用いる個人情報保護手順のさらに別の例を示す。図13に示す例は、図3から図5に示した例に対して、保護する個人情報を表す整数が、倍精度型の整数の範囲を超えることができることが異なる。図3から図5に示した例と共通する箇所は、説明を省略する。
図14に、本発明の一実施形態に係る、暗号化及び復号化の方法の諸段階をスプレッドシート形式の計算アプリケーションパッケージを用いて実装する例を示す。
2行3列目のセルは、積ABと整数Xiとの差が所定範囲内であることの判定のために用いられる。図14に示す例においては、この所定範囲を整数Xiの数値に対する1%以内の差として予め設定することを示している。すなわち、積ABと整数Xiとの差の絶対値が、Xiの1%以内であるかどうかが判定される。積AB、すなわち、A及びBの積は、前述の数式(XI)におけるNであり、Nは本実施形態に係る整数の暗号化に含まれる剰余計算の底である。
4行1列目のセルは、(A−1)と(B−1)の最小公倍数であるK値を格納するために用いられる。
5行1列目のセルは、D又はKと素である整数E(E値)を格納するために用いられる。
6行2列目のセルは、この整数XiのE乗がワークシートの整数演算においてオーバーフローを発生しているか否かを判定するために用いられる。例えば、当該オーバーフローが発生することは、6行1列目の値がスプレッドシート形式の計算アプリケーションパッケージにおいて取り扱い可能な範囲を超えていることを表す「エラー」等の文字等により表され、6行2列目のセルには、当該エラーに対応して論理値の偽を表す数値等が格納される。
7行2列目及び8行2列目のセルは、図1に示したステップS150又は数式(XIII)、数式(XIV)又は数式(XVII)を用いて記載した、記数法の桁を分割して入力Xiから生成した整数を格納するために用いられる。例えば、7行2列目は上位桁から生成した整数であり、8行2列目は下位桁から生成した整数である。
10行2列目のセルには、上位桁及び下位桁の積が格納される。
11行2列目のセルには、下位桁から生成した整数同士の積が格納される。
10行4列目のセルには、11行3列目の値に対するNの商を格納する。
11行4列目のセルには、11行3列目の値に対するNの剰余を格納する。
11行5列目のセルには、暗号化の出力である整数Yi(出力Yi)を格納する。
13行1列目のセルには、前述の数式(XVI)を成立する整数Fが格納される。
14行1列目のセルには、前述の数式(XVI)に含まれる整数YiのF乗の値が格納される。
15行2列目及び16行2列目のセルには、記数法の桁を分割して整数Yiから生成した整数が格納される。例えば、15行2列目は上位桁から生成した整数であり、16行2列目は下位桁から生成した整数とすることができる。
17行2列目のセルには、上位桁から生成した整数同士の積が格納される。
18行2列目のセルには、上位桁及び下位桁の積が格納される。
19行2列目のセルには、下位桁から生成した整数同士の積が格納される。
19行3列目のセルには、前述の17行2列目から19行2列目に格納された積の和が格納される。すなわち、当該積の和は、A及びBの積である積Nを底とする剰余計算の剰余を含む。
19行4列目のセルには、19行3列目の値に対する積Nの剰余が格納される。
19行5列目のセルには、復号化の出力であるXnが格納される。Xnは、1行1列の入力Xiと同一となる。
図15に、本発明の一実施形態に係る、暗号化及び復号化の方法の諸段階をスプレッドシート形式の計算アプリケーションパッケージに実装して計算する例を示す。例示の計算においては、スプレッドシート形式の計算アプリケーションパッケージとしてマイクロソフト社製エクセル2003(登録商標)を用いた。このアプリケーションソフトウェアは、−1×10307〜1×10307の範囲の数値を扱うことが可能であるが、内部関数等の演算結果がこの範囲にない数値を発生する場合は「#num!」等のエラーメッセージを表示する。したがって、該エラーメッセージにより、このアプリケーションソフトウェアでは取り扱えない桁あふれした数値が発生したことを知ることができる。
4行1列目のセルには、最小公倍数を計算するための内部関数であるLCM関数を用いて、(A−1)と(B−1)の最小公倍数であるK値として「769230768」が表示される。
5行1列目のセルには、D値又はK値と素である整数Eとして「11114323」が表示される。整数Eは、予め整数Eとして採用されうる任意の個数の候補を適宜用意し、上記のように計算されたD値及びK値のそれぞれに対して1以外の公約数を有するかどうかを、最大の公約数を計算するための内部関数であるGCM関数を用いて判定し、この判定に基づいて選択される。なお、整数Eの選択は、これに限定されず、整数Eが、D値又はK値と素である条件を満たすように選択されればよく、適宜設定できる。
6行2列目のセルは、6行1列目のセルにおいて桁あふれが発生したことを表示する。例えば、6行2列目のセルは、6行1列目のセルの計算結果が、計算可能な正の整数の範囲を超えることを条件として、「桁あふれ」等の所定の文字列が表示される。例えば、この所定の文字列の表示により、本実施形態に係る整数の暗号化の方法のための条件が満たされたことを、計算方法の利用者に通知してもよい。
7行2列目及び8行2列目のセルは、図15においては、整数Xiの上位5桁及び下位5桁のそれぞれを表す。
15行1列目のセルには、暗号化した整数Yiが表される。
15行2列目及び16行2列目のセルは、暗号化した整数Yiの上位5桁及び下位5桁のそれぞれが表される。
18行2列目のセルには、上位桁及び下位桁の積の2倍が表される。
19行2列目のセルには、下位桁の2乗が表される。
これらの、17行2列目から19行2列目の3つのセルは、暗号化した整数Yiのべき乗の最も少ない回数である2乗について、前述の数式(XVI)の展開形に含まれる式の値を含む。
19行3列目のセルには、この数式(XVI)の展開形に含まれる式の値が、10進法の桁を有する1つの整数として表される。具体的には、図15の例では、705274249×1010+1694495942×105+1017801409の結果である、「7052911940612001409」が表示される。
図16及び図17は、本発明の実施形態に係る、べき剰余と換字式の重畳による暗号化及び復号化の処理を、スプレッドシート形式の計算アプリケーションパッケージを用いて実装する例を示す図である。簡潔な記載のため、べき剰余と換字式の重畳の処理の実装例を主に説明し、鍵のランダムな選択、及び多桁の整数の暗号化及び復号化の処理について、該当する箇所ごとに追加的に説明する。
8行1列目のセルは、(A−1)と(B−1)の最小公倍数であるKを格納するために用いられる。
9行1列目のセルは、D又はKと素である整数Eiを格納するために用いられる。このときに、整数Eiは、図9のステップS513のように、ランダムな規則によって選択されてもよい。
11行1列目のセルは、前述の数式(XV)を成立する整数Fiを格納するために用いられる。
13行1列目のセルは、換字式暗号化の鍵Riを格納するために用いられる。
14行1列目のセルは、オフセットTiを格納するために用いられる。
15行1列目のセルは、ループカウンタLを格納するために用いられる。
12行目の各セルは、整数Fiによるべき乗がワークシートの整数演算においてオーバーフローを発生しているかどうかを表示するために用いられる。
これらのセルは、例えば、図14における6行2列目のセルと同様にして設定できる。
2行2列目のセルには、べき剰余を用いる暗号化を1回実施して得られた整数Y1が格納される。
他の2列目のセルには、べき剰余を用いる暗号化の処理から生じた変数の値が格納される。例えば、9行2列目には公開鍵E1、11行2列目には秘密鍵F1、14行2列目にはオフセットT1がそれぞれ格納される。
2行3列目のセルには、Y1から換字式暗号化により得られた整数Z1が格納される。
他の3列目のセルには、換字式暗号化の処理から生じた変数の値が格納される。例えば、13行3列目には換字式暗号化の鍵R1が格納される。
また、15行3列目のセルには、1回デクリメントされたループカウンタ(L−1)が格納される。
一例として、6桁の10進数の整数を用いて、1万人のユーザのそれぞれを識別する場合を示す。6桁の整数によって、識別子の数は100万通りとすることが可能である。したがって、6桁の整数のうち、1万通りの整数には1万人のユーザを個々に独立して関連付けることができ、99万通りの整数には特定のユーザとの関連付けを行わないようにすることができる。
(暗号化された識別子の生成−2)次いで、個々のユーザの識別子から、暗号化された識別子を生成し、生成した暗号化された識別子を前述のテーブルにおいてユーザと関連付ける。ユーザに割り当てられていない99万通りの整数についても、暗号化された整数との関連付けが行われる。
(暗号化された識別子の生成−3)1万人のユーザの暗号化された識別子ごとに、復号化の鍵が関連付けられる。ユーザに割り当てられていない99万通りの整数についても、復号化のための鍵との関連付けが行われる。
本発明の実施形態に係る整数を暗号化する方法を用いて生成した整数に対して、解読の可能性を総当たりにより探索する場合の所要時間を例示する。これは、いわゆるブルート・フォース・アタック(総当たり攻撃)を用いて秘密情報を解読し、元の情報を特定するために要する計算時間である。
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 識別用途
Claims (19)
- コンピュータ装置が、0及び1を除く整数Xiを暗号化し復号する方法であって、
コンピュータ装置が、入力された前記整数Xiを整数Yiに暗号化する、べき剰余暗号化ステップと、
コンピュータ装置が前記暗号化された整数Yiを前記整数Xiに復号化する、べき剰余復号化ステップとを含み、
前記べき剰余暗号化ステップは、
コンピュータ装置が、その積Nが入力された前記整数Xiを超える2つの素数A及びBを生成するステップであって、前記素数A及びBの積であるNと前記整数Xiとの差が予め定めた一定の数値の範囲内、または前記整数Xiに対して予め定めた一定の比率の範囲内となるように前記素数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を記憶手段に記憶するステップと、
前記べき剰余復号化ステップは、
コンピュータ装置がmを任意の整数として次式を成立するFを生成し記憶手段に記憶するステップと、
コンピュータ装置が前記整数Xnを記憶手段に記憶し、暗号化した前記整数YiをXnすなわち、Xiに復号するステップと、を含むことを特徴とする整数を暗号化し復号化する方法。
- 前記2つの素数A及びBを生成するステップは、さらに、
コンピュータ装置が前記積であるNが前記整数Xiに最も近い前記2つの素数A及びBを選択するステップを含む、請求項1に記載の整数を暗号化し復号化する方法。 - 前記整数Xiはコンピュータ装置が、識別子に含まれる文字又は数字の一部又は全体から、可逆的に変換した整数である、請求項1に記載の整数を暗号化し復号化する方法。
- 前記整数Xiは、コンピュータ装置が、1次元画像又は2次元画像から可逆的に変換された1次元画像の一部又は全体から、可逆的に変換した整数である、請求項1に記載の整数を暗号化し復号化する方法。
- コンピュータ装置が、さらに、暗号化に先立って、前記整数Xiを、少なくとも1つの桁を前記整数Xiに対して追加することにより桁を増した整数Wiに置き換えるステップを含む、請求項1に記載の整数を暗号化し復号化する方法。
- コンピュータ装置が、さらに、復号の後に復号した前記整数Wiから前記追加した少なくとも1つの桁を除去するステップを含む、請求項6に記載の整数を暗号化し復号化する方法。
- コンピュータ装置が、さらに、前記整数Xiを変換した整数Yiを生成する前に、前記整数Xiから前記整数Xi以下の整数Tを加算して前記整数Xiと置き換えるステップと、
コンピュータ装置が、前記変換した整数Yiを整数Xnに復号化した後に、前記整数Xnに前記整数Tを減算して前記整数Xnと置き換えるステップと、を含む、請求項1に記載の整数を暗号化し復号化する方法。 - コンピュータ装置が、前記べき剰余暗号化ステップにより前記整数Xiを前記整数Yiに変換した後に、換字式暗号化を用いて前記整数Yiを整数Ziに変換する、換字による暗号化ステップを連続する暗号化ステップと、
コンピュータ装置が、換字式復号化を用いて前記整数Ziを前記整数Yiに復号化する、換字による復号化ステップ後に、前記整数YiをXnに復号化する、前記べき剰余復号化ステップを連続する復号化ステップと、を含み、
前記べき剰余暗号化ステップと換字による暗号化ステップとを連続する暗号化ステップ、及び前記換字による復号化ステップと前記べき剰余復号化ステップとを連続する復号化ステップは、少なくとも1以上の同一の回数だけ実施される、請求項1に記載の整数を暗号化し復号化する方法。 - コンピュータ装置が、換字式暗号化を用いて整数Ziを整数Xiに変換する換字による暗号化ステップ実行後に、前記整数Xiを前記整数Yiに変換する、前記べき剰余暗号化ステップを連続する暗号化ステップと、
コンピュータ装置が、前記整数YiをXnに復号化する前記べき剰余復号化ステップ実行後に、換字式復号化を用いて前記整数Xnを前記整数Ziに復号化する、換字による復号化ステップを連続する復号化ステップと、を含み、
前記換字による暗号化ステップと前記べき剰余暗号化ステップとを連続する暗号化ステップ、及び前記べき剰余復号化ステップと換字による復号化ステップとを連続する復号化ステップは、少なくとも1以上の同一の回数だけ実施される、請求項1に記載の整数を暗号化し復号化する方法。 - さらに、コンピュータ装置が暗号化のための鍵をランダムな規則により選択するステップを含み、
前記Eの生成は、コンピュータ装置がD又はKと素である数、すなわち暗号化のための鍵の候補となる数の集合を生成し、コンピュータ装置が前記生成した暗号化のための鍵の候補となる集合から、前記ランダムな規則により選択するステップにより生成されることを特徴とする、請求項1に記載の整数を暗号化し復号化する方法。 - 前記Fを生成し記憶手段に記憶するステップは、
コンピュータ装置が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から11のいずれかに記載の整数を暗号化し復号化する方法。 - コンピュータ装置が、前記積Nを整数Mを基数とするM進表記に変換し、前記積NのM進表記の桁数を、少なくとも2つ以上に分割し、前記分割したそれぞれの桁に対応する整数部分と当該桁数をべき指数とするMのべき乗との積からなる単項式の和からなる前記積Nの展開形を生成し、前記展開形に含まれる前記それぞれの桁に対応する整数部分の集まりと前記それぞれの整数部分の桁の情報からなる前記それぞれの整数部分を関連づける情報とを生成するステップと、
積Nと前記生成した、前記それぞれの整数部分と前記それぞれの整数部分を関連づける情報とを記憶手段に保持するステップと、を含み、
前記べき剰余暗号化ステップは、
コンピュータ装置が、前記整数Xiを整数Mを基数とするM進表記に変換し、前記積Nと同じ桁数に分割し、前記分割したそれぞれの桁に対応する整数部分と当該桁数をべき指数とするMのべき乗との積からなる単項式の和からなる前記整数Xiの展開形を生成し、前記展開形に含まれる前記それぞれの桁に対応する整数部分の集まりと前記それぞれの整数部分の桁の情報からなる前記それぞれの整数部分を関連づける情報とを生成するステップと、
コンピュータ装置が、整数Xiと前記生成した、前記それぞれの整数部分と前記それぞれの整数部分を関連づける情報とを記憶手段に保持するステップと、
コンピュータ装置が、前記記憶手段に記憶された数Eをべき指数とする、整数XiのE乗冪演算において、前記整数Xiの記憶手段に保持された前記それぞれの整数部分の桁の情報に基づき、前記それぞれの桁に対応する整数部分間の計算に置き換えて展開し、桁ごとに積Nの記憶手段に保持された、前記それぞれの整数部分との差分を算出する剰余計算により、整数XiをE乗してNを法とする整数Yiを計算して、整数Xiを暗号化した整数Yiを生成し記憶手段に記憶するステップと、
コンピュータ装置が、整数Yiを整数Mを基数とするM進表記に変換し、前記積Nと同じ桁数に分割し、前記分割したそれぞれの桁に対応する整数部分と当該桁数をべき指数とするMのべき乗との積からなる単項式の和からなる前記整数Yiの展開形を生成し、前記展開形に含まれる前記それぞれの桁に対応する整数部分の集まりと前記それぞれの整数部分の桁の情報からなる前記それぞれの整数部分を関連づける情報とを生成するステップと、
を含み、
前記べき剰余復号化ステップは、
コンピュータ装置が、前記記憶された数Fをべき指数とする、整数YiのF乗冪演算において、整数Yiの記憶手段に保持された、前記それぞれの整数部分の桁の情報に基づき、前記それぞれの桁に対応する整数部分間の計算に置き換えて展開し、桁ごとに積Nの前記生成した、前記それぞれの整数部分との差分を算出する剰余計算により、整数YiをF乗してNを法とする整数Xnを計算するステップと、
コンピュータ装置が前記整数Xnを記憶手段に記憶し、暗号化した前記整数YiをXnすなわち、Xiに復号するステップと、を含むことを特徴とする、請求項1に記載の整数を暗号化し復号化する方法。 - 前記Fを生成し記憶手段に記憶するステップは、
コンピュータ装置がmを任意の整数として、前記数式[数2]を成立する数Fを生成して、前記整数YiのF乗がコンピュータ装置の計算手段の整数演算に桁あふれを発生するか否かを判定し、判定結果が真となるまで、数Fの生成と前記判定を繰り返すステップと、
コンピュータ装置が前記判定結果が真となるFを記憶手段に記憶するステップとを含む、ことを特徴とする請求項13に記載の整数を暗号化し復号化する方法。 - コンピュータ装置に請求項1から14のいずれかに記載の方法の各ステップを実行させるための、コンピュータプログラム。
- 入力された0及び1と異なる整数Xiを暗号化し復号化する装置であって、
積Nが前記整数Xiを超える2つの素数A及びBを生成し、前記N、A、Bを記憶手段に記憶する素数生成部であって、前記素数A及びBの積であるNと前記整数Xiとの差が予め定めた一定の数値の範囲内、または前記整数Xiに対して予め定めた一定の比率の範囲内となるように前記素数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を生成し、記憶手段に記憶する暗号生成部と、
- 前記復号化準備部は、
mを任意の整数として、前記数式[数6]を成立する前記Fを生成して、整数YiのF乗がコンピュータ装置の計算手段の整数演算に桁あふれを発生するか否かを判定し、判定結果が真となるまで、数Fの生成と前記判定とを繰り返す手段と、
前記判定結果が真となるFを記憶手段に記憶する手段とを含み、
前記復号化部は、
暗号化された整数Yiを整数Mを基数とするM進表記に変換し、前記YiのM進表記の桁数を、少なくとも2つ以上に分割し、前記分割したそれぞれの桁に対応する整数と当該桁数をべき指数とするMのべき乗との積からなる単項式の和からなる前記Yiの展開形を生成する手段と、
前記生成した数Fをべき指数とする、整数YiのF乗冪演算において、整数Yiの前記展開形を用いて、前記それぞれの桁に対応する整数間の計算に置き換えて展開した剰余計算により、整数YiをF乗してNを法とする整数Xnを計算する手段とを含むことを特徴とする、請求項16に記載の整数の暗号化し復号化する装置。 - 入力された0及び1を除く整数Xiを暗号化及び復号化するシステムであって、
積Nが前記整数Xiを超える2つの素数A及びBを生成し、前記N、A、Bを記憶手段に記憶する素数生成手段であって、前記素数A及びBの積であるNと前記整数Xiとの差が予め定めた一定の数値の範囲内、または前記整数Xiに対して予め定めた一定の比率の範囲内となるように前記素数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を生成し、記憶手段に記憶する暗号生成手段と、
- 前記Fを生成し記憶手段に記憶する復号化準備手段は、
mを任意の整数として前記数式[数9]を成立する数Fを生成して、整数YiのF乗がコンピュータ装置の計算手段の整数演算に桁あふれを発生するか否かを判定し、判定結果が真となるまで、数Fの生成と前記判定を繰り返す手段と、
前記判定結果が真となるFを記憶手段に記憶する手段とを含み、
前記復号化手段は、
暗号化した整数Yiを整数Mを基数とするM進表記に変換し、前記YiのM進表記の桁数を、少なくとも2つ以上に分割し、前記分割したそれぞれの桁に対応する整数と当該桁数をべき指数とするMのべき乗との積からなる単項式の和からなる前記Yiの展開形を生成する手段と、
前記生成した数Fをべき指数とする、整数YiのF乗冪演算において、整数Yiの前記展開形を用いて、前記それぞれの桁に対応する整数間の計算に置き換えて展開した剰余計算により、整数YiをF乗してNを法とする整数Xnを計算する手段とを含むことを特徴とする、請求項18に記載の整数を暗号化及び復号化するシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010044728A JP5208982B2 (ja) | 2010-03-01 | 2010-03-01 | 整数を暗号化及び復号化する方法、装置及びシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010044728A JP5208982B2 (ja) | 2010-03-01 | 2010-03-01 | 整数を暗号化及び復号化する方法、装置及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011180390A JP2011180390A (ja) | 2011-09-15 |
JP5208982B2 true JP5208982B2 (ja) | 2013-06-12 |
Family
ID=44691930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010044728A Active JP5208982B2 (ja) | 2010-03-01 | 2010-03-01 | 整数を暗号化及び復号化する方法、装置及びシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5208982B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11132452B2 (en) * | 2018-11-15 | 2021-09-28 | International Business Machines Corporation | Data-encryption-based purpose-specific access control |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0227389A (ja) * | 1988-07-15 | 1990-01-30 | Sony Corp | 暗号化方法及び該暗号方法を用いた暗号化装置/復号化装置 |
JPH0488736A (ja) * | 1990-07-31 | 1992-03-23 | Matsushita Electric Ind Co Ltd | データ伝送方式 |
JPH06168101A (ja) * | 1992-11-30 | 1994-06-14 | Hitachi Ltd | 加算装置及び加算方法 |
JPH06282227A (ja) * | 1993-03-29 | 1994-10-07 | Nippon Telegr & Teleph Corp <Ntt> | 公開鍵暗号化装置及び公開鍵復号装置 |
JPH0720778A (ja) * | 1993-07-02 | 1995-01-24 | Fujitsu Ltd | 剰余計算装置、テーブル作成装置および乗算剰余計算装置 |
JPH10307710A (ja) * | 1997-03-05 | 1998-11-17 | Nippon Telegr & Teleph Corp <Ntt> | 剰余系演算方法及びその装置 |
-
2010
- 2010-03-01 JP JP2010044728A patent/JP5208982B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011180390A (ja) | 2011-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795762B (zh) | 基于流密码的保留格式加密方法 | |
Thangavel et al. | Enhanced DNA and ElGamal cryptosystem for secure data storage and retrieval in cloud | |
EP2742644B1 (en) | Encryption and decryption method | |
JP2011164607A (ja) | シンボルシーケンスの編集距離のプライバシーを保護した計算の方法およびシステム | |
JP4869824B2 (ja) | 受信者装置及び送信者装置及び暗号通信システム及びプログラム | |
JP2008513811A (ja) | 計算変換の方法及びシステム | |
Agrawal et al. | Elliptic curve cryptography with hill cipher generation for secure text cryptosystem | |
US20100054474A1 (en) | SHARING A SECRET USING HYPERPLANES OVER GF(2m) | |
Riza et al. | The Application of RSA and LSB in Securing Message on Imagery | |
KR100583495B1 (ko) | 암호화 방법 | |
Sakib | Analysis of Fundamental Algebraic Concepts and Information Security System | |
Kasianchuk et al. | Symmetric cryptoalgorithms in the residue number system | |
Krishnamoorthy et al. | Implementation and management of cloud security for industry 4. O-data using hybrid elliptical curve cryptography | |
JP5208796B2 (ja) | 整数の暗号化及び復号化方法 | |
JP5208982B2 (ja) | 整数を暗号化及び復号化する方法、装置及びシステム | |
JP5208717B2 (ja) | 整数の暗号化及び復号化方法 | |
JP5208642B2 (ja) | 整数の暗号化及び復号方法 | |
Ali | Randomly encryption using genetic algorithm | |
JP5208797B2 (ja) | 整数の暗号化及び復号化方法 | |
Kalaichelvi et al. | Design of digital image encryption based on elliptic curve cryptography (ECC) algorithm and Radix-64 conversion | |
CN117640065B (zh) | 一种多用户同态加解密方法 | |
Maity et al. | Image Encryption Using RABIN and Elliptic Curve Crypto Systems | |
JP7219437B2 (ja) | 秘匿演算変換システム、秘匿演算変換方法、および、秘匿演算変換プログラム | |
JP2000089667A (ja) | アルゴリズム生成型秘密鍵暗号方式 | |
JPH0583244A (ja) | 暗号通信符号化装置および復号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110913 |
|
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: 5208982 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |