CN101931529A - 一种数据加密方法、数据解密方法及节点 - Google Patents

一种数据加密方法、数据解密方法及节点 Download PDF

Info

Publication number
CN101931529A
CN101931529A CN2010102490897A CN201010249089A CN101931529A CN 101931529 A CN101931529 A CN 101931529A CN 2010102490897 A CN2010102490897 A CN 2010102490897A CN 201010249089 A CN201010249089 A CN 201010249089A CN 101931529 A CN101931529 A CN 101931529A
Authority
CN
China
Prior art keywords
elliptic curve
coordinate system
sending node
information
point
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
CN2010102490897A
Other languages
English (en)
Other versions
CN101931529B (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.)
ZTE Corp
Original Assignee
ZTE 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 ZTE Corp filed Critical ZTE Corp
Priority to CN201010249089.7A priority Critical patent/CN101931529B/zh
Priority to PCT/CN2010/079823 priority patent/WO2012019407A1/zh
Publication of CN101931529A publication Critical patent/CN101931529A/zh
Application granted granted Critical
Publication of CN101931529B publication Critical patent/CN101931529B/zh
Expired - Fee Related 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种数据加密方法、数据解密方法及节点。其中所述数据加密方法包括:发送节点获取预先设置的椭圆曲线的参数组、密钥以及数据信息;发送节点利用椭圆曲线的参数组、密钥以及数据信息,计算得到数据加密信息,并将所述数据加密信息发送给接收节点;其中,在计算所述数据加密信息的过程中,将所述椭圆曲线转换为投影坐标系下的方程,并利用所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算。本发明能够降低椭圆曲线公钥密码体制的数据加密、解密的运算量,使得椭圆曲线公钥密码体制能应用在无线传感网络的无线传感节点中。

Description

一种数据加密方法、数据解密方法及节点
技术领域
本发明涉及椭圆曲线密码(ECC,Elliptic Curve Cryptography)技术领域,具体涉及一种基于椭圆曲线公钥密码体制的数据加密、数据解密方法、发送节点及接收节点。
背景技术
密码体制一般可以划分为两种类型:对称密码体制和公钥密码体制。其中,公钥密码体制是由Diffie-Hellman与Merkle分别独立提出的,第一篇关于公钥密码学的论文multiuser cryptographic techniques于1976年6月提交给美国的全国计算机会议。现在较为常用的公钥密码体制有RSA公钥密码体制,椭圆曲线密码体制等。在现有的公钥密码体制中,椭圆曲线密码体制是目前已知的公钥密码体制中每比特加密等级最高的一种。
数字签名技术是对公钥加密算法的主要应用,其主要功能是用于提供数据源认证,数据完整性和不可否认性认证。椭圆曲线数字签名技术是数字签名的椭圆曲线版本。它利用椭圆曲线密码体制较强的安全强度和相对较短的密钥长度来实现对数据源和数据完整性的认证。公钥加密算法的应用还包括利用椭圆曲线公钥密码体制对待发送的信息进行加密和对密文信息进行解密。
现有的椭圆曲线公钥密码体制中,需要进行椭圆曲线上的倍点运算,而倍点运算中的求逆运算的运算量非常大,会耗费大量的运算资源,这对支持椭圆曲线公钥密码体制的节点设备的硬件有很高的要求,限制了椭圆曲线公钥密码体制在一些功能有限的节点终端(如无线传感节点)上的应用。
发明内容
本发明所要解决的技术问题是提供一种数据加密方法、数据解密方法及节点,用以降低椭圆曲线公钥密码体制的数字签名认证的运算量。
为解决上述技术问题,本发明提供方案如下:
一种基于椭圆曲线公钥密码体制的数据加密方法,包括:
发送节点获取预先设置的椭圆曲线的参数组、密钥以及数据信息;
发送节点利用椭圆曲线的参数组、密钥以及数据信息,计算得到数据加密信息,并将所述数据加密信息发送给接收节点;
其中,在计算所述数据加密信息的过程中,将所述椭圆曲线转换为投影坐标系下的方程,并利用所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算。
优选地,上述数据加密方法中,其中,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算,具体包括:
将所述椭圆曲线投影到投影坐标系,将所述椭圆曲线转换为投影坐标系下的方程,并确定所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系;
根据所述对应关系,通过将所述椭圆曲线的倍点运算公式中的仿射点的坐标替换为投影点的坐标,转换得到所述椭圆曲线的倍点运算在投影坐标系下的计算公式;
利用所述对应关系和所述计算公式,将所述椭圆曲线上的倍点运算,转换到所述投影坐标系下进行计算。
优选地,上述数据加密方法中,
所述密钥为接收节点的公钥,所述数据信息为明文信息,所述数据加密信息是所述明文信息对应的密文信息。
优选地,上述数据加密方法中,
所述密钥为发送节点的私钥,所述数据信息为发送节点的标识信息,所述数据加密信息为发送节点的数字签名信息;
且发送节点在将所述数字签名信息发送给接收节点时,同时将所述标识信息发送给接收节点。
优选地,上述数据加密方法中,
所述发送节点的数字签名信息的计算包括:
从1到n-1之间任意选取一整数k,其中n是椭圆曲线的基点的素数阶;
计算kP,然后将kP的x坐标x3转换为整数
Figure BSA00000222797700031
并对整数
Figure BSA00000222797700032
取模n运算,得到r,其中P=(Px,Py),表示所述椭圆曲线的基点;
使用预设的杂凑函数对发送节点的标识信息进行杂凑运算,得到杂凑值e,并对k-1(e+dr)取模n运算,得到s,其中d为所述私钥;
在r和s均不等于0时,得到所述数字签名信息(r,s)。
优选地,上述数据加密方法中,
所述投影坐标系为雅可比投影坐标系;
在计算所述kP的过程中,对于2P的计算按照以下方式进行:
根据所述对应关系,得到仿射点P对应的投影点G=(X1∶Y1∶Z1);
按照公式
Figure BSA00000222797700033
求解得到2G=(X3∶Y3∶Z3);
根据所述对应关系,将投影点2G转换为仿射点2P。
本发明还提供了一种发送节点,包括:
获取单元,用于获取预先设置的椭圆曲线的参数组、密钥以及数据信息;
加密单元,用于利用椭圆曲线的参数组、密钥以及数据信息,计算得到数据加密信息;
发送单元,还用于将所述数据加密信息发送给接收节点;
其中,所述加密单元在计算所述数据加密信息的过程中,将所述椭圆曲线转换为投影坐标系下的方程,并利用所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算。
优选地,上述的发送节点中,所述加密单元包括:
投影单元,用于将所述椭圆曲线投影到投影坐标系,将所述椭圆曲线转换为投影坐标系下的方程,并确定所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系;
转换单元,用于根据所述对应关系,通过将所述椭圆曲线的倍点运算公式中的仿射点的坐标替换为投影点的坐标,转换得到所述椭圆曲线的倍点运算在投影坐标系下的计算公式;
计算单元,用于利用所述对应关系和所述计算公式,将所述椭圆曲线上的倍点运算,转换到所述投影坐标系下进行计算。
优选地,上述的发送节点中,
所述密钥为发送节点的私钥,所述数据信息为发送节点的标识信息,所述数据加密信息为发送节点的数字签名信息;
所述发送单元,还用于在将所述数字签名信息发送给接收节点时,同时将所述标识信息发送给接收节点。
优选地,上述的发送节点中,
所述加密单元包括:
选择单元,用于从1到n-1之间任意选取一整数k,其中n是所述椭圆曲线的基点的素数阶;
第一计算单元,用于计算kP,然后将kP的x坐标x3转换为整数并对整数
Figure BSA00000222797700042
取模n运算,得到r,其中P=(Px,Py),表示所述椭圆曲线的基点;
第二计算单元,用于使用杂凑函数对发送节点的标识信息进行杂凑运算,得到杂凑值e,并对k-1(e+dr)取模n运算,得到s,其中d为所述私钥;
输出单元,用于在r和s均不等于0时,得到所述数字签名信息(r,s)。
优选地,上述的发送节点中,所述投影坐标系为雅可比投影坐标系,所述第一计算单元,进一步用于在计算所述kP的过程中,对于2P的计算按照以下方式进行:
根据所述对应关系,得到仿射点P对应的投影点G=(X1∶Y1∶Z1);
按照公式求解得到2G=(X3∶Y3∶Z3);
根据所述对应关系,将投影点2G转换为仿射点2P。
本发明还提供了一种基于椭圆曲线公钥密码体制的数据解密方法,包括:
接收节点接收发送节点的数据加密信息,所述数据加密信息是发送节点利用预设的椭圆曲线的参数组、第一密钥和数据信息计算得到的;
接收节点利用所述椭圆曲线的参数组和所述第一密钥对应的第二密钥,对所述数据加密信息进行解密;
其中,在所述数据加密信息的解密过程中,将所述椭圆曲线转换为投影坐标系下的方程,并利用所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算。
优选地,上述的数据解密方法中,其中,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算,具体包括:
将所述椭圆曲线投影到投影坐标系,将所述椭圆曲线转换为投影坐标系下的方程,并确定所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系;
根据所述对应关系,通过将所述椭圆曲线的倍点运算公式中的仿射点的坐标替换为投影点的坐标,转换得到所述椭圆曲线的倍点运算在投影坐标系下的计算公式;
利用所述对应关系和所述第一计算公式,将所述椭圆曲线上的倍点运算,转换到所述投影坐标系下进行计算。
优选地,上述的数据解密方法中,
所述第一密钥为接收节点的公钥,所述第二密钥为接收节点的私钥,所述数据信息为明文信息,所述数据加密信息是所述明文信息对应的密文信息。
优选地,上述的数据解密方法中,
所述第一密钥为发送节点的私钥,所述第二密钥为发送节点的公钥,所述数据信息为发送节点的标识信息,所述数据加密信息为发送节点的数字签名信息;
接收节点进一步接收发送节点的标识信息,并在所述数据加密信息的解密过程中,利用所述椭圆曲线的参数组、发送节点的标识信息和所述发送节点的公钥,对所述数字签名信息进行签名认证。
优选地,上述的数据解密方法中,
所述对所述数字签名信息进行签名认证,包括:
在所述数字签名信息(r,s)中的r或s中任一个不属于区间[1,n-1]时,判断数字签名认证失败,其中n是所述椭圆曲线的基点的素数阶;
在r和s均属于区间[1,n-1]时,使用预设的杂凑函数对发送节点的标识信息m进行杂凑运算,得到杂凑值e,并对s-1取模n运算得到w;
计算u1P和u2Q,并计算u1P+u2Q得到T,其中,u1=ew mod n,u2=rw mod n,P=(Px,Py),表示所述椭圆曲线的基点,Q表示所述公钥;
在T=∞时,判断签名认证失败;
在T≠∞时,将T的x坐标x4转换为整数
Figure BSA00000222797700061
并对
Figure BSA00000222797700062
取模n运算得到v,并判断v=r是否成立:若成立,则数字签名认证通过;否则数字签名认证失败。
优选地,上述的数据解密方法中,
所述投影坐标系为雅可比投影坐标系;
在计算所述u1P或u2Q的过程中,对于2F的计算按照以下方式进行,其中F表示P或Q:
根据所述对应关系,得到仿射点F对应的投影点G=(X1∶Y1∶Z1);
按照公式
Figure BSA00000222797700063
求解得到2G=(X3∶Y3∶Z3);
根据所述对应关系,将投影点2G转换为仿射点2F。
本发明还提供了一种接收节点,包括:
接收单元,用于接收发送节点的数据加密信息,所述数据加密信息是发送节点利用预设的椭圆曲线的参数组、第一密钥和数据信息计算得到的;
解密单元,用于利用所述椭圆曲线的参数组和所述第一密钥对应的第二密钥,对所述数据加密信息进行解密;
其中,所述解密单元在所述数据加密信息的解密过程中,将所述椭圆曲线转换为投影坐标系下的方程,并利用所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算。
优选地,上述的接收节点中,所述解密单元包括:
投影单元,用于将所述椭圆曲线投影到投影坐标系,将所述椭圆曲线转换为投影坐标系下的方程,并确定所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系;
转换单元,用于根据所述对应关系,通过将所述椭圆曲线的倍点运算公式中的仿射点的坐标替换为投影点的坐标,转换得到所述椭圆曲线的倍点运算在投影坐标系下的计算公式;
计算单元,用于利用所述对应关系和所述计算公式,将所述椭圆曲线上的倍点运算,转换到所述投影坐标系下进行计算。
优选地,上述的接收节点中,
所述第一密钥为发送节点的私钥,所述第二密钥为发送节点的公钥,所述数据信息为发送节点的标识信息,所述数据加密信息为发送节点的数字签名信息;
所述接收单元,还用于接收发送节点的标识信息;
所述解密单元,还用于在所述数据加密信息的解密过程中,利用所述椭圆曲线的参数组、发送节点的标识信息和所述发送节点的公钥,对所述数字签名信息进行签名认证。
优选地,上述的接收节点中,
所述解密单元包括:
第一判断单元,用于在所述数字签名信息(r,s)中的r或s中任一个不属于区间[1,n-1]时,判断数字签名认证失败,其中n是所述椭圆曲线的基点的素数阶;
第一计算单元,用于在r和s均属于区间[1,n-1]时,使用预设的杂凑函数对发送节点的标识信息m进行杂凑运算,得到杂凑值e,并对s-1取模n运算得到w;
第二计算单元,用于计算u1P,其中P=(Px,Py),表示所述椭圆曲线的基点;
第三计算单元,用于计算u2Q,其中Q表示所述公钥;
第三计算单元,用于计算u1P+u2Q得到T,其中,u1=ew mod n,u2=rw mod n;
第二判断单元,用于在T=∞时,判断签名认证失败;
第三判断单元,用于在T≠∞时,将T的x坐标x4转换为整数
Figure BSA00000222797700071
并对取模n运算得到v,并判断v=r是否成立:若成立,则数字签名认证通过;否则数字签名认证失败。
优选地,上述的接收节点中,
所述投影坐标系为雅可比投影坐标系;
所述第二计算单元,进一步用于在计算所述u1P或u2Q的过程中,对于2F的计算按照以下方式进行,其中F表示P或Q:
根据所述对应关系,得到仿射点F对应的投影点G=(X1∶Y1∶Z1);
按照公式
Figure BSA00000222797700081
求解得到2G=(X3∶Y3∶Z3);
根据所述对应关系,将投影点2G转换为仿射点2F。
从以上所述可以看出,本发明提供的数据加密方法、数据解密方法及节点,在利用椭圆曲线公钥密码体制生成数据加密信息以及在对加密信息进行解密(例如计算数字签名信息以及在对数字签名信息进行签名认证)的过程中,通过将椭圆曲线由原始坐标系投影到投影坐标系,将椭圆曲线转换为投影坐标系下的方程,进而将所述椭圆曲线的倍点运算,转换为投影坐标系下的运算,由于投影坐标系下的运算只需要计算投影坐标系下坐标值之间的乘法、加法计算,从而避免了椭圆曲线倍点运算中的求逆运算,而求逆运算会耗费大量的***资源,因此本发明能够大大减少运算量,提高了计算效率。并且,由于本发明大大降低了数据加密及解密过程中的运算量,使得节点***资源有限的情况下也可应用椭圆曲线公钥密码体制,扩大了椭圆曲线公钥密码体制的应用范围,例如,使得椭圆曲线签名算法可以应用于无线传感网络中的无线传感节点,既提高了无线传感网络的安全性,又不必增加节点的硬件成本。
附图说明
图1为本发明实施例所述基于椭圆曲线公钥密码体制的数据加密方法的流程示意图;
图2为本发明实施例所述基于椭圆曲线公钥密码体制的数据解密方法的流程示意图;
图3为本发明实施例中椭圆曲线数字签名的生成过程的举例示意图;
图4为本发明实施例中椭圆曲线数字签名的验证过程的举例示意图;
图5为本发明实施例所述发送节点的结构示意图;
图6为本发明实施例所述接收节点的结构示意图。
具体实施方式
本发明针对现有的椭圆曲线公钥密码体制中加、解密运算量大的不足,通过对椭圆曲线进行坐标系转换,将椭圆曲线的倍点运算转换到投影坐标系下进行,降低了签名认证算法的运算量,扩大了椭圆曲线公钥密码体制的应用范围。以下将结合附图,通过具体实施例对本发明做进一步的说明。
本发明实施例提供了一种基于椭圆曲线公钥密码体制的数据加密方法。请参照图1,本发明实施例所述数据加密方法,具体包括以下步骤:
步骤11,发送节点获取预先设置的椭圆曲线的参数组、、密钥以及明文信息。
步骤12,发送节点利用椭圆曲线的参数组、密钥以及明文信息,计算得到数据加密信息,并将所述数据加密信息发送给接收节点;其中,在计算所述数据加密信息的过程中,将所述椭圆曲线转换为投影坐标系下的方程,并利用所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算。
这里,在应用本实施例所述数据加密方法对明文进行加密时,上述步骤11中所述的密钥为接收节点的公钥,所述数据信息为明文信息,上述步骤12中所述的数据加密信息是所述明文信息对应的密文信息。
这里,在应用本实施例所述数据加密方法对发送节点进行数字签名时,上述步骤11中所述的密钥为发送节点的私钥,所述数据信息为发送节点的标识信息,上述步骤12中所述的数据加密信息为发送节点的数字签名信息,并且发送节点在将所述数字签名信息发送给接收节点时,同时将所述标识信息发送给接收节点。
在利用椭圆曲线公钥密码体制生成数字签名或对明文进行加密的过程中,都会涉及到椭圆曲线上的倍点运算。本实施例在上述步骤12中,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算,具体包括:
将所述椭圆曲线投影到投影坐标系,将所述椭圆曲线转换为投影坐标系下的方程,并确定所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系;
根据所述对应关系,通过将所述椭圆曲线的倍点运算公式中的仿射点的坐标替换为投影点的坐标,转换得到所述椭圆曲线的倍点运算在投影坐标系下的计算公式,所述计算公式的表达式中消去了分母;
利用所述对应关系和所述计算公式,将所述椭圆曲线上的倍点运算,转换到所述投影坐标系下进行计算。
从以上所述可以看出,本实施例在利用椭圆曲线公钥密码体制计算数据加密信息时,通过将椭圆曲线由原始坐标系投影到投影坐标系,将椭圆曲线转换为投影坐标系下的方程,原始坐标系下椭圆曲线的每一点(投影点),在投影坐标系下都有与之对应的一个点(仿射点);进而本实施例将所述椭圆曲线的倍点运算,转换为投影坐标系下的运算,由于投影坐标系下的运算只需要计算投影坐标系下坐标值之间的乘法、加法计算,从而避免了椭圆曲线倍点运算中的求逆运算,而求逆运算会耗费大量的***资源,因此本实施例能够大大减少运算量,提高了计算效率。
优选地,本实施例所述发送节点为无线传感网络中的无线传感节点。
无线传感网络是一种由传感器节点构成的网络,它能够协作监测、感知和采集网络分布区域内的各种监测对象信息,并对这些信息进行处理,发布给观察者。由于无线传感网络节点大都需要部署在相对危险或者环境较为恶劣的地区,而且在一般情况下,无线传感节点处于无人监管和维护的状况下,所以无线传感节点极易受到各种恶意攻击,从而威胁到整个无线传感网络的安全。所以必须要保证在无线传感网络中节点通信的合法身份。另一方面由于无线传感节点存储容量和计算能力都十分有限,这使得在无线传感节点是使用较为复杂的加密算法十分困难,因此现有技术的椭圆曲线密钥长度的算术运算不适合应用在硬件资源有限的无线传感节点,因此现有技术的无线传感节点都没有采用安全性很高的椭圆曲线签名算法。而本实施例通过坐标系转换,避免了椭圆曲线的倍点运算中的求逆运算,大大降低了签名过程中的运算量,使得椭圆曲线公钥密码体制可以应用于无线传感节点,既提高了节点的安全性,又不必增加节点的硬件成本。
与上述数字签名方法相对应,本实施例还提供了一种基于椭圆曲线公钥密码体制的数据解密方法,如图2所示,该认证方法具体包括:
步骤21,接收节点接收发送节点的数据加密信息,所述数据加密信息是发送节点利用预设的椭圆曲线的参数组、第一密钥和数据信息计算得到的;
步骤22,接收节点利用所述椭圆曲线的参数组和所述第一密钥对应的第二密钥,对所述数据加密信息进行解密;其中,在所述数据加密信息的解密中,将所述椭圆曲线转换为投影坐标系下的方程,并利用所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算。
这里,在应用本实施例所述数据解密方法对密文进行解密时,上述步骤21中所述的第一密钥为接收节点的公钥,所述第二密钥为接收节点的私钥,所述数据信息为明文信息,所述数据加密信息是所述明文信息对应的密文信息。
这里,在应用本实施例所述数据加密方法对发送节点的数字签名进行签名认证时,上述步骤21中所述的第一密钥为发送节点的私钥,所述第二密钥为发送节点的公钥,所述数据信息为发送节点的标识信息,所述数据加密信息为发送节点的数字签名信息;且在步骤21中,接收节点进一步接收发送节点的标识信息,并在步骤22中所述数据加密信息的解密过程中,利用所述椭圆曲线的参数组、发送节点的标识信息和所述发送节点的公钥,对所述数字签名信息进行签名认证。
这里,上述步骤22中,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算,具体包括:
将所述椭圆曲线投影到投影坐标系,将所述椭圆曲线转换为投影坐标系下的方程,并确定所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系;
根据所述对应关系,通过将所述椭圆曲线的倍点运算公式中的仿射点的坐标替换为投影点的坐标,转换得到所述椭圆曲线的倍点运算在投影坐标系下的计算公式,所述计算公式的表达式中消去了分母;
利用所述对应关系和所述计算公式,将所述椭圆曲线上的倍点运算,转换到所述投影坐标系下进行计算。
优选地,所述接收节点为无线传感网络中的无线传感节点。
从以上所述可以看出,本实施例在对数据加密信息进行解密时,通过将椭圆曲线由原始坐标系投影到投影坐标系,将椭圆曲线转换为投影坐标系下的方程,原始坐标系下椭圆曲线的每一点(投影点),在投影坐标系下都有与之对应的一个点(仿射点);进而本实施例将所述椭圆曲线的倍点运算,转换为投影坐标系下的运算,由于投影坐标系下的运算只需要计算投影坐标系下坐标值之间的乘法、加法计算,从而避免了椭圆曲线倍点运算中的求逆运算,大大减少了运算量,提高了计算效率。
为了更容易理解本实施例的上述方法,本实施例进一步以雅可比投影坐标系和数字签名及签名认证为例,通过具体示例对上述方法做进一步的说明。该具体示例并不用于限制本发明,本发明同样可以应用到其它投影坐标系,如标准投影坐标系中,本发明同样可以应用在基于现有的椭圆曲线公钥密码体制的各种加密解密算法对明文进行加密和对密文进行解密的过程中。
首先说明椭圆曲线的倍点运算如何通过雅可比椭圆坐标下的计算实现。
假设给出椭圆曲线的参数组D=(p,a,b,P,n,h),该参数组能够定义一个椭圆曲线方程E:y2=x3+ax+b。其中,p是一个大于3的素数,通常其二进制长度大于160比特,可以是由美国国家标准技术研究院(NIST)推荐的素数,从而可以得到相应的素数域。a,b是椭圆曲线E:y2=x3+ax+b的系数。P=(Px,Py)为椭圆曲线E上的基点。h为余因子,n为基点P的素数阶。假设本实施例中采用的数字签名的密钥对(d,Q),其中d是私钥,是1到n-1之间一个任意整数(即d∈R[1,n-1]),为发送节点所有;Q=dP是公钥,为接收节点所有。
这里,将椭圆曲线转换为雅可比投影坐标系下的方程,并确定所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系,具体是:将椭圆曲线E:y2=x3+ax+b转换成雅可比投影坐标系下的方程形式Y2=X3+aXZ4+bZ6,此时雅可比投影坐标系下的投影点(X∶Y∶Z),Z≠0与椭圆曲线所在原始坐标系下的仿射点(X/Z2,Y/Z3)对应。
假设W=(x1,y1)是椭圆曲线中的一个点,则椭圆曲线的倍点运算公式2W=(x2,y2)为:
x2=λ2-2x1 mod p
y2=λ(x1-x2)-y1 mod p
其中,λ=(3x1 2+a)/2y1。这里的mod p是表示对取模p运算,例如上式中分别对λ2-2x1和λ(x1-x2)-y1取模p运算。
根据仿射点和投影点之间的对应关系,对于仿射点:W=(x1,y1)=(X/Z2,Y/Z3),存在投影点G=(X1∶Y1∶Z1)与之对应,因此,令G=(X1∶Y1∶Z1),则2G=(X′3∶Y′3∶1),将x1、y1替换为雅可比投影坐标系下的坐标,代入上述椭圆曲线的倍点运算公式,得到:
X 3 ′ = ( 3 X 1 2 + aZ 1 4 ) 2 - 8 X 1 Y 1 2 4 Y 1 2 Z 1 2
Y 3 ′ = 3 X 1 2 + aZ 1 4 2 Y 1 Z 1 ( X 1 Z 1 2 - X 3 ′ ) - Y 1 Z 1 3
在表达式中消去分母,则2G=(X3∶Y3∶Z3),其中
X 3 = ( 3 X 1 2 + aZ 1 4 ) 2 - 8 X 1 Y 1 2 Y 3 = ( 3 X 1 2 + aZ 1 4 ) ( 4 X 1 Y 1 2 - X 3 ) - 8 Y 1 4 Z 3 = 2 Y 1 Z 1 - - - ( 1 )
上述公式(1)便是椭圆曲线的倍点运算在雅可比投影坐标系下的计算公式。上述公式(1)的表达式中都没有了分母,从而避免了求逆运算。同时,由于
Figure BSA00000222797700135
等计算结果都可以重复使用,以进一步减少运算量。
通过以上转换,椭圆曲线上的仿射点W=(x1,y1)=(X/Z2,Y/Z3),其倍点运算得到的点2W,对应于雅可比投影坐标下的2G=(X3∶Y3∶Z3),因此,在计算椭圆曲线的倍点运算时,只需要利用仿射点和投影点之间的对应关系和上述公式(1),将椭圆曲线上的倍点运算转换为雅可比投影坐标系下的计算,然后再根据上述对应关系,将雅可比投影坐标系下的计算结果转换回椭圆曲线所在的原始坐标系,即可得到椭圆曲线的倍点计算结果。
本示例中,作为发送节点的无线传感节点,在发生通信时首先产生本发送节点的数字签名信息(r,s),并将该数字签名信息(r,s)发送给接收节点,其具体过程如图3所示,包括:
步骤300,导出发送节点的标识信息m,这里,该标识信息可以是终端号、终端MAC地址或其它能唯一标识该终端的信息。
步骤301,导出预置在发送节点中的椭圆曲线的参数组D=(p,a,b,P,n,h)和发送节点的私钥d。
步骤302,发送节点选取1到n-1之间一个任意整数k(即k∈R[1,n-1]),并计算kP=(x3,y3),然后将域参数x3转换为整数
Figure BSA00000222797700141
具体转换可以按照美国国家标准学会ANSI X9.62标准进行将x3转换为整数
这里,在步骤302中,可以在计算kP=(x3,y3)的过程中使用上述公式(1),对椭圆曲线的倍点运算进行优化,以减少运算量,提高运算效率。按照椭圆曲线中多倍点运算,对于N=kP的计算过程如下:
首先,将k表示为二进制形式k=(ki-1,...,k2,k1)2,并令N=0:
然后,对于i从0到t-1,依次重复执行以下A、B的运算:
A)若ki=1,则将N更新为N+P的结果(即N←N+P);若ki=0,则保持N不变(即N←N);
B)计算2P,并将P更新为2P(即P←2P);
最后,输出N的值,得到N=kP的计算结果。
其中,所述步骤B中计算2P具体包括:
根据所述仿射点和投影点之间的对应关系,得到仿射点P对应的投影点G=(X1∶Y1∶Z1);
按照公式
Figure BSA00000222797700143
求解得到2G=(X3∶Y3∶Z3);
根据所述对应关系,将投影点2G转换为仿射点2P,从而得到倍点2P的运算结果。
从上述计算过程可以看出,在进行椭圆曲线中多倍点运算时,需要反复进行椭圆曲线的倍点运算(即步骤B中的2P),因此,本示例在计算2P时,将椭圆曲线投影到雅可比投影坐标系下,利用仿射点和投影点的对应关系和上述公式(1),将倍点运算转换为雅可比投影坐标下的计算,然后根据上述对应关系,将计算结果转换回椭圆曲线所属的原始坐标系,即可得到倍点运算结果,从而避免了椭圆曲线倍点运算中的求逆计算,大大减少了运算量。
步骤303,计算
Figure BSA00000222797700151
步骤304,判断r=0是否成立:若成立,则返回步骤302,以重新选择k进行计算;若不成立,则得到r的值并进入步骤305。
步骤305,使用预设的杂凑函数对节点的标识信息m进行杂凑运算,得到杂凑值e。例如使用安全散列演算法SHA1对m进行杂凑运算,得到固定长度的160位的杂凑值。
步骤306,计算s=k-1(e+dr)mod n,即对k-1(e+dr)取模n运算。
步骤307,判断s=0是否成立,若成立,则返回步骤302;若不成立,得到s的值并进入步骤308。
步骤308,得到发送节点的椭圆曲线的数字签名信息(r,s),并将数字签名信息(r,s)和自身标识信息发送给接收节点。这里,优选地,发送节点和接收节点都是无线传感网络中的无线传感节点。
本示例中,接收节点接收到发送节点发送的数字数字签名信息(r,s)后,利用预置的公钥对其进行验证,从而在发送节点接入网络时对发送节点的合法性进行认证,保证网络的安全通信,具体认证过程如图4所示,包括:
步骤400,在通信过程开始后,接收节点收到发送节点的数字签名信息(r,s)和发送节点的终端标识信息m;
步骤401,接收节点提取预置在本地的椭圆曲线的参数D=(p,a,b,P,n,h)和公钥Q。
步骤402,接收节点检验r和s是否都是区间[1,n-1]内的整数:若任何一个检验失败,则进入步骤410;r和s都是区间[1,n-1]内的整数,则进入步骤403。
步骤403,使用预设的杂凑函数(如SHA1,与发送节点相同)对发送节点的终端标识信息m进行杂凑运算,得到固定长度的160位的杂凑值e。
步骤404,计算w=s-1 mod n(即对s-1取模n运算得到w)。
步骤405,计算u1=ew mod n和u2=rw mod n(即对ew取模n运算得到u1,对rw取模n运算得到u2);然后,计算u1P和u2Q,并计算u1P+u2Q得到T,T=u1P+u2Q。
步骤406,判断T=∞是否为真:如是,则进入步骤410;否则进入步骤407。
步骤407,根据ANSI X9.62标准,将域参数T的x坐标x4转换为整数
Figure BSA00000222797700161
并计算
Figure BSA00000222797700162
步骤408,由于s=k-1(e+dr)mod n,重新整理可得:
k=s-1(e+dr)=s-1e+s-1rd=we+wrd=u1+u2d(mod n),即:
X=u1P+u2Q=u1P+u2dP=(u1+u2d)P=kP,所以有v=r成立,因此判断v=r是否成立:若成立,则进入步骤409;否则进入步骤410。
步骤409,数字签名认证通过,返回(“接受该签名”)的指示。
步骤410,数字签名认证失败,返回(“拒绝该签名”)的指示。
这里,在上述步骤405中,可以在计算u1P和u2Q的过程中使用上述公式(1),对椭圆曲线的倍点运算进行优化,以减少运算量,提高运算效率,具体说明如下:
其中计算u1P包括:
将u1转换为二进制形式u1=(fh-1,...,f2,f1)2,并令N的初始值为0;
对于i从0到h-1,依次重复执行以下步骤A、B的运算:
步骤A)若fi=1,则将N更新为N+P的结果;若fi=0,则保持N不变;
步骤B)计算2P,并将P更新为2P;
运算结束后输出N的值,得到N=u1P的计算结果;
其中,所述步骤B中计算2P包括:
根据所述仿射点和投影点之间的对应关系,得到仿射点P对应的投影点G=(X1∶Y1∶Z1);
按照公式
Figure BSA00000222797700163
求解得到2G=(X3∶Y3∶Z3);
再根据所述对应关系,将投影点2G转换为仿射点2P,从而得到倍点2P的运算结果。
而计算u2Q,又具体包括:
将u2转换为二进制形式u2=(ji-1,...,j2,j1)2,并令M的初始值为0;
对于i从0到l-1,依次重复执行以下步骤A’、B’的运算:
步骤A’)若ji=1,则将M更新为M+Q的结果;若ji=0,则保持M不变;
步骤B’)计算2Q,并将Q更新为2Q;
运算结束后输出M的值,得到M=u2Q的计算结果;
其中,所述步骤B’中计算2Q包括:
根据所述对应关系,得到仿射点Q对应的投影点B=(X2∶Y2∶Z2);
按照公式求解得到2B=(X4∶Y4∶Z4);
再根据所述对应关系,将投影点2B转换为仿射点2Q,从而得到倍点2Q的运算结果。
以上过程中,发送节点在生成数字签名信息过程中,接收节点在验证数字签名信息过程中均可利用上述公式(1)对椭圆曲线的倍点运算进行简化,避免了倍点运算中的求逆运算,减少了倍点运算所消耗的***资源,降低了对节点硬件的要求,提高了运算效率。
最后,通过下表列出了采用本实施例所述方法进行优化前后的无线传感节点在生成公钥、数字签名信息和验证数字签名时所需要的时间,从下表可以看出,采用本实施例方法后,在同样的硬件条件下,无线传感节点可以大大减少运算所需时间,本实施例所述方法能够在很大程度上提高运算效率,使得椭圆曲线公钥密码体制可以应用于***资源较少的无线传感节点,而不必提高无线传感节点的硬件配置,具有很好的经济效益,又能够提高无线传感网络的安全性
 未优化的执行时间(S)  优化后的执行时间(S)
  产生公钥   30.12   8.23
  生成签名   30.05   8.33
  验证签名   60.55   16.95
最后,本实施例还分别提供了用以实现上述数据加密方法和数据解密方法的节点设备。
其中,如图5所示,本实施例提供的一种发送节点,具体包括:
获取单元,用于获取预先设置的椭圆曲线的参数组、密钥以及数据信息;
加密单元,用于利用椭圆曲线的参数组、密钥以及数据信息,计算得到数据加密信息;
发送单元,还用于将所述数据加密信息发送给接收节点;
其中,所述加密单元在计算所述数据加密信息的过程中,将所述椭圆曲线转换为投影坐标系下的方程,并利用所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算。
作为一个优选实施例,所述加密单元包括:
投影单元,用于将所述椭圆曲线投影到投影坐标系,将所述椭圆曲线转换为投影坐标系下的方程,并确定所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系;
转换单元,用于根据所述对应关系,通过将所述椭圆曲线的倍点运算公式中的仿射点的坐标替换为投影点的坐标,转换得到所述椭圆曲线的倍点运算在投影坐标系下的计算公式;
计算单元,用于利用所述对应关系和所述计算公式,将所述椭圆曲线上的倍点运算,转换到所述投影坐标系下进行计算。
作为一个优选实施例,所述密钥为接收节点的公钥,所述数据信息为明文信息,所述数据加密信息是所述明文信息对应的密文信息。
作为一个优选实施例,所述密钥为发送节点的私钥,所述数据信息为发送节点的标识信息,所述数据加密信息为发送节点的数字签名信息;且所述发送单元,还用于在将所述数字签名信息发送给接收节点时,同时将所述标识信息发送给接收节点。
优选地,所述发送节点为无线传感网络中的无线传感节点。
作为一个优选实施例,所述加密单元包括:
选择单元,用于从1到n-1之间任意选取一整数k,其中n是所述椭圆曲线的基点的素数阶;
第一计算单元,用于计算kP,然后将kP的x坐标x3转换为整数
Figure BSA00000222797700191
,并对整数
Figure BSA00000222797700192
取模n运算,得到r,其中P=(Px,Py),表示所述椭圆曲线的基点;
第二计算单元,用于使用杂凑函数对发送节点的标识信息进行杂凑运算,得到杂凑值e,并对k-1(e+dr)取模n运算,得到s,其中d为所述私钥;
输出单元,用于在r和s均不等于0时,得到所述数字签名信息(r,s)。
作为一个优选实施例,所述投影坐标系为雅可比投影坐标系,所述第一计算单元,进一步用于在计算所述kP的过程中,对于2P的计算按照以下方式进行:
根据所述对应关系,得到仿射点P对应的投影点G=(X1∶Y1∶Z1);
按照公式求解得到2G=(X3∶Y3∶Z3);
根据所述对应关系,将投影点2G转换为仿射点2P。
再请参照图6所示,本实施例还提供了一种接收节点,具体包括:
接收单元,用于接收发送节点的数据加密信息,所述数据加密信息是发送节点利用预设的椭圆曲线的参数组、第一密钥和数据信息计算得到的;
解密单元,用于利用所述椭圆曲线的参数组和所述第一密钥对应的第二密钥,对所述数据加密信息进行解密;
其中,所述解密单元在所述数据加密信息的解密过程中,将所述椭圆曲线转换为投影坐标系下的方程,并利用所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算。
作为一个优选实施例,所述解密单元包括:
投影单元,用于将所述椭圆曲线投影到投影坐标系,将所述椭圆曲线转换为投影坐标系下的方程,并确定所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系;
转换单元,用于根据所述对应关系,通过将所述椭圆曲线的倍点运算公式中的仿射点的坐标替换为投影点的坐标,转换得到所述椭圆曲线的倍点运算在投影坐标系下的计算公式;
计算单元,用于利用所述对应关系和所述计算公式,将所述椭圆曲线上的倍点运算,转换到所述投影坐标系下进行计算。
优选地,所述发送节点为无线传感网络中的无线传感节点。
作为一个优选实施例,所述第一密钥为接收节点的公钥,所述第二密钥为接收节点的私钥,所述数据信息为明文信息,所述数据加密信息是所述明文信息对应的密文信息。
作为一个优选实施例,所述第一密钥为发送节点的私钥,所述第二密钥为发送节点的公钥,所述数据信息为发送节点的标识信息,所述数据加密信息为发送节点的数字签名信息;
所述接收单元,还用于接收发送节点的标识信息;
所述解密单元,还用于在所述数据加密信息的解密过程中,利用所述椭圆曲线的参数组、发送节点的标识信息和所述发送节点的公钥,对所述数字签名信息进行签名认证。
优选地,所述解密单元包括:
第一判断单元,用于在所述数字签名信息(r,s)中的r或s中任一个不属于区间[1,n-1]时,判断数字签名认证失败,其中n是所述椭圆曲线的基点的素数阶;
第一计算单元,用于在r和s均属于区间[1,n-1]时,使用预设的杂凑函数对发送节点的标识信息m进行杂凑运算,得到杂凑值e,并对s-1取模n运算得到w;
第二计算单元,用于计算u1P,其中P=(Px,Py),表示所述椭圆曲线的基点;
第三计算单元,用于计算u2Q,其中Q表示所述公钥;
第三计算单元,用于计算u1P+u2Q得到T,其中,u1=ew mod n,u2=rw mod n;
第二判断单元,用于在T=∞时,判断签名认证失败;
第三判断单元,用于在T≠∞时,将T的x坐标x4转换为整数
Figure BSA00000222797700211
并对
Figure BSA00000222797700212
取模n运算得到v,并判断v=r是否成立:若成立,则数字签名认证通过;否则数字签名认证失败。
作为一个优选实施例,所述投影坐标系为雅可比投影坐标系,所述第二计算单元,进一步用于在计算所述u1P或u2Q的过程中,对于2F的计算按照以下方式进行,其中F表示P或Q:
根据所述对应关系,得到仿射点F对应的投影点G=(X1∶Y1∶Z1);
按照公式
Figure BSA00000222797700213
求解得到2G=(X3∶Y3∶Z3);
根据所述对应关系,将投影点2G转换为仿射点2F。
以上所述仅是本发明的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (22)

1.一种基于椭圆曲线公钥密码体制的数据加密方法,其特征在于,包括:
发送节点获取预先设置的椭圆曲线的参数组、密钥以及数据信息;
发送节点利用椭圆曲线的参数组、密钥以及数据信息,计算得到数据加密信息,并将所述数据加密信息发送给接收节点;
其中,在计算所述数据加密信息的过程中,将所述椭圆曲线转换为投影坐标系下的方程,并利用所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算。
2.如权利要求1所述的数据加密方法,其特征在于,其中,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算,具体包括:
将所述椭圆曲线投影到投影坐标系,将所述椭圆曲线转换为投影坐标系下的方程,并确定所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系;
根据所述对应关系,通过将所述椭圆曲线的倍点运算公式中的仿射点的坐标替换为投影点的坐标,转换得到所述椭圆曲线的倍点运算在投影坐标系下的计算公式;
利用所述对应关系和所述计算公式,将所述椭圆曲线上的倍点运算,转换到所述投影坐标系下进行计算。
3.如权利要求1所述的数据加密方法,其特征在于,
所述密钥为接收节点的公钥,所述数据信息为明文信息,所述数据加密信息是所述明文信息对应的密文信息。
4.如权利要求1所述的数据加密方法,其特征在于,
所述密钥为发送节点的私钥,所述数据信息为发送节点的标识信息,所述数据加密信息为发送节点的数字签名信息;
且发送节点在将所述数字签名信息发送给接收节点时,同时将所述标识信息发送给接收节点。
5.如权利要求4所述的数据加密方法,其特征在于,
所述发送节点的数字签名信息的计算包括:
从1到n-1之间任意选取一整数k,其中n是椭圆曲线的基点的素数阶;
计算kP,然后将kP的x坐标x3转换为整数
Figure FSA00000222797600021
并对整数
Figure FSA00000222797600022
取模n运算,得到r,其中P=(Px,Py),表示所述椭圆曲线的基点;
使用预设的杂凑函数对发送节点的标识信息进行杂凑运算,得到杂凑值e,并对k-1(e+dr)取模n运算,得到s,其中d为所述私钥;
在r和s均不等于0时,得到所述数字签名信息(r,s)。
6.如权利要求5所述的数据加密方法,其特征在于,
所述投影坐标系为雅可比投影坐标系;
在计算所述kP的过程中,对于2P的计算按照以下方式进行:
根据所述对应关系,得到仿射点P对应的投影点G=(X1∶Y1∶Z1);
按照公式
Figure FSA00000222797600023
求解得到2G=(X3∶Y3∶Z3);
根据所述对应关系,将投影点2G转换为仿射点2P。
7.一种发送节点,其特征在于,包括:
获取单元,用于获取预先设置的椭圆曲线的参数组、密钥以及数据信息;
加密单元,用于利用椭圆曲线的参数组、密钥以及数据信息,计算得到数据加密信息;
发送单元,还用于将所述数据加密信息发送给接收节点;
其中,所述加密单元在计算所述数据加密信息的过程中,将所述椭圆曲线转换为投影坐标系下的方程,并利用所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算。
8.如权利要求7所述的发送节点,其特征在于,所述加密单元包括:
投影单元,用于将所述椭圆曲线投影到投影坐标系,将所述椭圆曲线转换为投影坐标系下的方程,并确定所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系;
转换单元,用于根据所述对应关系,通过将所述椭圆曲线的倍点运算公式中的仿射点的坐标替换为投影点的坐标,转换得到所述椭圆曲线的倍点运算在投影坐标系下的计算公式;
计算单元,用于利用所述对应关系和所述计算公式,将所述椭圆曲线上的倍点运算,转换到所述投影坐标系下进行计算。
9.如权利要求7所述的发送节点,其特征在于,
所述密钥为发送节点的私钥,所述数据信息为发送节点的标识信息,所述数据加密信息为发送节点的数字签名信息;
所述发送单元,还用于在将所述数字签名信息发送给接收节点时,同时将所述标识信息发送给接收节点。
10.如权利要求9所述的发送节点,其特征在于,
所述加密单元包括:
选择单元,用于从1到n-1之间任意选取一整数k,其中n是所述椭圆曲线的基点的素数阶;
第一计算单元,用于计算kP,然后将kP的x坐标x3转换为整数
Figure FSA00000222797600031
并对整数
Figure FSA00000222797600032
取模n运算,得到r,其中P=(Px,Py),表示所述椭圆曲线的基点;
第二计算单元,用于使用杂凑函数对发送节点的标识信息进行杂凑运算,得到杂凑值e,并对k-1(e+dr)取模n运算,得到s,其中d为所述私钥;
输出单元,用于在r和s均不等于0时,得到所述数字签名信息(r,s)。
11.如权利要求10所述的发送节点,其特征在于,所述投影坐标系为雅可比投影坐标系,所述第一计算单元,进一步用于在计算所述kP的过程中,对于2P的计算按照以下方式进行:
根据所述对应关系,得到仿射点P对应的投影点G=(X1∶Y1∶Z1);
按照公式
Figure FSA00000222797600033
求解得到2G=(X3∶Y3∶Z3);
根据所述对应关系,将投影点2G转换为仿射点2P。
12.一种基于椭圆曲线公钥密码体制的数据解密方法,其特征在于,包括:接收节点接收发送节点的数据加密信息,所述数据加密信息是发送节点利用预设的椭圆曲线的参数组、第一密钥和数据信息计算得到的;
接收节点利用所述椭圆曲线的参数组和所述第一密钥对应的第二密钥,对所述数据加密信息进行解密;
其中,在所述数据加密信息的解密过程中,将所述椭圆曲线转换为投影坐标系下的方程,并利用所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算。
13.如权利要求12所述的数据解密方法,其特征在于,其中,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算,具体包括:
将所述椭圆曲线投影到投影坐标系,将所述椭圆曲线转换为投影坐标系下的方程,并确定所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系;
根据所述对应关系,通过将所述椭圆曲线的倍点运算公式中的仿射点的坐标替换为投影点的坐标,转换得到所述椭圆曲线的倍点运算在投影坐标系下的计算公式;
利用所述对应关系和所述第一计算公式,将所述椭圆曲线上的倍点运算,转换到所述投影坐标系下进行计算。
14.如权利要求12所述的数据解密方法,其特征在于,
所述第一密钥为接收节点的公钥,所述第二密钥为接收节点的私钥,所述数据信息为明文信息,所述数据加密信息是所述明文信息对应的密文信息。
15.如权利要求12所述的数据解密方法,其特征在于,
所述第一密钥为发送节点的私钥,所述第二密钥为发送节点的公钥,所述数据信息为发送节点的标识信息,所述数据加密信息为发送节点的数字签名信息;
接收节点进一步接收发送节点的标识信息,并在所述数据加密信息的解密过程中,利用所述椭圆曲线的参数组、发送节点的标识信息和所述发送节点的公钥,对所述数字签名信息进行签名认证。
16.如权利要求15所述的数据解密方法,其特征在于,
所述对所述数字签名信息进行签名认证,包括:
在所述数字签名信息(r,s)中的r或s中任一个不属于区间[1,n-1]时,判断数字签名认证失败,其中n是所述椭圆曲线的基点的素数阶;
在r和s均属于区间[1,n-1]时,使用预设的杂凑函数对发送节点的标识信息m进行杂凑运算,得到杂凑值e,并对s-1取模n运算得到w;
计算u1P和u2Q,并计算u1P+u2Q得到T,其中,u1=ew mod n,u2=rw mod n,P=(Px,Py),表示所述椭圆曲线的基点,Q表示所述公钥;
在T=∞时,判断签名认证失败;
在T≠∞时,将T的x坐标x4转换为整数
Figure FSA00000222797600051
,并对
Figure FSA00000222797600052
取模n运算得到v,并判断v=r是否成立:若成立,则数字签名认证通过;否则数字签名认证失败。
17.如权利要求16所述的数据解密方法,其特征在于,
所述投影坐标系为雅可比投影坐标系;
在计算所述u1P或u2Q的过程中,对于2F的计算按照以下方式进行,其中F表示P或Q:
根据所述对应关系,得到仿射点F对应的投影点G=(X1∶Y1∶Z1);
按照公式
Figure FSA00000222797600053
求解得到2G=(X3∶Y3∶Z3);
根据所述对应关系,将投影点2G转换为仿射点2F。
18.一种接收节点,其特征在于,包括:
接收单元,用于接收发送节点的数据加密信息,所述数据加密信息是发送节点利用预设的椭圆曲线的参数组、第一密钥和数据信息计算得到的;
解密单元,用于利用所述椭圆曲线的参数组和所述第一密钥对应的第二密钥,对所述数据加密信息进行解密;
其中,所述解密单元在所述数据加密信息的解密过程中,将所述椭圆曲线转换为投影坐标系下的方程,并利用所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系,将所述椭圆曲线上的倍点运算,转换到投影坐标系下进行计算。
19.如权利要求18所述的接收节点,其特征在于,所述解密单元包括:
投影单元,用于将所述椭圆曲线投影到投影坐标系,将所述椭圆曲线转换为投影坐标系下的方程,并确定所述椭圆曲线上的仿射点与所述方程上的投影点之间的对应关系;
转换单元,用于根据所述对应关系,通过将所述椭圆曲线的倍点运算公式中的仿射点的坐标替换为投影点的坐标,转换得到所述椭圆曲线的倍点运算在投影坐标系下的计算公式;
计算单元,用于利用所述对应关系和所述计算公式,将所述椭圆曲线上的倍点运算,转换到所述投影坐标系下进行计算。
20.如权利要求18所述的接收节点,其特征在于,
所述第一密钥为发送节点的私钥,所述第二密钥为发送节点的公钥,所述数据信息为发送节点的标识信息,所述数据加密信息为发送节点的数字签名信息;
所述接收单元,还用于接收发送节点的标识信息;
所述解密单元,还用于在所述数据加密信息的解密过程中,利用所述椭圆曲线的参数组、发送节点的标识信息和所述发送节点的公钥,对所述数字签名信息进行签名认证。
21.如权利要求20所述的接收节点,其特征在于,
所述解密单元包括:
第一判断单元,用于在所述数字签名信息(r,s)中的r或s中任一个不属于区间[1,n-1]时,判断数字签名认证失败,其中n是所述椭圆曲线的基点的素数阶;
第一计算单元,用于在r和s均属于区间[1,n-1]时,使用预设的杂凑函数对发送节点的标识信息m进行杂凑运算,得到杂凑值e,并对s-1取模n运算得到w;
第二计算单元,用于计算u1P,其中P=(Px,Py),表示所述椭圆曲线的基点;
第三计算单元,用于计算u2Q,其中Q表示所述公钥;
第三计算单元,用于计算u1P+u2Q得到T,其中,u1=ew mod n,u2=rw mod n;
第二判断单元,用于在T=∞时,判断签名认证失败;
第三判断单元,用于在T≠∞时,将T的x坐标x4转换为整数
Figure FSA00000222797600061
并对
Figure FSA00000222797600062
取模n运算得到v,并判断v=r是否成立:若成立,则数字签名认证通过;否则数字签名认证失败。
22.如权利要求21所述的接收节点,其特征在于,
所述投影坐标系为雅可比投影坐标系;
所述第二计算单元,进一步用于在计算所述u1P或u2Q的过程中,对于2F的计算按照以下方式进行,其中F表示P或Q:
根据所述对应关系,得到仿射点F对应的投影点G=(X1∶Y1∶Z1);
按照公式
Figure FSA00000222797600071
求解得到2G=(X3∶Y3∶Z3);
根据所述对应关系,将投影点2G转换为仿射点2F。
CN201010249089.7A 2010-08-09 2010-08-09 一种数据加密方法、数据解密方法及节点 Expired - Fee Related CN101931529B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201010249089.7A CN101931529B (zh) 2010-08-09 2010-08-09 一种数据加密方法、数据解密方法及节点
PCT/CN2010/079823 WO2012019407A1 (zh) 2010-08-09 2010-12-15 一种数据加密方法、数据解密方法、发送节点及接收节点

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010249089.7A CN101931529B (zh) 2010-08-09 2010-08-09 一种数据加密方法、数据解密方法及节点

Publications (2)

Publication Number Publication Date
CN101931529A true CN101931529A (zh) 2010-12-29
CN101931529B CN101931529B (zh) 2014-07-16

Family

ID=43370466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010249089.7A Expired - Fee Related CN101931529B (zh) 2010-08-09 2010-08-09 一种数据加密方法、数据解密方法及节点

Country Status (2)

Country Link
CN (1) CN101931529B (zh)
WO (1) WO2012019407A1 (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102255729A (zh) * 2011-07-07 2011-11-23 武汉理工大学 一种基于媒介数字证书的ibe数据加密***
CN102761412A (zh) * 2011-04-27 2012-10-31 航天信息股份有限公司 p元域SM2椭圆曲线公钥加密、解密与加解密混合***
CN102761415A (zh) * 2011-04-27 2012-10-31 航天信息股份有限公司 p元域SM2椭圆曲线的数字签名生成、验证及混合***
CN104915179A (zh) * 2015-04-28 2015-09-16 南京邮电大学 一种人体生理数据隐私保护的方法
CN105025474A (zh) * 2015-06-26 2015-11-04 安徽大学 一种面向无线传感网的轻量级数字签名方法
CN106712965A (zh) * 2017-01-17 2017-05-24 数安时代科技股份有限公司 数字签名方法、装置以及密码设备
CN106972924A (zh) * 2017-03-23 2017-07-21 联想(北京)有限公司 加密、解密、电子签章、验证签章的方法及装置
CN108933670A (zh) * 2018-10-18 2018-12-04 北京云测信息技术有限公司 一种数字签名方法、装置、移动设备及存储介质
CN112995784A (zh) * 2021-05-19 2021-06-18 杭州海康威视数字技术股份有限公司 视频数据切片加密方法、装置和***
CN113254968A (zh) * 2021-06-04 2021-08-13 晶澄微电子(宁波)有限公司 减少模逆计算的ecc密钥交换方法、***、网络设备及存储介质
CN113364585A (zh) * 2021-06-04 2021-09-07 晶澄微电子(宁波)有限公司 减少模逆计算的ecc认证方法及***
CN114001650A (zh) * 2021-09-16 2022-02-01 北京市测绘设计研究院 一种地方坐标系与任意平面坐标系转换参数加密方法
CN114065171A (zh) * 2021-11-11 2022-02-18 北京海泰方圆科技股份有限公司 一种身份认证方法、装置、***、设备及介质
CN114244552A (zh) * 2021-10-27 2022-03-25 中国银行股份有限公司 基于区块链的数据加密传输方法及装置
CN115001685A (zh) * 2022-07-22 2022-09-02 北京信安世纪科技股份有限公司 不经意传输方法、装置、设备和存储介质
CN115378588A (zh) * 2022-10-25 2022-11-22 北京信安世纪科技股份有限公司 不经意传输方法、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1444168A (zh) * 2003-04-23 2003-09-24 浙江大学 一种椭圆曲线上基于公钥证书的概率型非对称加密方法
CN1890916A (zh) * 2003-10-03 2007-01-03 松下电器产业株式会社 使用椭圆曲线的信息传输***、加密设备和解密设备
US20080104417A1 (en) * 2006-10-25 2008-05-01 Nachtigall Ernest H System and method for file encryption and decryption
CN101262345A (zh) * 2008-01-04 2008-09-10 清华大学 椭圆曲线密码***的倍点***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850443A (en) * 1996-08-15 1998-12-15 Entrust Technologies, Ltd. Key management system for mixed-trust environments
CN101018125B (zh) * 2007-03-02 2010-06-16 中兴通讯股份有限公司 一种基于椭圆曲线公钥密码的无线终端安全锁网锁卡方法
CN101697513A (zh) * 2009-10-26 2010-04-21 深圳华为通信技术有限公司 数字签名方法、验证方法、数字签名装置及数字签名***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1444168A (zh) * 2003-04-23 2003-09-24 浙江大学 一种椭圆曲线上基于公钥证书的概率型非对称加密方法
CN1890916A (zh) * 2003-10-03 2007-01-03 松下电器产业株式会社 使用椭圆曲线的信息传输***、加密设备和解密设备
US20080104417A1 (en) * 2006-10-25 2008-05-01 Nachtigall Ernest H System and method for file encryption and decryption
CN101262345A (zh) * 2008-01-04 2008-09-10 清华大学 椭圆曲线密码***的倍点***

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761412A (zh) * 2011-04-27 2012-10-31 航天信息股份有限公司 p元域SM2椭圆曲线公钥加密、解密与加解密混合***
CN102761415A (zh) * 2011-04-27 2012-10-31 航天信息股份有限公司 p元域SM2椭圆曲线的数字签名生成、验证及混合***
CN102761415B (zh) * 2011-04-27 2015-04-08 航天信息股份有限公司 p元域SM2椭圆曲线的数字签名生成、验证及混合***
CN102255729B (zh) * 2011-07-07 2013-07-10 武汉理工大学 一种基于媒介数字证书的ibe数据加密***
CN102255729A (zh) * 2011-07-07 2011-11-23 武汉理工大学 一种基于媒介数字证书的ibe数据加密***
CN104915179B (zh) * 2015-04-28 2018-07-17 南京邮电大学 一种人体生理数据隐私保护的方法
CN104915179A (zh) * 2015-04-28 2015-09-16 南京邮电大学 一种人体生理数据隐私保护的方法
CN105025474A (zh) * 2015-06-26 2015-11-04 安徽大学 一种面向无线传感网的轻量级数字签名方法
CN105025474B (zh) * 2015-06-26 2018-04-13 安徽大学 一种面向无线传感网的轻量级数字签名方法
CN106712965A (zh) * 2017-01-17 2017-05-24 数安时代科技股份有限公司 数字签名方法、装置以及密码设备
CN106712965B (zh) * 2017-01-17 2020-02-18 数安时代科技股份有限公司 数字签名方法、装置以及密码设备
CN106972924A (zh) * 2017-03-23 2017-07-21 联想(北京)有限公司 加密、解密、电子签章、验证签章的方法及装置
CN106972924B (zh) * 2017-03-23 2020-06-23 联想(北京)有限公司 加密、解密、电子签章、验证签章的方法及装置
CN108933670B (zh) * 2018-10-18 2021-02-26 北京云测信息技术有限公司 一种数字签名方法、装置、移动设备及存储介质
CN108933670A (zh) * 2018-10-18 2018-12-04 北京云测信息技术有限公司 一种数字签名方法、装置、移动设备及存储介质
CN112995784A (zh) * 2021-05-19 2021-06-18 杭州海康威视数字技术股份有限公司 视频数据切片加密方法、装置和***
CN112995784B (zh) * 2021-05-19 2021-09-21 杭州海康威视数字技术股份有限公司 视频数据切片加密方法、装置和***
CN113254968A (zh) * 2021-06-04 2021-08-13 晶澄微电子(宁波)有限公司 减少模逆计算的ecc密钥交换方法、***、网络设备及存储介质
CN113364585A (zh) * 2021-06-04 2021-09-07 晶澄微电子(宁波)有限公司 减少模逆计算的ecc认证方法及***
CN114001650B (zh) * 2021-09-16 2023-09-29 北京市测绘设计研究院 一种地方坐标系与任意平面坐标系转换参数加密方法
CN114001650A (zh) * 2021-09-16 2022-02-01 北京市测绘设计研究院 一种地方坐标系与任意平面坐标系转换参数加密方法
CN114244552A (zh) * 2021-10-27 2022-03-25 中国银行股份有限公司 基于区块链的数据加密传输方法及装置
CN114244552B (zh) * 2021-10-27 2024-04-19 中国银行股份有限公司 基于区块链的数据加密传输方法及装置
CN114065171A (zh) * 2021-11-11 2022-02-18 北京海泰方圆科技股份有限公司 一种身份认证方法、装置、***、设备及介质
CN114065171B (zh) * 2021-11-11 2022-07-08 北京海泰方圆科技股份有限公司 一种身份认证方法、装置、***、设备及介质
CN115001685A (zh) * 2022-07-22 2022-09-02 北京信安世纪科技股份有限公司 不经意传输方法、装置、设备和存储介质
CN115378588A (zh) * 2022-10-25 2022-11-22 北京信安世纪科技股份有限公司 不经意传输方法、设备和存储介质
CN115378588B (zh) * 2022-10-25 2023-05-26 北京信安世纪科技股份有限公司 不经意传输方法、设备和存储介质

Also Published As

Publication number Publication date
WO2012019407A1 (zh) 2012-02-16
CN101931529B (zh) 2014-07-16

Similar Documents

Publication Publication Date Title
CN101931529B (zh) 一种数据加密方法、数据解密方法及节点
US6298153B1 (en) Digital signature method and information communication system and apparatus using such method
CN101401141B (zh) 信息处理***以及信息处理方法
CN110545279A (zh) 兼具隐私和监管功能的区块链交易方法、装置及***
CN101296075B (zh) 一种基于椭圆曲线的身份认证***
US9800418B2 (en) Signature protocol
US11870891B2 (en) Certificateless public key encryption using pairings
CN101129018A (zh) 基于公钥的认证用小数字签名
CN102946602A (zh) 移动信息***的隐私保护加密方法
CN101296072B (zh) 一种椭圆曲线上的共享密钥产生方法
CN102523093A (zh) 一种带标签的基于证书密钥封装方法及***
CN110545169B (zh) 基于非对称密钥池和隐式证书的区块链方法和***
US9544144B2 (en) Data encryption
WO2014205571A1 (en) Signature protocol
US7424114B2 (en) Method for enhancing security of public key encryption schemas
CN102291396A (zh) 可信平台远程证明的匿名认证算法
US20220038267A1 (en) Methods and devices for secured identity-based encryption systems with two trusted centers
Li et al. Privacy-preserving large-scale systems of linear equations in outsourcing storage and computation
CN116743358A (zh) 一种可否认的多接收者认证方法及***
Fei et al. A secure digital signature algorithm based on elliptic curve and chaotic mappings
Mohapatra Signcryption schemes with forward secrecy based on elliptic curve cryptography
WO2016187689A1 (en) Signature protocol
Harjito et al. Comparative Analysis between Elgamal and NTRU Algorithms and their implementation of Digital Signature for Electronic Certificate
Thadvai et al. A novel authenticated encryption scheme with convertibility
Sharif et al. Securing the integrity of PDF files using RSA digital signature and SHA-3 hash function

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

Termination date: 20170809

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