JP2008301391A - 放送用暗号システムと暗号通信方法、復号器及び復号プログラム - Google Patents
放送用暗号システムと暗号通信方法、復号器及び復号プログラム Download PDFInfo
- Publication number
- JP2008301391A JP2008301391A JP2007147784A JP2007147784A JP2008301391A JP 2008301391 A JP2008301391 A JP 2008301391A JP 2007147784 A JP2007147784 A JP 2007147784A JP 2007147784 A JP2007147784 A JP 2007147784A JP 2008301391 A JP2008301391 A JP 2008301391A
- Authority
- JP
- Japan
- Prior art keywords
- key
- decoder
- secret
- header
- component
- 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
Links
- 238000000034 method Methods 0.000 title claims description 12
- 238000004891 communication Methods 0.000 title claims description 7
- 230000010365 information processing Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 239000003643 water by type Substances 0.000 description 2
- 108010014172 Factor V Proteins 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
- H04L9/3073—Public 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 involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/601—Broadcast encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
【構成】 楕円曲線E状の秘密のパラメータP,Q、秘密の数s,rに対し、クライアントのIDを衝突耐性ハッシュ関数hで処理してIiとし、クライアントの秘密鍵をKi=(s+Ii)-1Pとする。メッセージmを暗号化するセッション鍵Ksを Ks=enc(P,Q)rkとし、ヘッダを、
H1=kΠi=1〜N(s+Ii)R=kΣi=0〜NcisiR、H2=k(rP)、S={I1,I2,…,IN}で構成する。クライアントは、 A=en(Ki,H1)=en((s+Ii)-1P,kΠi=1〜N(s+Ii)R) と、
B=en(H2,Π j=1〜N,j≠i(s+Ij)Q−Π j=1〜N,j≠iIjQ)
=en(P,Q)rkΠj=1〜N,j≠i Ij とから、
A/B=en(P,Q)rkΠ j=1〜N,j≠iIj,
(A/B)Π j=1〜N,j≠iIj-1=Ks によりセッション鍵を復元する。
【効果】 IDに基づく放送用暗号を提供できる。
【選択図】 図2
H1=kΠi=1〜N(s+Ii)R=kΣi=0〜NcisiR、H2=k(rP)、S={I1,I2,…,IN}で構成する。クライアントは、 A=en(Ki,H1)=en((s+Ii)-1P,kΠi=1〜N(s+Ii)R) と、
B=en(H2,Π j=1〜N,j≠i(s+Ij)Q−Π j=1〜N,j≠iIjQ)
=en(P,Q)rkΠj=1〜N,j≠i Ij とから、
A/B=en(P,Q)rkΠ j=1〜N,j≠iIj,
(A/B)Π j=1〜N,j≠iIj-1=Ks によりセッション鍵を復元する。
【効果】 IDに基づく放送用暗号を提供できる。
【選択図】 図2
Description
この発明は1:N(Nは2以上の自然数)の通信を行う放送用暗号に関し、特に受信者のIDに基づいた放送用暗号に関する。
発明者らは、楕円曲線上のペアリングを用いた放送用暗号を提案した(非特許文献1:Shigeo MITSUNARI,Ryuichi SAKAI,and Masao KASAHARA,"A Ne Traitor Tracing", IEICE Transactions Vol.E85-A, No.2,pp.481-484,Feb.2002、;特許文献1:特開2002−271310)。その後、Bonehらは、各クライアント、即ち復号器に一意の番号を付した、放送用暗号を提案した(非特許文献2:D.Boneh, G.Gentry,and B.Waters,"Collusion Resistant Broadcast Encryption With Short Cihertexts and Private Keys" Euro-cypt 2005)。Bonehらの提案でも楕円曲線上のペアリングを用い、各クライアントは固有の秘密鍵を持ち、放送事業者はメッセージをセッション毎の鍵で暗号化したものに、ヘッダを付加して放送する。クライアントはヘッダと自己の秘密鍵からセッション鍵を復元して、メッセージを復号する。
Shigeo MITSUNARI,Ryuichi SAKAI,and Masao KASAHARA,"A New Traitor Tracing", IEICE Transactions Vol.E85-A, No.2,pp.481-484,Feb.2002 D.Boneh, C.Gentry,and B.Waters,"Collusion Resistant Broadcast Encryption With Short Ciphertexts and Private Keys" Euro-cypt 2005 D.Boneh, Xavier BOYEN,and Eu-Jin GOH,"Hierarchical Identity Based Encryption with Consatant Size Ciphertext" Euro-cypt 2005 特開2002−271310
Shigeo MITSUNARI,Ryuichi SAKAI,and Masao KASAHARA,"A New Traitor Tracing", IEICE Transactions Vol.E85-A, No.2,pp.481-484,Feb.2002 D.Boneh, C.Gentry,and B.Waters,"Collusion Resistant Broadcast Encryption With Short Ciphertexts and Private Keys" Euro-cypt 2005 D.Boneh, Xavier BOYEN,and Eu-Jin GOH,"Hierarchical Identity Based Encryption with Consatant Size Ciphertext" Euro-cypt 2005
この発明の課題は、新規な放送用暗号を提供することにあり、クライアントの脱退に対して、システムパラメータやクライアント毎の秘密鍵を変更する必要が無い放送用暗号を提供することにある。
この発明の、楕円曲線上の双線形写像と離散対数問題とを用いた放送用暗号システムは、
デジタル情報処理装置からなる鍵生成部で、楕円曲線上の2元P,Qと、数s,rを生成して鍵生成部の秘密として記憶する手段と;
復号器のIDをハッシュ値Iiに変換する、衝突耐性ハッシュ関数hの記憶手段と;
記憶したハッシュ関数によりハッシュ値Iiを求めるための手段と;
求めた復号器のハッシュ値Iiにより、変数をsとし係数がハッシュ値Iiにより定まる多項式f(Ii)の値を求めて、復号器毎の秘密鍵Kiをf(Ii)-1 と秘密の元Pとを因子に含むように生成するための手段と;
復号器の総数以上の数をNとし、公開鍵としてR: R=rQ、 双線形写像をbi(,)としてbi(P,Q)を因子に含むパラメータy、及びベクトルRv: Rv=(sR,s2R,…,sNR)、ベクトルQv: Qv=(sQ,s2Q,…,sN-1Q)を生成して公開するための手段とを備えたものと、
デジタル情報処理装置からなる暗号化部で、公開のパラメータyのk乗 Ks=yk
をセッション毎の鍵として生成するための手段と;
メッセージmをセッション鍵Ksで暗号化するための手段と;
復号器のIDのハッシュ値の集合をSとして、ヘッダの第1成分H1を
H1=kΠi∈Sf(Ii)R として生成するための手段と;
ヘッダの第2成分H2をkとPとを因子に含むように生成するための手段と;
メッセージmとヘッダの第1成分H1及び第2成分H2を復号器に送信するための手段とを備えたものと、
デジタル情報処理装置からなる復号器で、ヘッダの第1成分H1と自己の秘密鍵Kiとの双線形写像 A=bi(Ki,H1) の値を求めるための手段と;
楕円曲線上の元 Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ を求め、さらにパラメータB: B=bi(H2,Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ) を求めるための手段と、
A/BのΠ j∈S,j≠iIj−1乗 A/BΠ j∈S,j≠i Ij−1 (ここで指数部はIj-1ではなく、Ij−1)からセッション鍵Ksを復号するための手段と; セッション鍵Ksから、メッセージmを復号するための手段とを備えたている。
デジタル情報処理装置からなる鍵生成部で、楕円曲線上の2元P,Qと、数s,rを生成して鍵生成部の秘密として記憶する手段と;
復号器のIDをハッシュ値Iiに変換する、衝突耐性ハッシュ関数hの記憶手段と;
記憶したハッシュ関数によりハッシュ値Iiを求めるための手段と;
求めた復号器のハッシュ値Iiにより、変数をsとし係数がハッシュ値Iiにより定まる多項式f(Ii)の値を求めて、復号器毎の秘密鍵Kiをf(Ii)-1 と秘密の元Pとを因子に含むように生成するための手段と;
復号器の総数以上の数をNとし、公開鍵としてR: R=rQ、 双線形写像をbi(,)としてbi(P,Q)を因子に含むパラメータy、及びベクトルRv: Rv=(sR,s2R,…,sNR)、ベクトルQv: Qv=(sQ,s2Q,…,sN-1Q)を生成して公開するための手段とを備えたものと、
デジタル情報処理装置からなる暗号化部で、公開のパラメータyのk乗 Ks=yk
をセッション毎の鍵として生成するための手段と;
メッセージmをセッション鍵Ksで暗号化するための手段と;
復号器のIDのハッシュ値の集合をSとして、ヘッダの第1成分H1を
H1=kΠi∈Sf(Ii)R として生成するための手段と;
ヘッダの第2成分H2をkとPとを因子に含むように生成するための手段と;
メッセージmとヘッダの第1成分H1及び第2成分H2を復号器に送信するための手段とを備えたものと、
デジタル情報処理装置からなる復号器で、ヘッダの第1成分H1と自己の秘密鍵Kiとの双線形写像 A=bi(Ki,H1) の値を求めるための手段と;
楕円曲線上の元 Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ を求め、さらにパラメータB: B=bi(H2,Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ) を求めるための手段と、
A/BのΠ j∈S,j≠iIj−1乗 A/BΠ j∈S,j≠i Ij−1 (ここで指数部はIj-1ではなく、Ij−1)からセッション鍵Ksを復号するための手段と; セッション鍵Ksから、メッセージmを復号するための手段とを備えたている。
この発明の、楕円曲線上の双線形写像と離散対数問題とを用いた放送用暗号通信方法は、
デジタル情報処理装置からなる鍵生成部により、楕円曲線上の2元P,Qと、数s,rを生成して鍵生成部の秘密とし、復号器のIDを衝突耐性ハッシュ関数hによりハッシュ値Iiに変換して、変数をsとし係数がハッシュ値Iiにより定まる多項式f(Ii)により、復号器毎の秘密鍵Kiをf(Ii)-1 と秘密の元Pとを因子に含むように定めて、放送用暗号を受信する各復号器に提供し;
復号器の総数以上の数をNとして;
暗号化用の公開鍵として、R: R=rQ、 双線形写像をbi(,)としてbi(P,Q)を因子に含むパラメータy、及びベクトルRv: Rv=(sR,s2R,…,sNR)を公開し;
さらに復号用の公開鍵として、ベクトルQv: Qv=(sQ,s2Q,…,sN-1Q)を公開し、
デジタル情報処理装置からなる暗号化部では、公開のパラメータyのk乗 Ks=yk をセッション毎の鍵として、メッセージmをセッション鍵Ksで暗号化すると共に、復号器のIDのハッシュ値の集合をSとして、ヘッダの第1成分H1を H1=kΠi∈Sf(Ii)R として生成し、ヘッダの第2成分H2をkとPとを因子に含むように生成し、メッセージmとヘッダの第1及び第2成分を復号器に送信し、
デジタル情報処理装置からなる復号器では、ヘッダの第1成分H1と自己の秘密鍵Kiとの双線形写像 A=bi(Ki,H1) の値を求めると共に、楕円曲線上の元
Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ を求め、さらにパラメータB:
B=bi(H2,Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ) を求め、
A/BのΠ j∈S,j≠iIj−1乗 A/BΠ j∈S,j≠i Ij−1 (ここで指数部はIj-1ではなく、Ij−1)からセッション鍵Ksを復号して、メッセージmを復号する。
デジタル情報処理装置からなる鍵生成部により、楕円曲線上の2元P,Qと、数s,rを生成して鍵生成部の秘密とし、復号器のIDを衝突耐性ハッシュ関数hによりハッシュ値Iiに変換して、変数をsとし係数がハッシュ値Iiにより定まる多項式f(Ii)により、復号器毎の秘密鍵Kiをf(Ii)-1 と秘密の元Pとを因子に含むように定めて、放送用暗号を受信する各復号器に提供し;
復号器の総数以上の数をNとして;
暗号化用の公開鍵として、R: R=rQ、 双線形写像をbi(,)としてbi(P,Q)を因子に含むパラメータy、及びベクトルRv: Rv=(sR,s2R,…,sNR)を公開し;
さらに復号用の公開鍵として、ベクトルQv: Qv=(sQ,s2Q,…,sN-1Q)を公開し、
デジタル情報処理装置からなる暗号化部では、公開のパラメータyのk乗 Ks=yk をセッション毎の鍵として、メッセージmをセッション鍵Ksで暗号化すると共に、復号器のIDのハッシュ値の集合をSとして、ヘッダの第1成分H1を H1=kΠi∈Sf(Ii)R として生成し、ヘッダの第2成分H2をkとPとを因子に含むように生成し、メッセージmとヘッダの第1及び第2成分を復号器に送信し、
デジタル情報処理装置からなる復号器では、ヘッダの第1成分H1と自己の秘密鍵Kiとの双線形写像 A=bi(Ki,H1) の値を求めると共に、楕円曲線上の元
Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ を求め、さらにパラメータB:
B=bi(H2,Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ) を求め、
A/BのΠ j∈S,j≠iIj−1乗 A/BΠ j∈S,j≠i Ij−1 (ここで指数部はIj-1ではなく、Ij−1)からセッション鍵Ksを復号して、メッセージmを復号する。
この発明の、楕円曲線上の双線形写像と離散対数問題とを用いた放送用暗号の、デジタル情報処理装置からなる復号器は、
楕円曲線上の秘密の2元をP,Q、秘密の数をs,r、個別の復号器のIDのハッシュ値をIi、変数をsとし係数がハッシュ値Iiにより定まる多項式をf(Ii)とし、復号器毎の秘密鍵Kiをf(Ii)-1 と秘密の元Pとを因子に含むものとし、復号器の総数以上の数をN、双線形写像をbi(,)としてbi(P,Q)を因子に含むパラメータをy、公開のベクトルQvを
Qv=(sQ,s2Q,…,sN-1Q)、セッション鍵Ksを Ks=yk として、メッセージmをセッション鍵Ksで暗号化した暗号文を復号するために、復号器のIDのハッシュ値の集合をSとし、メッセージmと共に受信したヘッダの第1成分H1を H1=kΠi∈Sf(Ii)R、kとPとを因子に含むヘッダの第2成分をH2として、
ヘッダの第1成分H1と自己の秘密鍵Kiとの双線形写像 A=bi(Ki,H1) の値を求めるための手段と;
楕円曲線上の元 Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ を求め、さらにパラメータB: B=bi(H2,Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ) を求めるための手段と、
A/BのΠ j∈S,j≠iIj−1乗 A/BΠ j∈S,j≠i Ij−1 からセッション鍵Ksを復号するための手段と; セッション鍵Ksから、メッセージmを復号するための手段とを備えている。
楕円曲線上の秘密の2元をP,Q、秘密の数をs,r、個別の復号器のIDのハッシュ値をIi、変数をsとし係数がハッシュ値Iiにより定まる多項式をf(Ii)とし、復号器毎の秘密鍵Kiをf(Ii)-1 と秘密の元Pとを因子に含むものとし、復号器の総数以上の数をN、双線形写像をbi(,)としてbi(P,Q)を因子に含むパラメータをy、公開のベクトルQvを
Qv=(sQ,s2Q,…,sN-1Q)、セッション鍵Ksを Ks=yk として、メッセージmをセッション鍵Ksで暗号化した暗号文を復号するために、復号器のIDのハッシュ値の集合をSとし、メッセージmと共に受信したヘッダの第1成分H1を H1=kΠi∈Sf(Ii)R、kとPとを因子に含むヘッダの第2成分をH2として、
ヘッダの第1成分H1と自己の秘密鍵Kiとの双線形写像 A=bi(Ki,H1) の値を求めるための手段と;
楕円曲線上の元 Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ を求め、さらにパラメータB: B=bi(H2,Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ) を求めるための手段と、
A/BのΠ j∈S,j≠iIj−1乗 A/BΠ j∈S,j≠i Ij−1 からセッション鍵Ksを復号するための手段と; セッション鍵Ksから、メッセージmを復号するための手段とを備えている。
好ましくは、前記双線形写像が修正ペアリングen(,)で、前記多項式f(Ii)が
f(Ii)=s+Ii で、復号器毎の秘密鍵Kiが Ki=(s+Ii)-1Pで、前記パラメータyが
y=en(P,Q)r で、前記第2成分H2がkrPである。
より好ましくは、ハッシュ値の集合Sと公開のベクトルQvとから、Πj∈S,j≠i(s+Ij)Qでのsの各次数の係数を、(s+I1)から(s+I1)(s+I2)の順でΠj∈S,j≠i(s+Ij)まで、逐次的に求めるための係数生成手段を設ける。
特に好ましくは、前記係数生成手段では、I1を0次の係数の初期値、1を1次の係数の初期値として、I1×I2の演算と1×I1+I2の演算を行い、次いで(I1×I2)×I3の演算と(I1+I2)×I3+I1×I2の演算と、I1+I2+I3の演算を行い、以降も逐次的に
Πj∈S,j≠i(s+Ij)まで処理する。
f(Ii)=s+Ii で、復号器毎の秘密鍵Kiが Ki=(s+Ii)-1Pで、前記パラメータyが
y=en(P,Q)r で、前記第2成分H2がkrPである。
より好ましくは、ハッシュ値の集合Sと公開のベクトルQvとから、Πj∈S,j≠i(s+Ij)Qでのsの各次数の係数を、(s+I1)から(s+I1)(s+I2)の順でΠj∈S,j≠i(s+Ij)まで、逐次的に求めるための係数生成手段を設ける。
特に好ましくは、前記係数生成手段では、I1を0次の係数の初期値、1を1次の係数の初期値として、I1×I2の演算と1×I1+I2の演算を行い、次いで(I1×I2)×I3の演算と(I1+I2)×I3+I1×I2の演算と、I1+I2+I3の演算を行い、以降も逐次的に
Πj∈S,j≠i(s+Ij)まで処理する。
この発明の、楕円曲線上の双線形写像と離散対数問題とを用いた放送用暗号の、デジタル情報処理装置からなる復号器のプログラムは、
楕円曲線上の秘密の2元をP,Q、秘密の数をs,r、個別の復号器のIDのハッシュ値をIi、変数をsとし係数がハッシュ値Iiにより定まる多項式をf(Ii)とし、復号器毎の秘密鍵Kiをf(Ii)-1 と秘密の元Pとを因子に含むものとし、復号器の総数以上の数をN、双線形写像をbi(,)としてbi(P,Q)を因子に含むパラメータをy、公開のベクトルQvを
Qv=(sQ,s2Q,…,sN-1Q)、セッション鍵Ksを Ks=yk として、メッセージmをセッション鍵Ksで暗号化した暗号文を復号するために、復号器のIDのハッシュ値の集合をSとして、メッセージmと共に受信したヘッダの第1成分H1を H1=kΠi∈Sf(Ii)R、kとPとを因子に含むヘッダの第2成分をH2として、
ヘッダの第1成分H1と自己の秘密鍵Kiとの双線形写像 A=bi(Ki,H1) の値を復号器により求めるための命令と;
楕円曲線上の元 Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ を求め、さらにパラメータB: B=bi(H2,Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ) を復号器により求めるための命令と、
A/BのΠ j∈S,j≠iIj−1乗 A/BΠ j∈S,j≠i Ij−1 (ここで指数部はIj-1ではなく、Ij−1)からセッション鍵Ksを復号器により復号するための命令と;
セッション鍵Ksから、メッセージmを復号器により復号するための命令とを備えている。
楕円曲線上の秘密の2元をP,Q、秘密の数をs,r、個別の復号器のIDのハッシュ値をIi、変数をsとし係数がハッシュ値Iiにより定まる多項式をf(Ii)とし、復号器毎の秘密鍵Kiをf(Ii)-1 と秘密の元Pとを因子に含むものとし、復号器の総数以上の数をN、双線形写像をbi(,)としてbi(P,Q)を因子に含むパラメータをy、公開のベクトルQvを
Qv=(sQ,s2Q,…,sN-1Q)、セッション鍵Ksを Ks=yk として、メッセージmをセッション鍵Ksで暗号化した暗号文を復号するために、復号器のIDのハッシュ値の集合をSとして、メッセージmと共に受信したヘッダの第1成分H1を H1=kΠi∈Sf(Ii)R、kとPとを因子に含むヘッダの第2成分をH2として、
ヘッダの第1成分H1と自己の秘密鍵Kiとの双線形写像 A=bi(Ki,H1) の値を復号器により求めるための命令と;
楕円曲線上の元 Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ を求め、さらにパラメータB: B=bi(H2,Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ) を復号器により求めるための命令と、
A/BのΠ j∈S,j≠iIj−1乗 A/BΠ j∈S,j≠i Ij−1 (ここで指数部はIj-1ではなく、Ij−1)からセッション鍵Ksを復号器により復号するための命令と;
セッション鍵Ksから、メッセージmを復号器により復号するための命令とを備えている。
この発明では、クライアント(復号器)の秘密鍵がそのIDのハッシュ値の関数なので、秘密鍵が漏洩すると漏洩元を追跡できる。また秘密のパラメータP,Qと秘密の数は、楕円曲線上の離散対数問題により安全に保たれる。さらに攻撃者が、正規のヘッダの第1成分H1と同等の役割を果たす偽のヘッダを、脱退者の秘密鍵などに合わせて偽造することができない。従って、脱退者が生じても、システムパラメータや、正規の復号器の秘密鍵などを変更する必要がない。
以下に本発明を実施するための最適実施例を示す。
図1〜図10に、実施例の放送用暗号システム2を示す。4は鍵生成器で、鍵生成センターに備えられ、6は暗号化器で、放送事業者やマルチキャストでの送信者、DVDなどのコンテンツの配給者、などに備えられている。8は公開ボードで、公開鍵を記憶し、10は復号化器で、放送やマルチキャスト通信などを受信し、あるいはDVDコンテンツを復号するクライアントに設けられている。システム2の要素4〜10はそれぞれデジタル情報処理装置からなり、インターネットなどのネットワークとの通信手段と、RAMやROM等のメモリ、モニター、キーボード、CDドライブなどのディスクドライブなどを備えている。実施例では、放送事業者が多数のクライアントに対しメッセージmを暗号化し、ヘッダと共に送信する例を説明する。ここで鍵生成器4を暗号化器6と共に放送事業者に設けても良く、また放送以外のマルチキャスト通信やDVD等のコンテンツの配給に、この発明を応用しても良い。
図2に、鍵生成器4の構造を示す。セキュリティーパラメータに従って、公開パラメータ生成器14は、楕円曲線E(Fq),楕円曲線E上のnねじれ群と位数が等しい整数環Z/nZの位数n,並びに及び衝突耐性ハッシュ関数hを発生する。衝突耐性ハッシュ関数hはクライアントのIDiをハッシュ値Iiに変換し、iは個々の復号化器10もしくはそのユーザを表す添字で、ハッシュ値Iiは100〜200ビット程度のデータである。公開パラメータ生成器14は、ベイユペアリングやテートペアリングなどの修正ペアリングen(,)を発生し、ペアリングen(,)は楕円曲線E上のnねじれ群の2元を位数nの1の乗法群の元に変換する。修正ペアリングに代えて通常のペアリングを用いても、あるいはより一般的な双線形写像を用いても良く、これらの性質自体は良く知られている(非特許文献3)。またNはクライアントの数を表すパラメータで、クライアントの数以上の値とし、クライアントの数と一致する必要はない。秘密鍵生成器12は、楕円曲線E上のnねじれ群の元P,Qと、
整数環Z/nZ上の秘密の数s,rを発生する。P,Qは、無限遠点ではないものとする。
整数環Z/nZ上の秘密の数s,rを発生する。P,Qは、無限遠点ではないものとする。
端末秘密鍵生成器16は、ハッシュ関数hにより個別のクライアントのID(IDi)をハッシュ値Iiに変換する。ここにiはクライアントの番号である。秘密の数s(整数環Z/nZの元)の多項式で、ハッシュ値Iiにより係数が定まる多項式をf(Ii)とし、ここでは簡単のため
f(Ii)=s+Ii とする。そしてクライアント毎の秘密鍵Kiを (s+Ii)-1P=f(Ii)-1P とする。秘密鍵Kiは楕円曲線E(Fq)上のnねじれ群の元で、クライアント毎に固有のパラメータであるため、漏洩した秘密鍵Kiが判明すると、どのクライアントから秘密鍵が漏洩したかが判明する。
f(Ii)=s+Ii とする。そしてクライアント毎の秘密鍵Kiを (s+Ii)-1P=f(Ii)-1P とする。秘密鍵Kiは楕円曲線E(Fq)上のnねじれ群の元で、クライアント毎に固有のパラメータであるため、漏洩した秘密鍵Kiが判明すると、どのクライアントから秘密鍵が漏洩したかが判明する。
公開鍵生成器18は暗号化用公開鍵生成部19と復号用公開鍵生成部20とを備え、暗号化用公開鍵生成部19では秘密の元Qと秘密の数rとにより、楕円曲線上のnねじれ群の元R=rQを計算する。そしてRi=siRとして、R1〜RNの各成分を求め、これらをR1〜RNの順に配列して、公開ベクトルRvとする。なお図では、ベクトルを太文字で表し、明細書では添え字vでベクトルを表す。暗号化用公開鍵生成部19ではこれ以外に、元Pと秘密の数rから楕円曲線上のnねじれ群の元rPを求め、ペアリングenを用いて、 y=en(P,Q)r=en(rP,Q)
=en(P,rQ)を求める。復号用公開鍵生成部20では、 Qi=siQ(i=1〜N-1) を求め、成分QiからなるベクトルQvを求める。Qiは楕円曲線上のnねじれ群の元である。
=en(P,rQ)を求める。復号用公開鍵生成部20では、 Qi=siQ(i=1〜N-1) を求め、成分QiからなるベクトルQvを求める。Qiは楕円曲線上のnねじれ群の元である。
公開ボード8はホームページなどを備えて、送信者6や復号化器10が公開鍵を取得できるようにし、公開パラメータ記憶部21には、パラメータn,E(Fq),h,en(,),Nを記憶する。暗号化用公開鍵記憶部22には、暗号化用の公開鍵R,rP,y,Rvを記憶する。復号用公開鍵記憶部23には復号用の公開鍵Qvを記憶する。端末秘密鍵生成器16は、復号化器10からIDを取得し、端末毎の秘密鍵Kiを復号化器10に送信する。
図3に暗号化器6の構造を示す。乱数生成器31は乱数k(整数環Z/nZの元)を生成し、セッション鍵作成部30は y=en(P,Q)r から、セッション毎の鍵 Ks=yk=en(P,Q)rk を求める。メッセージ暗号化部33は、メッセージmとセッション鍵Ksとを用いて暗号文Cを作成し、図のEncは暗号化を行う写像を意味する。受信端末ID記憶部32は、放送事業者と契約しているクライアントのIDを取得し、そのハッシュ値{I1〜IN}からなる集合Sを記憶している。なお集合Sは鍵生成器4で作成して公開ボード8で公開しても良いし、ハッシュ値ではなくIDそのものの集合でも良い。ヘッダ作成部34はヘッダHの3成分H1〜H3を作成し、ヘッダの第1成分H1:
H1=kΠ(i=1〜N)(s+Ii)R=kΠ(i=1〜N)f(Ii)R を求める。sは放送事業者にとっても秘密の数であり、H1を直接計算できないので、ヘッダH1をsの多項式として展開し、公開鍵ベクトルRvからヘッダH1を求める。H1を秘密の数sの多項式として展開すると、
H1=kΣ(i=0〜N)cisiR となり、係数ciの決定方法は図4に示す。ヘッダの第2成分H2はk(rP)からなり、これは楕円曲線E上のnねじれ群の元である。ヘッダの第3成分H3は受信端末のハッシュ値Iiの集合Sからなる。そして暗号化器6は、ヘッダH1,H2,H3と暗号文Cとを送信データ36として、復号化器10へインターネットなどを介して送信する。表1に鍵生成部4が生成する放送用暗号システム全体に関するパラメータを、表2に暗号化器6で生成するパラメータやクライアントの秘密鍵を示す。
H1=kΠ(i=1〜N)(s+Ii)R=kΠ(i=1〜N)f(Ii)R を求める。sは放送事業者にとっても秘密の数であり、H1を直接計算できないので、ヘッダH1をsの多項式として展開し、公開鍵ベクトルRvからヘッダH1を求める。H1を秘密の数sの多項式として展開すると、
H1=kΣ(i=0〜N)cisiR となり、係数ciの決定方法は図4に示す。ヘッダの第2成分H2はk(rP)からなり、これは楕円曲線E上のnねじれ群の元である。ヘッダの第3成分H3は受信端末のハッシュ値Iiの集合Sからなる。そして暗号化器6は、ヘッダH1,H2,H3と暗号文Cとを送信データ36として、復号化器10へインターネットなどを介して送信する。表1に鍵生成部4が生成する放送用暗号システム全体に関するパラメータを、表2に暗号化器6で生成するパラメータやクライアントの秘密鍵を示す。
表 1 記 号 と そ の 意 味 (システムパラメータ)
E(Fq) 体Fq上の楕円曲線
en(,) 修正ペアリング: ベイユペアリングやテートペアリング等
修正ペアリング以外のペアリングや、ペアリング以外の双線形写像でも可
R 楕円曲線E上の演算 R=rQ で定まる公開パラメータ
rP 楕円曲線E上の公開パラメータ
y 楕円曲線E上の公開パラメータ y=en(P,Q)r
Rv 楕円曲線上の公開のベクトル Rv=(R1,R2,…,RN)=(sR,s2R,…,sNR) Ri=siR
Qv 楕円曲線上の公開のベクトル Qv=(Q1,Q2,…,QN-1)=(sQ,s2Q,…,sN-1Q)
Qi=siQ
N IDの個数(受信端末の数)以上の数
n 整数環Z/nZの位数 なおペアリングの値は1のn乗根がなす位数nの群の元
h(IDi) 衝突耐性ハッシュ関数: i番目のクライアントのIDiをハッシュ値Iiに変換し、 IDが異なれば同じハッシュ値となる確率は無視し得る h(IDi)=Ii
ハッシュ関数hは鍵生成部4の秘密とすることが好ましい
P,Q 秘密のパラメータ: 楕円曲線E(Fq)上のnねじれ群の元で、無限遠点ではない
s,r 秘密の数: 整数環Z/nZの元
* P,Q,r,s の安全性は楕円曲線上の離散対数問題により保証されている
例えばrQが既知でも、rやQは秘密に保たれる.
E(Fq) 体Fq上の楕円曲線
en(,) 修正ペアリング: ベイユペアリングやテートペアリング等
修正ペアリング以外のペアリングや、ペアリング以外の双線形写像でも可
R 楕円曲線E上の演算 R=rQ で定まる公開パラメータ
rP 楕円曲線E上の公開パラメータ
y 楕円曲線E上の公開パラメータ y=en(P,Q)r
Rv 楕円曲線上の公開のベクトル Rv=(R1,R2,…,RN)=(sR,s2R,…,sNR) Ri=siR
Qv 楕円曲線上の公開のベクトル Qv=(Q1,Q2,…,QN-1)=(sQ,s2Q,…,sN-1Q)
Qi=siQ
N IDの個数(受信端末の数)以上の数
n 整数環Z/nZの位数 なおペアリングの値は1のn乗根がなす位数nの群の元
h(IDi) 衝突耐性ハッシュ関数: i番目のクライアントのIDiをハッシュ値Iiに変換し、 IDが異なれば同じハッシュ値となる確率は無視し得る h(IDi)=Ii
ハッシュ関数hは鍵生成部4の秘密とすることが好ましい
P,Q 秘密のパラメータ: 楕円曲線E(Fq)上のnねじれ群の元で、無限遠点ではない
s,r 秘密の数: 整数環Z/nZの元
* P,Q,r,s の安全性は楕円曲線上の離散対数問題により保証されている
例えばrQが既知でも、rやQは秘密に保たれる.
表 2 記 号 と そ の 意 味 (暗号化器 等)
Ki クライアントIDiに対する端末iの秘密鍵: Ki=(s+Ii)-1P
sを変数とするIiの多項式をF(Ii)とし、Ki=f(Ii)-1P としても良い
Ki=(s+Ii)-1P はfi(Ii)をsの1次式とする例
k 暗号化器で生成する秘密の乱数: kはセッション毎に変更する
Ks セッション毎の暗号化鍵: Ks=yk=en(P,Q)rk メッセージmを暗号化鍵Ksで
暗号化したものを暗号文Cとする C=Enc(m,Ks) Encは暗号化を行う写像
H ヘッダ: H=(H1,H2,S) H3=S
H1 ヘッダHの第1成分で楕円曲線E上のパラメータ:
H1=kΠi=1〜N(s+Ii)R=kΣi=0〜NcisiR ciはΠi=1〜N(s+Ii)を展開した際のi次の係数
Σi=0〜NcisiRは公開鍵Rvと集合Sとから演算可能なパブリックなパラメータ;
kが秘密なため、ヘッダH1は暗号化器6でのみ計算可能
H2 ヘッダHの第2成分で楕円曲線E上のパラメータ H2=k(rP)
S ハッシュ値{Ii}の集合で、ヘッダHの第3成分 S={I1,I2,…,IN}
g Π j=1〜N,j≠i(s+Ij)−Π j=1〜N,j≠iIj: 復号過程で現れるパラメータで、
sが秘密なためgは計算不能であるが、gQは公開鍵と集合Sとから計算可能
Ki クライアントIDiに対する端末iの秘密鍵: Ki=(s+Ii)-1P
sを変数とするIiの多項式をF(Ii)とし、Ki=f(Ii)-1P としても良い
Ki=(s+Ii)-1P はfi(Ii)をsの1次式とする例
k 暗号化器で生成する秘密の乱数: kはセッション毎に変更する
Ks セッション毎の暗号化鍵: Ks=yk=en(P,Q)rk メッセージmを暗号化鍵Ksで
暗号化したものを暗号文Cとする C=Enc(m,Ks) Encは暗号化を行う写像
H ヘッダ: H=(H1,H2,S) H3=S
H1 ヘッダHの第1成分で楕円曲線E上のパラメータ:
H1=kΠi=1〜N(s+Ii)R=kΣi=0〜NcisiR ciはΠi=1〜N(s+Ii)を展開した際のi次の係数
Σi=0〜NcisiRは公開鍵Rvと集合Sとから演算可能なパブリックなパラメータ;
kが秘密なため、ヘッダH1は暗号化器6でのみ計算可能
H2 ヘッダHの第2成分で楕円曲線E上のパラメータ H2=k(rP)
S ハッシュ値{Ii}の集合で、ヘッダHの第3成分 S={I1,I2,…,IN}
g Π j=1〜N,j≠i(s+Ij)−Π j=1〜N,j≠iIj: 復号過程で現れるパラメータで、
sが秘密なためgは計算不能であるが、gQは公開鍵と集合Sとから計算可能
図4に、ヘッダ作成部34中の係数生成部35での、係数ciの生成を示す。図においてf0〜fNはN+1個のレジスタで、CPU内の高速レジスタでも良く、あるいはシフトレジスタやRAMで実現しても良い。37は乗算器、38は加算器で、レジスタ40は次に処理するハッシュ値Ij(j=2〜N)を記憶している。最初のレジスタf0と最後のレジスタfNを除き、各レジスタfiでは、値j-1に対する記憶値とレジスタ40で記憶しているハッシュ値Ijとを乗算器37で乗算し、レジスタfi-1の値j-1での記憶値を加算器38で加算し、元のレジスタfiに上書きする。レジスタf0〜fNの初期値は、レジスタf0に対してI1、レジスタf1に対して1,レジスタf2〜fNに対して0である。
係数ciの生成プロセスを示す。j=2とすると、レジスタf0の値は、I1・I2となり、レジスタf1の値はI2+I1となり、レジスタf2の値はI1となる。レジスタf3の値は1で、レジスタf4〜fNの値は0のままである。j=3に対して、レジスタf0の値はI1・I2・I3となり、レジスタf1の値は(I1+I2)I3+I1・I2、レジスタf3の値はI3+(I1+I2)となり、レジスタf4の値は1で、レジスタf5〜fNの値は0のままである。以下同様にしてj=Nまで処理を続行すると、レジスタfNの値は1,レジスタfN-1の値はI1+I2+…+INで、以下同様に展開係数が得られ、レジスタf0の値はI1・I2・I3・…・INとなる。以上の逐次的に係数ciを発生すると、比較的短い計算時間で係数ciを得ることができる。
図5に復号化器10の構造を示す。セッション鍵復号器51は端末毎の秘密鍵Kiとヘッダの第1成分〜第3成分H1〜H3とにより、セッション鍵Ksを求め、復号器52で復号用の写像Decを用いて暗号文Cを平文mに復号する。復号に必要なパラメータや公開鍵は、公開ボード8から取得し、表3に復号化器での主な処理を示す。
表 3 復 号 化 器 で の 主 な 処 理
H1より パラメータa: A=en(Ki,H1)=en((s+Ii)-1P,kΠi=1〜N(s+Ii)R)
=en(P,Q)rkΠ j=1〜N,j≠i (s+Ij)
H2より パラメータB: B=en(H2,Π j=1〜N,j≠i(s+Ij)Q−Π j=1〜N,j≠iIjQ)
=en(P,Q)rk(Π j=1〜N,j≠i(s+Ij)−Π j=1〜N,j≠iIj)=en(P,Q)rkg
H1=kΠi=1〜N(s+Ii)R はkがセッション毎の秘密の数であるため、
復号化器10ではH1を自作できない.
クライアント毎の秘密鍵KiがパラメータPを因子として含み、
ヘッダの第1成分H1がkRを因子に含むことにより、Aは因子rkを含む.
秘密鍵Kiが因子(s+Ii)-1を含むため、Aは因子 Π j=1〜N,j≠i (s+Ij)
を含む
Π j=1〜N,j≠i(s+Ij)Q−Π j=1〜N,j≠iIjQ=gQ はsの各次数の係数が判明すると、
公開鍵Qvより計算可能であるが、
Π j=1〜N,j≠i(s+Ij)−Π j=1〜N,j≠iIj=g はsが秘密の数であるため、計算不能
A/B=en(P,Q)rkΠ j=1〜N,j≠iIj =KsΠ j=1〜N,j≠iIj
(A/B)Π j=1〜N,j≠iIj-1=Ks (ここで指数部の"Ij−1"はIj−1を意味する)
Π j=1〜N,j≠i Ij は集合Sより計算可能なパラメータである.
Bに代えて、B-1=en(H2,Π j=1〜N,j≠iIjQ−Π j=1〜N,j≠i(s+Ij)Q)=
en(P,Q)-rkgを計算すると、
A/B=AB-1となり、乗算で処理できる
H1より パラメータa: A=en(Ki,H1)=en((s+Ii)-1P,kΠi=1〜N(s+Ii)R)
=en(P,Q)rkΠ j=1〜N,j≠i (s+Ij)
H2より パラメータB: B=en(H2,Π j=1〜N,j≠i(s+Ij)Q−Π j=1〜N,j≠iIjQ)
=en(P,Q)rk(Π j=1〜N,j≠i(s+Ij)−Π j=1〜N,j≠iIj)=en(P,Q)rkg
H1=kΠi=1〜N(s+Ii)R はkがセッション毎の秘密の数であるため、
復号化器10ではH1を自作できない.
クライアント毎の秘密鍵KiがパラメータPを因子として含み、
ヘッダの第1成分H1がkRを因子に含むことにより、Aは因子rkを含む.
秘密鍵Kiが因子(s+Ii)-1を含むため、Aは因子 Π j=1〜N,j≠i (s+Ij)
を含む
Π j=1〜N,j≠i(s+Ij)Q−Π j=1〜N,j≠iIjQ=gQ はsの各次数の係数が判明すると、
公開鍵Qvより計算可能であるが、
Π j=1〜N,j≠i(s+Ij)−Π j=1〜N,j≠iIj=g はsが秘密の数であるため、計算不能
A/B=en(P,Q)rkΠ j=1〜N,j≠iIj =KsΠ j=1〜N,j≠iIj
(A/B)Π j=1〜N,j≠iIj-1=Ks (ここで指数部の"Ij−1"はIj−1を意味する)
Π j=1〜N,j≠i Ij は集合Sより計算可能なパラメータである.
Bに代えて、B-1=en(H2,Π j=1〜N,j≠iIjQ−Π j=1〜N,j≠i(s+Ij)Q)=
en(P,Q)-rkgを計算すると、
A/B=AB-1となり、乗算で処理できる
図6にセッション鍵復号器51の構造を示す。53,54はペアリング演算器で、ペアリング演算器53はヘッダの第1成分H1と、自己の秘密鍵Kiとにより、位数nの乗法群の元 A=en(Ki,H1) を求める。 Ki=(s+Ii)-1P、 H1=kΠi=1〜N(s+Ii)R、 R=rQ なので、
A=en(P,Q)rkΠj=1〜N j≠i (s+Ii) となる。なおペアリング演算器53で実際に演算するのは、
en(Ki,H1)の値である。ペアリング演算器54では、ヘッダの第2成分H2と第3成分H3とにより、 B=en(H2,Π j=1〜N,j≠i(s+Ij)Q−Π j=1〜N,j≠iIjQ) を求める。
A=en(P,Q)rkΠj=1〜N j≠i (s+Ii) となる。なおペアリング演算器53で実際に演算するのは、
en(Ki,H1)の値である。ペアリング演算器54では、ヘッダの第2成分H2と第3成分H3とにより、 B=en(H2,Π j=1〜N,j≠i(s+Ij)Q−Π j=1〜N,j≠iIjQ) を求める。
g=Π j=1〜N,j≠i(s+Ij)−Π j=1〜N,j≠iIj とすると、B=en(H2,gQ)である。ハッシュ値I1〜INの値はヘッダの第3成分H3に含まれ、sjQ(j=1〜N-1)の値は復号用公開鍵Qvとして公開されている。従ってペアリングに用いる
Π j=1〜N,j≠i(s+Ij)Q−Π j=1〜N,j≠iIjQ)=gQ は演算可能であるが、gは秘密の数sを含むため演算可能ではない。gQを求める演算は係数生成部58で行う。
H2=krP なので、 B=en(P,Q)rk(Π j=1〜N,j≠i(s+Ij)−Π j=1〜N,j≠iIj)=
en(P,Q)rkg となる。
Π j=1〜N,j≠i(s+Ij)Q−Π j=1〜N,j≠iIjQ)=gQ は演算可能であるが、gは秘密の数sを含むため演算可能ではない。gQを求める演算は係数生成部58で行う。
H2=krP なので、 B=en(P,Q)rk(Π j=1〜N,j≠i(s+Ij)−Π j=1〜N,j≠iIj)=
en(P,Q)rkg となる。
演算器55は除算器55とべき乗演算器57とを備え、除算器56でAをBで除算する。なおペアリング演算器54でB-1を求める場合、即ち
B-1=en(H2,Π j=1〜N,j≠iIjQ−Π j=1〜N,j≠i(s+Ij)Q) を求める場合、除算器に代えて乗算器を用い、A・B-1を求めると良い。 A/B=en(P,Q)rkΠ j=1〜N,j≠iIj=
KsΠ j=1〜N,j≠iIj で、Π j=1〜N,j≠iIj-1 はヘッダの第3成分H3から求めることができるので、べき乗演算器57により
(A/B)Π j=1〜N,j≠iIj-1 を求め、これをセッション鍵Ksとする。なおセッション鍵Ksとして、en(P,Q)rkΠj∈S Ij を用いることもでき、この場合、(A/B)Ii によりセッション鍵を求めることもできる。
B-1=en(H2,Π j=1〜N,j≠iIjQ−Π j=1〜N,j≠i(s+Ij)Q) を求める場合、除算器に代えて乗算器を用い、A・B-1を求めると良い。 A/B=en(P,Q)rkΠ j=1〜N,j≠iIj=
KsΠ j=1〜N,j≠iIj で、Π j=1〜N,j≠iIj-1 はヘッダの第3成分H3から求めることができるので、べき乗演算器57により
(A/B)Π j=1〜N,j≠iIj-1 を求め、これをセッション鍵Ksとする。なおセッション鍵Ksとして、en(P,Q)rkΠj∈S Ij を用いることもでき、この場合、(A/B)Ii によりセッション鍵を求めることもできる。
図7に、係数生成部58の構成を示し、d0〜dNはレジスタで、その構造や動作は図4の係数生成部35と同様である。37は乗算器で図4の乗算器37と同じ動作を行い、38は加算器で、図4の加算器38と同じ動作を行う。ただし係数生成部58は、自己のハッシュ値Iiに対する処理を省略する。レジスタ60はハッシュ値I2〜INを乗算器37に供給し、レジスタd0〜dNの初期値は、レジスタd0がI1,レジスタd1が1、レジスタd2〜dNが0である。そして図4と同様の動作により、係数d1〜dNを求める。
図8にセッション鍵の復号アルゴリズムを示す。ステップ1で en(Ki,H1)=A を求め、図7の係数生成部58を用いてサブルーチン1で係数djの値を求め、これは図7で求めた係数djから、d0の値を0を除いたもので、dNの値は1である。ステップ2で係数djを用いて、djsjQ からBの値を求め、ステップ3でA/Bを求める。なおステップ2のペアリング演算で第2成分の符号を反転すると、ステップ3で除算に代えて乗算を行う。ステップ4でA/Bの値に対してべき乗演算を行い、セッション鍵Ksを復号する。
図9に係数djの生成アルゴリズムを示す。ステップ11で、レジスタd0をI1に、レジスタd1を1に、他のレジスタを0に、初期値をセットする。次いでj=2〜N(j≠i)に対して、jを1つずつ増加させながら(ステップ12,13)、ステップ14〜ステップ18の処理を行う。ステップ14でtの値をNにセットし、ステップ15でレジスタdtの値を
dt=dt・Ij+d(t-1) とする。これは乗算器37で、レジスタdtの記憶値とIjとを乗算し、加算器38でレジスタd(t-1)の値を加算することに対応する。ステップ16でtの値を1減少させ、ステップ17でt=1となるまでこの処理を繰り返し、ステップ18でレジスタd0に対してその値をd0=d0・Ijとする。以上の処理をj=Nとなるまで繰り返し(ステップ19)、得られた係数d0〜dNを出力する(ステップ20)。なお以上の処理は、j=iとなるjに対して省略する。
dt=dt・Ij+d(t-1) とする。これは乗算器37で、レジスタdtの記憶値とIjとを乗算し、加算器38でレジスタd(t-1)の値を加算することに対応する。ステップ16でtの値を1減少させ、ステップ17でt=1となるまでこの処理を繰り返し、ステップ18でレジスタd0に対してその値をd0=d0・Ijとする。以上の処理をj=Nとなるまで繰り返し(ステップ19)、得られた係数d0〜dNを出力する(ステップ20)。なお以上の処理は、j=iとなるjに対して省略する。
図10に実施例の復号プログラムを示し、各命令は、図6のペアリング演算器53,54,係数生成部58,除算器56,べき乗演算器57での処理を実行するためのものである。即ち、第1ペアリング演算命令71はペアリング演算器53に処理を実行させ、第2ペアリング演算命令72はペアリング演算器54に処理を実行させ、係数演算部73は係数生成部58に処理を実行させ、除算命令74は除算器56に処理を実行させ、べき乗演算命令75はべき乗演算器57に処理を実行させる。
実施例では、秘密鍵Kiを与えられている全クライアントが復号可能なように説明したが、集合Sの部分集合Tに属するクライアントに対してのみ復号可能にすることができる。この場合、ヘッダの第1成分H1を、H1=kΠi∈T(s+Ii)R とし、第3成分H3をTとする。また A=en(Ki,H1)=en((s+Ii)-1P,kΠj∈T,j≠i(s+Ii)R)
B=en(H2,Πj∈T,j≠i(s+Ij)Q−Π j∈T,j≠iIjQ) とする。このようにすると復号可能な端末を動的に変更できる。実施例の安全性の機構を表4に示す。
B=en(H2,Πj∈T,j≠i(s+Ij)Q−Π j∈T,j≠iIjQ) とする。このようにすると復号可能な端末を動的に変更できる。実施例の安全性の機構を表4に示す。
表 4 シ ス テ ム の 安 全 性
秘密鍵の漏洩: 秘密鍵 Ki=(s+Ii)-1Pなため、どのクライアントから
漏洩したかを追跡できる
鍵生成部の秘密鍵: P,Q,r,sは楕円曲線上の離散対数問題により安全
ヘッダH1の自作: 離散対数問題により、正規のヘッダH1と攻撃者が自作した
Πi=1〜N(s+Ii)R とからkを求めることはできない.
従って脱退者の秘密鍵K0に合わせて、ヘッダH1に類似のヘッダH0 H0=kΠi=0〜N(s+Ii)R を偽造できない.
秘密鍵の漏洩: 秘密鍵 Ki=(s+Ii)-1Pなため、どのクライアントから
漏洩したかを追跡できる
鍵生成部の秘密鍵: P,Q,r,sは楕円曲線上の離散対数問題により安全
ヘッダH1の自作: 離散対数問題により、正規のヘッダH1と攻撃者が自作した
Πi=1〜N(s+Ii)R とからkを求めることはできない.
従って脱退者の秘密鍵K0に合わせて、ヘッダH1に類似のヘッダH0 H0=kΠi=0〜N(s+Ii)R を偽造できない.
2 放送用暗号システム
4 鍵生成器
6 暗号化器
8 公開ボード
10 復号化器
12 秘密鍵生成器
14 公開パラメータ生成器
16 端末秘密鍵生成器
18 公開鍵生成器
19 暗号化用公開鍵生成部
20 復号用公開鍵生成部
21 公開パラメータ記憶部
22 暗号化用公開鍵記憶部
23 復号用公開鍵記憶部
30 セッション鍵作成部
31 乱数生成器
32 受信端末ID記憶部
33 メッセージ暗号化部
34 ヘッダ作成部
35 係数生成部
36 送信データ
37 乗算器
38 加算器
f0〜fN レジスタ
40 レジスタ
51 セッション鍵復号器
52 復号器
53,54 ペアリング演算器
55 演算器
56 除算器
57 べき乗演算器
58 係数生成部
d0〜dN レジスタ
60 レジスタ
71 第1ペアリング命令
72 第2ペアリング命令
73 係数演算命令
74 除算命令
75 べき乗演算命令
4 鍵生成器
6 暗号化器
8 公開ボード
10 復号化器
12 秘密鍵生成器
14 公開パラメータ生成器
16 端末秘密鍵生成器
18 公開鍵生成器
19 暗号化用公開鍵生成部
20 復号用公開鍵生成部
21 公開パラメータ記憶部
22 暗号化用公開鍵記憶部
23 復号用公開鍵記憶部
30 セッション鍵作成部
31 乱数生成器
32 受信端末ID記憶部
33 メッセージ暗号化部
34 ヘッダ作成部
35 係数生成部
36 送信データ
37 乗算器
38 加算器
f0〜fN レジスタ
40 レジスタ
51 セッション鍵復号器
52 復号器
53,54 ペアリング演算器
55 演算器
56 除算器
57 べき乗演算器
58 係数生成部
d0〜dN レジスタ
60 レジスタ
71 第1ペアリング命令
72 第2ペアリング命令
73 係数演算命令
74 除算命令
75 べき乗演算命令
Claims (7)
- 楕円曲線上の双線形写像と離散対数問題とを用いた放送用暗号システムであって、
デジタル情報処理装置からなる鍵生成部で、楕円曲線上の2元P,Qと、数s,rを生成して鍵生成部の秘密として記憶する手段と;
復号器のIDをハッシュ値Iiに変換する、衝突耐性ハッシュ関数hの記憶手段と;
記憶したハッシュ関数によりハッシュ値Iiを求めるための手段と;
求めた復号器のハッシュ値Iiにより、変数をsとし係数がハッシュ値Iiにより定まる多項式f(Ii)の値を求めて、復号器毎の秘密鍵Kiをf(Ii)-1 と秘密の元Pとを因子に含むように生成するための手段と;
復号器の総数以上の数をNとし、公開鍵としてR: R=rQ、 双線形写像をbi(,)としてbi(P,Q)を因子に含むパラメータy、及びベクトルRv: Rv=(sR,s2R,…,sNR)、ベクトルQv: Qv=(sQ,s2Q,…,sN-1Q)を生成して公開するための手段とを備えたものと、
デジタル情報処理装置からなる暗号化部で、公開のパラメータyのk乗 Ks=yk をセッション毎の鍵として生成するための手段と;
メッセージmをセッション鍵Ksで暗号化するための手段と;
復号器のIDのハッシュ値の集合をSとして、ヘッダの第1成分H1を
H1=kΠi∈Sf(Ii)R として生成するための手段と;
ヘッダの第2成分H2をkとPとを因子に含むように生成するための手段と;
メッセージmとヘッダの第1成分H1及び第2成分H2を復号器に送信するための手段とを備えたものと、
デジタル情報処理装置からなる復号器で、ヘッダの第1成分H1と自己の秘密鍵Kiとの双線形写像 A=bi(Ki,H1) の値を求めるための手段と;
楕円曲線上の元 Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ を求め、さらにパラメータB: B=bi(H2,Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ) を求めるための手段と、
A/BのΠ j∈S,j≠iIj−1乗 A/BΠ j∈S,j≠i Ij−1 (ここで指数部はIj-1ではなく、Ij−1)からセッション鍵Ksを復号するための手段と; セッション鍵Ksから、メッセージmを復号するための手段とを備えた、放送用暗号システム。 - 楕円曲線上の双線形写像と離散対数問題とを用いた放送用暗号通信方法であって、
デジタル情報処理装置からなる鍵生成部により、楕円曲線上の2元P,Qと、数s,rを生成して鍵生成部の秘密とし、復号器のIDを衝突耐性ハッシュ関数hによりハッシュ値Iiに変換して、変数をsとし係数がハッシュ値Iiにより定まる多項式f(Ii)により、復号器毎の秘密鍵Kiをf(Ii)-1 と秘密の元Pとを因子に含むように定めて、放送用暗号を受信する各復号器に提供し;
復号器の総数以上の数をNとして;
暗号化用の公開鍵として、R: R=rQ、 双線形写像をbi(,)としてbi(P,Q)を因子に含むパラメータy、及びベクトルRv: Rv=(sR,s2R,…,sNR)を公開し;
さらに復号用の公開鍵として、ベクトルQv: Qv=(sQ,s2Q,…,sN-1Q)を公開し、
デジタル情報処理装置からなる暗号化部では、公開のパラメータyのk乗 Ks=yk をセッション毎の鍵として、メッセージmをセッション鍵Ksで暗号化すると共に、復号器のIDのハッシュ値の集合をSとして、ヘッダの第1成分H1を H1=kΠi∈Sf(Ii)R として生成し、ヘッダの第2成分H2をkとPとを因子に含むように生成し、メッセージmとヘッダの第1及び第2成分を復号器に送信し、
デジタル情報処理装置からなる復号器では、ヘッダの第1成分H1と自己の秘密鍵Kiとの双線形写像 A=bi(Ki,H1) の値を求めると共に、楕円曲線上の元
Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ を求め、さらにパラメータB:
B=bi(H2,Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ) を求め、
A/BのΠ j∈S,j≠iIj−1乗 A/BΠ j∈S,j≠i Ij−1 (ここで指数部はIj-1ではなく、Ij−1)からセッション鍵Ksを復号して、メッセージmを復号する、放送用暗号通信方法。 - 楕円曲線上の双線形写像と離散対数問題とを用いた放送用暗号の、デジタル情報処理装置からなる復号器であって、
楕円曲線上の秘密の2元をP,Q、秘密の数をs,r、個別の復号器のIDのハッシュ値をIi、変数をsとし係数がハッシュ値Iiにより定まる多項式をf(Ii)とし、復号器毎の秘密鍵Kiをf(Ii)-1 と秘密の元Pとを因子に含むものとし、復号器の総数以上の数をN、双線形写像をbi(,)としてbi(P,Q)を因子に含むパラメータをy、公開のベクトルQvを
Qv=(sQ,s2Q,…,sN-1Q)、セッション鍵Ksを Ks=yk として、メッセージmをセッション鍵Ksで暗号化した暗号文を復号するために、復号器のIDのハッシュ値の集合をSとし、メッセージmと共に受信したヘッダの第1成分H1を H1=kΠi∈Sf(Ii)R、kとPとを因子に含むヘッダの第2成分をH2として、
ヘッダの第1成分H1と自己の秘密鍵Kiとの双線形写像 A=bi(Ki,H1) の値を求めるための手段と;
楕円曲線上の元 Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ を求め、さらにパラメータB: B=bi(H2,Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ) を求めるための手段と、
A/BのΠ j∈S,j≠iIj−1乗 A/BΠ j∈S,j≠i Ij−1 (ここで指数部はIj-1ではなく、Ij−1)からセッション鍵Ksを復号するための手段と; セッション鍵Ksから、メッセージmを復号するための手段とを備えた、復号器。 - 前記双線形写像が修正ペアリングen(,)で、前記多項式f(Ii)が
f(Ii)=s+Ii で、復号器毎の秘密鍵Kiが Ki=(s+Ii)-1Pで、前記パラメータyが
y=en(P,Q)r で、前記第2成分H2がkrPであることを特徴とする、請求項3の復号器。 - ハッシュ値の集合Sと公開のベクトルQvとから、Πj∈S,j≠i(s+Ij)Qでのsの各次数の係数を、(s+I1)から(s+I1)(s+I2)の順でΠj∈S,j≠i(s+Ij)まで、逐次的に求めるための係数生成手段を設けたことを特徴とする、請求項4の復号器。
- 前記係数生成手段では、I1を0次の係数の初期値、1を1次の係数の初期値として、I1×I2の演算と1×I1+I2の演算を行い、次いで(I1×I2)×I3の演算と(I1+I2)×I3+I1×I2の演算と、I1+I2+I3の演算を行い、以降も逐次的にΠj∈S,j≠i(s+Ij)まで処理するようにしたことを特徴とする、請求項5の復号器。
- 楕円曲線上の双線形写像と離散対数問題とを用いた放送用暗号の、デジタル情報処理装置からなる復号器のプログラムであって、
楕円曲線上の秘密の2元をP,Q、秘密の数をs,r、個別の復号器のIDのハッシュ値をIi、変数をsとし係数がハッシュ値Iiにより定まる多項式をf(Ii)とし、復号器毎の秘密鍵Kiをf(Ii)-1 と秘密の元Pとを因子に含むものとし、復号器の総数以上の数をN、双線形写像をbi(,)としてbi(P,Q)を因子に含むパラメータをy、公開のベクトルQvを
Qv=(sQ,s2Q,…,sN-1Q)、セッション鍵Ksを Ks=yk として、メッセージmをセッション鍵Ksで暗号化した暗号文を復号するために、復号器のIDのハッシュ値の集合をSとして、メッセージmと共に受信したヘッダの第1成分H1を H1=kΠi∈Sf(Ii)R、kとPとを因子に含むヘッダの第2成分をH2として、
ヘッダの第1成分H1と自己の秘密鍵Kiとの双線形写像 A=bi(Ki,H1) の値を復号器により求めるための命令と;
楕円曲線上の元 Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ を求め、さらにパラメータB: B=bi(H2,Πj∈S,j≠i(s+Ij)Q−Π j∈S,j≠iIjQ) を復号器により求めるための命令と、
A/BのΠ j∈S,j≠iIj−1乗 A/BΠ j∈S,j≠i Ij−1 (ここで指数部はIj-1ではなく、Ij−1)からセッション鍵Ksを復号器により復号するための命令と;
セッション鍵Ksから、メッセージmを復号器により復号するための命令とを備えた、プログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007147784A JP2008301391A (ja) | 2007-06-04 | 2007-06-04 | 放送用暗号システムと暗号通信方法、復号器及び復号プログラム |
| US11/828,951 US20080298582A1 (en) | 2007-06-04 | 2007-07-26 | Broadcast Cryptosystem, Crypto-Communication Method, Decryption Device, and Decryption Program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007147784A JP2008301391A (ja) | 2007-06-04 | 2007-06-04 | 放送用暗号システムと暗号通信方法、復号器及び復号プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008301391A true JP2008301391A (ja) | 2008-12-11 |
Family
ID=40088218
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007147784A Pending JP2008301391A (ja) | 2007-06-04 | 2007-06-04 | 放送用暗号システムと暗号通信方法、復号器及び復号プログラム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20080298582A1 (ja) |
| JP (1) | JP2008301391A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101306211B1 (ko) | 2011-10-18 | 2013-09-10 | 국방과학연구소 | 아이디 기반의 브로드캐스트 암호화 방법 |
| JP2014503137A (ja) * | 2010-12-17 | 2014-02-06 | クリプトエキスパーツ エスアエス | デジタルコンテンツの限定受信のための方法およびシステム、ならびに関連の端末および契約者デバイス |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5365072B2 (ja) * | 2007-12-11 | 2013-12-11 | ソニー株式会社 | 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法およびプログラム |
| US8804950B1 (en) * | 2008-09-30 | 2014-08-12 | Juniper Networks, Inc. | Methods and apparatus for producing a hash value based on a hash function |
| US8798057B1 (en) | 2008-09-30 | 2014-08-05 | Juniper Networks, Inc. | Methods and apparatus to implement except condition during data packet classification |
| US7961734B2 (en) | 2008-09-30 | 2011-06-14 | Juniper Networks, Inc. | Methods and apparatus related to packet classification associated with a multi-stage switch |
| JP5335072B2 (ja) * | 2009-04-06 | 2013-11-06 | パナソニック株式会社 | 鍵実装システム |
| CN102075932A (zh) * | 2011-01-14 | 2011-05-25 | 中国科学技术大学 | 一种新型的稀疏移动Ad Hoc网络消息签名方法 |
| JP2014068140A (ja) | 2012-09-25 | 2014-04-17 | Sony Corp | 情報処理装置、情報処理方法及びプログラム |
| US9191209B2 (en) * | 2013-06-25 | 2015-11-17 | Google Inc. | Efficient communication for devices of a home network |
| KR101460541B1 (ko) * | 2013-07-15 | 2014-11-11 | 고려대학교 산학협력단 | 사용자 아이디 기반 공개키 암호화 방법 |
| EP2846493A1 (en) * | 2013-09-05 | 2015-03-11 | Thomson Licensing | Method for ciphering and deciphering, corresponding electronic device and computer program product |
| US11251954B2 (en) * | 2017-05-10 | 2022-02-15 | B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University | Method and system for performing broadcast encryption with revocation capability |
| JP7101031B2 (ja) * | 2018-04-13 | 2022-07-14 | 株式会社bitFlyer Blockchain | ブロックチェーン・ネットワーク及びそのための確定方法 |
| CN109446713B (zh) * | 2018-11-14 | 2020-04-03 | 重庆理工大学 | 针对在线社交网络数据提取后的稳定性判别方法 |
| US11764940B2 (en) | 2019-01-10 | 2023-09-19 | Duality Technologies, Inc. | Secure search of secret data in a semi-trusted environment using homomorphic encryption |
| CN116737704B (zh) * | 2023-06-02 | 2024-04-12 | 广州芳禾数据有限公司 | 面向文旅消费数据在密文状态下的降重去冗余系统和方法 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6292897B1 (en) * | 1997-11-03 | 2001-09-18 | International Business Machines Corporation | Undeniable certificates for digital signature verification |
| EP2429116B1 (en) * | 2001-08-13 | 2013-07-10 | The Board of Trustees of the Leland Stanford Junior University | Method for identity-based encryption and related crytographic techniques |
| US7634085B1 (en) * | 2005-03-25 | 2009-12-15 | Voltage Security, Inc. | Identity-based-encryption system with partial attribute matching |
-
2007
- 2007-06-04 JP JP2007147784A patent/JP2008301391A/ja active Pending
- 2007-07-26 US US11/828,951 patent/US20080298582A1/en not_active Abandoned
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014503137A (ja) * | 2010-12-17 | 2014-02-06 | クリプトエキスパーツ エスアエス | デジタルコンテンツの限定受信のための方法およびシステム、ならびに関連の端末および契約者デバイス |
| KR101306211B1 (ko) | 2011-10-18 | 2013-09-10 | 국방과학연구소 | 아이디 기반의 브로드캐스트 암호화 방법 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20080298582A1 (en) | 2008-12-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2008301391A (ja) | 放送用暗号システムと暗号通信方法、復号器及び復号プログラム | |
| CN111106936A (zh) | 一种基于sm9的属性加密方法与系统 | |
| US7936874B2 (en) | Information transfer system, encryption device, and decryption device | |
| CN110011995A (zh) | 多播通信中的加密和解密方法及装置 | |
| CN101873214A (zh) | 广播加密中用于密钥生成、加密和解密的方法、设备 | |
| CN111585759A (zh) | 一种高效的基于sm9公钥加密算法的线上线下加密方法 | |
| US8483390B2 (en) | Systems and methods for broadcast encryption optimization and scalability | |
| CN114095171A (zh) | 一种基于身份的可穿刺代理重加密方法 | |
| CN110474772A (zh) | 一种基于格的加密方法 | |
| CN113378204A (zh) | 一种结合混沌和sm9的复合标识密码方法 | |
| CN112822026B (zh) | 数字签名方法、装置及系统 | |
| EP1914924A1 (en) | Time apparatus, encrypting apparatus, decrypting apparatus, and encrypting/decrypting system | |
| Nalwaya et al. | A cryptographic approach based on integrating running key in feedback mode of elgamal system | |
| JP4715748B2 (ja) | 暗号方式の安全性を保証するパディング適用方法 | |
| CN113347009B (zh) | 基于椭圆曲线密码体制的无证书门限签密方法 | |
| Zhigang et al. | Review of how to construct a fully homomorphic encryption scheme | |
| CN112668042B (zh) | 一种文件加密方法 | |
| KR101306211B1 (ko) | 아이디 기반의 브로드캐스트 암호화 방법 | |
| CN112733176A (zh) | 基于全域哈希的标识密码加密方法 | |
| JP4143036B2 (ja) | 鍵生成システム、鍵生成サーバ及び鍵生成方法 | |
| JP3278790B2 (ja) | 公開鍵暗号方法及び公開鍵暗号システム | |
| Amounas et al. | A novel approach for enciphering data based ecc using catalan numbers | |
| Bayhaqi et al. | Evaluating Cryptoanalysis on Low-Exponent Implementation of Rivest-Shamir-Adleman | |
| JP2010164897A (ja) | 暗号化数値二進変換システム、暗号化数値二進変換方法、暗号化数値二進変換プログラム | |
| JP2002055606A (ja) | 代数体を用いた公開鍵暗号化復号方法及びシステム |