JP2012132953A - 仮想サロゲート・ペアを用いた双曲線暗号の構成方法及び装置 - Google Patents

仮想サロゲート・ペアを用いた双曲線暗号の構成方法及び装置 Download PDF

Info

Publication number
JP2012132953A
JP2012132953A JP2010282464A JP2010282464A JP2012132953A JP 2012132953 A JP2012132953 A JP 2012132953A JP 2010282464 A JP2010282464 A JP 2010282464A JP 2010282464 A JP2010282464 A JP 2010282464A JP 2012132953 A JP2012132953 A JP 2012132953A
Authority
JP
Japan
Prior art keywords
encryption
file
decryption
group
order
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.)
Pending
Application number
JP2010282464A
Other languages
English (en)
Inventor
Kimito Horie
堀江公人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to JP2010282464A priority Critical patent/JP2012132953A/ja
Publication of JP2012132953A publication Critical patent/JP2012132953A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】2次双曲線群を用いた暗号化・複合化装置においてどのような装置構成、ファイル構成、及び文字形式を採用すれば実用的であるのか検証する。
【解決手段】双曲線暗号の暗号・復号装置は、暗号装置、復号装置、FTP制御BOX、FTPサーバ、及び暗証端末を有し、仮想サロゲート・ペアを用いたファイル構成を採用し、暗号化及び復号化の作業の流れが分るように「装置結合線」で表示された装置構成を有する。暗号化装置は、平文や装置状態の保存ファイル等の内容を「UTF-16」の文字列として取り扱い、所定の公開鍵と秘密鍵の下で暗号化し、暗号文を生成する。暗号文は、仮想サロゲート・ペアを用いて変換し、表示し、固有のファイル作成を可能にする。
【選択図】図1

Description

本発明は、2次双曲線群の離散対数を利用した双曲線暗号のアプリケーション・ソフトウェア、暗号化装置、及び復号化装置に関するものである。
2005年の7月に楕円曲線暗号に代わる双曲線暗号の探索において2次双曲線群が発見された後、その成果は2007年2月特許出願された「二次双曲線群を使用する鍵生成方法、復号方法、署名検証方法、鍵ストリーム生成方法および装置」(特許文献1)及び2008年3月の特許出願「双曲線暗号の鍵生成方法」(特許文献2)に開示されるに至った。その後、本発明に係るソフトウェアの開発に先行した「双曲線暗号の設計ツール」が特許出願され(特願2009-296536号、特許出願日2009年12月26日)、双曲線暗号の利用に便宜が図られたが、同時に2次双曲線群に係る理論的背景も強化された。
特開2008-203548号 特開2009-223035号 特願2009-296536号
双曲線暗号は、2次双曲線群という新しい数学的な背景を基礎に構築されているので未知な領域が多い。2次双曲線群は離散対数を基礎とする加法群であって巡回群の一種であるが、従来の乗法群を基礎とする有限群とは一線を画す性質を有している。例えば、乗法群で当然に適用される置換群との対応、シロー(Sylow)の定理は、そのまま適用することはできない。しかし、発見された拡張オイラー関数(GCD totient)は2次双曲線群の共役部分群の個数を与える明確な意味を有していた。
自然なオイラー関数(Euler’s totient) の拡張になっていて、オイラー関数に成立する定理が類似の形で拡張オイラー関数に係る定理として成立することが分っている。
双曲線暗号では2次双曲線群の位数が一定であるという利点を活用し、楕円曲線暗号と比べて暗号装置を容易に構成でき、かつ、容易に解読困難性を付加できる利点を有していた。
2次双曲線群は、その位数が一定で初等的取り扱い方が可能であることからその理解に困難な点はないが、実際に暗号化装置を構成できるのか試されたことがない。実際に暗号化装置を構成してみれば、理論的な不備、不足が明らかになったり、暗号復号装置に必要な条件、環境、及び機能を知り、引いてはその整備や進歩に寄与できる可能性が高い。環境面では、特に、暗号化に際してどのようなファイル構成、文字形式を採用するかが重要である。近年のPCの傾向では、多言語に対応させるために文字形式に「UTF-16」を採用することが標準になりつつある。
「UTF-16」ではサロゲート・ペア(surrogate pair)と呼ぶ拡張形式が採用され、その場合は16ビットではなく所定の変換規則に従い32ビットで1文字を表す方式が採用されている。他方、ファイルの構成はバイナリ・ファイル(binary
file)ではなく、文字形式のファイルが便利である。データファイルや暗号ファイルも文字形式で記載してあれば、直接平文や公開鍵を読むことができ、その入出力も容易になる。暗号装置の状態を文字で保存してあれば、その保存・復帰を容易に取り扱うことができる。
しかし、暗号文は通常乱数であって、上記文字形式及び変換規則に一切対応していないことに注意しなければならない。仮に「UTF-16」を採用するにしても、サロゲート・ペアの取り扱いをどのようにするかの明確な取り決めはない。これが本発明の主要な課題である。
暗号化装置の方にも課題は多い。暗号化の対象となるのは原則としてファイルであるが、ファイルにはさまざまな形式があり、統一的な取り扱いを行おうとすればバイナリ・ファイルでしか取り扱えない。しかし、通常暗号においては平文を暗号文に変換し、若しくはその逆の操作を行わせるのであるから、できる限り文字形式のファイルを採用したい。その場合、データ量が多ければその一部しか表示できず、取り扱いに不便することになる。
暗号ファイル等の保存はセキュリティで保護されたネットワーク上の置き場所にアップロードして保存し、若しくは必要に応じてダウンロードしてその内容を知りたいときがある。その場合、簡易に暗号化、復号化でき、送受信でき、かつ、視覚的にもその取り扱いが便利な構成を有する装置が望ましい。
本発明に係る双曲線暗号では暗号化のための曲線パラメータの組み等が公開鍵として採用されるので、公開鍵の表示も必要になる。秘密鍵は、PC上の安全な場所に保管するとともに、定期的に変更することが望ましく、その変更が容易で暗号文毎に対応できる構成が望ましい。曲線パラメータの組みは、同時に開発された先の特許出願(特許文献3)にかかる設計ツールを使えば容易に作成することができる。しかし、或る程度の変更が可能であれば、それに越したことはない。
本発明に係る双曲線暗号の暗号・復号装置(HCC Test Application)は、暗号装置、復号装置、FTP制御BOX、FTPサーバ、及び暗証端末を有し、仮想サロゲート・ペアを用いたファイル構成を採用し、暗号化及び復号化の作業の流れが分るように「装置結合線」で表示された装置構成を有する。従って、この装置があれば、双曲線暗号に係る暗号文の作成、復号、曲線パラメータの指定、装置状態の保存・復帰を、その全体を見ながら統合的に行うことができ、データの取り扱いの自由度と安心を確保できる。その他、バイナリ・ファイルの取り扱いを可能にしたので、指定ファイルを除き、どのような種類のファイルも暗号化ファイルとすることができる。この暗号化は2次双曲線群の離散対数を利用した解読困難性を有するので、少ないビット数を取り扱う暗号化においても高い解読困難性を有することを特徴とする。
本発明に係る仮想サロゲート・ペアは本来の「UTF-16」の形式を維持しているが、データの内容は暗号文であったり、バイナリ・データだったりする。従って、それ自体に文字としての意義を有しておらず、形式上文字の体裁を有するだけである。
しかし、文字形式を採用するので容易にファイル構成を採用することができ、仮にアプリケーション・ソフトウェアで文法上のチェックを行っている場合でも、そのチェックをすり抜けることができる。また、暗号化/復号化装置の状態を文字で保存できる利点がある。更に、ソフトウェア上でデータを視覚化することができるので、少なくとも同一の暗号文、若しくはバイナリ・データであるかを識別することができる。
また、本発明に固有の「装置結合線」は、視覚化されたウィンドウ上で、分布する暗号化装置等の相互の作用・機能関係を明示することができ、現在行っている作業を常に全体の一部の作業として意識させる効果を有する。ソフトウェア上に装置間の作用・機能関係を視覚化させたという点では画期的である。
図1は、本発明に係る双曲線暗号の暗号・復号装置の全体図である。全体を縦に3分割すれば、左側の装置が暗号化装置、右側の装置が復号化装置、中央がその他の装置に分けることができる。その他の装置としては、FTP制御BOX、FTPサーバ(主に、リスト表示)、及び暗証装置がある。このソフトウェアの開発は、2008年5月からマイクロソフト社の「Visual
Studio 2008」を用いて、VC++で行われた。NET.Framework V3.5の「Windows」(登録商標です。)プログラムである。開発開始後、約半年の作業で原型が出来上がったが、先の特許出願(特許文献3)にかかるツールの開発を優先したために、その後1年半掛けてバグ抜きや改良が行われた。このソフトウェアでは、先のツールで採用された2次双曲線群のパラメータファイルが利用できる構成が採用されている。
暗号化装置は、平文や装置状態の保存ファイル等を「UTF-16」で取り扱う。その内容を「UTF-16」の文字列として取り扱い、所定の公開鍵と秘密鍵の下で暗号化し、暗号文を生成する。暗号文は、本発明に係る仮想サロゲート・ペアを用いて変換し、表示し、本発明に固有のテキスト・ファイル作成が可能になっている。作成した暗号ファイルは、ネットワーク上、若しくはPC上に保管し、若しくは読み込みすることができる。また、暗号化装置の自在性を確保するために、通常のファイル操作を始めとする様々な機能が盛り込まれている。
「UTF-16」以外の文字形式、例えば「Shift-JIS」のファイルではその読み込みは文字化けの表示になる。しかし、バイナリ・ファイルとしての扱い、若しくは文字化けのまま復号化したときは元のファイルに戻すことができる。幸いなことに「Windows」ではコピー、貼り付けを行う一時記憶「Clipboard」は、「UTF-16」で行われているので、その内容をコピー、貼り付けすれば自動的に「UTF-16」で取り扱うことができる。
仮想サロゲート・ペアの方式は様々な態様が考えられる。ここでは所定の変換規則に従い、16ビット乱数から仮想的な「UTF-16」のサロゲート・ペア(32ビット)に変換する方法を採用する。従って、該当乱数の分だけデータ量は増えることになる。この場合に、本発明に係る暗号文は全くの乱数として生成されるので、偶然に「UTF-16」のサロゲート・ペアであることもあるし、その片方の場合もある。しかし、そのことは全く考慮されず、機械的な変換が行われる。この結果、暗号文には本発明に係る仮想サロゲート・ペアしか含まれず、それ故文字表示が可能であり、容易にファイル構成を採用することができる。
本発明に係る仮想サロゲート・ペアは所定の規則により行われるので、その暗号文の復号化はその逆変換により行われる。即ち、暗号文に係る「UTF-16」のサロゲート・ペア(32ビット)は、前記復号化により元の16ビットの乱数に戻され、その後本発明に係る復号化が行われる。
図2は、本発明に係る双曲線暗号の暗号化装置の図である。図2で、装置間結合線で連結された各装置として、左側に8個の16ビット暗号化装置があり、右側に平文領域、128ビット生成鍵、暗号文領域、及び公開鍵領域があり、下側には初期化ボタン、暗号化ボタン、及び「AllClear」ボタンがある。「装置結合線」は、Windowsで提供されるパーツ、例えば「Label」、「TextBox」、若しくは「ListBox」のような長方形のソフトウェア部品の大きさを最小にすることにより、擬似的な「線」を作り出している。
平文領域に読み込まれた平文等は128ビット生成鍵により暗号文になり、暗号文領域に「UTF-16」文字として保存される。128ビット生成鍵は、8個の16ビット暗号化装置の組み合わせにより生成される。暗号化は最初に初期化ボタンで初期化され、暗号化ボタンにより暗号化され、空白となった暗号文領域に記録される。ここでは暗号文が、本発明に係る仮想サロゲート・ペアを用いた「UTF-16」文字として保存されることに注意する。文字でファイル化し、表示することが可能である。
暗号文は平文と乱数とのXOR論理により生成される(暗号化)。従って、同じ乱数を用いて再度XOR論理を適用すれば元の平文が出現する(復号化)。このような単純な暗号化であっても、乱数の性質が維持されている限り元の平文を再生することはできない。この乱数は、純粋の乱数ではなく本発明に係る2次双曲線群を使用する演算結果を用いる。しかし、離散対数を基礎とする演算であるので、容易に元のデータを知ることはできず、事実上の乱数として扱うことができる。
本発明に係る仮想サロゲート・ペアは、生成された暗号文を表示し、ファイル化し、その後保存等を行うために使用される。その変換規則はかなり自由に決められるが、この実施例では以下のように行っている。
第1に、暗号文の16ビット値がサロゲート・ペアの何れかの領域にある場合に仮想サロゲート・ペアが生成される。暗号文が16ビットの整数倍値である場合には、その個々の16ビット値を対象とする。
第2に、対象となった16ビット値を所定の規則に従い32ビットのサロゲート・ペアに変換する。
この変換により暗号文のデータ量は平文に比べ増えるが、変換を要する16ビット値の出現頻度はかなり低いので、不都合が生じることはほとんどない。
なお、エンディアン(endian)を判別するBOM(Byte Order Mark)を付加することが考えられるが、暗号文はファイルの先頭アドレスに置かれることはないので、その考慮をする必要はない。
当該規則として、この実施例では固定の先頭値(16ビット)を用いている。
例えば、l_s=0xD800, u_s=0xDFFFの間の領域の16ビット値に対して変換を行う。この領域は、サロゲート・ペアの双方の値が入る領域である。x値が、l_s≦x≦u_sの関係にあるとき、
x=x1x2x3x4と4個のHEX値x1,x2,x3,x4で表示したとき、
上位サロゲート=0xD8x1x2
下位サロゲート=0xDCx3x4
とする。即ち、上位8ビットを前記領域内の固定値とし、下位8ビットをx値を2分割した8ビットにそれぞれ割り当てる方式である。
暗号文の16ビット値の中には、当該言語で「UTF-16」文字として未定義で割り当てられていない領域がある。そのような文字の表示をどのように扱うかは当該表示を行うソフトウェアの対応で決まる。例えば、「Windows」のアクセサリに付属する「Notepad(メモ帳)」では、同一の表示「┃」や「・」を割り当てて表示する。通常当該文字に対応する表示フォントを有する場合には、当該ソフトウェアはその表示を行うことができるが、有しない場合には同一の代替文字を割り当てる。ただ、これは表示だけの問題で、ファイル上のデータは何等変更されない。従って、ファイルの入出力で何等情報は失われてはいない。
図2で、8個の16ビット暗号化装置は、装置間結合線でループ上に結合している。これは、或る暗号化装置で所定回数回だけ2次双曲線群の群演算を行った結果を次の暗号化装置の群演算の回数に反映させる構成を採用するからである。本発明では、全ての装置が所定回だけ群演算を終えた状態を取り出し、128ビット生成鍵(乱数)として採用している。解読困難性向上のため128ビット生成鍵を各暗号化装置の状態を引数とする関数とすることは容易である。
前記演算回数は、通常他の暗号化装置の状態、平文データ等に依存した関数として決定される。
この実施例では暗号化方式として
(1)無相関方式(各装置間に相関がない。)
(2)直前装置との相関を有する方式
(3)全装置との相関を有する方式
(4)データ依存方式((3)方式との組み合わせが有効である。)
を準備した。通常は(3)、(4)の方式が使われるが、実験できるようにしてある。
(3)方式は、128ビット暗号化装置と比べてその能力に近い乱数を発生させるわけではないが、16ビット暗号化装置と比べ格段に高いランダム性を有する乱数を発生することができる。(4)方式は、例えばデータが1文字で埋め尽くされた平文に対しては、その解読困難性を向上する効果は見込めない。しかし、(3)方式と組み合わせた方式を採用すると、通常の文章であっても、データ依存により格段に高いランダム性を有する乱数を発生させることができる。ただ、復号化の際に支障とならないように、既に復号化された平文若しくはデータを使う構成を採用する。言わば、データ依存性に「時差」を設けてある。この実施例では、簡便のため直前の装置のデータに対する依存性を採用した。
図2の下側には、上記何れの暗号化方式を採用するかの番号が、その方式とともに表示されている。平文を暗号化するための初期化は通常、秘密鍵を関連させつつ所定回数だけ群演算を実行することにより行われる。「初期巡回設定回数」、「鍵幅のマージン」、「初期作業鍵」、及び「初期ベースポイント」等は初期化の際に必要になるデータであり、公開鍵の一部として公開鍵領域に表示される。「初期化」ボタンにより初期化が行われると、「Ready」ラジオボタンが点灯する。
ソフトウェア構成を簡明にするためには、「初期化工程」を「暗号化工程」に含ませ、次々に実行させるのが便宜であるかも知れない。しかし、この実施例では平文等をその暗号化前で初期化の後に入れ替えることができるように、使い勝手を向上させる方式を採用した。
「AllClear」ボタンは、暗号化装置の全ての状態をクリアにする。他方、「データクリア」ボタンはデータ領域のデータのみをクリアにする。「Binary」ラジオボタンは、そのクリックによりデータ内容を文字表示からバイナリ表示にすることができる。カーソルを「Binary」ラジオボタンに近接させると、カーソルが矢印から「手のひらマーク」に変更されるので、その表示変更機能に気づく。「Binary」ラジオボタンの点灯中に再度クリックすると、データ内容をバイナリ表示から文字表示に戻すことができる。この機能は単にデータの確認等のために視覚化を行うだけの目的で付加された。この実施例では、暗号化等は常に文字データ等の16ビット値を対象にして行われる。
図3は、本発明に係る双曲線暗号の復号化装置の図である。図3で、縦の装置間結合線で分けて、右側に8個の16ビット暗号化装置があり、左側に平文領域、128ビット生成鍵、暗号文領域、及び公開鍵領域があり、下側には初期化ボタン、復号化ボタン、及び「AllClear」ボタンがある。
暗号文領域に読み込まれた暗号文は128ビット生成鍵により平文になり、平文領域に「UTF-16」文字として保存される。128ビット生成鍵は、8個の16ビット暗号化装置の組み合わせにより生成される。復号化は最初に初期化ボタンで初期化され、復号化ボタンにより復号化され、空白となった平文領域に記録される。ここでは暗号文は、本発明に係る仮想サロゲート・ペアを用いた「UTF-16」文字として存在することに注意する。その意味は読み取れない暗号文であるが、文字でファイル化し、表示することが可能である。
復号化装置の初期化は、暗号化装置の初期化と全く同じ工程で行われる。全く同じ乱数を発生させてXOR論理を取り、元の平文を復活させるためである。即ち、初期化は秘密鍵を関連させつつ所定回数だけ群演算を実行することにより行われる。「初期巡回設定回数」、「鍵幅のマージン」、「初期作業鍵」、及び「初期ベースポイント」等は初期化の際に必要になるデータであり、公開鍵の一部として公開鍵領域に表示される。「初期化」ボタンにより初期化が行われると、「Ready」ラジオボタンが点灯する。
この状態で暗号文を入れ替えれば、異なる暗号文の復号を行わせることができる。しかし、暗号文は公開鍵とセットであるのでその機能は付加しないことにした。従って、復号化の場合の「初期化」ボタンは、視覚的な左右対称を維持するためのものに留まる。ソフトウェアを簡便にさせるためには「初期化工程」を「暗号化工程」に含ませるのが便宜であろう。
この発明では、平文ばかりでなく、バイナリ・ファイルをも対象にすることにした。実際的な使い勝手を考慮したからである。バイナリ・ファイルの取り扱いには、本発明の実施例に係るファイル構成と密接な関係にあるので、それを先に説明したい。
この実施例に固有のファイル構成を図4に示した。それぞれ拡張子として「hcd」、「hcb」、「hcp」、「hcr」、及び「hcs」を有している。HCCデータファイル(hcd)は、暗号装置の現在の状態を保存するためのファイルである。HCCバイナリファイル(hcb)も、暗号装置の現在の状態を保存するためのファイルであるが、バイナリ・データを対象とする。HCC暗号ファイル(hcr)は、暗号文ファイルである。HCCバイナリ暗号ファイル(hcs)も、暗号文ファイルであるが、バイナリ・データを対象とする。HCCパラメータファイル(hcp)は、公開鍵を保存するファイルである。
図5には、ファイル構成を説明するのに便宜であるので、上記HCCデータファイルの印刷見本を掲げておいた。これによれば、上から順に公開鍵領域、装置データ保存領域、FTPデータ領域、平文領域、及び暗号文領域があり、公開鍵領域の先頭には初期設定値領域が設けられている。また、各領域は識別子「####」で区分されている。
公開鍵領域は、どのファイルでも共通であり、HCCパラメータファイル(hcp)は公開鍵だけから構成される。HCC暗号ファイル(hcr)は、公開鍵と暗号文で構成される。HCCバイナリ暗号ファイル(hcs)も公開鍵と暗号文で構成されるが、バイナリ・データを対象とする。HCCデータファイル(hcd)は、公開鍵、平文、暗号文、及びその他の情報で構成される。HCCバイナリファイル(hcb)も、公開鍵、平文、暗号文、及びその他の情報で構成されるが、バイナリ・データを対象とする。
HCCバイナリファイル(hcb)の平文領域は16進数(HEX)表示で行われるが、保存の場合には本発明に係る仮想サロゲート・ペアを用いて文字化されている。従って、平文領域に係る保存ファイルの容量は元のバイナリ・ファイルの容量とあまり変わらない、ということに注意したい。同様に、暗号化された後のHCCバイナリ暗号ファイル(hcs)も、元のバイナリ・ファイルの容量とあまり変わらない。
ファイル名については、原則拡張子以外は自由に命名できる。しかし、HCCバイナリファイル(hcb)とHCCバイナリ暗号ファイル(hcs)には命名規則が定められている。元のバイナリ・ファイル名を残すためである。例えば、「app.ico」というバイナリ・ファイルを開き、データ保存した場合には、「app.ico.hcb」というファイル名になり、拡張子「.hcb」が付加される。また、暗号化し、ファイル化した場合には、「app.ico.hcs」というファイル名になり、拡張子「.hcs」が付加される。復号化の際に上記拡張子を外し、元のバイナリ・ファイル名を復活させることができる。
ファイル名の変更は比較的自由にできる。しかし、上記命名規則に違反する場合、その変更は暗号化等の際に警告を受けることになる。ファイルを開くと、対象となった領域の上部に当該ファイル名が表示される。マウスを動かしカーソルをそのファイル名に近接させると、カーソルの形が「矢印」から「手のひら」マークに変化し、ファイル名変更が可能であることを知ることができる。
この実施例ではネットワークと接続し、暗号化ファイルをネットワーク上に保管できる構成を採用した。保管場所はFTPサーバの保護されたフォルダである。FTPサーバとの接続にはIDやパスワードが要求されるので、そのセキュリティは高い。最も暗号化ファイルについては、秘密鍵が明らかでない限りその解読は難しい。
図6は、FTP制御BOXとFTPサーバをこのソフトウェア上で表現している。FTP制御BOXの「送信ボタン」を押すと、送信ファイル名の記入と、その後にFTPサーバにログオンするためのFTP設定確認画面が出現する。「OKボタン」の押し下げで、当該ファイル名で当該FTPサーバに保管される。FTPサーバへの保管の後に「FTPファイルリスト」は更新されるので、当該保管の確認ができる。
「受信ボタン」押し下げは、「FTPファイルリスト」内の1ファイルが選択された後に行われる。HCC暗号ファイル等の受信が正常に行われると、復号化装置の暗号文領域に暗号文が、公開鍵領域にその公開鍵がそれぞれ表示され、ファイル名の表示も行われる。
「FTPファイルリスト」は、原則として現在FTPサーバの所定フォルダに存在する関連ファイルのみを表示する。右クリックすると、様々な機能を有するショートカット(後述)を表示する。
図7は、秘密鍵の入力を行う暗証端末である。「暗証入力ボタン」を押すと暗証入力画面が現れ、「OKボタン」の押し下げで新しい秘密鍵を確定することができる。秘密鍵は「暗証表示BOX」に伏せ字で表示される。「keep」ラジオボタンは、秘密鍵の保持のために使われる。秘密鍵は本来暗号文毎に異なるべきであるが、同一の秘密鍵を使用したいときにはこの機能が役に立つ。「keep」ラジオボタンが点灯していないときに暗号文ファイルを開くと、秘密鍵は削除される。
図7は、図1のウィンドウ上部にある「File」メニューであり、通常のファイル操作を行えるように設けられた。「Open」メニュー、「Save」メニュー、「Save
As」メニュー、「Page Setting」メニュー、「Print」メニュー、及び「Close」メニューである。図1上段には、「Tool Strip」上にそれぞれのアイコンが表示されている。最下段の「File
Use Record」メニューは、ファイルの使用履歴である。
「Open」メニューでは、図4に示した本発明に固有のファイル、及びバイナリ・ファイルを開くことができる。当初はバイナリ・ファイルを別の扱いにしていたが、拡張子に応じた処理を行うことで、このメニュー1個で足りるように構成した。
或るファイルを開くと、そのファイルが有するデータ領域だけが更新される。例えば、HCCパラメータファイル(hcp)を開くと、公開鍵領域のデータだけが更新されファイル名が切り替わる。これは平文が同一で公開鍵を変更した暗号化を行うときに便宜である。最も装置状態を保存するHCCデータファイル(hcd)等を開けば全ての領域でデータの更新が行われる。バイナリ・ファイルを開くと、データ領域に当該ファイルのデータが16進(HEX)で表示され、同時に「Binary」ラジオボタンが点灯する。また、開いたファイルの名前が表示される。
HCC暗号ファイル(hcr)等は、通常復号化装置の方で開く。その際、復号化の便宜のためにデータ領域をクリアする。暗号化装置にするか復号化装置にするかの切り分けは、この実施例ではマウスが直前にどの位置を指していたかで判定される。誤って別の場所に開かないためには、ショートカット・メニューで開くと良い。
「Save」メニューは、ファイルの上書き保存を行う。「Save As」メニューは、ファイルに別名をつけて保存する。この場合に、ファイルの拡張子を変更すると、拡張子に合わせたファイルの内容になることに注意する。セーブされるデータの内容は、図4の構成に従う。名前を変更したときには、表示されていたファイル名は更新される。
「Page Setting」メニューは印刷設定を行う。「Print」メニューは、本実施例に係るファイルの印刷を行う。既に、図5に「hcd」ファイルの印刷見本を開示しておいた。印刷は「Windows」の印刷機能を利用している。ヘッダーとフッターの指定をし、所定行数で改行し、ファイルに書き込む。「Close」メニューでは、このプログラムを終了させる。
印刷と類似の機能に、「ToolTips」機能がある。所定のウィンドウにマウスを近づけると、そのウィンドウの内容が「ToolTips」としてソフトウェア最上面に表示される。この機能はウィンドウが小さくてその全体を見ることができない場合に有効である。データ量が多い場合には、そのウィンドウにマウスを近づける動作に従ってページが更新される。この実施例ではボタン等にマウスを近づけた場合にも、「ToolTips」によりその機能表示を行うことにした。
「File Use Record」メニューは、ファイルの使用履歴である。使用履歴等は「Windows」のレジストリ(registry)に保存される。この実施例では、使用履歴は6個まで用意された。該当ファイル名をクリックすると、そのファイルがレジストリのデータを参照して開かれる。6個より前の履歴は残らない。
この実施例では様々なショートカットを用意して、便利な機能を簡単に使えるようにした。ショートカットの起動はマウスを右クリックすると現れるメニューの押し下げで行われる。
図9にはデータ領域のショートカット・メニューを表した。「Cut」メニューは、データ領域の選択した行を切り取り、同時に「Clipboard」に貼り付ける。「Copy」メニューは、データ領域の選択した行を「Clipboard」に貼り付けるだけである。「Paste」メニューは、現在「Clipboard」に存在するデータを、前記データ領域の形式に合わせて貼り付ける。「Clipboard」に置かれたデータは、他の「Windows」アプリケーションで自由に利用することができる。従って、外部において、本発明に固有のファイルをテキスト・ファイルから構成することを容易に行うことができる。
「Select All」メニューや「Clear Sellected」メニューは選択の自由を確保するために作られた。「Open」メニューや「Save
As」メニューを重ねて設けた理由は、取り扱うデータを暗号化装置か復号化装置の何れかで利用するのかの判定を確実にするためである。
図10には公開鍵領域のショートカット・メニューを表した。「Refresh ListBox」メニューは、ソフトウェアの都合で改定された公開鍵のデータが正しく反映されていないときに使われる。「Edit
ParamList」メニューは、公開鍵に係る数値を個別に改定するときに利用される。「Open」メニューや「Save As」メニューを重ねて設けた理由は、同じである。
図11は、「Edit ParamList」を実行したときのパラメータ・リストである。これは前記特許文献3に係る「双曲線暗号の設計ツール」と同じものである。ただ、このソフトウェアでは編集を主目的としていないので、ショートカット・メニューを省略してある。従って、公開鍵の一部訂正を行う程度の機能しか有していない。曲線パラメータを変更したときには、少なくともベースポイントの適合性だけは検証しなければならない。
図12は、FTPファイルリストのショートカット・メニューである。ここではFTPクライアント・ソフトウェアの機能の一部を盛り込んである。
「Receive Ftpfile」メニューは、図6の「受信ボタン」と同じ機能を有する。「Rename」メニューは、FTPサーバ上の選択ファイルのファイル名を変更する。「Delete」メニューは、FTPサーバ上の選択ファイルを全て削除する。「View
FtpFile」メニューは、FTPサーバ上の選択ファイルを表示してくれる。「Save As」メニューは、FTPサーバ上の選択ファイルを別名保存してくれる。「Refresh
FtpList」メニューは、図6の「リスト更新」ボタンと同じ機能を有する。「Select All」メニューと「Clear Selected」メニューは、それぞれ選択の自由を確保するためにある。
図13は、「Option」メニューに関する。上段図は、図1の左上にある「Option」メニュー下の「Ftp
Settings」メニューを押すと現れる。FTPサーバにログオンするための設定をここで入力する。一旦入力されると、レジストリに記録され「NextSet」ボタンで複数のFTPサーバを選択できるようになる。
下段図は、図1の左上にある「Option」メニュー下の「About」メニューを押すと現れる。このソフトウェアのバージョン情報等を開示する。
<2次双曲線群の理論>
これから後は本発明に係る暗号方式の主要な理論的背景である2次双曲線群の理論を開示する。この開示は、本発明に係る暗号方式の数学的な背景を強化するものである。理論の説明の多くは上記特許文献1、2、及び3に開示されている。ここではその後に明らかになった成果を中心に記載したい。
[拡張オイラー関数の計算]
2次双曲線群の拡張オイラー関数(GCD totient)Φ(kg)は、法nが生成するm=ω(n)個の生成群の次数kgを有するもので、共役部分群となっているものの個数を与えることが知られていて、数学的にも重要な関数のひとつと考えられる。しかし、法nに依存しているので、Ф(x)はn値が定まらないと決まらない、多値関数である。
x値を与えてФ(x)の可能な取り得る値を定めるには、xを素因数分解して、その素因数の組み合わせに付き全て検討し、下記に示す全ての条件を満たす組み合わせを残す方法を採用する。他方で、2次双曲線群では判別式Dの性質により位数が異なることから、Jacobiの記号で(D/pi)=+1,-1の何れの場合も考慮する必要がある。
Ф(x)の具体的計算は、x=kq(部分群位数kiの最小公倍数)と考えて行う方法(以下、LCM推定法という。)で行う。法がnである場合に、
とし、各素因数「
より派生する」部分群Q(x)の位数kiは、一般的に様々な形があると予想されるが、2次双曲線群では法n=peiの下でJacobiの記号を用いて
となる。部分群位数kiは、判別式D値が平方剰余であるか平方非剰余であるかによってその値が定まる。ここで「
より派生する」と記載した理由は、法n=peiの場合は法n=pの構造が積層した構造を有するだけで、法n=pの構造が基本になっている、と考えるからである。
派生した部分群Q(x)は、法n=peiの下では以下のように定義される。
群演算「+」は、Z/nZで実質的3次関数である2次双曲線と直線との交点が作る半演算を2回繰り返した操作と等価である。P(x)はベースポイントであり、kgが部分群位数である。x値が定まるとP(x)値が定まり、これをベースポイントとするQ(x)も定まる。なお、2次双曲線群では、t値が異なることにより出現の順番は異なるが、全体としては共通の元が出現する部分群同士を「共役」であるという。
因みに2次双曲線群Gはその元Pにつき以下のように定義される。
ここで群位数kは部分群位数kiの積、kqはそれ等の最小公倍数(LCM) であり

である。一般的に群位数k と最大位数kqとは異なる。群位数k は群Gの元の個数であって、最大位数kq は巡回群の最大周期である。(数4)式との関係ではkg|kqである。但し、m値は法nを構成する異なる素因数の個数であり、「O」は群Gのゼロ元である。
仮にJacobi の記号の正負の組み合わせを採用すると拡張2次双曲線半群が出現する。一般的には法nは合成数であるが、実用的な2次双曲線群G はn=pやn=peの下で成立するものに留まる(m=1)。また、部分群の最大位数kqは部分群位数ki等の最小公倍数(LCM)であるので、最大位数kqに含まれる異なる素因数は群位数kのそれと一致する。
当然Gの元
につき、
のように加法群が成立する。これに対し部分群Q(x)では、
につき
のように群演算「+」に関し閉じていて、Gの部分集合を形成する。群演算「+」は、Z/nZ上の加算と区別できるので同じ記号を使用した。
このときGCD totient Φm(x)は、
で計算できる。但し、簡略化のためΦm(x)をΦ(x)と記載することがある。
特にx=kqのときは、理論的な証明がある。そこで、Ф(x)が与えられたとき、本発明に係る「LCM推定法」に従い、x=kqと考えてその値を求めてみる。x=kqであれば、x値の素因数は、部分群Q(x)の位数kiの素因数を全て含み、かつ、その次数は最大値に一致する。このことから、位数kiを推定し、法nを確定する。
図14は、Ф(x)の具体的計算を行うフロー図である。Ф(x)は多値関数なので、1個のФ(x)を与える法nは、一般に複数個存在する。このフロー図は、最初にx値の素因数分解を行い、次に部分群位数kiの「候補」である約数dの組を作って各約数の満たすべき約数要件及び位数要件をチェックし、可能性の有る約数dをリスト化しておいて、最後にLCM要件及び特定の定理を満たすか調べる、という方法を採用した。
(1)[素因数分解] 最初に値xを素因数分解して、全ての素因数を求める。例えば、m個の素因数で
とする。但し、x=kq, ei>=1である。
(2)[LCM要件] 次に、xをn個の約数dの組でLCMを使って
と表す。各diは言わば部分群位数kiの「候補」である。各diは素因数qiから派生するので全て異なる値でなければならない(当該約数は共通の素因数qiを有していても良い)。同一の値が有れば、それは同一の素因数piを法n(値xではない)が有していたことになり、法nの素因数分解の結果に反するからである。約数diはx=kqの約数でもあるので、約数diの素因数は全てx値に含まれており、その次数はkqの次数と同じか小さく、かつ、kq=[d1,,,,dm]でなければならない(以下、LCM要件と言う)。全てのdiの組み合わせで、LCM要件を満たさない組み合わせは、kiの「候補」の組ではなかったことになる。なお、約数diは、di>1であることから、少なくとも1個の素因数を有していなければならない。
(3)[約数要件] 約数dの定め方を記載する。
ここでの考え方は、各約数に、各素因数qiの次数(最大でei個)を振り分ける組み合わせであり、振り分けない場合も含める。その全ての組み合わせは
通りである。
即ち、
で0≦eij≦eiである。但し、上記LCM要件、(数9)式を満たさなければならない。若干複雑になるが、d1を選択した後はx/d1の中からd2の候補を選択するという方法を採用したとすれば、約数の組を高速に検証することができる。
(4)[位数要件] 各dを調べ、kiの各要件(位数要件と言う。) を満たすかを調べる。上記(数2)式若しくは(数3)式が満たされているのならば、
[1]dj>1でなければならない。>約数に1は含めない。
[2]kq=[d1,,,dm]でなければならない。>(2)に従えば自動的に満たされる。
[3]求められた素因数piは全て素数(1を除く)であり、かつ、
[4]全ての素数が異ならなければならない。>(3)に従えば自動的に満たされる。
2次双曲線群では群位数kiは
であり、di=kiであるとすれば、次の2条件の何れかが満たされていなければならない。
[1]diの最大素因数pMがpiに一致する場合はkM=kiである。その理由は(pi±1)/2から生じる素因数は常にpiによりも小さいからである。そこで、検証ではdiの最大素因数pM eMを求め、それにより
を計算し、diと一致するか確かめる。(数12)式で指数がeM-1でないことに注意する。
[2]diの最大素因数がpiに一致しない場合には、(pi±1)/2=diを確かめる。
何れの場合でも一致しない場合には、当該diは位数要件を満たさず、x値のその様な約数diを有する分解は意味を持たない。なお、求められた素因数piは全て素数(1を除く)でなければならないが、この検証では素因数分解しているので、その確認は済んでいる。
(5)[リスト化] このようなdiをリスト化して置き、その組み合わせで上記LCM要件(数9)式が成立するのかを検証する。同じdi値は含まれていない、ことに注意する。また、約数の定義によりdi>1である。diを小さい順にリスト化し、その一部組み合わせの最小公倍数(LCM)がx値と一致する組み合わせを考える。具体的には、N=2k通りの組み合わせを考え、当該約数の組み合わせの最小公倍数[...dj...]がx値と一致するか検証する。ただ、計算量を減らすために、当該約数の組み合わせの積Πdjがx値より小さい組み合わせは除かれる。x値の最小公倍数との性格に因る。
(6)LCM要件を含めた上記全ての要件を満たす約数dの組み合わせ(複数)を解、即ちkiの組とする。
(7)kiの組が定められると、法nを決定できる。
[1]diの最大素因数pMで位数kMを求め、dx=kMである場合、法nへの寄与はpM eM+1である。指数部は最大素因数の指数値eMではなく、eM+1である。
[2]dx=kMでなかった場合、法nへの寄与はpi=2di-1であって、pMではない。
(8)複数のФ(x)値のうち、φ(x)で割り切れないものを除外する。法nが合成数で、生成される部分群がどの様な構造であっても、定理により、Ф(x)/φ(x)は整数でなければならない。
図14のФ(x)の具体的計算を行うフロー図に従い、具体的な計算を行ったので、その計算結果に付き検証してみる。この計算例はx=234の場合で、法nとФ(x)値を求めてみた。
φ(234)=72
Φ(234) [mod 13689]=72 for(D/p)=-1
Φ(234) [mod 177957]=72 for(D/p)=-1
Φ(234) [mod 2313441]=72 for(D/p)=-1
Φ(234) [mod 369603]=216 for(D/p)=+1
Φ(234) [mod 62462907]=216 for(D/p)=+1
なお、(D/p)=+1と(D/p)=-1の場合は、別々に計算している。
本発明に係る「LCM推定法」により発見された法nの個数は5個であった。
求められた拡張オイラー関数値の検証を行ってみた。
x=234, n=13689ではΦ(234)=72で、オイラー関数値φ(234)と一致する。
n=13689=3^4*13^2で、k1=3^3(3+1)/2=54, k2=13(13+1)/2=91で、kq=(54,91)=4914である。
以下は、n値を指定して法nを先に確定した場合の、前記特許文献3に係るツールによる自動計算のリストである。

EHCG modulo: n=13689=3^4*13^2
GruopRank: k=4914=54*91
Max rank of sub-groups: kq=4914;
The number of Q(x) with kg is total Φ(kg).
φ(4914)=1296;Φ(4914)=1296;Rc=1;Rt=1;Φ(4914):=+4914*1-2457*1-1638*1
+819*1-702*1+351*1+234*1-117*1-378*1+189*1+126*1-63*1+54*1-27*1-18*1+9*1
--------(中間省略)--------
φ(234)=72;Φ(234)=72;Rc=1;Rt=1;Φ(234):=+234*1-117*1-78*1+39*1-18*1+9*1+6*1-3*1
--------(中間省略)--------
Σφ(d|kq)=4914;ΣΦ(d|kq)=4914=1*kq;
Σ(-1)^(kq/d)Φ(d|kq)=0
=-1296+1296-432+432-216-144-108+216+144-72+108-72-36+72+72-24+36-18-12+24+18-12+12-6-6+12+6+6-2+2-1+1
Presentation of the GCD Set
Dim1: h(1)=54; h(2)=91; Dim2: h(12)=1;

上記リストで、下線部の「φ(234)=72;Φ(234)=72;」で上記計算結果との一致を確認することができる。
[拡張オイラー関数の一般化]
前記特許文献3で、
の証明が残っていた。この式は、kg=1,kg=kqでは成立するが、その中間(kg|kq)で成立することの証明ができていなかった。しかし、群演算の集計結果はその成立を支持していた。
[定理1−1]
及び
のとき、kg|kqに対し
(数13)式が成立する。
[証明]
いま、
とすると
であり、
としたとき、


と対応をつけられる。
従って、唯一成立する(数13)式で、
の対応が成立する。
図15に拡張オイラー関数の一般化に関する包含関係を示しておいた。
kg|kqの条件化では、図15の上段図より
が成立する。
更に、d|kgで、図15の下段図より
であるから、
が成立する。
[q.e.d]
これは、メービウスの反転公式を使うと、kg|kqに対し
を意味する。
[拡張オイラー関数に係る定理の証明の厳密化]
前記特許文献3で、
という定理を証明する際に、
を使っていたが、その証明がズサン(宜い加減)だったので、もう少し丁寧に説明する。
[定理2−1]
法nの素因数piから生じる部分群の位数kiが、単一の素因数pのみで構成され、かつ、ki=kqのものがt個存在するとき、
である。但し、
及び
とする。
[証明]kiが単一の素因数pのみで構成されるとき、
であって、

と置ける。
従って、ei=efとなるものがt個存在し、ei=ef-1となるものがu個存在し、それ以下の総個数をv個とするとする。
また、kqは最小公倍数であるので、
としたとき
、かつ、群位数
である。
となる。
ただし、es=tef+u(ef-1)+vである。従って、
となる。
これを群位数kと
の最小公倍数kqで表せば、
となる。
[q.e.d]
[定理2−2]
法nの素因数piから生じる部分群の位数kiが、単一の素因数pのみで構成され、かつ、前記部分群が2次双曲線群であるとき、
である。但し、
及び
とする。
[証明]2次双曲線群では法nの1の素因数から生成される部分群位数kiが前記単一の素因数pのみで構成され、
という形をしていた場合、
全て
という形をしている。仮に、e≧1で
という形であれば、素因数がp以外に存在する(pj)ことになり、矛盾するからである。
また、i≠jで、ki=kjならば、
となって、矛盾する。従って、部分群の位数kiはその中に同一のものがない、ということになる。
これは[定理2−1]で、t=1を意味する。
[q.e.d]
[定理2−3]
2次双曲線群では
が成立する。
[証明](数17)式では、
であるので、全てのkiが単一の素因数pにより構成され、[定理2−2]の適用がある。ここで、(数21)式で
左辺=
である。然るに、
であるから、
と表せ、左辺=
である。
[定理2−2]により2次双曲線群では
であるから、
左辺=
[q.e.d]
(定理2−3)の証明から、一般の素数pにつき(数21)式が成立するが、p=2以外で左辺=0になることはない。p=2は
(数17)式
を意味し、特殊ケースとして成立するだけである。
[2次双曲線群と置換群]
2次双曲線群は巡回群の一種であるので、置換を定義することができる。2次双曲線群の元はP(x)という形をしており、例えば(数4)式に係る位数kgを有する部分群Q(x)で、ベースポイントP(x)につき演算結果で出現する元を
等と2次双曲線群の元の形で記載すれば、
とkg個の元で表すことができる。但し、
である。また、明らかに
である。
ここで 同一部分群位数kgを有する部分群間の置換
を考えてみる。
関数Iは添え字変換である。Q1(x)がQ(x)の共役部分群であれば、含まれる元は一致するので、「置換」を定義することができる。しかし、その元の出現する順番は、ベースポイントと群演算「+」により制限されている。即ち、勝手に項の入れ替えをすることはできない。他方で、「出現の順番」を無視すれば、位数kgの共役部分群は1個しかないことになる。これは、群演算を考慮していないので、意味を持たない。従って、「出現の順番」を考慮すると、置換Sが常に存在する、と言うことはできない。しかし、以下に記載するように、特殊なケースが存在する。
さて、数学上の置換は、全ての元につき1対1で対応させる。置換同士の積も定義できて、何れかの元Xから他の元Yへの置換と元Yからその他の元Zに対応させる組み合わせになる。しかし、2次双曲線群では全ての元、置換を取り扱うことができず、その一部のみに止まる。部分群位数kg|kqが同一の共役部分群(
個)同士を対応させる置換は、kg個の中から2個を選択する組み合わせであるので、形式上
の置換が存在する。「形式上」としたのは、乗法群と異なり、群演算がベースポイント(始点)に依存しているので、群演算の途中で出現する元は必ずしも同一の部分群位数kgを有するベースポイントにはならず、一般に位数kgの約数d|kgを有するからである。或る部分群Q(x)のベースポイントP(x)のt回目の演算で出現する元P1(x)=tP(x)は、(t,kg)=1のときのみ同一の部分群位数kgを有するベースポイントになり、従って同一の部分群位数kgを有する別の共役部分群Q1(x)を与える。
法nが素数pである場合であっても、当該素数pがGermann素数でない場合には部分群位数kgは素数にならず、従って(t,kg)=1ということにもならない。しかし、法nがGermann素数であれば、ゼロ元Oを除く全ての元は同一の部分群位数kgを与えるので、従来の置換群を定義できることになる。特殊ケースである。置換Sはゼロ元Oを除いたkg-1個の元の間で定義され、そこではベースポイントの異なるkg-1個の部分群Q(x)が存在するが、元の出現の順番が固定されていることに注意しなければならない。この出現の順番は、演算に係る関数、より正確には関数パラメータに依存して定まり、どのような選択をすればその順番を指定できるか、未だ判っていない。従って、残された自由度はベースポイントの入れ替えのみである。これは実質的に1次の置換しか有しないことを意味している。
[2次双曲線群とシローの定理]
群論におけるSylowの定理は、以下のようである。
[Sylowの定理] p を素数、G を群とする。|G|=mpn、(m,p)=1ならば次が成り立つ。
(1)位数が pnになる部分群が存在する。これを G のSylow
p-部分群という。
(2)二つのSylow p一部分群は共役である。即ち、Pl、P2をSylow
p-部分群とする
と、或るx∈Gが存在してPl=xP2x−1となる。
(3)任意のp-部分群は或るSylow p-部分群に含まれる。
(4)Sylow p-部分群の個数はpを法として1に合同で、|G|の約数である。
次に、Sylowの定理を2次双曲線群で検証してみる。
2次双曲線群の位数kは法n=peで、
であり、m=(p+1)/2、n=e-1とすれば、mはp以下の整数であるので、明らかに(m,p)=1である。従って、形式上シローの定理が適用できる。
(1)位数が pnになる部分群が存在する。
2次双曲線群の位数kはk=mpnの形であるので、素因数pの最大べき数nは最大位数kqの有する素因数pのべき数と一致する。従って、位数kg=pnはkqの約数であり、このような位数kgを有する部分群は常に存在する。但し、群位数kの約数であっても、kqの約数とならないものは存在できない。
(2)二つのSylow p一部分群は共役である。
2次双曲線群では、同一の位数kgを有する部分群は、互いに共役である。即ち、部分群Q(x)のベースポイントP(x)で、位数kgを有するものの作り出す元全体が部分群Q(x)に含まれ、その出現の順番が異なるだけである。部分群Q(x)の全ての元の中で、位数kgと共通の素因数を有しない順番t((kg,t)=1,tP(x)=P(y))を有する元P(y)だけが、位数kgを有する部分群Q(y)を作り出し、その個数は法n=pのときはφ(kg)個、一般にはΦ(kg)個である。ただ、「共役」の概念が異なっていて、「出現の順番」が考慮されなければならない。
(3)任意のp-部分群は或るSylow p-部分群に含まれる。
2次双曲線群では、任意の部分群は最大位数kqを有する部分群に包含される。任意のp-部分群は、その位数が素因数pの最大べき数nを持つ位数kg=pnの約数であるので、当該位数kg=pnを有する部分群=Sylow p-部分群に包含される。
(4)Sylow p-部分群の個数はpを法として1に合同で、|G|の約数である。
残念ながら、この主張は2次双曲線群では、成立しない。
ここで(4)でSylow p-部分群の個数に言及していることに着目する。2次双曲線群では、位数kgの部分群の個数は
個であった。(4)によれば、
及びkg=pnで、
でなければならないことになる。
しかし、例えば(数19)式より法nの素因数piから生じる部分群の位数kiが、単一の素因数pのみで構成され、かつ、ki=kqのものがu個存在するとき、
となる。
が満たされないことは明らかである。
この原因は、シローの定理が乗法群を対象とし、離散対数に係る有限群を対象としていないからである。即ち、シローの定理では群演算につき制限があることが見落とされており、乗法群と加法群である2次双曲線群とはその構造が全く異なる。例えば、一般にk個の元の中で任意にkg個を選択して有限群(2次双曲線群)を構成する、ということができない。
2次双曲線群ではk個の元の何れもが位数kq以下の部分群の何れかにに属するが、元の全部が入っている群(kg>kq)は存在せず、同じ位数kgであっても、その元の組み合わせは自由ではない。
また、既約剰余群Z/pZの「位数」が
であるのに対し、2次双曲線群では法pを有する1次(m=1)の2次双曲線群の「共役な群の個数」が
である。概念的に上位の意味を有する。従って、乗法群の位数(元の個数)に関する性質が、2次双曲線群では「群の個数」につき成立することがある。
2次双曲線群では群位数
の関係にあるが、一般に群位数kが部分群の個数
で割り切れる、ということにはならない。しかし、2次双曲線群のSylow
p-部分群に関しては、(数19)式より、p群の個数

の約数になることがある。また、2次双曲線群では、常に部分群の最大位数kqは群位数kの約数である。更に、法nの2次双曲線群の場合に(m>1)、位数kgを有する部分群の個数

で割り切れることが証明されている。
[拡張オイラー関数の上限]
拡張オイラー関数の積表示は、前記特許文献3に示しておいた。
それによれば、x|kqなるx値につき
であり、kiは法nの素因数から派生する部分群の位数、
は、それぞれ値nと値xの異なる素因数の個数で、αjは当該素因数pjの指数部が値xのそれに等しいかより大きいkiの個数である。従って、
である。一般的に
及び
の双方が成立するので、
としたとき
と評価できる。この右辺で、「x|kqなるx値」という限定から値xの素因数の個数m1はkqを構成する素因数の個数mに等しいかより小さい。従って、
である。Jm(x)はm次ジョルダン・オイラー関数である。拡張オイラー関数がオイラー関数で割り切れることを考慮すると
という極めて簡明な関係が成立していることが知れる。
本発明にかかる拡張オイラー関数(GCD totient)Φ(x)はジョルダン・オイラー関数(Jordan’s
totient)とオイラー関数(Euler’s totient)の中間に位置し、汎用性の高い関数であったわけである。
[予想される定理]
(数27)式及び(数28)式から拡張オイラー関数に係る恒等式が成立するのではないか、と予想している。これは、以下に記載するジョルダン・オイラー関数に係る恒等式と関連する。
[定理3−1] 恒等式
を証明する。
[証明]
ジョルダン・オイラー関数の積表示
を用いたとして、その積はhに含まれる素因数に亘るので
個の素因数に及ぶ。

とすると、
然るに
につき
であるから、
である。
[q.e.d]
m=1の場合が、オイラー関数の恒等式である。
上記(定理3−1)、 (数27)式、及び(数28)式から下記の拡張オイラー関数に係る恒等式が成立すると予想する。
[定理3−2] h1|kq,h2|kqにつき
が成立する。但し、(数6)式の関係にあり、
とする。
[証明]この定理は特許出願の直前に考え付いたので、まだ証明されていない。
先の数値計算リストで、
EHCG modulo: n=13689=3^4*13^2
GruopRank: k=4914=54*91
Max rank of sub-groups: kq=4914;であったが、
例えばh1=6,h2=39,h=3で、h1h2=234,k1=54,k2=91
Φ(234)=72, Φ(6)=2, Φ(39)=24, Φ(3)=2,Π(ki,h)=3x1=3であり、
それ故72=2x24x3/2
となって、その成立を推定できる。
[2次双曲線群と1次変換]
2次双曲線群では2次双曲線
と直線との交点をその演算結果とする半演算を2回行うことで群演算を定義していた。このとき、群の構成条件に
という要件が付加されていて、判別式
に依存してその群位数kが定まり、
例えば 法n=peの場合は
であった。
2次方程式の判別式
については、1次変換
に対し、
になるので、判別式Dの平方剰余に関する性質は不変である。即ち、
である。
これは、2次双曲線群の位数にかかる性質が1次変換でも変わらないことを示す。
以上のように、双曲線暗号は、2次双曲線群という新しい数学的な背景を基礎に構築された。特に、位数が一定であるという利点を生かして、楕円曲線暗号と比べて暗号装置を容易に構成でき、かつ、容易に解読困難性を付加できる優位性を有していた。このソフトウェア・装置では、そのような理論的背景の上に実際的な暗号アプリケーションを確立することができた。暗号文の作成と復号を一体のものとして有し、装置状態の保全、バイナリ・ファイルへの対応、及びネットワークへの対応など、実際的な機能を盛り込んである。またソフトウェアとしても、「装置結合線」を使って装置間の連動を明確にすることができたので、イメージ上、若しくは概念的な使い易さが向上している。
更に、2次双曲線群の理論面では、従来の乗法群との差異が明確になり、離散対数を背景とする加群としての特有の性格が明らかになった。「有限群」の歴史上画期的である。
暗号の世界では、DES、RSA暗号が依然有用と考えられているが、要求されるセキュリティのレベルも向上して、ビット数の増大で計算負担も増大し、暗号の簡単な利用ができない状況に至っている。双曲線暗号は、少ないビット数計算でも多ビット暗号と等価の計算困難性を容易に付加できるので、次世代の暗号として普及する可能性がある。
双曲線暗号の広告・普及は依然として進んでいないが、数学的な優位性を背景に次第にその認識が深まると考えている。
本発明に係る暗号化・復号化装置の全体図である。 本発明に係る暗号化装置の図である。 本発明に係る復号化装置の図である。 本発明に特有のファイルの構成図である。 本発明に係るデータファイルの印刷見本である。 本発明に係るFTP制御BOXとFTPサーバの図である。 本発明に係る暗証端末の図である。 本発明に係る暗号化・復号化装置の「File」メニューの図である。 本発明に係る暗号化・復号化装置のデータ領域のショートカット・メニューの図である。 本発明に係る暗号化・復号化装置の公開鍵領域のショートカット・メニューの図である。 「Edit ParamList」を実行したときのパラメータ・リストである。 本発明に係る暗号化・復号化装置のFTPファイルリストのショートカット・メニューの図である。 本発明に係る暗号化・復号化装置の「Option」メニューの図である。 2次双曲線群の理論によりФ(x)に係る法nを求める方法のフロー図である。 2次双曲線群の理論により拡張オイラー関数の一般化を説明する図である。
省略した。

Claims (7)

  1. 複数の暗号化装置が巡回接続され、前の装置の演算結果が後の装置の演算回数に反映され、当該演算が一巡したときの状態を生成鍵とし、平文を前記生成鍵により暗号化するする暗号化装置と、暗号文を前記復号鍵により平文化するする復号化装置とを有し、前記暗号化装置及び前記復号化装置の初期化若しくは演算が公開鍵と秘密鍵を用いて行われる場合において、前記演算が2次双曲線群による群演算であることを特徴とする装置。
  2. 請求項1の装置において、一の暗号化装置若しくは復号化装置が他の暗号化装置若しくは復号化装置の状態を反映した演算回数を設定することを特徴とする装置。
  3. 請求項1の装置において、一の暗号化装置の演算回数を他の暗号化装置の状態および平文データに依存して定めることにより暗号化し、一の復号化装置の演算回数を他の復号化装置の状態および既に復号化された前記平文データに依存して定めることにより復号化することを特徴とする装置。
  4. 請求項1の装置において、生成された16ビット暗号化データがUTF-16のサロゲート・ペアの範囲にある場合に、固定のデータと前記暗号化データを組み合わせてサロゲート・ペアを生成する方法。
  5. 請求項1の装置において、その一の状態を保存するために、公開鍵と、暗号文若しくは平文の何れか若しくは双方を請求項4に係るサロゲート・ペアを用いたUTF-16のテキストによりファイル化する方法。
  6. 請求項1の装置及びネットワーク制御装置を有し、請求項5に係るファイルをネットワーク上の保護された領域に保存する方法。
  7. 請求項1の装置をウィンドウ上に配置し、各装置間を装置結合線で結合することにより装置間の連動関係を表示することを特徴とするソフトウェア。
JP2010282464A 2010-12-18 2010-12-18 仮想サロゲート・ペアを用いた双曲線暗号の構成方法及び装置 Pending JP2012132953A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010282464A JP2012132953A (ja) 2010-12-18 2010-12-18 仮想サロゲート・ペアを用いた双曲線暗号の構成方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010282464A JP2012132953A (ja) 2010-12-18 2010-12-18 仮想サロゲート・ペアを用いた双曲線暗号の構成方法及び装置

Publications (1)

Publication Number Publication Date
JP2012132953A true JP2012132953A (ja) 2012-07-12

Family

ID=46648663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010282464A Pending JP2012132953A (ja) 2010-12-18 2010-12-18 仮想サロゲート・ペアを用いた双曲線暗号の構成方法及び装置

Country Status (1)

Country Link
JP (1) JP2012132953A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452089A (zh) * 2021-06-04 2021-09-28 合肥学院 基于双曲正弦函数下垂的新能源变流器控制方法
CN114708133A (zh) * 2022-01-27 2022-07-05 北京国隐科技有限公司 一种通用的文本水印方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452089A (zh) * 2021-06-04 2021-09-28 合肥学院 基于双曲正弦函数下垂的新能源变流器控制方法
CN114708133A (zh) * 2022-01-27 2022-07-05 北京国隐科技有限公司 一种通用的文本水印方法和装置
CN114708133B (zh) * 2022-01-27 2022-11-15 北京国隐科技有限公司 一种通用的文本水印方法和装置

Similar Documents

Publication Publication Date Title
US8934625B2 (en) Method and system for securing communication
JP5419056B2 (ja) Cartier対形成の暗号化適用
US8958548B2 (en) Generation of relative prime numbers for use in cryptography
WO2021139075A1 (zh) 合同的加密和解密方法、装置、设备及存储介质
Gupta et al. A new way to design and implementation of hybrid crypto system for security of the information in public network
JP2008513811A (ja) 計算変換の方法及びシステム
Kazymyrov et al. Influence of addition modulo 2 n on algebraic attacks
Kościelny et al. Modern cryptography primer
CN109714368B (zh) 报文加解密方法、装置、电子设备及计算机可读存储介质
CN112784284B (zh) 加密处理系统、加密处理方法以及记录介质
Zhang et al. A general framework to design secure cloud storage protocol using homomorphic encryption scheme
CN113141247A (zh) 一种同态加密方法、装置、系统及可读存储介质
Al-Qdah et al. Simple encryption/decryption application
CN111159724B (zh) 一种细粒度策略的条件代理可重构加密方法
CN113726501A (zh) 保留格式加密数据的方法、装置、电子设备及存储介质
JP2012132953A (ja) 仮想サロゲート・ペアを用いた双曲線暗号の構成方法及び装置
US20080181397A1 (en) Secure data transmission and storage using limited-domain functions
CN102064938B (zh) 一种基于多变量与不确定性的公钥加密方法
CN109495478B (zh) 一种基于区块链的分布式安全通信方法及系统
JP2001282103A (ja) 暗号化方法
CN102238150A (zh) 表单注册方法及服务器
Chauhan An implemented of hybrid cryptography using elliptic curve cryptosystem (ECC) and MD5
Tarawneh Cryptography: Recent Advances and Research Perspectives
CN115114279A (zh) 置换表生成方法、数据加、解密方法及装置、介质、设备
Rushdi et al. A pedagogical multi-key multi-stage package to secure communication channels