JP5233449B2 - 署名生成装置、ならびに、署名検証装置 - Google Patents

署名生成装置、ならびに、署名検証装置 Download PDF

Info

Publication number
JP5233449B2
JP5233449B2 JP2008173993A JP2008173993A JP5233449B2 JP 5233449 B2 JP5233449 B2 JP 5233449B2 JP 2008173993 A JP2008173993 A JP 2008173993A JP 2008173993 A JP2008173993 A JP 2008173993A JP 5233449 B2 JP5233449 B2 JP 5233449B2
Authority
JP
Japan
Prior art keywords
signature
bit length
mod
com
elliptic curve
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
Application number
JP2008173993A
Other languages
English (en)
Other versions
JP2010014912A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2008173993A priority Critical patent/JP5233449B2/ja
Priority to US12/458,068 priority patent/US8199910B2/en
Publication of JP2010014912A publication Critical patent/JP2010014912A/ja
Application granted granted Critical
Publication of JP5233449B2 publication Critical patent/JP5233449B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures

Description

本発明は、製造コストを抑制しつつ、グループ署名の生成および検証を高速にする電子回路を実現するのに好適な、署名生成装置、ならびに、署名検証装置に関する。
近年、暗号および署名の分野では、グループ署名の技術が提案されている。
一方で、特定の計算に特化した電子回路の設計において、C言語などの高級言語でその動作を記述し、動作合成を行うことで、電子回路の構成を出力させる技術も提案されている。すなわち、コンピュータ技術の進歩により、動作合成ツールや論理合成ツールを備えるCAD(Computer-Aided Design)システムを使用して半導体集積回路の設計、解析および評価等を行うのが一般的になっている。
このような技術については、下記の文献に開示されている。
特開2007−272671号公報 寺西勇,従来方式の安全性設計を解消するグループ署名方式と安全性定義の改良,電子情報通信学会 基礎・境界ソサイエティ 情報通信基礎サブソサイエティ,情報セキュリティ研究会,ISEC 2004,2004年 Multi-layer AHB Overview, ARM DVI 0045B, ARM, 2001年−2004年
ここで、特許文献1には、動作合成ツールや論理合成ツールを備える回路設計支援システムが開示されている。
回路設計支援システムを用いて半導体集積回路を設計する場合、設計者は、まず、入力ポートや変数のビット幅等のH/W化に必要な情報を含んだ動作レベル記述を用意する。
次に、設計者は、動作合成ツールを用いて、動作レベル記述を、実現する論理をレジスタとレジスタ間の論理機能で表現したRTL(Register Transfer Level;レジスタ転送レベル)記述に変換する。
そして、設計者は、論理合成ツールを用いて、RTL記述をゲートレベルの論理回路に変換する。
このような回路設計の手法においては、非特許文献2に開示されるように、電子回路の配置をマルチレイヤ化して、情報をやりとりするための帯域を増やすことで、高速化を図るのが一般的となっている。
一方で、非特許文献1には、グループ署名の生成および検証を行うための基本的なアルゴリズムが開示されている。
すなわち、グループ署名は、所定のビット長K[n]、所定のビット長K[l]、所定のビット長K[e]、所定のビット長K[e']、楕円曲線により定義される有限群GGの次数である素数qのビット長K[q]、任意長のビット列に適用されるハッシュ関数Hashが返す値のビット長K[c]、いかなる整数aに対しても|a|+K[S]ビット長の乱数rを選択したときに、a+rとaが統計的に区別できなくなるようなビット長K[S]、セキュリティパラメータK = (K[n],K[l],K[e],K[e'],K[q],K[c],K[S])、整数λ = K[n]+K[q]+K[S]、0以上2λ未満の整数を要素とする集合Λ、当該楕円曲線上でのスカラーc倍演算[c](・)、当該楕円曲線上での点加算(・)+e(・)、当該楕円曲線上での点減算(・)-e(・)に対するグループ署名である。
そして、当該グループ署名の発行者鍵対
ipk = (n,a[0],a[1],a[2]);
isk = (p[1],p[2])
は、ビット長K[n]/2の安全な素数p[1],p[2]、n = p[1]p[2]、当該nに対する巡回部分群QR(n)の要素a[0],a[1],a[2]により定められる。
さらに、当該グループ署名の開示者鍵対
opk = (q,G,H[1],H[2]);
osk = (y[1],y[2])
は、当該素数qを法とする有限体Zqの要素y[1],y[2]、当該有限群GGの要素G、H[1] = [y[1]]G,H[2] = [y[2]]Gにより定められる。
一方、当該グループ署名のユーザ削除管理者鍵対
rpk = (l,b,w);
rsk = (l[1],l[2])
は、ビット長K[l]/2の安全な素数l[1],l[2]、l = l[1]l[2]、当該lに対する巡回部分群QR(l)の要素b,wにより定められる。
さらに、当該グループ署名のi番目のユーザに対するユーザ鍵対
msk[i] = x[i];
mpk[i] = (h[i],A[i],e'[i],B[i])
は、当該集合Λの要素x[i]、h[i] = [x[i]]G、B[i] = b1/e'[i] (mod l)、e[i] = 2K[e] + e'[i]、a[0]a[1]x[i]≡A[i]e[i] (mod n)を満たすA[i],B[i],e[i],e'[i]により定められる。
そして、i番目のユーザによるメッセージmに対する署名を生成する際には、まず、当該有限体Zqの要素ρ[E]と、ビット長K[n]/2のビット列ρ[m]と、ビット長K[l]/2のビット列ρ[r]と、ビット長λ+K[c]+K[S]のビット列μ[x]と、ビット長K[e]+K[n]/2+K[c]+K[S]のビット列μ[s]と、ビット長K[e']+K[c]+K[S]のビット列μ[e']と、ビット長K[e']+K[l]/2+K[c]+K[S]のビット列μ[t]と、当該有限体Zqの要素μ[E]と、を、ランダムに選択する。
次に、E[0] = [ρ[E]]Gと、E[1] = h[i] +e [ρ[E]]H[1]と、E[2] = h[i] +e [ρ[E]]H[2]と、E = (E[0],E[1],E[2])と、V[ComCipher] = ([μ[E]]G,[μ[x]]G +e [μ[E]]H[1],[μ[x]]G +e [μ[E]]H[2])と、を計算する。
さらに、A[COM] = A[i]a[2]ρ[m] (mod n)と、B[COM] = B[i]wρ[r] (mod l)と、V[ComMPK] = a[1]μ[x]a[2]μ[s]A[COM]-μ[e'] (mod n)と、V[ComREV] = wμ[t]B[COM]-μ[e'] (mod l)と、を計算する。
そして、c = Hash(K,ipk,opk,rpk,E,A[COM],B[COM],V[ComCipher],V[ComMPK],V[ComRev],m)を計算する。
ついで、τ[x] = c x[i] + μ[x] (mod q)と、τ[s] = c e[i] ρ[m] + μ[s] (mod q)と、τ[t] = c e'[i] ρ[r] + μ[t] (mod q)と、τ[e'] = c e'[i] + μ[e'] (mod q)と、τ[E] = c ρ[E] + μ[E] (mod q)と、を計算する。
最後に、署名(E,A[COM],B[COM],c,τ[x],τ[s],τ[t],τ[e'],τ[E])を出力する。
一方、メッセージmに対する署名σ = (E,A[COM],B[COM],c,τ[x],τ[s],τ[t],τ[e'],τ[E])、ただしE = (E[0],E[1],E[2])を検証する際には、まず、V'[ComCipher] = ([τ[E]]G -e [c]E[0],[τ[x]]G +e [τ[E]]H[1],[τ[x]]G +e [τ[E]]H[2] -e [c]E[2])を計算する。
次に、p = c 2K[2] + τ[e']と、V'[ComMPK] = a[0]ca[1]τ[x]a[2]τ[s]A[COM]-p (mod n)と、V'[ComREV] = bcwτ[t]B[COM]-τ[e'] (mod l)と、を計算する。
さらに、c' = Hash(K,ipk,opk,rpk,E,A[COM],B[COM],V'[ComCipher],V'[ComMPK],V'[ComREV],m)を計算する。
そして、|τ[x]|≦λ+K[c]+K[S]、かつ、|τ[e']|≦K[e']+K[c]+K[S]、かつ、c' = cである場合、検証成功とし、そうでない場合、検証失敗とする。
したがって、このようなグループ署名の計算処理を、電子回路により、高速に実行する署名生成装置や署名検証装置が強く求められている。
一方で、マルチレイヤ化等により設計された電子回路は一般的にコストが上昇するので、高速化を図りつつも、製造コストを抑制できるような回路構成とすることが望ましい。
本発明は、上記のような課題を解決するもので、製造コストを抑制しつつ、グループ署名の生成および検証を高速にする電子回路を実現するのに好適な、署名生成装置、ならびに、署名検証装置を提供することを目的とする。
本発明の第1の観点に係る署名生成装置は、グループ署名の署名を生成する署名生成装置である。
ここで、当該グループ署名は、
所定のビット長K[n]、
所定のビット長K[l]、
所定のビット長K[e]、
所定のビット長K[e']、
楕円曲線により定義される有限群GGの次数である素数qのビット長K[q]、
任意長のビット列に適用されるハッシュ関数Hashが返す値のビット長K[c]、
いかなる整数aに対しても|a|+K[S]ビット長の乱数rを選択したときに、a+rとaが統計的に区別できなくなるようなビット長K[S]、
セキュリティパラメータK = (K[n],K[l],K[e],K[e'],K[q],K[c],K[S])、
整数λ = K[n]+K[q]+K[S]、
0以上2λ未満の整数を要素とする集合Λ、
当該楕円曲線上でのスカラーc倍演算[c](・)、
当該楕円曲線上での点加算(・)+e(・)、
当該楕円曲線上での点減算(・)-e(・)に対するグループ署名である。
また、当該グループ署名の発行者鍵対
ipk = (n,a[0],a[1],a[2]);
isk = (p[1],p[2])
は、ビット長K[n]/2の安全な素数p[1],p[2]、n = p[1]p[2]、当該nに対する巡回部分群QR(n)の要素a[0],a[1],a[2]により定められる。
そして、当該グループ署名の開示者鍵対
opk = (q,G,H[1],H[2]);
osk = (y[1],y[2])
は、当該素数qを法とする有限体Zqの要素y[1],y[2]、当該有限群GGの要素G、H[1] = [y[1]]G,H[2] = [y[2]]Gにより定められる。
さらに、当該グループ署名のユーザ削除管理者鍵対
rpk = (l,b,w);
rsk = (l[1],l[2])
は、ビット長K[l]/2の安全な素数l[1],l[2]、l = l[1]l[2]、当該lに対する巡回部分群QR(l)の要素b,wにより定められる。
また、当該グループ署名のi番目のユーザに対するユーザ鍵対
msk[i] = x[i];
mpk[i] = (h[i],A[i],e'[i],B[i])
は、当該集合Λの要素x[i]、h[i] = [x[i]]G、B[i] = b1/e'[i] (mod l)、e[i] = 2K[e] + e'[i]、a[0]a[1]x[i]≡A[i]e[i] (mod n)を満たすA[i],B[i],e[i],e'[i]により定められる。
なお、当該署名生成装置は、i番目のユーザによるメッセージmに対する署名を生成するものであり、以下のように構成する。
すなわち、当該署名生成装置は、
当該有限体Zqの要素ρ[E]と、ビット長K[n]/2のビット列ρ[m]と、ビット長K[l]/2のビット列ρ[r]と、ビット長λ+K[c]+K[S]のビット列μ[x]と、ビット長K[e]+K[n]/2+K[c]+K[S]のビット列μ[s]と、ビット長K[e']+K[c]+K[S]のビット列μ[e']と、ビット長K[e']+K[l]/2+K[c]+K[S]のビット列μ[t]と、当該有限体Zqの要素μ[E]と、を、ランダムに選択する手段、
E[0] = [ρ[E]]Gと、E[1] = h[i] +e [ρ[E]]H[1]と、E[2] = h[i] +e [ρ[E]]H[2]と、E = (E[0],E[1],E[2])と、V[ComCipher] = ([μ[E]]G,[μ[x]]G +e [μ[E]]H[1],[μ[x]]G +e [μ[E]]H[2])と、を計算する手段、
A[COM] = A[i]a[2]ρ[m] (mod n)と、B[COM] = B[i]wρ[r] (mod l)と、V[ComMPK] = a[1]μ[x]a[2]μ[s]A[COM]-μ[e'] (mod n)と、V[ComREV] = wμ[t]B[COM]-μ[e'] (mod l)と、を計算する手段、
c = Hash(K,ipk,opk,rpk,E,A[COM],B[COM],V[ComCipher],V[ComMPK],V[ComRev],m)を計算する手段、
τ[x] = c x[i] + μ[x] (mod q)と、τ[s] = c e[i] ρ[m] + μ[s] (mod q)と、τ[t] = c e'[i] ρ[r] + μ[t] (mod q)と、τ[e'] = c e'[i] + μ[e'] (mod q)と、τ[E] = c ρ[E] + μ[E] (mod q)と、を計算する手段、
署名(E,A[COM],B[COM],c,τ[x],τ[s],τ[t],τ[e'],τ[E])を出力する手段
を備える。
ここで、当該計算のうち、a[1]μ[x] (mod n)と、a[2]μ[s] (mod n)と、wμ[t] (mod l)と、の、いずれか2つもしくは3つを並列に計算する。
そして、当該署名生成装置は、
当該計算のうち、当該楕円曲線上でのスカラーc倍演算[c](・)と、当該楕円曲線上での点加算(・)+ e (・)と、当該楕円曲線上での点減算(・)- e (・)と、の計算を行う楕円計算回路、
当該計算のうち、べき乗剰余、乗剰余の計算を行う1つまたは複数のRSA計算回路、
当該計算のうち、Hashの計算を行うハッシュ計算回路、
前記楕円計算回路と、前記1つまたは複数のRSA計算回路と、前記ハッシュ計算回路と、の間で計算結果を受け渡す狭バンド幅の単一レイヤーバス
を備える。
本発明のその他の観点に係る署名検証装置は、グループ署名の署名を検証する署名検証装置である。
ここで、当該グループ署名は、
所定のビット長K[n]、
所定のビット長K[l]、
所定のビット長K[e]、
所定のビット長K[e']、
楕円曲線により定義される有限群GGの次数である素数qのビット長K[q]、
任意長のビット列に適用されるハッシュ関数Hashが返す値のビット長K[c]、
いかなる整数aに対しても|a|+K[S]ビット長の乱数rを選択したときに、a+rとaが統計的に区別できなくなるようなビット長K[S]、
セキュリティパラメータK = (K[n],K[l],K[e],K[e'],K[q],K[c],K[S])、
整数λ = K[n]+K[q]+K[S]、
0以上2λ未満の整数を要素とする集合Λ、
当該楕円曲線上でのスカラーc倍演算[c](・)、
当該楕円曲線上での点加算(・)+e(・)、
当該楕円曲線上での点減算(・)-e(・)に対するグループ署名である。
そして、当該グループ署名の発行者鍵対
ipk = (n,a[0],a[1],a[2]);
isk = (p[1],p[2])
は、ビット長K[n]/2の安全な素数p[1],p[2]、n = p[1]p[2]、当該nに対する巡回部分群QR(n)の要素a[0],a[1],a[2]により定められる。
また、当該グループ署名の開示者鍵対
opk = (q,G,H[1],H[2]);
osk = (y[1],y[2])
は、当該素数qを法とする有限体Zqの要素y[1],y[2]、当該有限群GGの要素G、H[1] = [y[1]]G,H[2] = [y[2]]Gにより定められる。
そして、当該グループ署名のユーザ削除管理者鍵対
rpk = (l,b,w);
rsk = (l[1],l[2])
は、ビット長K[l]/2の安全な素数l[1],l[2]、l = l[1]l[2]、当該lに対する巡回部分群QR(l)の要素b,wにより定められる。
さらに、当該グループ署名のi番目のユーザに対するユーザ鍵対
msk[i] = x[i];
mpk[i] = (h[i],A[i],e'[i],B[i])
は、当該集合Λの要素x[i]、h[i] = [x[i]]G、B[i] = b1/e'[i] (mod l)、e[i] = 2K[e] + e'[i]、a[0]a[1]x[i]≡A[i]e[i] (mod n)を満たすA[i],B[i],e[i],e'[i]により定められる。
なお、当該署名検証装置は、メッセージmに対する署名σ = (E,A[COM],B[COM],c,τ[x],τ[s],τ[t],τ[e'],τ[E])を検証するものであり、E = (E[0],E[1],E[2])であり、以下のように構成する。
すなわち、V'[ComCipher] = ([τ[E]]G -e [c]E[0],[τ[x]]G +e [τ[E]]H[1],[τ[x]]G +e [τ[E]]H[2] -e [c]E[2])を計算する手段、
p = c 2K[2] + τ[e']と、V'[ComMPK] = a[0]ca[1]τ[x]a[2]τ[s]A[COM]-p (mod n)と、V'[ComREV] = bcwτ[t]B[COM]-τ[e'] (mod l)と、を計算する手段、
c' = Hash(K,ipk,opk,rpk,E,A[COM],B[COM],V'[ComCipher],V'[ComMPK],V'[ComREV],m)を計算する手段、
|τ[x]|≦λ+K[c]+K[S]、かつ、|τ[e']|≦K[e']+K[c]+K[S]、かつ、c' = cである場合、検証成功とし、そうでない場合、検証失敗とする手段
を備える。
そして、当該計算のうち、a[1]τ[x] (mod n)と、a[2]τ[s] (mod n)と、wτ[t] (mod l)と、の、いずれか2つもしくは3つを並列に計算する。
ここで、当該署名検証装置は、
当該計算のうち、当該楕円曲線上でのスカラーc倍演算[c](・)と、当該楕円曲線上での点加算(・)+ e (・)と、当該楕円曲線上での点減算(・)- e (・)と、の計算を行う楕円計算回路、
当該計算のうち、べき乗剰余、乗剰余の計算を行う1つまたは複数のRSA計算回路、
当該計算のうち、Hashの計算を行うハッシュ計算回路、
前記楕円計算回路と、前記1つまたは複数のRSA計算回路と、前記ハッシュ計算回路と、の間で計算結果を受け渡す狭バンド幅の単一レイヤーバス
を備える。
本発明によれば、製造コストを抑制しつつ、グループ署名の生成および検証を高速にする電子回路を実現するのに好適な、署名生成装置、ならびに、署名検証装置を提供することができる。
発明者は、非特許文献1に開示されるアルゴリズムを単純に動作レベル記述として記述し、従来の電子回路設計における高速化の手法によって動作合成をしても、製造コストの抑制の問題が解決できないことに鑑み、以下のような手法によって、電子回路設計を行うこととした。
すなわち、当該アルゴリズムには、基本的な演算の複雑な組み合わせが多数含まれる。
図1は、グループ署名生成の際の各演算(Sub-IP operation)に対するビット長(Bit Length)、クロックサイクル数(CLK cycles)、実行回数(Times)、全体に占める割合(Ratio)を示す表を表す説明図である。
図2は、グループ署名検証の際の各演算(Sub-IP operation)に対するビット長(Bit Length)、クロックサイクル数(CLK cycles)、実行回数(Times)、全体に占める割合(Ratio)を示す表を表す説明図である。
この表を見ると、従来、電子回路化が進められてきたアルゴリズムにおけるものとは異なる種類の基本演算が利用されており、また、当該基本演算に要するクロックサイクル数も異なるため、速度を向上させるためには、従来とは異なる観点から並列化を進める必要があることがわかる。
また、図1および図2に示すように、データのビット幅が大きいことから、データのほとんどは、レジスタではなくSRAM(Static Random Access Memory)に格納すべきものであることがわかる。そして、各基本演算に要する計算時間の大半は、SRAMアクセスに要する時間である。
一方で、図1および図2からは、データを転送するために必要な時間の割合は極めて低いこともわかる。
このような観点から、発明者は、動作レベル記述に制約として付加すべき基本的なハードウェアアーキテクチャとして、単一のIPコアにグループ認証計算回路すべてを組み込んだ電子回路設計を進めることとした。
図3は、グループ署名IPコアの概要構成を示す説明図である。以下、本図を参照して説明する。
IPコア(グループ署名IPコア)301は、複数の高速演算ユニット(サブIP)302と、データ転送コントローラ303と、が、ローカルバス304を介して接続される内部構造となっている。
ローカルバス304のように、バンド幅の狭い単一バスを利用するのは、グループ署名アルゴリズムに特有の手法であり、発明者が上記のような分析を行い、従来の手法とは異なる観点から解決策を考案することで得られた手法である。
上記のように、グループ署名アルゴリズムに特有の事情として、データ転送に要する時間の占める割合が極めて低いことがある。このため、バス上の転送トラフィック量は少ないと考えられるので、高性能回路を構成する場合であっても、複数のバスや、バンド幅の広いバスは不要である。
すなわち、一般の回路アーキテクチャ設計では、高性能化を図る場合にはバスの広帯域化を行うのが常套手段であるが、グループ署名アルゴリズムでは上述した事情があるため、バスの広帯域化を行わずに高性能化を図ることができるのである。
しかも、グループ署名アルゴリズムにおける特定の演算には、データの依存性が低く、並列に計算することが可能であることがわかる。従って、サブIP302毎に並列に計算を行い、必要に応じてローカルバス304を介して計算結果をやりとりすることで計算の高速化を図ることができる。
また、単一バスアーキテクチャを採用することによって、サブIP302の個数を増減させるなどの構成設定の変更が極めて容易となる。この際には、グループ署名アルゴリズムに内在する並列可能性には、上限があると考えられるため、これに応じてサブIP302の個数を定めれば電子回路の製造コスト等の抑制を図ることができる。
メインCPU310は、グローバルオンチップバス330に接続された各IPコア(例えば、IPコア301や別タスクのIPコア320等)を制御することにより、署名生成装置(署名検証装置)全体の動作を制御する。メインCPU310は、例えば、図示しないROMに記憶された署名生成プログラム(署名検証プログラム)を実行する。
グローバルオンチップバス330は、メインCPU310と、IPコア301と、別タスクのIPコア320と、を相互に接続する。
バスブリッジ305は、IPコア301内のローカルバス304と、グローバルオンチップバス330と、を相互に接続する。
各サブIP302は、それぞれ、楕円曲線演算(EC;Elliptic Curve)、剰余演算、多倍長整数演算、ハッシュ演算に対応付けられている。また、演算の種類やデータビット幅に応じて、複数の機能モードが用意されている。
これらの演算は、非特許文献1に開示されるグループ認証アルゴリズムの計算において利用されるものである。すなわち、EC演算は、楕円曲線上でのスカラー倍、加算、減算([c](・),+e,-e)を行うものである。剰余演算は、べき乗剰余(ab (mod n))や乗剰余(a b (mod n))を計算するものである。ハッシュ演算は、ビット列からハッシュ値を計算する(Hash)ものである。
図4は、サブIP302の内部構造を示す説明図である。以下、本図を参照して説明する。
本図に示すように、サブIP302は、有限状態機械(FSM;Finite State Machine)コントローラ401によって制御され、データRAM402には処理の対象となるデータが格納される。
演算回路403は、各種の演算を行うものであるが、高速計算のために、剰余演算は、モントゴメリードメインの上で計算され、EC演算は、モントゴメリー数値表現のヤコビアン座標の上で計算される。
データRAM402と演算回路403はデータバス404で接続されてデータのやり取りを行う。ここで、データRAM402に対するポートの個数は、同時に実行される読み書きアクセスの最大数に定めることとすれば、高速な処理が期待できる。
図5は、各サブIP302が接続されたIPコア301の詳細を示す説明図である。以下、本図を参照して説明する。
本図に示すように、本実施形態に係るIPコア301では、EC演算サブIP501は、1個乃至5個、剰余演算サブIP502(「RSA演算サブIP」と呼ぶこともある。)は、1個乃至5個、多倍長整数演算サブIP503は、1個、ハッシュ演算サブIP504は、1個からなっており、狭バンド幅の単一レイヤーバスであるローカルバス304によって接続されている。
各サブIP302の種類と個数は、計算の高速化および回路面積の抑制による低コスト化の観点から上記の範囲が望ましい。これ以上サブIP302の個数を増やしても、高速になることはないからである。また、ローカルバス304を採用することにより、バス配線を簡略化することができ、これも低コストに貢献することができる。
図6は、本実施形態に係るIPコア301の設計手法を説明するためのフローチャートである。以下、本図を参照して説明する。
本設計においては、伝統的なブロック構築アプローチを採用する。すなわち、各サブIP302を単独でテストしてから、IPコア301全体の統合を行うのである。
まず、ステップ1においては、C言語やC++言語を利用したプログラミングによって、ソフトウェア的に計算モデルを作成する。
次に、ステップ2においては、各サブIP302がローカルバス303によって接続されるハードウェアモデルを適当に定めて作成する。
さらに、ステップ3においては、標準的な動作調整を行い、性能データを取得する。
そして、ステップ4では、各サブIP302の動作調整を行い、これらが並列に動作するようにする。
最後に、ステップS5において、サブIP302をIPコア301に統合して、FPGAプロトタイプにおいて動作のデバッグを行う。
ステップ1、2、3、5においては、C言語を基本としたハードウェア設計、動作調整、FPGAプロトタイプ作成を行う。この際には、図3乃至図5に示すような新規なモデルを採用することとするが、一旦モデルを採用してしまえば、具体的な手法については、公知の技術を採用することができる。このような構成としたのは、以下の理由による。
(1)RTLシミュレーションを行わなくとも、各サブIP302を効率的に開発できる。各サブIP302のシミュレーションは、IPコア301全体のシミュレーションに比べて高速にでき、分割して設計を行ってから統合する方が、圧倒的に作業量が少ない。
(2)全体性能の設定を容易に変更することができるようになる。各サブIP302の性能は、データRAM402の種類に大きく左右されるが、IPコア301全体を構築してからデータRAM402の種類を変更することは、設計手法上難しい。
(3)ブロック構築アプローチを採用していても、全IPコア301の検証は必要である。これは、データ転送コントローラ303のマイクロコード(ファームウェア)をデバッグするためである。この際、RTLシミュレーションはあまりに低速であるため、FPGAプロトタイプを作成してデバッグするのが適切である。
近年、動作合成技術が大幅に発達しているが、純粋なC言語のソフトウェアコードから効率のよいハードウェアを何も変更せずに合成することは未だに難しい。このため、図6のステップ2において、ある程度の書き換え作業が必要である。以下に、必要な処理を示す。
(1)データビット幅の最適化と余分な演算の除去。グループ署名だけでなく公開鍵の暗号化ソフトウェアは大抵特別な関数ライブラリを使用する。なお、その関数ライブラリの関数は、Cに組み込まれた32ビット或いは64ビットの整数演算の組み合わせによる長いビットの算術演算を実行する。このため、注意深いオーバーフロー制御もまたソフトウェアに実装する必要がある。しかしながら、ハードウェアでは、任意のビット幅の直接的な演算が可能である。
(2)算術演算と数値表現の最適化。ソフトウェアでは、2の補数表現による整数演算のみが可能であるが、ハードウェアでは、様々な数値表現による様々な演算を行うように柔軟な構造(例えば、評価指数システムにおけるGF演算)をとることが可能である。
(3)動的なメモリ割り当て、動的ポインタ及び再帰の除去。もし、平衡木や線形リストのようなソフトウェアのようなデータ型が使用されていれば、それらも除去しなければならない。
(4)ソースコードに適切な動作合成制御演算を追加する。最も頻繁に用いられるオプションの一つは、内側のループに配置される「ループホールディング」である。例えば、ループ内にSRAMへアクセスする記述(SRAMをチェックするための記述)がある場合、動作合成装置は当該記述により表現される処理が冗長な処理であるとして当該記述を省略して動作合成する可能性がある。当該オプションは、このような事態を防止するために使用される。
動作合成により得られたユニットの性能(性能結果)は、RSAやECCの従来の手作りのRTLの性能に匹敵する。なお、クロックサイクル数は、ASIC/FPGAの製造ライブラリとは独立している。
ここで、総合的なIP性能は、同時にどれだけの数のサブIP演算が実行できるかによりほぼ決定する。しかしながら、標準的な動作合成は、Cに組み込まれた演算子(+、−、×、/、%)の並列スケジュールをサポートするだけであり、より高水準の関数のスケジュールもサポートせず、また、実行時に動作モードが決定する関数のスケジュールもサポートしない。
そこで、サブIPレベル(C関数ライブラリレベル)の特注の動作合成装置(以下、単に「動作合成装置」という。)を製造して用いる。
この動作合成装置の入力は、
(i)アルゴリズム全体の逐一的記述。
(ii)サブIPの番号。
(iii)RTLシミュレーション、FPGAプロトタイピングあるいは理論的計算により得られる、サブIPにおける全ての演算のクロックサイクル数。
である。
動作合成装置は、それにより各サブIP演算の開始順やサブIPユニット番号の割り当てが特定される、並列計算順序を出力する。この出力は、データ転送コントローラのマイクロコードを書くために用いられる。
動作合成装置は、サブIPが利用可能になった場合に、実行時間がなるべく長い演算を割り当てて直ちに実行を開始させる、といった近似的アルゴリズムを用いてRCPSP(Resource Constrained Project Scheduling Problem)を解決する。
この動作合成装置は、グループ署名に特化しており、多くの一般的なESL/TLM合成の問題が以下の側面において除去される。
(1)サブIP間のデータ転送時間が無視できる。
(2)ローカルバストポロジの探索と合成が不要である。
(3)マクロパイプラインの構築やデータ転送プロトコルの合成が不要である。
上述の動作合成装置を用いて、合計計算速度とサブIPの数との間の関係を調査した。標準/高水準セキュリティーレベルにおける署名生成/検証の結果を図7乃至10に示す。
図7は、標準セキュリティーレベルにおける署名生成の際の剰余演算サブIPの数(Number of Modular arithmetic sub−IPs)と合計待ち時間(Total latency(msec at 100MHz))との関係を示す。図8は、高水準セキュリティーレベルにおける署名生成の際の剰余演算サブIPの数と合計待ち時間との関係を示す。図9は、標準セキュリティーレベルにおける署名検証の際の剰余演算サブIPの数と合計待ち時間との関係を示す。図10は、高水準セキュリティーレベルにおける署名検証の際の剰余演算サブIPの数と合計待ち時間との関係を示す。
これらの結果は、図1、2に示すクロックサイクル数の絶対値から取得したものであるが、例え製造ライブラリやターゲット製品が代わったとしても同様の結果が得られるであろう。なぜなら、クロックサイクル数はライブラリとは独立しているためである。
もし、全ての演算が連続的に実行されれば、図1、2に示すように、全計算時間の80%以上がべき乗剰余により占められる。そこで、剰余演算を実行するサブIPの数を増やすと、4、5個の剰余サブIPを用いたときに最高速度に達する。さらに、標準セキュリティーレベルにおいて64ビットのべき乗剰余を用いる場合を除き、他のサブIPの数を増やしても効果がない。
また、RAMのデータビット幅と剰余演算サブIP内のモントゴメリー乗算器とを増やせば、同様に効果的である。べき乗剰余により消費されるクロックサイクル数は、mをRAMのビット幅、n1を基数(1024又は2048)のビット幅、n2を指数のビット幅として、O((n1/m)・n2)となる。mが増加したときに最大クロック周波数はO(1/logm)のオーダで減少するが、その減少の効果はクロックサイクル数の減少と比較して小さい。
他の重要な注目すべき点は、サブIPの最適数は、署名生成と署名検証との間で同じである。このため、同じハードウェアを生成と検証とで性能を落とすことなく用いることが可能である。
例えば、130nm標準セルASICに実装する場合の、各サブIP(標準セキュリティーレベル)の回路サイズを考える。もし、AHBシングルレイヤーバスをローカルバスとして用い、各サブIPの数が1である場合には、合計回路サイズは350Kゲートとなる。剰余演算ユニットを1つ付加すると、合計回路サイズは50Kゲート増加する。
もし、高水準セキュリティーレベルが選択されると、論理ゲートの数は同じままであり、SRAM(Dual Port RAM)の量が倍になる。もし、130nm標準セルライブラリに配置したなら、最悪の遅延条件での最大クロック周波数は、150〜200MHzである。同様の回路をFPGAデバイスに配置し、署名生成と署名検証は予測時間内に正常に実行されることを確認した。
上述のように、本発明によれば、製造コストを抑制しつつ、グループ署名の生成および検証を高速にする電子回路を実現するのに好適な、署名生成装置、ならびに、署名検証装置を提供することができる。
グループ署名生成の際の各演算のクロックサイクル数等を説明するための図である。 グループ署名検証の際の各演算のクロックサイクル数等を説明するための図である。 本発明の実施形態に係る署名生成装置が備えるIPコアの概要構成を示すブロック図である。 サブIPの内部構造を説明するための図である。 IPコアの詳細を説明するためのブロック図である。 IPコアの設計手法を説明するためのフローチャートである。 標準セキュリティーレベルにおける署名生成の際の剰余演算サブIPの数と合計待ち時間との関係を示す図である。 高水準セキュリティーレベルにおける署名生成の際の剰余演算サブIPの数と合計待ち時間との関係を示す図である。 標準セキュリティーレベルにおける署名検証の際の剰余演算サブIPの数と合計待ち時間との関係を示す図である。 高水準セキュリティーレベルにおける署名検証の際の剰余演算サブIPの数と合計待ち時間との関係を示す図である。
符号の説明
301 IPコア
302 サブIP
303 データ転送コントローラ
304 ローカルバス
305 バスブリッジ
310 メインCPU
320 別タスクのIPコア
330 グローバルオンチップバス
401 FSMコントローラ
402 データRAM
403 演算回路
404 データバス
501 EC演算サブIP
502 剰余演算サブIP
503 多倍長整数演算サブIP
504 ハッシュ演算サブIP

Claims (4)

  1. グループ署名の署名を生成する署名生成装置であって、
    当該グループ署名は、
    所定のビット長K[n]、
    所定のビット長K[l]、
    所定のビット長K[e]、
    所定のビット長K[e']、
    楕円曲線により定義される有限群GGの次数である素数qのビット長K[q]、
    任意長のビット列に適用されるハッシュ関数Hashが返す値のビット長K[c]、
    いかなる整数aに対しても|a|+K[S]ビット長の乱数rを選択したときに、a+rとaが統計的に区別できなくなるようなビット長K[S]、
    セキュリティパラメータK = (K[n],K[l],K[e],K[e'],K[q],K[c],K[S])、
    整数λ = K[n]+K[q]+K[S]、
    0以上2λ未満の整数を要素とする集合Λ、
    当該楕円曲線上でのスカラーc倍演算[c](・)、
    当該楕円曲線上での点加算(・)+e(・)、
    当該楕円曲線上での点減算(・)-e(・)に対するグループ署名であり、
    当該グループ署名の発行者鍵対
    ipk = (n,a[0],a[1],a[2]);
    isk = (p[1],p[2])
    は、ビット長K[n]/2の安全な素数p[1],p[2]、n = p[1]p[2]、当該nに対する巡回部分群QR(n)の要素a[0],a[1],a[2]により定められ、
    当該グループ署名の開示者鍵対
    opk = (q,G,H[1],H[2]);
    osk = (y[1],y[2])
    は、当該素数qを法とする有限体Zqの要素y[1],y[2]、当該有限群GGの要素G、H[1] = [y[1]]G,H[2] = [y[2]]Gにより定められ、
    当該グループ署名のユーザ削除管理者鍵対
    rpk = (l,b,w);
    rsk = (l[1],l[2])
    は、ビット長K[l]/2の安全な素数l[1],l[2]、l = l[1]l[2]、当該lに対する巡回部分群QR(l)の要素b,wにより定められ、
    当該グループ署名のi番目のユーザに対するユーザ鍵対
    msk[i] = x[i];
    mpk[i] = (h[i],A[i],e'[i],B[i])
    は、当該集合Λの要素x[i]、h[i] = [x[i]]G、B[i] = b1/e'[i] (mod l)、e[i] = 2K[e] + e'[i]、a[0]a[1]x[i]≡A[i]e[i] (mod n)を満たすA[i],B[i],e[i],e'[i]により定められ、
    当該署名生成装置は、i番目のユーザによるメッセージmに対する署名を生成するものであり、
    当該署名生成装置は、
    当該有限体Zqの要素ρ[E]と、ビット長K[n]/2のビット列ρ[m]と、ビット長K[l]/2のビット列ρ[r]と、ビット長λ+K[c]+K[S]のビット列μ[x]と、ビット長K[e]+K[n]/2+K[c]+K[S]のビット列μ[s]と、ビット長K[e']+K[c]+K[S]のビット列μ[e']と、ビット長K[e']+K[l]/2+K[c]+K[S]のビット列μ[t]と、当該有限体Zqの要素μ[E]と、を、ランダムに選択する手段、
    E[0] = [ρ[E]]Gと、E[1] = h[i] +e [ρ[E]]H[1]と、E[2] = h[i] +e [ρ[E]]H[2]と、E = (E[0],E[1],E[2])と、V[ComCipher] = ([μ[E]]G,[μ[x]]G +e [μ[E]]H[1],[μ[x]]G +e [μ[E]]H[2])と、を計算する手段、
    A[COM] = A[i]a[2]ρ[m] (mod n)と、B[COM] = B[i]wρ[r] (mod l)と、V[ComMPK] = a[1]μ[x]a[2]μ[s]A[COM]-μ[e'] (mod n)と、V[ComREV] = wμ[t]B[COM]-μ[e'] (mod l)と、を計算する手段、
    c = Hash(K,ipk,opk,rpk,E,A[COM],B[COM],V[ComCipher],V[ComMPK],V[ComRev],m)を計算する手段、
    τ[x] = c x[i] + μ[x] (mod q)と、τ[s] = c e[i] ρ[m] + μ[s] (mod q)と、τ[t] = c e'[i] ρ[r] + μ[t] (mod q)と、τ[e'] = c e'[i] + μ[e'] (mod q)と、τ[E] = c ρ[E] + μ[E] (mod q)と、を計算する手段、
    署名(E,A[COM],B[COM],c,τ[x],τ[s],τ[t],τ[e'],τ[E])を出力する手段
    を備え、
    当該計算のうち、a[1]μ[x] (mod n)と、a[2]μ[s] (mod n)と、wμ[t] (mod l)と、の、いずれか2つもしくは3つを並列に計算し、
    当該署名生成装置は、
    当該計算のうち、当該楕円曲線上でのスカラーc倍演算[c](・)と、当該楕円曲線上での点加算(・)+ e (・)と、当該楕円曲線上での点減算(・)- e (・)と、の計算を行う楕円計算回路、
    当該計算のうち、べき乗剰余、乗剰余の計算を行う1つまたは複数のRSA計算回路、
    当該計算のうち、Hashの計算を行うハッシュ計算回路、
    前記楕円計算回路と、前記1つまたは複数のRSA計算回路と、前記ハッシュ計算回路と、の間で計算結果を受け渡す狭バンド幅の単一レイヤーバス
    を備える
    ことを特徴とする署名生成装置。
  2. 請求項に記載の署名生成装置であって、
    前記RSA計算回路が備えるべき乗剰余計算回路は、1つ乃至5つである
    ことを特徴とする署名生成装置。
  3. グループ署名の署名を検証する署名検証装置であって、
    当該グループ署名は、
    所定のビット長K[n]、
    所定のビット長K[l]、
    所定のビット長K[e]、
    所定のビット長K[e']、
    楕円曲線により定義される有限群GGの次数である素数qのビット長K[q]、
    任意長のビット列に適用されるハッシュ関数Hashが返す値のビット長K[c]、
    いかなる整数aに対しても|a|+K[S]ビット長の乱数rを選択したときに、a+rとaが統計的に区別できなくなるようなビット長K[S]、
    セキュリティパラメータK = (K[n],K[l],K[e],K[e'],K[q],K[c],K[S])、
    整数λ = K[n]+K[q]+K[S]、
    0以上2λ未満の整数を要素とする集合Λ、
    当該楕円曲線上でのスカラーc倍演算[c](・)、
    当該楕円曲線上での点加算(・)+e(・)、
    当該楕円曲線上での点減算(・)-e(・)に対するグループ署名であり、
    当該グループ署名の発行者鍵対
    ipk = (n,a[0],a[1],a[2]);
    isk = (p[1],p[2])
    は、ビット長K[n]/2の安全な素数p[1],p[2]、n = p[1]p[2]、当該nに対する巡回部分群QR(n)の要素a[0],a[1],a[2]により定められ、
    当該グループ署名の開示者鍵対
    opk = (q,G,H[1],H[2]);
    osk = (y[1],y[2])
    は、当該素数qを法とする有限体Zqの要素y[1],y[2]、当該有限群GGの要素G、H[1] = [y[1]]G,H[2] = [y[2]]Gにより定められ、
    当該グループ署名のユーザ削除管理者鍵対
    rpk = (l,b,w);
    rsk = (l[1],l[2])
    は、ビット長K[l]/2の安全な素数l[1],l[2]、l = l[1]l[2]、当該lに対する巡回部分群QR(l)の要素b,wにより定められ、
    当該グループ署名のi番目のユーザに対するユーザ鍵対
    msk[i] = x[i];
    mpk[i] = (h[i],A[i],e'[i],B[i])
    は、当該集合Λの要素x[i]、h[i] = [x[i]]G、B[i] = b1/e'[i] (mod l)、e[i] = 2K[e] + e'[i]、a[0]a[1]x[i]≡A[i]e[i] (mod n)を満たすA[i],B[i],e[i],e'[i]により定められ、
    当該署名検証装置は、メッセージmに対する署名σ = (E,A[COM],B[COM],c,τ[x],τ[s],τ[t],τ[e'],τ[E])を検証するものであり、E = (E[0],E[1],E[2])であり、
    V'[ComCipher] = ([τ[E]]G -e [c]E[0],[τ[x]]G +e [τ[E]]H[1],[τ[x]]G +e [τ[E]]H[2] -e [c]E[2])を計算する手段、
    p = c 2K[2] + τ[e']と、V'[ComMPK] = a[0]ca[1]τ[x]a[2]τ[s]A[COM]-p (mod n)と、V'[ComREV] = bcwτ[t]B[COM]-τ[e'] (mod l)と、を計算する手段、
    c' = Hash(K,ipk,opk,rpk,E,A[COM],B[COM],V'[ComCipher],V'[ComMPK],V'[ComREV],m)を計算する手段、
    |τ[x]|≦λ+K[c]+K[S]、かつ、|τ[e']|≦K[e']+K[c]+K[S]、かつ、c' = cである場合、検証成功とし、そうでない場合、検証失敗とする手段
    を備え、
    当該計算のうち、a[1]τ[x] (mod n)と、a[2]τ[s] (mod n)と、wτ[t] (mod l)と、の、いずれか2つもしくは3つを並列に計算し、
    当該署名検証装置は、
    当該計算のうち、当該楕円曲線上でのスカラーc倍演算[c](・)と、当該楕円曲線上での点加算(・)+ e (・)と、当該楕円曲線上での点減算(・)- e (・)と、の計算を行う楕円計算回路、
    当該計算のうち、べき乗剰余、乗剰余の計算を行う1つまたは複数のRSA計算回路、
    当該計算のうち、Hashの計算を行うハッシュ計算回路、
    前記楕円計算回路と、前記1つまたは複数のRSA計算回路と、前記ハッシュ計算回路と、の間で計算結果を受け渡す狭バンド幅の単一レイヤーバス
    を備える
    ことを特徴とする署名検証装置。
  4. 請求項に記載の署名検証装置であって、
    前記RSA計算回路が備えるべき乗剰余計算回路は、1つ乃至5つである
    ことを特徴とする署名検証装置。
JP2008173993A 2008-07-02 2008-07-02 署名生成装置、ならびに、署名検証装置 Active JP5233449B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008173993A JP5233449B2 (ja) 2008-07-02 2008-07-02 署名生成装置、ならびに、署名検証装置
US12/458,068 US8199910B2 (en) 2008-07-02 2009-06-30 Signature generation apparatus and signature verification apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008173993A JP5233449B2 (ja) 2008-07-02 2008-07-02 署名生成装置、ならびに、署名検証装置

Publications (2)

Publication Number Publication Date
JP2010014912A JP2010014912A (ja) 2010-01-21
JP5233449B2 true JP5233449B2 (ja) 2013-07-10

Family

ID=41379832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008173993A Active JP5233449B2 (ja) 2008-07-02 2008-07-02 署名生成装置、ならびに、署名検証装置

Country Status (2)

Country Link
US (1) US8199910B2 (ja)
JP (1) JP5233449B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004461A (ja) * 2005-06-23 2007-01-11 Nec Corp サービス提供システム、アウトソーシング業者装置、サービス提供方法およびプログラム
JP5233449B2 (ja) * 2008-07-02 2013-07-10 日本電気株式会社 署名生成装置、ならびに、署名検証装置
WO2011148558A1 (ja) 2010-05-28 2011-12-01 日本電気株式会社 署名生成装置、署名方法、及び署名生成プログラムが格納された非一時的なコンピュータ可読媒体
WO2012056608A1 (ja) * 2010-10-29 2012-05-03 日本電気株式会社 署名処理装置
CN107666387A (zh) * 2016-07-27 2018-02-06 北京计算机技术及应用研究所 低功耗并行哈希计算电路
US10536441B2 (en) * 2016-08-23 2020-01-14 Texas Instruments Incorporated Thread ownership of keys for hardware-accelerated cryptography
JP2018146766A (ja) * 2017-03-06 2018-09-20 キヤノン株式会社 スカラー倍演算装置、スカラー倍演算方法及びプログラム
CN109510709B (zh) * 2018-09-18 2020-09-08 中国农业大学 基于RSA的(k,n)门限签名方法、装置与电子设备
CN113114466B (zh) * 2021-03-23 2023-09-29 武汉珈港科技有限公司 一种并行验签的方法
CN115834086B (zh) * 2023-02-15 2023-05-02 山东大学 数字签名中多重指数幂和多标量乘的高效实现方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0085130A1 (en) * 1982-02-02 1983-08-10 Omnet Associates Method and apparatus for maintaining the privacy of digital messages conveyed by public transmission
JP3796993B2 (ja) * 1998-12-22 2006-07-12 株式会社日立製作所 楕円曲線暗号実行方法及び装置並びに記録媒体
JP2001167066A (ja) * 1999-12-08 2001-06-22 Nec Corp プロセッサ間通信方法及びマルチプロセッサシステム
DE10061998A1 (de) * 2000-12-13 2002-07-18 Infineon Technologies Ag Kryptographieprozessor
JP3694242B2 (ja) * 2001-01-18 2005-09-14 日本電信電話株式会社 署名付き暗号通信方法及びその装置
JP2002358012A (ja) * 2001-03-28 2002-12-13 Matsushita Electric Ind Co Ltd 情報セキュリティ装置、べき乗演算装置、べき乗剰余演算装置及び楕円べき倍演算装置
JP4899867B2 (ja) * 2005-01-21 2012-03-21 日本電気株式会社 グループ署名方式
EP1998493A4 (en) * 2006-03-16 2015-12-09 Nec Corp GROUP SIGNATURE SYSTEM AND METHOD FOR INFORMATION PROCESSING
JP4706855B2 (ja) 2006-03-31 2011-06-22 日本電気株式会社 動作合成装置及び回路設計支援方法
JP5233449B2 (ja) * 2008-07-02 2013-07-10 日本電気株式会社 署名生成装置、ならびに、署名検証装置

Also Published As

Publication number Publication date
US20090296923A1 (en) 2009-12-03
JP2010014912A (ja) 2010-01-21
US8199910B2 (en) 2012-06-12

Similar Documents

Publication Publication Date Title
JP5233449B2 (ja) 署名生成装置、ならびに、署名検証装置
Zhang et al. Portable and scalable FPGA-based acceleration of a direct linear system solver
Zhao et al. Performance modeling and directives optimization for high-level synthesis on FPGA
Piccolboni et al. COSMOS: Coordination of high-level synthesis and memory optimization for hardware accelerators
Lai et al. Energy-adaptive dual-field processor for high-performance elliptic curve cryptographic applications
JP2005293163A (ja) 消費電力計算方法及び装置
Paul et al. MAHA: An energy-efficient malleable hardware accelerator for data-intensive applications
Del Barrio et al. A partial carry-save on-the-fly correction multispeculative multiplier
Tsiokanos et al. DTA-PUF: Dynamic timing-aware physical unclonable function for resource-constrained devices
Mu et al. Scalable and conflict-free NTT hardware accelerator design: Methodology, proof and implementation
Yang et al. NTTGen: a framework for generating low latency NTT implementations on FPGA
Néto et al. A Parallel and Uniform $ k $-Partition Method for Montgomery Multiplication
Zhuo et al. Scalable hybrid designs for linear algebra on reconfigurable computing systems
Chang et al. Logic synthesis and circuit customization using extensive external don't-cares
Cong et al. Accelerating monte carlo based SSTA using FPGA
Ernst et al. FPGA based hardware acceleration for elliptic curve public key cryptosystems
Bensalem et al. An efficient OpenCL-Based implementation of a SHA-3 co-processor on an FPGA-centric platform
Shu et al. Reconfigurable computing approach for Tate pairing cryptosystems over binary fields
Kokila et al. Hardware signature generation using a hybrid puf and fsm model for an soc architecture
Zarrinchian et al. Combinational counters: A low overhead approach to address DPA attacks
Asshidiq et al. Implementation of ecc on reconfigurable fpga using hard processor system
Guo Secure and efficient implementations of cryptographic primitives
Lien Efficient Implementation of Elliptic Curve Cryptography In Reconfigurable Hardware
Piccolboni Multi-Functional Interfaces for Accelerators
Hau et al. SystemC-based HW/SW co-simulation platform for system-on-chip (SoC) design space exploration

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110603

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130201

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130311

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5233449

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160405

Year of fee payment: 3