【技术实现步骤摘要】
本专利技术涉及密码学领域,特别是涉及一种适用双线性对密码芯片的协处理器实现方法。
技术介绍
在现实生活中,应用需求往往对密码芯片提出了很高的要求,比如要求在几毫秒内完成整个密码运算。为了达到这个要求,研究人员在密码芯片中设计了专用的硬件来加速密码的运算速度,这种专用硬件通常称为协处理器。双线性对广泛应用于三方密钥协商、短签名、基于身份的密码等众多领域。双线性对是一个映射,它把椭圆曲线E(GF(p))上的两个点映射到有限域GF(pk)中的一个元素。在安全级别为128比特时,目前普遍认为BN曲线是一类理想的曲线,用于实现双线性对。BN曲线定义为:E(GF(p)):y2=x3+b,其中b≠0,而且素数p可以表示成多项式形式p(t)=36t4+36t3+24t2+6t+1,嵌入次数k=12。在计算BN曲线上的双线性对时,需要在有限扩域GF(p12)中运算。由于GF(p12)的运算相对比较复杂,研究人员把它们化简成GF(p2)中的运算。复旦大学的韩军教授在2015年针对GF(p2)设计了一个模乘。其思想是把GF(p2)表示成GF(p)[x]/(i2+1),于是GF(p2)中的元素A,B可以表示成A=a0+a1i,B=b0+b1i。这样GF(p2)中的模乘A*Bmodp≡(a0+a1i)(b0+b1i)≡(a0b0+(-a1)b1)+(a0b1+a1b0)imodp=[ψ(a0,b0,-a1,b1)+ψ(a0,b1,a1,b0)i]modp这里ψ是一个函数,满足ψ(a,b,c,d)=(a·b+c·d)modp。韩军教授给出了如下计算(a·b+c·d) ...
【技术保护点】
一种适用于双线性对密码芯片的协处理器实现方法,其特征在于:包括如下步骤:输入:a(t)=Σi=04ajti,b(t)=Σi=04biti,c(t)=Σi=04citi,]]>s=29+28+26+24+23+1,p(t)=36t4+36t3+24t2+6t+1;输出:(a(t)·b(t)+c(t)·d(t))·t‑5mod p(t);步骤1.S=0;步骤2.从i=0到4循环;步骤2.1.q=‑(S0+ai·b0+ci·d0);步骤2.2.S=(S+ai·b(t)+ci·d(t)+q·p(t))/t;步骤3.从i=0到3循环;步骤3.1.μ=Sidiv2m,γ=Simod2m‑s·μ;步骤3.2.Si+1=Si+1+μ,Si=γ;步骤4.输出S。
【技术特征摘要】
1.一种适用于双线性对密码芯片的协处理器实现方法,其特征在于:包括如下步骤:输入:a(t)=Σi=04ajti,b(t)=Σi=04biti,c(t)=Σi=04citi,]]>s=29+28+26+24+23+1,p(t)=36t4+36t3+24t2+6t+1;输出:(a(t)·b(t)+c(t)·d(t))·t-5modp(t);步骤1.S=0;步骤2.从i=0到4循环;步骤2.1.q=-(S0+ai·b0+ci·d...
【专利技术属性】
技术研发人员:顾海华,徐云秀,
申请(专利权)人:上海华虹集成电路有限责任公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。