(57)【要約】【課題】Millerのアルゴリズムの演算速度を高速にする。具体的には、楕円２倍演算が２回連続する場合の演算量を低減する。【解決手段】あらかじめｘＱ’３、ｘＱ’２を計算して記録部に記録しておく。そして、必要な場合に、記録部からｘＱ’３、ｘＱ’２を読み出し、ｌ２（ｎ）（Ｑ’）２・ｌ２（ｎ−１）（Ｑ’）＝（ｘＱ’−ｘｎ）２（ｘＱ’−ｘｎ−１）の計算を、ｘＱ’３−（２ｘｎ＋ｘｎ−１）ｘＱ’２＋（２ｘｎｘｎ−１＋ｘｎ）ｘＱ’−ｘｎｘｎ−１により計算する。ここで、ｎ番目のビットに対応する繰り返し処理の楕円２倍演算での２ＴとＯとを結ぶ直線がｌ２（ｎ）（ｘ，ｙ）＝０である。【選択図】図５
2006330495.tif 000002
【特許請求の範囲】
【請求項１】
有限体ＧＦ（ｐ）上の楕円曲線上の点Ｐと有限体ＧＦ（ｐｋ）上の楕円曲線上の点Ｑを入力とし、入力された点から有限体ＧＦ（ｐｋ）上の元ｆを求めるMiller演算部と、求めた有限体上の元を有限体ＧＦ（ｐｋ）上の元ｅ（Ｐ，Ｑ）に写像し、出力するべき乗演算部とを備えるペアリング演算装置において、
ｐは素数または素数のべき乗、ｍは素数かつＰ、Ｑ、ｅの位数、ｋはｍ｜（ｐｋ−１）を満足する最小の偶数、ｍは（ｐ−１）の約数ではない、かつｐとｍの最大公約数は１、Ｔを有限体ＧＦ（ｐ）上の元、Ｓを有限体ＧＦ（ｐｋ）上の元、Ｑ’をＱ＋Ｓ、Ｑ’の座標を（ｘＱ’，ｙＱ’）、ｍのｎ番目のビットに対応する繰り返し処理の楕円２倍演算で用いる２Ｔの座標を（ｘｎ，ｙｎ）、２Ｔ（ｘｎ，ｙｎ）とＯとを結ぶ直線をｌ２（ｎ）（ｘ，ｙ）＝０とするときに、
あらかじめｘＱ’３、ｘＱ’２を計算して、記録手段に記録しておき、
ｍのｎ番目のビットが０の場合には、
ｍのｎ番目のビットに対応する繰り返し処理の楕円２倍演算と、ｎ−１番目のビットに対応する繰り返し処理の楕円２倍演算とを一緒に行い、
ｌ２（ｎ）（Ｑ’）２・ｌ２（ｎ−１）（Ｑ’）＝（ｘＱ’−ｘｎ）２（ｘＱ’−ｘｎ−１）の計算を、記録部からｘＱ’３、ｘＱ’２を読み出し、ｘＱ’３−（２ｘｎ＋ｘｎ−１）ｘＱ’２＋（２ｘｎｘｎ−１＋ｘｎ）ｘＱ’−ｘｎｘｎ−１により計算すること、
を特徴とする前記Miller演算部
を備えるペアリング演算装置。
【請求項２】
請求項１記載のペアリング演算装置において、
Ｓの座標を（ｘＳ，ｙＳ）とするときに、
あらかじめｘＳ３、ｘＳ２を計算して、記録手段に記録しておき、
ｍのｎ番目のビットが０の場合には、
ｌ２（ｎ）（Ｓ）２・ｌ２（ｎ−１）（Ｓ）＝（ｘＳ−ｘｎ）２（ｘＳ−ｘｎ−１）の計算を、記録部からｘＳ３、ｘＳ２を読み出して、ｘＳ３−（２ｘｎ＋ｘｎ−１）ｘＳ２＋（２ｘｎｘｎ−１＋ｘｎ）ｘＳ−ｘｎｘｎ−１により計算すること、
を特徴とする前記Miller演算部
を備えるペアリング演算装置。
【請求項３】
有限体ＧＦ（ｐ）上の楕円曲線上の点Ｐと有限体ＧＦ（ｐｋ）上の楕円曲線上の点Ｑを入力とし、入力された点から有限体ＧＦ（ｐｋ）上の元ｆを求めるMiller演算と、求めた有限体上の元を有限体ＧＦ（ｐｋ）上の元ｅ（Ｐ，Ｑ）に写像し、出力するべき乗演算とを行うペアリング演算方法において、
ｐは素数または素数のべき乗、ｍは素数かつＰ、Ｑ、ｅの位数、ｋはｍ｜（ｐｋ−１）を満足する最小の偶数、ｍは（ｐ−１）の約数ではない、かつｐとｍの最大公約数は１、Ｔを有限体ＧＦ（ｐ）上の元、Ｓを有限体ＧＦ（ｐｋ）上の元、Ｑ’をＱ＋Ｓ、Ｑ’の座標を（ｘＱ’，ｙＱ’）、ｍのｎ番目のビットに対応する繰り返し処理の楕円２倍演算で用いる２Ｔの座標を（ｘｎ，ｙｎ）、２Ｔ（ｘｎ，ｙｎ）とＯとを結ぶ直線をｌ２（ｎ）（ｘ，ｙ）＝０とするときに、
Miller演算部で、
あらかじめｘＱ’３、ｘＱ’２を計算して、記録手段に記録しておき、
ｍのｎ番目のビットが０の場合には、
ｍのｎ番目のビットに対応する繰り返し処理の楕円２倍演算と、ｎ−１番目のビットに対応する繰り返し処理の楕円２倍演算とを一緒に行い、
ｌ２（ｎ）（Ｑ’）２・ｌ２（ｎ−１）（Ｑ’）＝（ｘＱ’−ｘｎ）２（ｘＱ’−ｘｎ−１）の計算を、記録部からｘＱ’３、ｘＱ’２を読み出し、ｘＱ’３−（２ｘｎ＋ｘｎ−１）ｘＱ’２＋（２ｘｎｘｎ−１＋ｘｎ）ｘＱ’−ｘｎｘｎ−１により計算すること、
を特徴とするペアリング演算方法。
【請求項４】
請求項３記載のペアリング演算方法において、
Ｓの座標を（ｘＳ，ｙＳ）とするときに、
Miller演算部で、
あらかじめｘＳ３、ｘＳ２を計算して、記録手段に記録しておき、
ｍのｎ番目のビットが０の場合には、
ｌ２（ｎ）（Ｓ）２・ｌ２（ｎ−１）（Ｓ）＝（ｘＳ−ｘｎ）２（ｘＳ−ｘｎ−１）の計算を、記録部からｘＳ３、ｘＳ２を読み出して、ｘＳ３−（２ｘｎ＋ｘｎ−１）ｘＳ２＋（２ｘｎｘｎ−１＋ｘｎ）ｘＳ−ｘｎｘｎ−１により計算すること、
を特徴とするペアリング演算方法。
【請求項５】
請求項１または２に記載の装置をコンピュータにより実現するペアリングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楕円曲線上の演算、特にセキュリティ技術を実現するための演算を利用した装置、方法、およびプログラムに関する。
【背景技術】
【０００２】
楕円曲線のペアリングを用いたＩＤ−ｂａｓｅ暗号や短署名長デジタル署名を実現する方法が提案されている（特許文献１）。
Tateペアリングによる暗号や署名の概要を図１に示す。有限体ＧＦ（ｐ）上で定義される楕円をＥ／ＧＦ（ｐ）とする。楕円Ｅ／ＧＦ（ｐ）上のＧＦ（ｐ）有理点をＰ（ｘＰ、ｙＰ）、楕円Ｅ／ＧＦ（ｐ）上のＧＦ（ｐｋ）有理点をＱ（ｘＱ、ｙＱ）とする。Tateペアリングでは、ＰとＱを入力とし、Millerアルゴリズムによって有限体ＧＦ（ｐｋ）上の元ｆを出力し、さらにべき乗演算によってｆを（ｐｋ−１）／ｍ乗することで有限体ＧＦ（ｐｋ）上の元ｅへ写像し、出力する。ここで、ｐは素数または素数のべき乗、ｍは素数かつＰ、Ｑ、ｅの位数、ｋはｍ｜（ｐｋ−１）を満足する最小の整数、ｍは（ｐ−１）の約数ではない、かつｐとｍの最大公約数は１である。
【０００３】
図２はTateペアリングを用いたペアリング演算装置１０００の機能構成例を示している。図１に示した処理を行うため、Millerアルゴリズムを用いて入力ＰとＱを有限体ＧＦ（ｐｋ）上の元ｆに変換して出力するMiller演算装置３０と、べき乗演算によって入力ｆを有限体ＧＦ（ｐｋ）上の元ｅに写像して出力するべき乗演算装置２０から構成されている。
Tateペアリングで９０％の計算量を占めるMiller演算装置３０の内部構成例を図３に、処理フロー例を図４に示す。Miller演算装置３０は、制御部１００、代入部２００、楕円上点生成部４００、楕円加算部５００、入出力部６００、ＧＦ（ｐｋ）乗算部７００、ＧＦ（ｐｋ）逆元部８５０、および記録部１９０から構成される。制御部１００は、以下に示す処理フローに沿った処理を実行するために他の構成部を制御する。また、記録部１９０はハードディスク等の不揮発性のメモリでもよいし、一連の計算を行う間だけ一時的に記録する揮発性のメモリでもよい。また、組み合わせてもよい。
【０００４】
入出力部６００にｍ、Ｐ、Ｑが入力されると、ｍ、Ｐ、Ｑを記録部１９０に記録する（Ｓ７００）。次に代入部２００で、ＴにＰを、Ｆに１を代入し、記録部１９０に記録する（Ｓ７１０）。楕円上点生成部４００で、Ｓ≠ＰかつＳ≠Ｑの条件を満足する有限体ＧＦ（ｐｋ）上で定義される楕円上の点Ｓ（∈Ｅ／ＧＦ（ｐｋ））を生成し、記録部１９０に記録する（Ｓ７２０）。Ｓは条件を満足する点であれば、あらかじめ定めてもいいし、ランダムに生成してもよい。楕円加算部５００で、記録部１９０からＱとＳを読み取り、Ｑ’（＝Ｑ＋Ｓ）を計算し、記録部１９０に記録する（Ｓ７３０）。代入部２００で、ｌｏｇ（ｍ）−１の小数点以下を切り上げた整数をｎに代入し、記録部１９０に記録する（Ｓ７４０）。制御部１００は、記録部１９０からｎを読み取り、ｎ＜０か否かを確認し、Ｙｅｓの場合にはステップＳ９１０に進み、Ｎｏの場合にはステップＳ７６０に進む（Ｓ７５０）。Ｙｅｓの場合、入出力部６００は、記録部１９０からＦを読み取り、出力し（Ｓ９１０）、Millerアルゴリズムによる演算が終了する。Ｎｏの場合、楕円加算部５００は、記録部１９０からＴを読み取り、２Ｔを計算し、記録部１９０に記録する（Ｓ７６０）。ＧＦ（ｐｋ）乗算部７００は、Ｑ’、Ｓ、Ｔ、２Ｔを記録部１９０から読み取り、ｌ１（ｘ，ｙ）＝０をＴと２Ｔとを結ぶ直線、ｌ２（ｘ，ｙ）＝０を２ＴとＯとを結ぶ直線として、ｌ１（Ｑ’）、ｌ２（Ｑ’）、ｌ１（Ｓ）、ｌ２（Ｓ）を計算し、記録部１９０に記録する（Ｓ７７０）。ただし、ｌ１（Ｑ’）とは、Ｑ’のｘ座標とｙ座標とを、ｌ１（ｘ，ｙ）に代入した値である。なお、Ｓを有限体ＧＦ（ｐ）の元から選定すると（この場合、残りのｋ−１個の有限体ＧＦ（ｐ）の元は０である。）、ｌ１（Ｓ）、ｌ２（Ｓ）の計算は省略でき、以降のステップでｌ１（Ｓ）、ｌ２（Ｓ）を省略できる。次に、代入部２００は、記録部１９０から２Ｔを読み取り、Ｔに２Ｔの値を代入し、Ｔを記録部１９０に記録する（Ｓ７８０）。ＧＦ（ｐｋ）逆元部８５０で、記録部１９０からｌ２（Ｑ’）、ｌ１（Ｓ）を読み取り、ｌ２（Ｑ’）−１、ｌ１（Ｓ）−１を計算し、記録部１９０に記録する（Ｓ７９０）。ＧＦ（ｐｋ）乗算部７００は、記録部１９０からＦ、ｌ１（Ｑ’）、ｌ２（Ｓ）、ｌ２（Ｑ’）−１、ｌ１（Ｓ）−１を読み取り、
【０００５】
【数１】
2006330495.tif 000003
【０００６】
を計算し、Ｆの値として記録部１９０に記録する（Ｓ８１０）。ここで、ステップＳ７６０からＳ８１０までの過程を、楕円２倍演算（ＴＤＢＬ、Ｓ８００）と呼ぶ。制御部１００は、記録部１９０からｍとｎを読み取り、ｍのｎ番目のビットが１かを確認し、Ｙｅｓの場合にはステップＳ８３０へ進み、Ｎｏの場合にはステップＳ９００へ進む（Ｓ８２０）。Ｙｅｓの場合、楕円加算部５００で、記録部１９０からＴ、Ｐを読み取り、Ｔ＋Ｐを計算し、記録部１９０に記録する（Ｓ８３０）。ＧＦ（ｐｋ）乗算部７００は、Ｑ’、Ｓ、Ｔ、Ｐ，Ｔ＋Ｐを記録部１９０から読み取り、ｌ１（ｘ，ｙ）＝０をＴとＰとを結ぶ直線、ｌ２（ｘ，ｙ）＝０をＴ＋ＰとＯとを結ぶ直線とし、ｌ１（Ｑ’）、ｌ２（Ｑ’）、ｌ１（Ｓ）、ｌ２（Ｓ）を計算して、記録部１９０に記録する（Ｓ８４０）。代入部２００は、記録部１９０からＴ＋Ｐを読み取り、ＴにＴ＋Ｐを代入し、Ｔを記録部１９０に記録する（Ｓ８５０）。ＧＦ（ｐｋ）逆元部８５０は、記録部１９０からｌ２（Ｑ’）、ｌ１（Ｓ）を読み取り、ｌ２（Ｑ’）−１、ｌ１（Ｓ）−１を計算し、記録部１９０に記録する（Ｓ８６０）。ＧＦ（ｐｋ）乗算部７００は、記録部１９０からＦ、ｌ１（Ｑ’）、ｌ２（Ｓ）、ｌ２（Ｑ’）−１、ｌ１（Ｓ）−１を読み取り、
【０００７】
【数２】
2006330495.tif 000004
【０００８】
を計算し、Ｆの値として記録部１９０に記録する（Ｓ８８０）。ここで、ステップＳ８３０からＳ８８０までを、楕円加算演算（ＴＡＤＤ、Ｓ９００）と呼ぶ。ステップＳ８２０でＮｏと判断した場合とステップＳ８８０が終了した場合、代入部２００は、記録部１９０からｎを読み取り、ｎ−１をｎに代入し、ｎを記録部１９０に記録する（Ｓ８９０）。次にステップＳ７５０に戻り、ステップＳ７５０の判断がＹｅｓとなるまで処理が繰り返される。
【特許文献１】特開2004-177673号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ペアリングの演算に必要な演算量は、通常の楕円演算にくらべると非常に大きいため、その演算速度が遅いことが問題となっている。Tateペアリングの場合、Millerのアルゴリズムというdevisor有理式の評価を行う演算に費やされる。本発明が解決しようとする課題は、Millerのアルゴリズムの演算速度の高速化である。
特に、図４に示した楕円加算演算Ｓ９００は、ｍを２進数で表現した場合の１の数だけ行われる。そこで、ｍのビット列のｎ番目が０の時には、楕円加算演算Ｓ９００は行われないため、ｎ番目の楕円２倍演算Ｓ８００の次には、ｎ−１番目の楕円２倍演算Ｓ８００が行われる。本発明が解決しようとする課題は、楕円２倍演算が２回連続する場合の演算量を低減することである。
【課題を解決するための手段】
【００１０】
本発明では、ｍのｎ番目のビットが０の場合には、ｍのｎ番目のビットに対応する繰り返し処理の楕円２倍演算と、ｎ−１番目のビットに対応する繰り返し処理の楕円２倍演算とを一緒に行う。この処理によって、Ｆの計算は、
【００１１】
【数３】
2006330495.tif 000005
【００１２】
となる。ここで、ｎ番目のビットに対応する繰り返し処理の楕円２倍演算でのＴと２Ｔとを結ぶ直線がｌ１（ｎ）（ｘ，ｙ）＝０、２ＴとＯとを結ぶ直線がｌ２（ｎ）（ｘ，ｙ）＝０である。
Miller演算部では、あらかじめｘＱ’３、ｘＱ’２、ｘＳ３、ｘＳ２を計算して記録部に記録しておく。そして、式（１）の計算を行う際に、記録部からｘＱ’３、ｘＱ’２、ｘＳ３、ｘＳ２を読み出し、式（１）中のｌ２（ｎ）（Ｑ’）２・ｌ２（ｎ−１）（Ｑ’）＝（ｘＱ’−ｘｎ）２（ｘＱ’−ｘｎ−１）の計算を、ｘＱ’３−（２ｘｎ＋ｘｎ−１）ｘＱ’２＋（２ｘｎｘｎ−１＋ｘｎ）ｘＱ’−ｘｎｘｎ−１により計算する。また、ｌ２（ｎ）（Ｓ）２・ｌ２（ｎ−１）（Ｓ）＝（ｘＳ−ｘｎ）２（ｘＳ−ｘｎ−１）の計算を、ｘＳ３−（２ｘｎ＋ｘｎ−１）ｘＳ２＋（２ｘｎｘｎ−１＋ｘｎ）ｘＳ−ｘｎｘｎ−１により計算する。ここで、（ｘＱ’，ｙＱ’）はＱ’の座標、（ｘＳ，ｙＳ）はＳの座標、（ｘｎ，ｙｎ）はｎ番目のビットに対応する繰り返し処理の楕円２倍演算での２Ｔの座標である。
【発明の効果】
【００１３】
本発明によれば、演算量の多い有限体ＧＦ（ｐｋ）の元の乗算をあらかじめ計算し、繰り返し処理中では、記録部から読み出して用いる。したがって、比較的計算量の少ない有限体ＧＦ（ｐ）との乗算や有限体ＧＦ（ｐｋ）の加算で処理を行うことができるため、演算の高速化が図れる。
【発明を実施するための最良の形態】
【００１４】
以下では、説明の重複を避けるため同じ機能を有する構成部や同じ処理を行う処理ステップには同一の番号を付与し、説明を省略する。
［第１実施形態］
図５にMiller演算装置３０での本発明の処理フローを示す。本発明の装置の機能構成は従来の装置の機能構成と同じであり、処理フローを変更することで演算量を削減している。図４の処理フローとの違いは、ステップＳ７３０とステップＳ７４０の間にステップＳ１１０を追加した点と、ステップＳ７５０の後に、ステップＳ１２０、ステップＳ２００、ステップＳ３００を追加した点である。
【００１５】
ステップＳ１１０では、ＧＦ（ｐｋ）乗算部７００が、記録部１９０からＱ’とＳのｘ座標ｘＱ’とｘＳとを読み出し、ｘＱ’３、ｘＱ’２、ｘＳ３、ｘＳ２を計算して記録部１９０に記録する。
ステップＳ１２０では、ｍのｎ番目のビットが０かを確認する。Ｎｏの場合にはステップＳ８００へ進み、従来と同じ手順で処理を行う。Ｙｅｓの場合には、ステップＳ２００の連続楕円２倍演算（連続ＴＤＢＬ計算）に進む。ステップＳ２００の詳細は図６に示す。
【００１６】
連続楕円２倍演算は、まず、楕円加算部５００で、記録部１９０からＴを読み取り、２Ｔを計算し、２Ｔと２Ｔのｘ座標ｘｎを記録部１９０に記録する（Ｓ２１０）。次は、従来の楕円２倍演算と同じであり、ステップＳ７７０とＳ７８０を行う。次に、ＧＦ（ｐｋ）逆元部８５０で、記録部１９０から、ｌ１（Ｓ）を読み取り、ｌ１（Ｓ）−１を計算し、記録部１９０に記録する（Ｓ２２０）。楕円加算部５００は、記録部１９０からＴを読み取り、２Ｔを計算し、２Ｔと２Ｔのｘ座標ｘｎ−１を記録部１９０に記録する（Ｓ２３０）。ＧＦ（ｐｋ）乗算部７００は、Ｑ’、Ｓ、Ｔ、２Ｔを記録部１９０から読み取り、ｌ１’（ｘ，ｙ）＝０をＴと２Ｔとを結ぶ直線、ｌ２’（ｘ，ｙ）＝０を２ＴとＯとを結ぶ直線として、ｌ１’（Ｑ’）、ｌ２’（Ｑ’）、ｌ１’（Ｓ）、ｌ２’（Ｓ）を計算し、記録部１９０に記録する（Ｓ２４０）。ただし、ｌ１’（Ｑ’）とは、Ｑ’のｘ座標とｙ座標とを、ｌ１’（ｘ，ｙ）に代入した値である。なお、Ｓを有限体ＧＦ（ｐ）の元から選定した場合は、ｌ１’（Ｓ）、ｌ２’（Ｓ）の計算は省略でき、以降のステップでｌ１’（Ｓ）、ｌ２’（Ｓ）を省略できる。次に、代入部２００は、記録部１９０から２Ｔを読み取り、Ｔに２Ｔの値を代入し、Ｔを記録部１９０に記録する（Ｓ２５０）。ＧＦ（ｐｋ）逆元部８５０で、記録部１９０から、ｌ１’（Ｓ）を読み取り、ｌ１’（Ｓ）−１を計算し、記録部１９０に記録する（Ｓ２６０）。次に楕円加算部５００で、記録部からｘＱ’３、ｘＱ’２、ｘＳ３、ｘＳ２、ｘｎ、ｘｎ−１を読み出し、ｌ２（Ｑ’）２・ｌ２’（Ｑ’）＝（ｘＱ’−ｘｎ）２（ｘＱ’−ｘｎ−１）の計算を、ｘＱ’３−（２ｘｎ＋ｘｎ−１）ｘＱ’２＋（２ｘｎｘｎ−１＋ｘｎ）ｘＱ’−ｘｎｘｎ−１により計算する。また、ｌ２（Ｓ）２・ｌ２’（Ｓ）＝（ｘＳ−ｘｎ）２（ｘＳ−ｘｎ−１）の計算を、ｘＳ３−（２ｘｎ＋ｘｎ−１）ｘＳ２＋（２ｘｎｘｎ−１＋ｘｎ）ｘＳ−ｘｎｘｎ−１により計算する。計算結果は、記録部１９０に記録する（Ｓ２７０）。次に、ＧＦ（ｐｋ）逆元部８５０は、記録部１９０からｌ２（Ｑ’）２・ｌ２’（Ｑ’）を読み取り、（ｌ２（Ｑ’）２・ｌ２’（Ｑ’））−１、を計算し、記録部１９０に記録する（Ｓ２８０）。ＧＦ（ｐｋ）乗算部７００は、記録部１９０からＦ、ｌ１（Ｑ’）、ｌ１’（Ｑ’）、ｌ２（Ｓ）２・ｌ２’（Ｓ）、（ｌ２（Ｑ’）２・ｌ２’（Ｑ’））−１、ｌ１（Ｓ）−１、ｌ１’（Ｓ）−１を読み取り、
【００１７】
【数４】
2006330495.tif 000006
【００１８】
を計算し、Ｆの値として記録部１９０に記録する（Ｓ２９０）。ステップＳ２００が終了すると、代入部２００が、ｎにｎ−１を代入する（Ｓ３００）。ステップＳ３００が終了すると、図５のステップＳ８２０へ進み、従来と同じ処理を行う。
このような処理によって、一部ではあるが、演算量の多い有限体ＧＦ（ｐｋ）の元の乗算を、あらかじめ計算し、繰り返し処理中では、記録部から読み出して用いることができる。したがって、演算量の低減が図れる。
なお、本発明は、コンピュータ本体とコンピュータプログラムとして実行することが可能であるし、デジタルシグナルプロセッサや専用LSIに実装して実現することも可能である。
【図面の簡単な説明】
【００１９】
【図１】Tateペアリング演算の概要を示す図。
【図２】Tateペアリングを用いたペアリング演算装置の機能構成例を示す図。
【図３】Miller演算装置の内部構成例を示す図。
【図４】Millerアルゴリズムの処理フローを示す図。
【図５】本発明のMillerアルゴリズムの処理フローを示す図。
【図６】連続楕円２倍演算の処理フローを示す図。
【図１】
2006330495.tif 000007
【図２】
2006330495.tif 000008
【図３】
2006330495.tif 000009
【図４】
2006330495.tif 000010
【図５】
2006330495.tif 000011
【図６】
2006330495.tif 000012