JP5225115B2 - Naf変換装置 - Google Patents

Naf変換装置 Download PDF

Info

Publication number
JP5225115B2
JP5225115B2 JP2009006797A JP2009006797A JP5225115B2 JP 5225115 B2 JP5225115 B2 JP 5225115B2 JP 2009006797 A JP2009006797 A JP 2009006797A JP 2009006797 A JP2009006797 A JP 2009006797A JP 5225115 B2 JP5225115 B2 JP 5225115B2
Authority
JP
Japan
Prior art keywords
bit
naf
state
shift register
input
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
Application number
JP2009006797A
Other languages
English (en)
Other versions
JP2010165173A (ja
Inventor
秀夫 清水
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2009006797A priority Critical patent/JP5225115B2/ja
Priority to PCT/JP2010/050420 priority patent/WO2010082629A1/ja
Publication of JP2010165173A publication Critical patent/JP2010165173A/ja
Priority to US13/183,625 priority patent/US8918441B2/en
Application granted granted Critical
Publication of JP5225115B2 publication Critical patent/JP5225115B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/04Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being two
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5332Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by skipping over strings of zeroes or ones, e.g. using the Booth Algorithm

Description

本発明は2進表現された整数を冗長2進表現に変換するNAF変換装置に関する。
乗数を冗長2進表現に変換してから乗算することで乗算を効率化できることについては、例えばBoothの方法として1950年代には既に知られている(例えば非特許文献1、非特許文献2を参照)。最近では、暗号処理の高速化という文脈で冗長2進表現の1種であるNAFが使われることが多い(例えば非特許文献3、非特許文献2を参照)。
NAFについては、例えば非特許文献2の第98頁に説明されている。NAFとは、冗長2進表現の1種であり、整数kは唯一の対応するNAF表現NAF(k)をもつ。NAF(k)の非零の桁の数は任意の冗長2進表現の中でも最小であることが証明されている。非零の桁の数の平均は1/3である。
通常の2進表現では、各桁に0または1の2種類の数字が現れるが、NAFでは−1,0,1の数字が現れるという違いがある。
NAF表現では、引き続く2つの桁の少なくとも一方は0であるという特徴があり、密度が低い理由にもなっている。また、Non−adjacent formという名前の由来でもある。
例として、2進数11011(10進では59=32+16+8+2+1)をNAFに変換すると1000−10−1(64−4−1=59)になる。
4ビット以下の2進数をNAFに変換した例を表1に示す。
Figure 0005225115
整数kをNAF表現NAF(k)に変換するアルゴリズムはいくつも知られている。例えば、非特許文献4の第39頁(表3.2)、非特許文献3の第98頁(アルゴリズム3.30)、非特許文献2の第151(アルゴリズム9.14)に記載されている。
NAFの拡張としてw−NAFがある(例えば非特許文献3の第99頁参照)。
w−NAFと通常のNAFの違いは、w−NAFでは各桁に使える数字がもっと多くなっていることである。3−NAFであれば−3,−1,0,1,3の5種類を使用できる。上記のNAFは2−NAFと考えることができる。
以下、表2および表3にw−NAFの特徴を示す。
表2は、各NAFで使う数字を一覧にしたものである。
Figure 0005225115
但し、「^」はべき(冪)であり、例えば2^wは2のw乗を意味する。
表3は、各NAFの非零の桁の密度を一覧にしたものである。
Figure 0005225115
w−NAFでは、引き続くw個の桁の内、非零である桁は多くても1つであるという特徴がある。密度が低い方が処理する桁が少なくなるのでクロック数は少なくなるが、事前準備が多くなるのでトレードオフがある。
w−NAFの変換アルゴリズムについては、非特許文献3の第100頁(アルゴリズム3.35)、非特許文献2の第153頁(アルゴリズム9.20)がある。
従来のNAF変換アルゴリズムについて検討する。
非特許文献3のアルゴリズム3.35や、非特許文献2のアルゴリズム9.20は、任意のwに対して適用できるというスケーラビリティの高さが特長であるが、反面、以下のような問題点がある。
・逐次的にkを入力することができない。つまり最初にkを読み込んでおかなければならない。これはkそのものを変更するからである。
・kに対する変更は多倍長演算なので、回路規模が大きくなったり、1桁を求めるのに必要なクロック数が多くなる。
非特許文献4の表3.2について、非特許文献4にはNAF変換であるという記述はないが、結果として出力されるものはNAF変換になっている。このアルゴリズムは上の2つのアルゴリズムのもつ欠点を持たない。つまり、逐次的にkを処理できるし、多倍長演算も不要である。ただし、w=2の場合にしか適用できないのでスケーラビリティがないという問題がある。非特許文献2のアルゴリズム9.14も同じ特長と欠点をもつ。
A.D.Booth, "A signed binary multiplication technique", Quart. J. Mech. Appl. Math., 4, 2, 236-240, 1951. "Handbook of Elliptic and Hyperelliptic Curve Cryptography", CRC, 2006 "Guide to Elliptic Curve Cryptography", Springer, 2003 「算術演算のVLSIアルゴリズム」コロナ社,2005
上述したように、既に知られているNAF変換アルゴリズムには、スケーラビリティと回路規模が両立しないという問題点がある。
本発明はかかる事情を考慮してなされたものであり、回路規模が小さくスケーラブルなw−NAF変換装置を提供することを目的とする。
本発明の一観点に係るNAF変換装置は、2進表現された整数をw−NAF表現された冗長2進表現に変換するNAF変換装置であって、前記2進表現された整数を下位から1ビットずつ受け付ける受付手段と、1ビットで表現される状態の値を記憶する記憶手段と、w−1ビットで表現される状態の値を記憶するシフトレジスタと、前記受付手段が受け付けた1ビットの値と、前記記憶手段の状態の値と、前記w−1ビットのシフトレジスタの状態の値を参照し、次の時刻における前記記憶手段の状態と前記w−1ビットのシフトレジスタの状態とを決定し、現時刻におけるwビットのパラレル出力を決定する更新手段と、を具備することを特徴とする。
本発明によれば、回路規模が小さくスケーラブルなw−NAF変換装置を提供できる。特に、任意のwについて異なる部分がほとんどない(シフトレジスタの長さだけ)ので、動的にwを変更するといったことも可能である。また、回路規模は知られている2−NAF専用の変換アルゴリズムよりも小型であり、さらには公知のw−NAF変換アルゴリズムと較べても小型である。
w−NAF変換装置の機能構成を示すブロック図 2−NAF変換装置を示す図 セレクタの記述方法の説明図 2−NAF変換装置の変換例を示す図 3−NAF変換装置を示す図 3−NAF変換装置の変換例を示す図 4−NAF変換装置を示す図 2〜4−NAF変換装置を示す図 2−NAF状態遷移表を示す図 2−NAF状態遷移図を示す図 3−NAF状態遷移表を示す図 3−NAF状態遷移図を示す図 4−NAF状態遷移表を示す図 5−NAF状態遷移表を示す図
以下、図面を参照しながら本発明の実施形態を説明する。
図1は、本発明の実施形態に係るNAF変換装置の機能構成を示すブロック図である。本装置は、1ビットシリアル入力を受け付ける受付手段1と、受付手段1に接続される更新手段2と、更新手段2に接続され、w−NAF表現されたwビットの値をパラレル出力するw−1ビットシフトレジスタ3と、更新手段2に接続される1ビット記憶手段4とを有する。なお、NAF変換装置がハードウェアで構成される場合は、受付手段1は独立して設けられる必要はなく、信号線と更新手段とが接続される接続部分が該当することになる。
1ビット記憶手段4とw−1ビットシフトレジスタ3の初期値は0とする。
本実施形態に係るNAF変換装置においては、w−NAF表現に変換すべき整数の2進表現を下位ビットから順にクロックに合わせて1ビットずつ受付手段1が受け付ける。この受け付けた値を1ビットシリアル入力という。1ビット記憶手段4とw−1ビットシフトレジスタ3の内容はクロック毎に、つまり1ビット入力される毎に更新手段2によって新たな内容に置き換えられる。
更新手段2は更新前の1ビット記憶手段4とw−1ビットシフトレジスタ3の内容および1ビットシリアル入力に応じて、1ビット記憶手段4とw−1ビットシフトレジスタ3の新たな内容を計算する。また更新手段2はwビットのパラレル出力を決定する。つまり、クロック毎にwビットの変換結果が出力される。この際、有効な出力はw−1クロック後から出力される。なお、最下位ビット出力の値“1”は、w−1ビットシフトレジスタ3をクリアするトリガーのクリア入力として、w−1ビットシフトレジスタ3に与えられる。最下位ビット出力の値“1”がw−1ビットシフトレジスタ2に与えられると、w−1ビットシフトレジスタ2の値はクリアされる。
図2を参照して、図1のNAF変換装置をさらに具体化した2−NAF変換装置を説明する。図2に示すように2−NAF変換装置が有するCは図1の構成における1ビット記憶手段4に対応する。同様に、S0は1ビットのシフトレジスタ3(w=2なのでw−1=1ビット)に対応する。Y1とY0は2ビットのパラレル出力に対応する。+は1ビットの加算器であり、図1の更新手段2の要素に対応する。
特別な記号を図3で説明する。セレクタを図3のように記述することにする。つまり選択信号Sが1のとき出力はC=Aであり、Sが0のとき出力はC=Bとなる。
図1において、最下位ビット出力がw−1ビットシフトレジスタのクリア入力として与えられる構成は、図2において、パラレル出力の一部であるY0がセレクタの選択信号S0として与えられる構成に対応する。
CとS0の初期値は0である。S0が1のとき、Cの次の値は入力+Cの下位ビットであり、S0の次の値は0であり、Y1は入力+Cの下位ビットであり、Y0はS0つまり1となる。一方、S0が0のとき、Cの次の値は入力+Cの上位ビットであり、S0の次の値は入力+Cの下位ビットであり、Y1は入力+Cの下位ビットであり、Y0はS0つまり0となる。なお、次のクロックのタイミングでY1の値がS0に書き込まれる。
図4を参照して、この2−NAF変換装置の実際の変換例を示す。図4はタイミングチャートの形式になっており、クロックが入るたびに色々な値が更新されている。図4においてclkはクロック、startは開始信号、inは入力、cは1ビット記憶手段4、sは1ビットシフトレジスタ3、outは2ビットパラレル出力である。
2進数111011(10進では59=32+16+8+2+1)を入力した例を示す。inの行を見ると111011がクロック毎に下位から順に入力されていることが分かる。出力は入力より1クロック遅れている。
出力outの読み方は、「00」または「10」のとき「0」であり、「01」のとき「1」であり、「11」のとき「−1」である。
上記のように0を表現する複数の出力があるが、全て偶数であり、最下位ビットが0のときは出力を0とみなすだけでよい。また、出力が0以外のときは、2ビットの2の補数表現になっていることに注意する。一般にw−NAFの場合は、出力の最下位ビットが0なら0、1ならwビットの2の補数表現となる。出力の最下位ビット以外を最下位ビットとANDをとることできれいな0を出力することもできる。結果も下位から出力される。図4によれば、下位から順に−10−10001と出力されていることが分かる。これは、上位から読むと1000−10−1であり、64−4−1=59なので、元の2進数と同じ数を表現していることが分かる。元の2進数で非零の(1の)ビットは5個であるが、NAF変換後は3個と非零の桁の数が減っている。NAF変換では、出力のビット数は、最大で元のビット数+1になることがあり、この例もそのようになっている。
図5は図1のNAF変換装置をさらに別の例として具体化した3−NAFの変換装置を示している。図5に示すように3−NAF変換装置が有するCは図1の構成における1ビット記憶手段4に対応する。同様に、S1とS0は2ビットのシフトレジスタ3(w=3なのでw−1=2ビット)に対応する。Y2とY1とY0は3ビットのパラレル出力に対応する。+は1ビットの加算器であり、図1の更新手段2の要素に対応する。図1において、最下位ビット出力がw−1ビットシフトレジスタのクリア入力として与えられる構成は、図5において、パラレル出力の一部であるY0が2つのセレクタのそれぞれの選択信号S0として与えられる構成に対応する。
図2の2−NAF変換装置と図5の3−NAFの変換装置とを較べると、Y2とS1が増えただけである。動作は2−NAF変換装置と同様である。
CとS0の初期値は0である。S0が1のとき、Cの次の値は入力+Cの下位ビットであり、S1とS0の次の値は0であり、Y2は入力+Cの下位ビットであり、Y1はS1であり、Y0はS0つまり1となる。一方、S1が0のとき、Cの次の値は入力+Cの上位ビットであり、S1の次の値は入力+Cの下位ビットであり、S0の次の値はS1であり、Y2は入力+Cの下位ビットであり、Y1はS1であり、Y0はS0つまり0となる。
図6を参照して、この3−NAF変換装置の実際の変換例を示す。図6はタイミングチャートの形式になっており、クロックが入るたびに色々な値が更新されている。図6において、clkはクロック、startは開始信号、inは入力、cは1ビット記憶手段4、sは2ビットシフトレジスタ3、outは3ビットパラレル出力である。
2進数111011(10進では59=32+16+8+2+1)を入力した例を示す。inの行を見ると111011がクロック毎に下位から順に入力されていることが分かる。出力は入力より2クロック遅れている。出力outの読み方は、「000」,「010」,「100」,「110」のとき、「0」であり、「001」のとき「1」であり、「011」のとき「3」であり、「101」のとき「−3」であり、「111」のとき「−1」である。
上記のように0を表現する複数の出力があるが、全て偶数であり、最下位ビットが0のときは出力を0とみなすだけでよい。また、出力が0以外のときは、3ビットの2の補数表現になっていることに注意する。結果も下位から出力される。下位から順に300−1001と出力されていることが分かる。これは、上位から読むと100−1003であり、64−8+3=59なので、元の2進数と同じ数を表現していることが分かる。NAF変換では、出力のビット数は、最大で元のビット数+1になることがあり、この例もそのようになっている。
図7は図1のNAF変換装置をさらに別の例として具体化した4−NAFの変換装置である。図7に示すように、4−NAFの変換装置が有するCは図1の構成における1ビット記憶手段4に対応する。同様に、S2とS1とS0は3ビットのシフトレジスタ3(w=4なのでw−1=3ビット)に対応する。Y3とY2とY1とY0は4ビットのパラレル出力に対応する。+は1ビットの加算器であり、図1の更新手段2の要素である。
図2の2−NAF変換装置や図5の3−NAF変換装置と図7の4−NAF変換装置とを見比べてみると、シフトレジスタ3と出力が増えただけで同じ構造をもつことが分かる。
図8を参照して、kを可変とするk−NAF変換装置の例を示す。この例ではkの値として2,3,4を選択できる。図8においてk−NAF変換装置のCは図1に示した構成における1ビット記憶手段4に対応する。S2とS1とS0は図1の構成における3ビットのシフトレジスタ3(w=4なのでw−1=3ビット)に対応する。Y3とY2とY1とY0は4ビットのパラレル出力に対応する。+は1ビットの加算器である。
Sはkによって変わる最下位ビットである。k=2、つまりこの装置を2−NAF変換装置として動作させるには、最下位ビットSとしてS2を採用すればよく、同様に3−NAF変換装置として動作させるためには、最下位ビットSとしてS1を採用すればよく、4−NAF変換装置の場合の最下位ビットはS=S0とすればよい。このとき、出力は2−NAFのときはY3とY2とし、3−NAFのときはY3,Y2,Y1とし、4−NAFのときはY4,Y3,Y2,Y1,Y0とする。
携帯機器のようにメモリが限られているような場面では、wを小さくすることで計算自体は遅くなるが、メモリを節約することができる。一般にwを大きくすることで計算は速くなるがメモリ消費量が増える。例えばメモリの空きが少ないときはwを小さくし、メモリの空きが多いときはwを大きくすることで計算を速くすることができる。また、wを小さくし不要なレジスタへの給電を止めることで、電力を節約できる。
図9を参照して、上述した2−NAF変換装置を他の観点から説明する。すなわち、図9のような状態遷移表の形式で本実施形態に係る2−NAF変換装置を説明する。図9において、sは今の状態(取りうる状態は3状態である)、inは1ビットの入力、s’は次の状態、outは出力である。初期状態はs=0である。入力inが1ビットずつ入るたびにsとinで決まるs’に状態遷移し、出力outを出力する。
第1の状態において、入力が0のときは、第1の状態に状態遷移し、0を出力し、入力が1のときは、第2の状態に状態遷移し、0を出力する。第2の状態において、入力が0のときは、第1の状態に状態遷移し、1を出力し、入力が1のときは、第3の状態に状態遷移し、−1を出力する。第3の状態において、入力が0のときは、第2の状態に状態遷移し、0を出力し、入力が1のときは、第3の状態に状態遷移し、0を出力する。このようにして2進表現された整数を下位から1ビットずつ入力すると2−NAF表現された冗長2進表現を2ビットずつ出力する。
図10を参照して、2−NAF変換装置をさらに説明する。図10において、丸で囲まれているのが状態であり、状態遷移表のsと対応する。3つの状態がある。数字/数字は、左の数字がin、右の数字がoutで、左の数字を入力したときに、右の数字を出力することを意味する。このような図10は、図9の状態遷移表を状態遷移図の形に書き直したものである。初期状態は状態0である。
図11を参照して、上述した3−NAF変換装置を他の観点から説明する。すなわち、図11のような状態遷移表の形式に沿って本実施形態に係る3−NAF変換装置を説明する。状態sとして取りうる値が0から4の5状態に増えており、出力は、3−NAFなので−3,−1,0,1,3の5通りになっている。
第1の状態において、入力が0のときは、第1の状態に状態遷移し、0を出力し、入力が1のときは、第3の状態に状態遷移し、0を出力する。第2の状態において、入力が0のときは、第1の状態に状態遷移し、1を出力し、入力が1のときは、第5の状態に状態遷移し、−3を出力する。第3の状態において、入力が0のときは、第2の状態に状態遷移し、0を出力し、入力が1のときは、第4の状態に状態遷移し、0を出力する。第4の状態において、入力が0のときは、第1の状態に状態遷移し、3を出力し、入力が1のときは、第5の状態に状態遷移し、−1を出力する。第5の状態において、入力が0のときは、第3の状態に状態遷移し、0を出力し、入力が1のときは、第5の状態に状態遷移し、0を出力する。こうして、2進表現された整数を下位から1ビットずつ入力すると、3−NAF表現された冗長2進表現を3ビットずつ出力する。
図12は、図11の状態遷移表を状態遷移図に書き直したものであり、図10と同様である。
図13を参照して、上述した4−NAF変換装置を他の観点から説明する。すなわち、図13のような状態遷移表の形式に沿って本実施形態に係る4−NAF変換装置を説明する。状態sとして取りうる値が0から8の9状態に増えている。出力は、4−NAFであので−7,−5,−3,−1,0,1,3,5,7の9種類である。
第1の状態において、入力が0のときは、第1の状態に状態遷移し、0を出力し、入力が1のときは、第5の状態に状態遷移し、0を出力する。第2の状態において、入力が0のときは、第1の状態に状態遷移し、1を出力し、入力が1のときは、第9の状態に状態遷移し、−7を出力する。第3の状態において、入力が0のときは、第2の状態に状態遷移し、0を出力し、入力が1のときは、第6の状態に状態遷移し、0を出力する。第4の状態において、入力が0のときは、第1の状態に状態遷移し、3を出力し、入力が1のときは、第9の状態に状態遷移し、−5を出力する。第5の状態において、入力が0のときは、第3の状態に状態遷移し、0を出力し、入力が1のときは、第7の状態に状態遷移し、0を出力する。第6の状態において、入力が0のときは、第1の状態に状態遷移し、5を出力し、入力が1のときは、第9の状態に状態遷移し、−3を出力する。第7の状態において、入力が0のときは、第4の状態に状態遷移し、0を出力し、入力が1のときは、第8の状態に状態遷移し、0を出力する。第8の状態において、入力が0のときは、第1の状態に状態遷移し、7を出力し、入力が1のときは、第9の状態に状態遷移し、−1を出力する。第9の状態において、入力が0のときは、第5の状態に状態遷移し、0を出力し、入力が1のときは、第9の状態に状態遷移し、0を出力する。こうして2進表現された整数を下位から1ビットずつ入力すると4−NAF表現された冗長2進表現を4ビットずつ出力する。
図14によって5−NAF変換装置を示す。状態遷移表については図9の説明と同様である。状態sとして取りうる値が0から16の17状態に増えている。一般に、w−NAFの場合は、2^(w−1)+1状態を取る。
上述した実施形態は順序回路によって実現できるが、同期回路としても非同期回路としても実現可能である。
サイドチャネル攻撃のような新たな暗号攻撃法が登場している。以上説明した実施形態によれば、楕円曲線暗号のスカラー倍の途中でwを変化させることで、サイドチャネル攻撃を防ぐことが可能になる。wを変更できるのは、シフトレジスタが0の場合である。つまり、直前に0以外の値を出力したときである。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
1…受付手段;
2…更新手段;
3…w−1ビットシフトレジスタ;
4…1ビット記憶手段

Claims (7)

  1. 2進表現された整数をw−NAF表現された冗長2進表現に変換するNAF変換装置であって、
    前記2進表現された整数を下位から1ビットずつ受け付ける受付手段と、
    1ビットで表現される状態の値を記憶する記憶手段と、
    w−1ビットで表現される状態の値を記憶するシフトレジスタと、
    前記受付手段が受け付けた1ビットの値と、前記記憶手段の状態の値と、前記w−1ビットのシフトレジスタの状態の値を参照し、次の時刻における前記記憶手段の状態と前記w−1ビットのシフトレジスタの状態とを決定し、現時刻におけるwビットのパラレル出力を決定する更新手段と、
    を具備することを特徴とするNAF変換装置。
  2. 前記更新手段は、
    前記次の時刻における前記記憶手段の状態を、
    前記現時刻における前記w−1ビットのシフトレジスタの最下位ビットが1のときは、前記シリアル入力から入力された1ビットと前記現時刻の記憶手段の状態との和の下位1ビットとし、前記現時刻における前記w−1ビットのシフトレジスタの最上位ビットが0のときは、前記和の上位1ビットとし、
    前記次の時刻における前記w−1ビットのシフトレジスタの状態を、
    前記現時刻における前記w−1ビットのシフトレジスタの最下位ビットが1のときは、w−1ビットの0とし、前記現時刻における前記w−1ビットのシフトレジスタの最下位ビットが0のときは、前記現時刻における該シフトレジスタを下位に向けて1ビットシフトし、該和の下位ビットを最上位ビットとしたw−1ビットの値とし、
    前記現時刻におけるパラレル出力を、
    前記和の下位ビットを最上位ビットとし、下位w−1ビットが前記w−1ビットのシフトレジスタの値とすることを特徴とする請求項1記載のNAF変換装置。
  3. 前記w−1シフトレジスタの最下位ビットに代えて、下位(w−k)ビットを使い、該パラレル出力の上位kビットを出力とすることを特徴とする請求項1又は2記載のNAF変換装置。
  4. CPUパワーおよびメモリ量を含む使用可能なリソースに応じた小さな値に前記kを設定することを特徴とする請求項3記載のNAF変換装置。
  5. NAF変換の途中でkの値を2からwの間で変化させることを特徴とする請求項3記載のNAF変換装置。
  6. 前記1ビットの記憶手段、前記w−1ビットのシフトレジスタ、前記更新手段が同期回路であることを特徴とする請求項1乃至5のいずれかに記載のNAF変換装置。
  7. 前記1ビットの記憶手段、前記w−1ビットのシフトレジスタ、前記更新手段が非同期回路であることを特徴とする請求項1乃至5のいずれかに記載のNAF変換装置。
JP2009006797A 2009-01-15 2009-01-15 Naf変換装置 Expired - Fee Related JP5225115B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009006797A JP5225115B2 (ja) 2009-01-15 2009-01-15 Naf変換装置
PCT/JP2010/050420 WO2010082629A1 (ja) 2009-01-15 2010-01-15 Naf変換装置
US13/183,625 US8918441B2 (en) 2009-01-15 2011-07-15 NAF conversion apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009006797A JP5225115B2 (ja) 2009-01-15 2009-01-15 Naf変換装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012279603A Division JP5606516B2 (ja) 2012-12-21 2012-12-21 Naf変換装置

Publications (2)

Publication Number Publication Date
JP2010165173A JP2010165173A (ja) 2010-07-29
JP5225115B2 true JP5225115B2 (ja) 2013-07-03

Family

ID=42339882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009006797A Expired - Fee Related JP5225115B2 (ja) 2009-01-15 2009-01-15 Naf変換装置

Country Status (3)

Country Link
US (1) US8918441B2 (ja)
JP (1) JP5225115B2 (ja)
WO (1) WO2010082629A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5225115B2 (ja) * 2009-01-15 2013-07-03 株式会社東芝 Naf変換装置
CN105656629B (zh) * 2014-11-25 2018-12-11 上海华虹集成电路有限责任公司 芯片中安全的非相邻表示型实现方法
WO2018145189A1 (en) * 2017-02-13 2018-08-16 Infosec Global Inc. Countermeasures and optimizations in elliptic curve cryptographic schemes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63311433A (ja) * 1987-06-12 1988-12-20 Nippon Telegr & Teleph Corp <Ntt> 2進冗長sd符号変換減算方法及びその実施する回路
JPH01226221A (ja) * 1988-03-04 1989-09-08 Nec Corp 数値変換装置
JPH10307705A (ja) * 1997-05-02 1998-11-17 Fujitsu Ltd 冗長2進符号変換回路及びこれを用いた乗算回路
US20020057796A1 (en) * 1998-12-24 2002-05-16 Lambert Robert J. Method for accelerating cryptographic operations on elliptic curves
FR2820905B1 (fr) * 2001-02-09 2005-02-18 Gemplus Card Int Dispositif et procede de traitement de valeurs numeriques, notamment sous forme non-adjacente
JP2006145945A (ja) * 2004-11-22 2006-06-08 Sony Corp 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム
US7602907B2 (en) * 2005-07-01 2009-10-13 Microsoft Corporation Elliptic curve point multiplication
JP5225115B2 (ja) * 2009-01-15 2013-07-03 株式会社東芝 Naf変換装置
JP5175983B2 (ja) * 2009-09-24 2013-04-03 株式会社東芝 演算装置

Also Published As

Publication number Publication date
US20110320511A1 (en) 2011-12-29
WO2010082629A1 (ja) 2010-07-22
US8918441B2 (en) 2014-12-23
JP2010165173A (ja) 2010-07-29

Similar Documents

Publication Publication Date Title
KR100756137B1 (ko) 제산 및 제곱근 연산 유닛
EP1471420A2 (en) Montgomery modular multiplier and method thereof using carry save addition
CN109814838B (zh) 获取加解密运算中的中间结果组的方法、硬件装置和系统
KR100591761B1 (ko) 몽고메리 모듈러 곱셈기 및 캐리 저장 가산을 이용한몽고메리 모듈러 곱셈 방법
US20060222175A1 (en) Computation method, computing device and computer program
JP5225115B2 (ja) Naf変換装置
US7307453B1 (en) Method and system for parallel state machine implementation
KR102496446B1 (ko) 모듈러 연산을 위한 워드 병렬 연산 방법
JP3003467B2 (ja) 演算装置
JP5606516B2 (ja) Naf変換装置
JP5175983B2 (ja) 演算装置
JP3660075B2 (ja) 除算装置
US20200097257A1 (en) Electronic calculating device arranged to calculate the product of integers
US20210141601A1 (en) Digital calculation processing circuit
JP4177125B2 (ja) 演算装置及び演算装置の演算方法
Lou et al. High-speed multiplier block design based on bit-level critical path optimization
Mohan et al. Implementation of Quaternary Signed Adder System
Wu et al. Modular multiplier by folding Barrett modular reduction
US7472154B2 (en) Multiplication remainder calculator
JP2004220377A (ja) リコンフィギュラブル回路とそれを利用可能な集積回路装置およびデータ変換装置
JP2803442B2 (ja) 開平装置
Peijun et al. A 1024-bit RSA cryptosystem hardware design based on modified Montgomery's algorithm
JP3137599B2 (ja) BのC乗のnを法とした剰余を計算する回路
JP2705640B2 (ja) 積和演算器
JP2000010763A (ja) 除算回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121221

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130312

R151 Written notification of patent or utility model registration

Ref document number: 5225115

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20160322

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees