主权项 |
1、一种基于身份的广播密钥分发方法,其特征在于包括以下步骤:(1)广播密钥分发者S通过以下方法向n个用户R<sub>1</sub>,R<sub>2</sub>,…,R<sub>n</sub>分发广播密钥K:(1.1)对于每一个用户R<sub>i</sub>(i=1,2,...,n),广播密钥分发者S利用自己的私钥S<sub>0</sub>和R<sub>i</sub>的公钥ID<sub>i</sub>计算信息SK<sub>i</sub>=e(ID<sub>i</sub>,S<sub>0</sub>);(1.2)广播密钥分发者利用自己的私钥S<sub>0</sub>、每个用户R<sub>i</sub>(i=1,2,...,n)的公钥ID<sub>i</sub>和上述步骤(1.1)中计算的信息SK<sub>i</sub>(i=1,2,...,n)构造(n+1)个数值对:(0,S<sub>0</sub>)、(ID<sub>1</sub>,SK<sub>1</sub>)、(ID<sub>2</sub>,SK<sub>2</sub>)、......、(ID<sub>n</sub>,SK<sub>n</sub>),进一步对该(n+1)个数值对进行拉格朗日(Lagrange)插值操作,得到一个n次多项式f(x);(1.3)广播密钥分发者随机选择两个公开元素Q<sub>1</sub>,Q<sub>2</sub>∈G<sub>1</sub>和一个秘密整数<maths num="0001"><![CDATA[<math><mrow><mi>r</mi><mo>∈</mo><msubsup><mi>Z</mi><mi>p</mi><mo>*</mo></msubsup><mo>,</mo></mrow></math>]]></maths>计算公开信息如下:<maths num="0002"><![CDATA[<math><mrow><mover><mi>I</mi><mo>→</mo></mover><mo>[</mo><mn>1</mn><mo>:</mo><mi>n</mi><mo>]</mo><mo>=</mo><mo>{</mo><mi>f</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mi>rP</mi><mo>,</mo><mi>f</mi><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mi>rP</mi><mo>,</mo><mo>·</mo><mo>·</mo><mo>·</mo><mo>,</mo><mi>f</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mi>rP</mi><mo>}</mo></mrow></math>]]></maths>P<sup>*</sup>=rP<maths num="0003"><![CDATA[<math><mrow><msubsup><mi>Q</mi><mn>1</mn><mo>*</mo></msubsup><mo>=</mo><mi>r</mi><msub><mi>Q</mi><mn>1</mn></msub></mrow></math>]]></maths>CK=e(S<sub>0</sub>P,Q<sub>2</sub>)<sup>r</sup>K(1.4)广播密钥分发者将上述计算结果<img file="A2009100232880002C4.GIF" wi="53" he="48" />P<sup>*</sup>、Q<sub>1</sub><sup>*</sup>和CK向所有用户R<sub>1</sub>,R<sub>2</sub>,...,R<sub>n</sub>进行广播;(2)广播密钥获取过程。每一个用户R<sub>i</sub>(i=1,2,...,n)收到广播信息<img file="A2009100232880002C5.GIF" wi="54" he="49" />P<sup>*</sup>、Q<sub>1</sub><sup>*</sup>和CK后,做如下计算以获取密钥K:(2.1)用户R<sub>i</sub>利用自己的私钥S<sub>t</sub>和发送者S的公钥ID<sub>0</sub>计算SK<sub>i</sub>=e(ID<sub>0</sub>,S<sub>i</sub>);(2.2)令集合Γ={1,2,...,n,ID<sub>i</sub>}={v<sub>1</sub>,v<sub>2</sub>,...v<sub>n+1</sub>},并对每个元素v<sub>k</sub>∈Γ计算信息<maths num="0004"><![CDATA[<math><mrow><msub><mi>σ</mi><mrow><mi>k</mi><mo>,</mo><mi>Γ</mi></mrow></msub><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>=</mo><munder><mi>Π</mi><mrow><msub><mi>v</mi><mi>j</mi></msub><mo>∈</mo><mi>Γ</mi><mo>,</mo><mi>j</mi><mo>≠</mo><mi>k</mi></mrow></munder><mfrac><msub><mi>x</mi><mi>j</mi></msub><mrow><msub><mi>x</mi><mi>j</mi></msub><mo>-</mo><msub><mi>x</mi><mi>k</mi></msub></mrow></mfrac><mo>,</mo><mrow><mo>(</mo><mi>k</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>n</mi><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>(2.3)计算密钥K如下:<maths num="0005"><![CDATA[<math><mrow><mi>K</mi><mo>=</mo><mfrac><mrow><mi>e</mi><mrow><mo>(</mo><msubsup><mi>Q</mi><mn>1</mn><mo>*</mo></msubsup><mo>,</mo><msub><mi>ID</mi><mn>0</mn></msub><msub><mi>Q</mi><mi>TTP</mi></msub><mo>)</mo></mrow><mo>·</mo><mi>CK</mi></mrow><mrow><mi>e</mi><mrow><mo>(</mo><msub><mi>Q</mi><mn>1</mn></msub><mo>+</mo><msub><mi>Q</mi><mn>2</mn></msub><mo>,</mo><munderover><mi>Σ</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>σ</mi><mrow><msub><mi>v</mi><mi>i</mi></msub><mo>,</mo><mi>Γ</mi></mrow></msub><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mover><mi>I</mi><mo>→</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>)</mo></mrow><mi>e</mi><mrow><mo>(</mo><msub><mi>σ</mi><mrow><msub><mi>v</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo><mi>Γ</mi></mrow></msub><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><msub><mi>SK</mi><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>Q</mi><mn>1</mn></msub><mo>+</mo><msub><mi>Q</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>,</mo><msup><mi>P</mi><mo>*</mo></msup><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths>其中,<img file="A2009100232880002C8.GIF" wi="73" he="59" />表示数组<img file="A2009100232880002C9.GIF" wi="23" he="48" />中第i个元素,即<maths num="0006"><![CDATA[<math><mrow><mover><mi>I</mi><mo>→</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mi>f</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mi>rP</mi><mo>.</mo></mrow></math>]]></maths> |