CN101702646A - 一种数据加密方法 - Google Patents

一种数据加密方法 Download PDF

Info

Publication number
CN101702646A
CN101702646A CN200910246536A CN200910246536A CN101702646A CN 101702646 A CN101702646 A CN 101702646A CN 200910246536 A CN200910246536 A CN 200910246536A CN 200910246536 A CN200910246536 A CN 200910246536A CN 101702646 A CN101702646 A CN 101702646A
Authority
CN
China
Prior art keywords
msub
point
mrow
mover
calculation
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.)
Granted
Application number
CN200910246536A
Other languages
English (en)
Other versions
CN101702646B (zh
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.)
PLA Information Engineering University
Original Assignee
PLA Information Engineering University
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 PLA Information Engineering University filed Critical PLA Information Engineering University
Priority to CN2009102465360A priority Critical patent/CN101702646B/zh
Publication of CN101702646A publication Critical patent/CN101702646A/zh
Application granted granted Critical
Publication of CN101702646B publication Critical patent/CN101702646B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了一种数据加密方法,包括:获得用于对数据明文进行加密的密钥参数;计算获得多基数链Tate对;利用所述密钥参数和所述多基数链Tate对,对所述数据明文进行加密计算,得到数据密文;其中,计算获得多基数链Tate对,包括:利用{2,3,5}-多基数链展开式算法展开扭群的阶,利用多项式扩展算法、伪乘算法和点的优化进行Miller算法中的直线计算,最终计算获得多基数链Tate对。有效地减少了Miller算法的迭代次数,提高了Tate对的计算效率,从而使加密算法的计算效率得到进一步提高。

Description

一种数据加密方法
技术领域
本发明涉及信息安全技术领域,特别是涉及一种数据加密方法。
背景技术
密码技术是信息安全的核心技术,密码技术可以保证数据在传输过程中的机密性和完整性,其中数据的机密性是通过对数据的加密来保证的。
自2000年基于双线性对的身份认证协议被提出后,基于双线性对的密码算法便成为椭圆曲线密码学研究的前沿和热点之一,并且基于双线性对的协议已经被成功地应用于身份加密、短签名、群签名等多个领域中。与传统协议相比,采用双线性对来构造协议可有效地减少带宽,但其计算所花费的时间要多于计算模幂或椭圆曲线上的标量乘,因此,构造一个计算双线性对的有效算法对于基于双线性对的密码算法是十分重要的。双线性对计算是密码算法的核心运算,提高双线性对的计算效率是提高密码算法效率的关键。目前,密码算法中常用到的双线性对有Weil对、Tate对和Eta对。
近几年来,基于双线性对的密码算法研究得到密码学家们的广泛关注,一系列新的算法不断被提出和改进,但其主要思想都是使用单基数链的Miller算法。在2003年提出了适用于超奇异椭圆曲线和一般椭圆曲线的Tate对快速算法,并把Tate对的计算分为如下三步:1)计算椭圆曲线上的点加和点倍;2)计算Miller算法中直线的系数;3)计算直线过点Q的值,迭代有理函数fi,P(Q),最后求幂。
多基数链具有稀疏性好和兼容性好的特点:稀疏性好即任意整数的DBNS(double-base number system)表达式中系数的个数非常少;兼容性是好指多基数链算法可以和许多标量乘算法结合以提高椭圆曲线标量乘算法的计算效率。近几年采用双基数链来实现椭圆曲线标量乘算法的成果不断涌现,并已发展成为目前处理椭圆曲线标量乘算法较流行的一种思路。目前已经有人提出将双基数链应用于双线性对的计算当中,这一算法不仅能应用在超奇异椭圆曲线上而且还能应用在一般椭圆曲线上,同时与其它现有的算法相比,其效率也有所提高。
目前,基于双基数链的Tate对算法广泛应用于双线性对的计算当中,如{2,3}-Tate对算法,但其计算效率较低,无法满足实际应用的需求。
发明内容
为解决上述技术问题,本发明实施例提供了一种数据加密方法,以实现提高加密算法的计算效率的目的,技术方案如下:
一种数据加密方法,包括:
获得用于对数据明文进行加密的密钥参数;
计算获得多基数链Tate对;
利用所述密钥参数和所述多基数链Tate对,对所述数据明文进行加密计算,得到数据密文;
其中,所述计算获得多基数链Tate对,包括:
A.选取椭圆曲线上扭群的阶为参数n,利用{2,3,5}-多基数链展开式算法将所述n展开至m项,即
Figure G2009102465360D0000021
其中a1≥a2≥a3≥…≥am≥0,b1≥b2≥b3≥…≥bm≥0,c1≥c2≥c3≥…≥cm≥0,di∈{-1,1},1≤i≤m,取有理函数f1=1,i=1,将椭圆曲线上基点P的坐标值赋值于点T,即T(x1,y1)=P(xP,yP);
B.根据扭群的阶n展开式中ai、bi、ci的值,利用多项式扩展算法、伪乘算法和点的优化,对f1依次进行两倍点计算、三倍点计算、五倍点计算以及点加点减计算,得到有理函数f1′;
对i做自增1运算,并且令f1=f1′,判断i是否小于等于m-1,如果是,进入步骤C,否则,重复本步骤;
C.对步骤B中最终得到的f1′进行幂指数运算,得到多基数链Tate对。
上述技术方案,通过利用{2,3,5}-多基数链展开式算法展开扭群的阶,有效地减少了Miller算法的迭代次数,利用多项式扩展算法、伪乘算法和点的优化进一步降低了Miller算法中直线计算的复杂度,提高了Tate对的计算效率,从而使加密算法的计算效率得到进一步提高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的一种数据加密的方法流程图;
图2为本发明所提供的一种数据加密的方法中计算获得多基数链Tate对的方法流程图;
图3为本发明所提供的一种数据加密的方法中计算获得多基数链Tate对的具体方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明通过利用{2,3,5}-多基数链展开式算法展开扭群的阶,利用展开的扭群的阶控制循环次数,有效地减少了Miller算法的迭代次数,又利用伪乘算法、多项式扩展算法和点的优化降低Miller算法中直线运算的复杂度,提高了Tate对的计算效率。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图对本发明作进一步的详细说明。
首先选取参数n、点P(xP,yP)和点Q(xQ,yQ),其中n表示椭圆曲线上扭群的阶,点P(xP,yP)表示椭圆曲线上的基点,点Q(xQ,yQ)表示椭圆曲线上的有理点。
需要说明是,上述参数的选择,可以根据常规的椭圆曲线参数选取方法进行,在本发明实施例中所涉及的参数的选取用于示意性说明,不应理解为对本发明技术方案的限定。
图1所示为本发明实施例的数据加密方法流程图,具体步骤如下:
步骤110,获得用于加密数据明文M的密钥参数K1
步骤120,计算获得多基数链Tate对;
步骤130,利用所述步骤110获得的密钥参数K1和所述步骤120获得的多基数链Tate对,对数据明文M进行加密计算,得到数据密文C。
参见图2所示,所述步骤120具体可以包括子步骤121~123:
步骤121,选取椭圆曲线上扭群的阶为参数n,利用{2,3,5}-多基数链展开式算法将所述的n展开为m项,即
Figure G2009102465360D0000041
其中a1≥a2≥a3≥…≥am≥0,b1≥b2≥b3≥…≥bm≥0,c1≥c2≥c3≥…≥cm≥0,di∈{-1,1},1≤i≤m;
初始选取有理函数f1=1,i=1,将椭圆曲线上基点P(xP,yP)的坐标值赋值于点T(x1,y1),即令x1=xP,y1=yP
需要说明的是,本步骤中所述的m随所选取的参数n的变化而变化,不应理解为对本发明技术方案的限定;
步骤122,根据扭群的阶n展开式中ai、bi、ci的值,利用点的优化、伪乘算法和多项式扩展算法对f1依次进行两倍点计算、三倍点计算、五倍点计算以及点加点减计算,得到有理函数f1′;
得到有理函数f1′后,对i做自增1运算,根据当前的i值判断是否进行循环:当i≤m-1时,令f1=f1′,当i=m时,结束循环并执行步骤123;
步骤123,对步骤122最终得到的有理函数f1′进行幂指数运算,得到Tate对;
参见图3所示,步骤122具体包括步骤1221至步骤1229:
步骤1221,判断ai-ai+1是否大于等于1,如果是,进入步骤1222,如果否,直接令两倍点有理函数f2等于f1,进入步骤1223;
步骤1222,利用优化后的Miller算法进行两倍点计算:
将点T(x1,y1)的两倍点定义为点T2(x2,y2);
其中,点T2(x2,y2)的坐标值可以直接调用椭圆曲线的两倍点计算方法进行计算;
利用点的优化,即对点的选取进行优化,直线g2过点T(x1,y1)和点-T2,因此g2=(yQ-y1)-λ2(xQ-x1)=(yQ+y2)-λ2(xQ-x2),其中,λ2为直线g2的斜率,由于选取点T2的坐标表示直线g2,可以约分计算中相同的因子,故将直线g2表示为g2=(yQ+y2)-λ2(xQ-x2);
利用伪乘算法将传统Miller算法中的直线g2与直线v2相除的形式,即g2/v2,优化为g2v2的形式;
计算两倍点有理函数f2=f1 2·(g2v2);
其中,利用多项式扩展算法计算g2v2为:
g 2 v ‾ 2 = ( y Q + y 2 ) - λ 2 ( x Q - x 2 ) x Q - x 2 = y Q + y 2 x Q - x 2 - λ 2
= ( y Q + y 2 ) ( x ‾ Q - x 2 ) - λ 2 = y Q x ‾ Q + y 2 x ‾ Q - ( y Q + y 2 ) x 2 - λ 2
输出两倍点有理函数f2=f1 2·(g2v2),并将点2T的坐标值赋值于点T,即将点T的坐标值更新为点2T的坐标值,进入步骤1223;所述点2T的坐标值可以直接调用椭圆曲线上两倍点计算方法进行计算;
步骤1223,判断bi-bi+1是否大于等于1,如果是,进入步骤1224,如果否,直接令三倍点有理函数f3等于f2,进入步骤1225;
步骤1224,利用优化后的Miller算法进行三倍点计算:
将点T(x1,y1)的3倍点定义为点T3(x3,y3);
其中,点T3(x3,y3)的坐标值可以直接调用椭圆曲线的三倍点计算方法进行计算;
利用伪乘算法将传统Miller算法中的直线g3与直线v3相除的形式,即g3/v3,优化为g3v3的形式;
计算三倍点有理函数:f3=f2 2·f2·(g3v3);
其中,利用多项式扩展算法计算g3v3
g 3 v ‾ 3 = g T , T ( Q ) g T , 2 T ( Q ) v 2 T ( Q ) v 3 T ( Q ) = - g T , T ( Q ) v T ( Q ) g T , 2 T ( - Q ) = - g T , T ( Q ) ( x Q - x 1 ) ( - y Q - y 1 ) - λ 3 ( x Q - x 1 )
= g T , T ( Q ) ( y Q + y 1 ) ( x ‾ Q - x 1 ) + λ 3 = g T , T ( Q ) ( y Q x ‾ Q + y 1 x ‾ Q ) - x 1 ( y Q + y 1 ) + λ 3
g 3 = g T , T ( Q ) g 2 T , 2 T ( Q ) v 2 T ( Q ) v ‾ 3 = 1 v 3 T ( Q )
gT,T表示以点T(x1,y1)为切点的直线,gT,2T表示直线过点T(x1,y1)和点2T的直线,v2T表示过点2T的垂线,v3T表示过点3T的垂线,Q(xQ,yQ)为预先选取的椭圆曲线的有限域上的有理点;
其中,本步骤中点T的坐标值为步骤1222中更新后的坐标值,点3T的坐标值直接调用椭圆曲线上三倍点的计算方法进行计算;
输出三倍点有理函数函数f3=f2 2·f2·(g3v3),并将3T的坐标值赋值于T,即将点T的坐标值更新为点3T的坐标值,进入步骤1125;
步骤1225,判断ci-ci+1是否大于等于1,如果是,进入步骤1226,如果否,直接令五倍点有理函数f5等于f3,进入步骤1227;
步骤1226,利用优化后的Miller算法进行五倍点计算:
将点T(x1,y1)的5倍点定义为点T5(x5,y5);
其中,点T5(x5,y5)的坐标值可以直接调用椭圆曲线的五倍点计算公式计算;
利用多项式扩展算法计算五倍点有理函数f5=(f3 2)2·f3·g4·g5·v5
其中, g 4 = g T , T ( Q ) g T , 2 T ( Q ) v 2 T ( Q ) g 5 = g T , T ( Q ) g 2 T , 3 T ( Q ) v 2 T ( Q ) v 5 = 1 v 3 T ( Q ) v 5 T ( Q )
gT,T表示以点T(x1,y1)为切点的直线,gT,2T表示过点T(x1,y1)和点2T的直线,g2T,3T表示过点2T和点3T的直线,v2T表示过点2T的垂线,v3T表示过点3T的垂线,v5T表示过点5T的垂线,Q(xQ,yQ)为预先选取的椭圆曲线上的有理点;
其中,本步骤中点T的坐标值为步骤1224中更新后的坐标值,点5T的坐标值计算直接调用椭圆曲线上五倍点的计算方法进行计算;
计算五倍点有理函数f5=(f3 2)2·f3·g4·g5·v5时,分别计算g4、g5与v5的值,降低运算的复杂度;
输出五倍点有理函数f5,并将5T的坐标值赋值于T,即将点T的坐标值更新为点5T的坐标值,进入步骤1127;
步骤1227,利用优化后的Miller算法进行点加或点减计算:
所述展开后的扭群的阶n,即
Figure G2009102465360D0000071
表达式中,当di=1时,进行点加计算;当di=-1时,进行点减计算;
所述点加计算包括:
将点T(x1,y1)与椭圆曲线上的基点P(xP,yP)相加,即T+P的值,赋值给点T6(x6,y6);
其中,点T6(x6,y6)的坐标值可以直接调用椭圆曲线上的点加计算方法进行计算,本步骤中点T的坐标值为步骤1226中所更新的坐标值;
利用点的优化,即对点的选取进行优化,直线g1过点T(x1,y1)和点-T6,因此g1=(yQ-y1)-λ1(xQ-x1)=(yQ+y6)-λ1(xQ-x6),其中,λ1为直线g1的斜率,由于选取点T2的坐标表示直线g1,可以约分计算中相同的因子,故将直线g1表示为g1=(yQ+y6)-λ1(xQ-x6);
利用伪乘算法将传统的Miller算法中的直线g1与直线v1相除的形式即g1/v1,优化为g1v1的形式;
计算点加有理函数f1′=f5·(g1v1);
其中,利用多项式扩展算法计算g1v1为:
g 1 v ‾ 1 = ( y Q + y 6 ) - λ 1 ( x Q - x 6 ) x Q - x 6 = y Q + y 6 x Q - x 6 - λ 1
= ( y Q + y 6 ) ( x ‾ Q - x 6 ) - λ 1 = y Q x ‾ Q + y 6 x ‾ Q - ( y Q + y 6 ) x 6 - λ 1
输出点加有理函数f1′=f5·(g1v1),并将T+P的坐标值赋值于点T,所述T+P的坐标值的计算直接调用椭圆曲线上的点加计算公式计算,其中,点T的坐标值更新为点T+P的坐标值,下一次循环中点T的坐标值为所述更新的坐标值;
所述点减计算包括:
将点T(x1,y1)与椭圆曲线上的基点P(xP,yP)相减,即T-P的值,赋值给点T7(x7,y7);
计算点减有理函数f1′=f5·[(f5)-1g1v1];
其中, ( f 5 ) - 1 g 1 ( Q ) = ( y Q + y P ) - λ 1 ( x Q - x P ) x Q - x P = y Q + y P x Q - x P - λ 1
v=xQ-x7
上式中点Q(xQ,yQ)为椭圆曲线上的有理点,点P(xP,yP)表示椭圆曲线上的基点,λ1为直线g1的斜率;
输出点减有理函数f1′=f5·[(f5)-1g1v1],并将T-P的坐标值赋值于T,所述T-P的坐标值的计算直接调用椭圆曲线上的点减计算公式计算,其中,点T的坐标值更新为点T-P的坐标值,下一次循环中点T的坐标值为所述更新的坐标值,进入步骤1228;
步骤1228,令i=i+1,进入步骤1229;
步骤1229,判断i是否小于等于m-1,如果是,进入步骤1220,如果否,进入步骤123;
步骤1220,将步骤1227所得f1′的值赋值于f1,即令f1=f1′,作为下一轮循环运算的输入参数,进入步骤1221;
步骤123,当i大于m-1,即循环完成后,对最后一次循环过程中步骤1227所得到的f1′进行幂指数运算,获得多基数链Tate对。
上述数据加密的方法实施例中,利用{2,3,5}-多基数链展开式算法展开扭群的阶n,利用所述展开的扭群的阶n控制循环次数,有效地减少了Miller算法的迭代次数,又利用伪乘算法、多项式扩展算法和点的优化降低Miller算法中直线运算的复杂度,提高了Tate对的计算效率,从而提高密码算法的计算效率。
对于应用上述数据加密方法所得到的密文C,相应的解密方法包括:
获取密文C的解密密钥参数K2;其中,该解密密钥参数K2可以与步骤110中的加密密钥参数K1不同的密钥参数;
计算获得多基数链Tate对;
利用所获取的解密密钥参数K2以及多基数链Tate对,对所述的密文C进行解密计算,获得明文M。
本领域技术人员可以理解的是,解密方法中获取多基数链Tate对的过程与前述加密方法中获取多基数链Tate对的方法相同,这里不再重复说明。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM(Read-Only Memory,只读存储记忆体)、RAM(RandomAccess Memory,随机存储记忆体)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (7)

1.一种数据加密方法,其特征在于,包括:
获得用于对数据明文进行加密的密钥参数;
计算获得多基数链Tate对;
利用所述密钥参数和所述多基数链Tate对,对所述数据明文进行加密计算,得到数据密文;
其中,所述计算获得多基数链Tate对,包括:
A.选取椭圆曲线上扭群的阶为参数n,利用{2,3,5}-多基数链展开式算法将所述n展开至m项,即,其中a1≥a2≥a3≥…≥am≥0,b1≥b2≥b3≥…≥bm≥0,c1≥c2≥c3≥…≥cm≥0di∈{-1,1},1≤i≤m,取有理函数f1=1,i=1,将椭圆曲线上基点P的坐标值赋值于点T,即T(x1,y1)=P(xP,yP);
B.根据扭群的阶n展开式中ai、bi、ci的值,利用多项式扩展算法、伪乘算法和点的优化,对f1依次进行两倍点计算、三倍点计算、五倍点计算以及点加点减计算,得到有理函数f′1
对i做自增1运算,并且令f1=f′1,判断i是否小于等于m-1,如果是,进入步骤C,否则,重复本步骤;
C.对步骤B中最终得到的f′1进行幂指数运算,得到多基数链Tate对。
2.根据权利要求1所述的方法,其特征在于,所述步骤B中,根据扭群的阶n展开式中ai、bi、ci的值,利用多项式扩展算法、伪乘算法和点的优化,对f1依次进行两倍点计算、三倍点计算、五倍点计算以及点加点减计算,得到有理函数f′1,包括:
B1.判断ai-ai+1是否大于等于1,如果是,则对f1进行两倍点计算得到f2,并将点2T的坐标值赋值于点T,执行B2,否则直接令f2=f1,并执行B2;
B2.判断bi-bi+1是否大于等于1,如果是,则对f2进行三倍点计算得到f3,并将点3T的坐标值赋值于点T,执行B3,否则直接令f3=f2,并执行B3;
B3.判断ci-ci+1是否大于等于1,如果是,则对f3进行五倍点计算得到f5,并将点5T的坐标值赋值于点T,执行B4,否则直接令f5=f3,并执行B4;
B4.根据展开后扭群的阶n的表达式中di的值,对f5进行点加或点减计算,得到有理函数f′1,当进行点加计算时,将点T+P的坐标值赋值于点T,当进行点减计算时,将点T-P的坐标值赋值于点T。
3.根据权利要求2所述的方法,其特征在于,所述对f1进行两倍点计算得到f2,包括:
计算两倍点有理函数:f2=f1 2·(g2v2);
其中,
Figure F2009102465360C0000021
= ( y Q + y 2 ) ( x ‾ Q - x 2 ) - λ 2 = y Q x ‾ Q + y 2 x ‾ Q - ( y Q + y 2 ) x 2 - λ 2
g2为过点T(x1,y1)和点-T2的直线,其中,点T2(x2,y2)为点T(x1,y1)两倍点,直线g2的表达式为g2=(yQ-y1)-λ2(xQ-x1)=(yQ+y2)-λ2(xQ-x2),λ2为直线g2的斜率,点Q(xQ,yQ)为预先选取的椭圆曲线上的有理点。
4.根据权利要求2所述的方法,其特征在于,所述对f2进行三倍点计算得到f3,包括:
计算三倍点有理函数:f3=f2 2·f2·(g3v3);
其中,
Figure F2009102465360C0000023
= g T , T ( Q ) ( y Q + y 1 ) ( x ‾ Q - x 1 ) + λ 3 = g T , T ( Q ) ( y Q x ‾ Q + y 1 x ‾ Q ) - x 1 ( y Q + y 1 ) + λ 3
g 3 = g T , T ( Q ) g T , 2 T ( Q ) v 2 T ( Q )
v ‾ 3 = 1 v 3 T ( Q )
gT,T表示以点T(x1,y1)为切点的直线,gT,2T表示直线过点T(x1,y1)和点2T的直线,v2T表示过点2T的垂线,v3T表示过点3T的垂线,Q(xQ,yQ)为预先选取的椭圆曲线上的有理点。
5.根据权利要求2所述的方法,其特征在于,所述对f3进行五倍点计算得到f5,包括:
计算倍点有理函数:f5=(f3 2)2·f3·g4·g5·v5
其中,
Figure F2009102465360C0000031
Figure F2009102465360C0000032
Figure F2009102465360C0000033
gT,T表示以点T(x1,y1)为切点的直线,gT,2T表示过点T(x1,y1)和点2T的直线,g2T,3T表示过点2T和点3T的直线,v2T表示过点2T的垂线,v3T表示过点3T的垂线,v5T表示过点5T的垂线,Q(xQ,yQ)为预先选取的椭圆曲线上的有理点。
6.根据权利要求2所述的方法,其特征在于,所述对f5进行点加点减计算得到f′1,包括:
当di=1时,进行点加计算;当di=-1时,进行点减计算;
所述对进行f5点加运算包括,计算点加有理函数f1′=f5·(g1v1);
其中,
Figure F2009102465360C0000034
= ( y Q + y 6 ) ( x ‾ Q - x 6 ) - λ 1 = y Q x ‾ Q + y 6 x ‾ Q - ( y Q + y 6 ) x 6 - λ 1
g1表示过点T(x1,y1)和点-T6的直线,其中点T6(x6,y6)的坐标值,由点T(x1,y1)与椭圆曲线上的基点P(xP,yP)根据椭圆曲线上的点加算法计算得出,点Q(xQ,yQ)为预先选取的椭圆曲线上的有理点,λ1为直线g1的斜率;
所述对进行f5点减运算包括,计算点减有理函数f1′=f5·[(f5)-1g1v1];
其中,
Figure F2009102465360C0000036
v=xQ-x7
点P(xP,yP)表示椭圆曲线上的基点,点T7(x7,y7)的坐标值,由点T(x1,y1)与椭圆曲线上的基点P(xP,yP)根据椭圆曲线上的点减算法计算得出,点Q(xQ,yQ)为预先选取的椭圆曲线上的有理点,λ1为直线g1的斜率。
7.根据权利要求1所述的方法,其特征在于,在产生数据密文之后,对所述数据密文的解密方法包括:
获得用于对数据密文进行解密的密钥参数;
计算获得多基数链Tate对;
利用所述密钥参数和所述多基数链Tate对,对所述数据密文进行解密计算,得到数据明文。
CN2009102465360A 2009-11-30 2009-11-30 一种数据加密方法 Expired - Fee Related CN101702646B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102465360A CN101702646B (zh) 2009-11-30 2009-11-30 一种数据加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102465360A CN101702646B (zh) 2009-11-30 2009-11-30 一种数据加密方法

Publications (2)

Publication Number Publication Date
CN101702646A true CN101702646A (zh) 2010-05-05
CN101702646B CN101702646B (zh) 2012-06-27

Family

ID=42157541

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102465360A Expired - Fee Related CN101702646B (zh) 2009-11-30 2009-11-30 一种数据加密方法

Country Status (1)

Country Link
CN (1) CN101702646B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977110A (zh) * 2010-10-09 2011-02-16 北京航空航天大学 一种基于椭圆曲线的群签名方法
CN102479171A (zh) * 2010-11-25 2012-05-30 上海华虹集成电路有限责任公司 一种实现二进制域超奇异曲线上Eta双线性对的方法
WO2019153778A1 (zh) * 2018-02-12 2019-08-15 天扬精密科技股份有限公司 遥控电子锁系统及其加解密方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977110A (zh) * 2010-10-09 2011-02-16 北京航空航天大学 一种基于椭圆曲线的群签名方法
CN102479171A (zh) * 2010-11-25 2012-05-30 上海华虹集成电路有限责任公司 一种实现二进制域超奇异曲线上Eta双线性对的方法
WO2019153778A1 (zh) * 2018-02-12 2019-08-15 天扬精密科技股份有限公司 遥控电子锁系统及其加解密方法
CN110163995A (zh) * 2018-02-12 2019-08-23 天扬精密科技股份有限公司 遥控电子锁系统及其加解密方法
CN110163995B (zh) * 2018-02-12 2021-04-30 天扬精密科技股份有限公司 遥控电子锁系统

Also Published As

Publication number Publication date
CN101702646B (zh) 2012-06-27

Similar Documents

Publication Publication Date Title
Stolbunov Constructing public-key cryptographic schemes based on class group action on a set of isogenous elliptic curves.
JP5001176B2 (ja) 署名生成装置、署名生成方法及び署名生成プログラム
CN101061526B (zh) 密码处理运算装置
KR100530372B1 (ko) 사이드채널 공격을 방지할 수 있는 타원곡선 암호화 방법
KR101269737B1 (ko) 암호 처리 장치 및 암호 처리 방법과 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
CN101782845A (zh) 一种椭圆曲线密码的高速运算装置和方法
CN102006161B (zh) 一种对称密钥加密的非线性变换方法及其实现装置
CN104917608B (zh) 一种密钥抗功耗攻击的方法
CN109617671A (zh) 加解密、扩展方法及装置、加解密系统、终端
JPWO2007080652A1 (ja) モンゴメリ法用乗算剰余計算装置
CN101702646B (zh) 一种数据加密方法
CN117972761B (zh) 基于国密sm2算法的数据处理方法以及装置
CN115499117A (zh) 区块链交易网络的密钥对生成方法及数据传输方法
Liu et al. Corrector-predictor methods for sufficient linear complementarity problems in a wide neighborhood of the central path
Vijayakumar et al. DNA computing based elliptic curve cryptography
CN112564890A (zh) 一种加速sm4算法的方法、装置、处理器及电子设备
CN111897578A (zh) 一种特征为2的椭圆曲线上标量乘的并行处理方法及装置
Akl Parallel real-time computation: Sometimes quantity means quality
CN102111266B (zh) 基于椭圆曲线的组密钥产生方法
Iyengar Novel elliptic curve scalar multiplication algorithms for faster and safer public-key cryptosystems
CN106452726B (zh) 一种s盒及其构造方法
CN105577362B (zh) 一种应用于aes算法的字节替换方法及系统
WO1999038142A1 (fr) Procede et appareil pour effectuer une operation arithmetique et support d'enregistrement dudit procede
Borghoff Mixed-integer linear programming in the analysis of trivium and ktantan
US20130007086A1 (en) Method of optimizing combinational circuits

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120627

Termination date: 20181130

CF01 Termination of patent right due to non-payment of annual fee