CN109145644B - 私钥混淆及数字签名生成方法、装置、智能设备 - Google Patents
私钥混淆及数字签名生成方法、装置、智能设备 Download PDFInfo
- Publication number
- CN109145644B CN109145644B CN201810990813.8A CN201810990813A CN109145644B CN 109145644 B CN109145644 B CN 109145644B CN 201810990813 A CN201810990813 A CN 201810990813A CN 109145644 B CN109145644 B CN 109145644B
- Authority
- CN
- China
- Prior art keywords
- value
- random number
- private key
- parameter
- digital signature
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种私钥混淆的方法,以解决私钥会以明文形式出现在数字签名过程中,这样攻击者有可能通过一定的攻击方式,从数字签名过程中窃取到参与数字签名的私钥的问题。方法包括:根据用于进行数字签名的随机数,计算有限域上的第一多项式的值;根据第一多项式的值,对随机数进行混淆处理;根据混淆后的随机数对待混淆私钥进行混淆,以生成用于进行数字签名的混淆后的私钥。采用该方法,即便数字签名过程中遭遇攻击,攻击者在数字签名过程中只能获取混淆后的私钥,解决了现有技术在该情况下私钥会被攻击者窃取的问题。本发明还公开一种基于私钥混淆的方法的数字生成方法、装置、智能设备及计算机可读存储介质。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种私钥混淆的方法、基于私钥混淆方法的数字签名生成方法、装置、智能设备及存储介质。
背景技术
在公开密钥密码体制中,为了保障密钥的安全性,用户的密钥通常是存储在专门的密码硬件中使用,如存储在USB Key、SmartCard中使用,且密钥不能从密码硬件中导出。但是,在有些情况下,比如,由于成本的原因,或者由于没有合适的密码硬件(如移动通信终端)使得用户无法依赖密码硬件来存储密钥进而使用密钥进行数字签名。对于这种情况,目前最常用的方法是使用软件的密码模块,并将密钥保存在用户计算装置本地的永久存储介质中(个人电脑的磁盘、移动通信终端内的电子盘),并通过PIN(Personal IdentificationNumber,个人识别密码)码对密钥进行保护。
这种采用软件密码模块的数字签名方式,私钥会以明文形式出现在数字签名过程中,这样攻击者有可能通过一定的攻击方式,从数字签名过程中窃取到参与数字签名的私钥,带来灾难性后果。
如何避免参与数字签名的私钥被窃取,进而提高存储的安全性是目前本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提出一种私钥混淆的方法,以避免参与数字签名的私钥被窃取,进而提高存储的安全性。
本发明实施例还提供一种基于私钥混淆的方法的数字生成方法、装置、智能设备及计算机可读存储介质。
本发明实施例采用下述技术方案:
一种私钥混淆的方法,包括:
根据用于进行数字签名的随机数,计算有限域上的第一多项式的值;
根据所述第一多项式的值,对所述随机数进行混淆处理;
根据混淆后的所述随机数对待混淆私钥进行混淆,以生成用于进行数字签名的混淆后的私钥。
一种基于上述私钥混淆方法的数字签名生成方法,包括:
根据所述混淆后的私钥,计算有限域上的第二多项式的值;
根据所述第二多项式的值,生成数字签名。
一种私钥混淆的装置,其特征在于,包括第一计算单元,随机数混淆单元,私钥混淆单元,其中:
第一计算单元,用于根据用于进行数字签名的随机数,计算有限域上的第一多项式的值;
随机数混淆单元,用于根据所述第一多项式的值,对所述随机数进行混淆处理;
私钥混淆单元,用于根据混淆后的所述随机数对待混淆私钥进行混淆,以生成用于进行数字签名的混淆后的私钥。
一种基于上述私钥混淆装置的数字签名生成装置,包括第二计算模块和数字签名生成模块,其中:
第二计算模块,用于根据所述混淆后的私钥,计算有限域上的第二多项式的值;
数字签名生成模块,用于根据所述第二多项式的值,生成数字签名。
一种智能设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的私钥混淆的方法或基于私钥混淆的方法的数字签名生成方法的步骤。
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的密钥混淆的方法或基于私钥混淆的方法的数字签名生成方法的步骤。
本发明实施例采用的上述至少一个技术方案能够达到以下有益效果:
即便采用软件密码模块的数字签名过程中遭遇攻击者攻击,采用本发明实施例提供的方法,攻击者在数字签名过程中只能获取混淆后的私钥,从而解决了现有技术在该情况下私钥会被攻击者窃取的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的一种私钥混淆的方法的实现流程示意图;
图2为本发明实施例提供的一种基于私钥混淆的方法的数字签名生成方法的实现流程示意图;
图3为本发明实施例提供一种私钥混淆装置的具体结构示意图;
图4为本发明实施例提供一种基于私钥混淆的装置的数字签名生成装置的具体结构示意图;
图5为本发明实施例提供的一种智能设备结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下结合附图,详细说明本发明各实施例提供的技术方案。
实施例1
为解决现有技术中由于采用软件密码模块的数字签名方式,私钥会以明文形式出现在数字签名过程中,导致攻击者可能通过一定的攻击方式,从数字签名过程中窃取到参与数字签名的私钥的问题,本发明实施例提供一种私钥混淆的方法。
该方法的执行主体,可以是各种类型的计算设备,或者,可以是安装于计算设备上的应用程序或应用(Application,APP)。所述的计算设备,比如可以是手机、平板电脑、智能可穿戴设备等用户终端,也可以是服务器等。
为便于描述,本发明实施例以该方法的执行主体为服务器密码机为例,对该方法进行介绍。本领域技术人员可以理解,本发明实施例以该服务器密码机为例对方法进行介绍,仅是一种示例性说明,并不对本方案对应的权利要求保护范围构成限制。
具体地,本发明实施例提供的该方法的实现流程如图1所示,包括如下步骤:
步骤11,根据用于进行数字签名的随机数,计算有限域上的第一多项式的值;
本发明实施例中用k表示用于进行数字签名的随机数,所述用于进行数字签名的随机数k可以由随机数发生器随机生成,且k∈[1,n-1],优选地,数据长度可以但不限于为256比特;
其中,有限域是指包含有限个元素的域,例如,若F中只包含有限个元素,且每个非零的元素都有乘法逆元,则F为有限域。
根据用于进行数字签名的随机数,计算有限域上的第一多项式的值,通常包括但不限于以下步骤:
步骤111,随机生成所述第一多项式包含的第一参数的值;
通常,可以但不限于采用随机数生成器随机生成第一参数的值,优选地,第一参数的值的数据长度可以但不限于为256比特。
比如,随机数生成器随机生成两个随机数a 3、b 3,分别作为第一参数的值a 3、b 3,所述第一参数的值数据长度均为256比特。
步骤112,根据所述第一参数的值对所述随机数进行隐藏;
比如,可以按照公式k’=g(k)= a 3 k+b 3 modn对所述随机数k进行隐藏;其中,根据所述第一参数的值对所述随机数进行隐藏时,不限定于采用上述隐藏方式。
比如,设b 3为5,n为3,则b 3 modn =5modn=2;即b 3 modn表示b 3除以n的余数。
步骤113,根据隐藏后的随机数,以及所述第一参数的值,计算所述有限域上的第一多项式的值。
比如,可以按照如下公式:
z kf =f kf (k,f)=s kf a 2 -1 a 3 -1(k’f-b 3 f-b 2 k’+b 2 b 3)+b kf modn
计算所述有限域上的第一多项式的值z kf 。
其中,f、a 2 -1 、a 3 -1 、b 2 、b 3所述第一参数的值,s kf 、b kf 为所述第二参数的值,n为椭圆曲线基点的阶数。
其中, 根据用于进行数字签名的随机数计算所述第一多项式的值,不限定于采用上述计算方式。
步骤12,根据所述第一多项式的值,对所述随机数进行混淆处理;
通常,可以按照公式T 1 =(z kf - b kf )s kf -1 modn,对所述随机数进行混淆,其中T 1为所述混淆后的随机数,随机数混淆方式不作限定;b kf 、s kf -1为所述第二参数,优选地,第二参数的数据长度可以但不限于为256比特。
步骤13,根据混淆后的所述随机数对待混淆私钥进行混淆,以生成用于进行数字签名的混淆后的私钥。
具体地,步骤13可以包括以下步骤:
将随机生成的待混淆私钥d A ,按照d A ’=d A f modn,进行第一次转换,得到d A ’;其中,d A 为所述待混淆私钥。
按照u=(T 1 -rd A ’ )modn,进行第二次转换,其中r为椭圆曲线加密算法的中间参数值,r=x 1 +e mod n,e=h(m),m表示待签名消息,e表示待签名消息的哈希值,x 1 为椭圆曲线点的横坐标;
按照u’=h(u)=a 4 u+b 4 modn,进行第三次转换,得到混淆后的私钥u’。其中,a 4 、b 4 为所述第三参数的值。
本发明实施例中,对待混淆私钥进行三次转换,由于每次进行转换的方式不固定,且每次转换过程中涉及的序数都是随机的,因此相当于采用一种非常复杂、难以破解的混淆方式对待混淆私钥进行了混淆处理,从而大大增强了从混淆后的私钥中破解出待混淆私钥的难度,因此可以提高私钥的安全性。其中,本发明实施例中对私钥进行转换的次数不限定于三次,同样不限定于以上转换方式。
采用本发明实施例提供的该方法,即便攻击者可能通过一定的攻击方式,从数字签名过程中窃取到参与数字签名的私钥,由于获取到的私钥是混淆后的私钥,很难通过混淆后私钥推断出混淆前的私钥,从而解决了现有技术在该情况下私钥会被窃取的问题。
实施例2
本发明实施例提供一种基于上述私钥混淆方法确定用于进行数字签名的随机数应用流程。该流程具体包括如下步骤:
循环执行下述操作,直至判定r=0或r+k 0 =n不成立时终止循环执行下述操作,将使得r=0或r+k 0 =n不成立的随机数k 0确定为所述用于进行数字签名的随机数k:
步骤21,随机生成随机数k 0;
步骤22,计算椭圆曲线点(x 1 ,y)=[k 0]G;
其中,G为椭圆曲线的基点坐标,x 1 为椭圆曲线点的横坐标,y为椭圆曲线点的纵坐标,[k 0]G表示k 0 与G相乘;椭圆曲线的基点可以是椭圆曲线上的一个随机有效点。
若假设椭圆曲线基点G的坐标为(x,y 1),则椭圆曲线点的坐标(x,y 1)=(k 0 x,k 0 y 1)。
步骤23,计算e=h(m);其中,m表示待签名消息,e表示待签名消息的哈希值;
步骤24,计算r=x 1 +e mod n;
先对步骤23计算出的待签名消息的哈希值进行模n操作,然后加上步骤22中椭圆曲线曲线点的横坐标值,得到椭圆曲线加密算法的中间参数值r。
步骤25,判断r=0或r+k 0 =n是否成立;其中,r为椭圆曲线加密算法的中间参数值,n表示椭圆曲线基点的阶数。
比如,若满足以下任意一种情况,则可以将随机生成的随机数k 0 确定为用于进行数字签名的随机数k:
情况一:若r≠0,则可以将随机生成的随机数k 0 确定为用于进行数字签名的随机数k;
情况二:若r+k 0 ≠n,则可以将随机生成的随机数k 0 确定为用于进行数字签名的随机数k;
情况三:若r≠0且r+k 0 ≠n,则可以将随机生成的随机数k 0确定为用于进行数字签名的随机数k。
采用本发明实施例提供的该方法,即便攻击者可能通过一定的攻击方式,从数字签名过程中窃取到参与数字签名的私钥,由于获取到的私钥是混淆后的私钥,很难通过混淆后私钥推断出混淆前的私钥,从而解决了现有技术在该情况下私钥会被窃取的问题。
实施例3
本发明实施例提供的方法在实际中的一种基于私钥混淆方法的数字签名生成方法。该流程具体包括如下步骤:
步骤31,根据所述混淆后的私钥,计算有限域上的第二多项式的值;
通常,可以按照如下公式计算第二多项式的值,但不限定于下述方式:
z ut =f ut (u,t)=s ut a 1 -1 a 4 -1(t’u’-b 4 t’-b 1 u’+b 1 b 4)+b ut modn
其中,t、s ut 、a 1 -1 、a 4 -1 、b 1 、b 4 、b ut 、t’、u’为所述第三参数的值;
步骤32,根据所述第二多项式的值,生成数字签名。
其中,上述生成数字签名的方法不做限定,t’=a 1 t+b 1 modn,t=(f+d A ’)-1 modn。
本发明实施例中,用混淆后的私钥进行数字签名,采用本发明实施例提供的该方法,即便攻击者可能通过一定的攻击方式,从数字签名过程中窃取到参与数字签名的私钥,由于获取到的私钥是混淆后的私钥,很难通过混淆后私钥推断出混淆前的私钥,从而解决了现有技术在该情况下私钥会被窃取的问题。
实施例4
为解决现有技术存在的由于采用软件密码模块的数字签名方式,私钥会以明文形式出现在数字签名过程中,导致攻击者可能通过一定的攻击方式,从数字签名过程中窃取到参与数字签名的私钥的问题,本发明实施例提供一种私钥混淆的装置,该装置的具体结构示意图如图3所示,包括第一计算模块31、随机数混淆模块32、私钥混淆模块33。各模块的功能如下:
第一计算模块31,用于根据用于进行数字签名的随机数,计算有限域上的第一多项式的值;
随机数混淆模块32,用于根据所述第一多项式的值,对所述随机数进行混淆处理;
私钥混淆模块33,用于根据混淆后的所述随机数对待混淆私钥进行混淆,以生成用于进行数字签名的混淆后的私钥。
为计算所述有限域上的第一多项式的值,第一计算模块还包括生成单元、随机数隐藏单元、第一计算单元,其中:
生成单元,用于随机生成所述第一多项式包含的第一参数的值;
随机数隐藏单元,用于根据所述第一参数的值对所述随机数进行隐藏;
第一计算单元,用于根据隐藏后的随机数,以及所述第一参数的值,计算所述有限域上的第一多项式的值。
在第一计算模块模块31还具备上述功能的情况下,随机数混淆模块32具体包括随机数混淆单元,随机数混淆单元用于根据所述第一多项式的值以及随机生成的第二参数的值,对所述随机数进行混淆,生成所述混淆后的随机数。
为提高待混淆私钥的安全性,本发明实施例中,所述私钥混淆模块33,用于根据所述混淆后的随机数、椭圆曲线加密算法的中间参数值,以及随机生成的第三参数的值,对待混淆私钥进行混淆,具体包括:第一处理单元,用于将随机生成的待混淆私钥d A ,按照d A ’= d A f modn,进行第一次转换,得到d A ’;其中,d A 为所述待混淆私钥。第二处理单元,用于按照u=(T 1 -rd A ’ )modn,进行第二次转换,其中r为椭圆曲线加密算法的中间参数值,r=x 1 +e mod n,e=h(m),m表示待签名消息,e表示待签名消息的哈希值,x 1为椭圆曲线点的横坐标;第三处理单元,用于按照u’=h(u)=a 4 u+b 4 modn,进行第三次转换,得到混淆后的私钥u’。其中,a 4、b 4为所述第三参数的值。
为进行基于私钥混淆的数字签名,本发明实施例提供的该装置还可以包括:随机数确定模块34,第二计算模块35,数字签名生成模块36,其中,随机数确定模块34,用于在计算有限域上的第一多项式的值之前之前,确定用于进行数字签名的随机数,随机数确定模块34具体包括随机数生成单元、椭圆曲线点计算单元、哈希值计算单元、椭圆曲线加密算法的中间参数值计算单元、判断单元,其中:
循环执行下述操作,直至判定r=0或r+k 0 =n不成立时终止循环执行下述操作,将使得r=0或r+k 0 =n不成立的随机数k 0确定为所述用于进行数字签名的随机数k:
随机数生成单元,用于随机生成随机数k 0 ;
椭圆曲线点计算单元,用于计算椭圆曲线点(x 1,y)=[k 0]G;
哈希值计算单元,用于计算e=h(m);其中,m表示待签名消息,e表示待签名消息的哈希值;
椭圆曲线加密算法的中间参数值计算单元,用于计算r=x 1 +e mod n;;
判断单元,用于判断r=0或r+k 0 =n是否成立;其中,r为椭圆曲线加密算法的中间参数值,n表示椭圆曲线基点的阶数
采用本发明实施例提供的该装置,即便攻击者可能通过一定的攻击方式,从数字签名过程中窃取到参与数字签名的私钥,由于获取到的私钥是混淆后的私钥,很难通过混淆后私钥推断出混淆前的私钥,从而解决了现有技术在该情况下私钥会被窃取的问题。
实施例5
本发明实施例提供一种基于私钥混淆装置的数字签名生成装置,该装置的具体结构示意图如图4所示,包括第二计算模块41和数字签名生成模块42。各模块的功能如下:
第二计算模块41,用于根据所述混淆后的私钥,计算有限域上的第二多项式的值;
通常,可以按照如下公式计算第二多项式的值,但不限定于下述方式:
z
ut
=f
ut
(u,t)=s
ut
a
1
-1
a
4
-1
(t’u’-b
4
t’-b
1
u’+b
1
b
4
)+b
ut
modn
其中,f ut 、t、s ut 、a 1 -1 、a 4 -1 、b 1 、b 4 、b ut 、t’、u’为所述第三参数的值;
数字签名生成模块42,用于根据所述第二多项式的值,生成数字签名。
比如,可以但不限于根据所述第二多项式的值z ut ,按照公式s=(z ut - b ut )sut -1modn生成数字签名s。
其中, t’=a 1 t+b 1 modn,t=(f+d A ’)-1 modn。
实施例6
图5为实现本发明各个实施例的一种智能设备的硬件结构示意图,该智能设备500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、处理器510、以及电源511等部件。本领域技术人员可以理解,图5中示出的移动终端结构并不构成对移动终端的限定,移动终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,移动终端包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
其中,处理器510,耦合到所述存储器,用于根据用于进行数字签名的随机数,计算有限域上的第一多项式的值;根据所述第一多项式的值,对所述随机数进行混淆处理;根据混淆后的所述随机数对待混淆私钥进行混淆,以生成用于进行数字签名的混淆后的私钥。
存储器509,用于存储可在处理器510上运行的计算机程序,该计算机程序被处理器510执行时,实现处理器510所实现的上述功能。
应理解的是,本发明实施例中,射频单元501可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器510处理;另外,将上行的数据发送给基站。通常,射频单元501包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元501还可以通过无线通信系统与网络和其他设备通信。
移动终端通过网络模块502为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元503可以将射频单元501或网络模块502接收的或者在存储器509中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元503还可以提供与移动终端500执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元503包括扬声器、蜂鸣器以及受话器等。
输入单元504用于接收音频或视频信号。输入单元504可以包括图形处理器(Graphics Processing Unit,GPU)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元506上。经图形处理器5041处理后的图像帧可以存储在存储器509(或其它存储介质)中或者经由射频单元501或网络模块502进行发送。麦克风5042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元501发送到移动通信基站的格式输出。
移动终端500还包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板5061的亮度,接近传感器可在移动终端500移动到耳边时,关闭显示面板5061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器505还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元506用于显示由用户输入的信息或提供给用户的信息。显示单元506可包括显示面板5061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode, OLED)等形式来配置显示面板5061。
用户输入单元507可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元507包括触控面板5071以及其他输入设备5072。触控面板5071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板5071上或在触控面板5071附近的操作)。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器510,接收处理器510发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板5071。除了触控面板5071,用户输入单元507还可以包括其他输入设备5072。具体地,其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板5071可覆盖在显示面板5061上,当触控面板5071检测到在其上或附近的触摸操作后,传送给处理器510以确定触摸事件的类型,随后处理器510根据触摸事件的类型在显示面板5061上提供相应的视觉输出。虽然在图5中,触控面板5071与显示面板5061是作为两个独立的部件来实现移动终端的输入和输出功能,但是在某些实施例中,可以将触控面板5071与显示面板5061集成而实现移动终端的输入和输出功能,具体此处不做限定。
接口单元508为外部装置与移动终端500连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元508可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端500内的一个或多个元件或者可以用于在移动终端500和外部装置之间传输数据。
存储器509可用于存储软件程序以及各种数据。存储器509可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器509可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器510是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器509内的软件程序和/或模块,以及调用存储在存储器509内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。处理器510可包括一个或多个处理单元;优选的,处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
移动终端500还可以包括给各个部件供电的电源511(比如电池),优选的,电源511可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,移动终端500包括一些未示出的功能模块,在此不再赘述。
优选的,本发明实施例还提供一种移动终端,包括处理器510,存储器509,存储在存储器509上并可在所述处理器510上运行的计算机程序,该计算机程序被处理器510执行时实现上述私钥混淆或基于混淆的方法的数字签名方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述私钥混淆方法或基于私钥混淆的方法的数字签名方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (9)
1.一种私钥混淆的方法,其特征在于,包括:
随机生成有限域上的第一多项式包含的第一参数的值;
根据所述第一参数的值对随机数进行隐藏;
根据隐藏后的随机数,以及所述第一参数的值,计算所述有限域上的第一多项式的值;
根据所述有限域上的第一多项式的值以及随机生成的第二参数的值,对所述随机数进行混淆,以生成所述混淆后的随机数;
根据混淆后的所述随机数对待用于数字签名的私钥进行混淆,以生成实际用于数字签名的私钥;
其中,所述有限域上的第一多项式,包括:
z kf =f kf (k,f)=s kf a 2 -1 a 3 -1(k’f-b 3 f-b 2 k’+b 2 b 3)+b kf modn
其中,f kf 、f、a 2 -1 、a 3 -1 、b 2 、b 3所述第一参数的值,s kf 、b kf 为所述第二参数的值,n表示椭圆曲线基点的阶数;
根据所述第一参数的值,以及下述公式,对所述随机数进行隐藏:
k’=g(k)= a 3 k+b 3 modn
其中,a 3 、b 3为所述第一参数的值,k表示所述随机数,k’表示隐藏后的随机数,n表示椭圆曲线基点的阶数;
根据下述公式,对所述随机数进行混淆:
T 1 =(z kf - b kf )s kf -1 modn
其中,T 1为所述混淆后的随机数,随机数混淆方式不作限定;b kf 、s kf -1为所述第二参数。
2.如权利要求1所述的方法,其特征在于,根据所述第一参数的值对随机数进行隐藏之前,所述方法还包括:
循环执行下述操作,直至判定r=0或r+k 0 =n不成立时终止循环执行下述操作,将使得r=0或r+k 0 =n不成立的随机数k 0确定为用于进行数字签名的随机数k:
随机生成随机数k 0;
计算椭圆曲线点(x 1 ,y)=[k 0]G;
其中,G为椭圆曲线的基点坐标,x 1为椭圆曲线点的横坐标,y为椭圆曲线点的纵坐标,[k 0]G表示k 0与G相乘;椭圆曲线的基点是椭圆曲线上的一个随机有效点;
计算e=h(m);其中,m表示待签名消息,e表示待签名消息的哈希值;
计算r=x 1 +e modn;
判断r=0或r+k 0 =n是否成立;其中,r为椭圆曲线加密算法的中间参数值。
3.如权利要求1所述的方法,其特征在于,根据混淆后的所述随机数对待用于数字签名的私钥进行混淆,包括:
根据混淆后的随机数、椭圆曲线加密算法的中间参数值,以及随机生成的第三参数的值,对待用于数字签名的私钥进行混淆。
4.一种基于如权利要求1所述的私钥混淆方法的数字签名生成方法,其特征在于,包括:
根据所述混淆后的私钥,计算有限域上的第二多项式的值;
根据所述有限域上的第二多项式的值,生成数字签名。
5.如权利要求4所述的方法,其特征在于,所述有限域上的第二多项式,包括:
z ut =f ut (u,t)=s ut a 1 -1 a 4 -1(t’u’-b 4 t’-b 1 u’+b 1 b 4)+b ut modn
其中,f ut 、t、s ut 、a 1 -1 、a 4 -1 、b 1 、b 4 、b ut 为第三参数的值;u表示混淆后的私钥,u’=h(u)=a 4 u +b 4 modn,u’表示混淆后的私钥u隐藏后的结果, a 4 为第三参数的值;t’=a 1 t+b 1 modn,t=(f+ d A ’)-1 modn, a 1 为第三参数的值,d A ’ =d A f modn,d A 为待用于数字签名的私钥。
6.一种私钥混淆的装置,其特征在于,包括第一计算模块,随机数混淆模块和私钥混淆模块,其中:
第一计算模块包括生成单元、随机数隐藏单元、第一计算单元,
生成单元,用于随机生成有限域上的第一多项式包含的第一参数的值;
随机数隐藏单元,用于根据所述第一参数的值对随机数进行隐藏;
第一计算单元,用于根据隐藏后的随机数,以及所述第一参数的值,计算所述有限域上的第一多项式的值;
随机数混淆模块,用于根据所述第一多项式的值以及随机生成的第二参数的值,对所述随机数进行混淆,以生成所述混淆后的随机数;
私钥混淆模块,用于根据混淆后的所述随机数对待混淆私钥进行混淆,以生成用于进行数字签名的混淆后的私钥;
其中,所述第一多项式,包括:
z kf =f kf (k,f)=s kf a 2 -1 a 3 -1(k’f-b 3 f-b 2 k’+b 2 b 3)+b kf modn
其中,f kf 、f、a 2 -1 、a 3 -1 、b 2 、b 3所述第一参数的值,s kf 、b kf 为所述第二参数的值,n表示椭圆曲线基点的阶数;
根据所述第一参数的值,以及下述公式,对所述随机数进行隐藏:
k’=g(k)= a 3 k+b 3 modn
其中,a 3 、b 3为所述第一参数的值,k表示所述随机数,k’表示隐藏后的随机数,n表示椭圆曲线基点的阶数;
根据下述公式,对所述随机数进行混淆:
T 1 =(z kf - b kf )s kf -1 modn
其中,T 1为所述混淆后的随机数,随机数混淆方式不作限定;b kf 、s kf -1为所述第二参数。
7.一种基于如权利要求6所述的私钥混淆装置的数字签名生成装置,其特征在于,包括第二计算模块,数字签名生成模块,其中:
第二计算模块,用于根据所述混淆后的私钥,计算有限域上的第二多项式的值;
数字签名生成模块,用于根据所述第二多项式的值,生成数字签名。
8.一种智能设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至3中任一项所述私钥混淆的方法的步骤,或执行如权利要求4至5所述的数字签名生成方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述的私钥混淆的方法,或者实现如权利要求4至5中任一项所述的数字签名生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810990813.8A CN109145644B (zh) | 2018-08-28 | 2018-08-28 | 私钥混淆及数字签名生成方法、装置、智能设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810990813.8A CN109145644B (zh) | 2018-08-28 | 2018-08-28 | 私钥混淆及数字签名生成方法、装置、智能设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109145644A CN109145644A (zh) | 2019-01-04 |
CN109145644B true CN109145644B (zh) | 2021-03-19 |
Family
ID=64828861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810990813.8A Active CN109145644B (zh) | 2018-08-28 | 2018-08-28 | 私钥混淆及数字签名生成方法、装置、智能设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109145644B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177740B (zh) * | 2019-11-14 | 2023-05-02 | 腾讯科技(深圳)有限公司 | 数据混淆处理方法、系统及计算机可读介质 |
CN111125737B (zh) * | 2019-12-25 | 2022-07-19 | 河北先河环保科技股份有限公司 | 基于区块链的环境监测系统 |
CN111614469B (zh) * | 2020-05-27 | 2022-08-16 | 深圳壹账通智能科技有限公司 | 数字签名生成方法、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5001176B2 (ja) * | 2005-12-28 | 2012-08-15 | パナソニック株式会社 | 署名生成装置、署名生成方法及び署名生成プログラム |
CN102761415B (zh) * | 2011-04-27 | 2015-04-08 | 航天信息股份有限公司 | p元域SM2椭圆曲线的数字签名生成、验证及混合系统 |
CN103546288B (zh) * | 2013-09-25 | 2017-02-01 | 中国科学院数据与通信保护研究教育中心 | Sm2数字签名生成算法的实现方法及装置 |
CN106209774B (zh) * | 2016-06-24 | 2019-02-22 | 西安电子科技大学 | 基于不可区分混淆的云服务外包访问权限控制方法 |
CN106712965B (zh) * | 2017-01-17 | 2020-02-18 | 数安时代科技股份有限公司 | 数字签名方法、装置以及密码设备 |
-
2018
- 2018-08-28 CN CN201810990813.8A patent/CN109145644B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109145644A (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595946B (zh) | 一种保护隐私的方法及终端 | |
CN109145644B (zh) | 私钥混淆及数字签名生成方法、装置、智能设备 | |
CN104954126B (zh) | 敏感操作验证方法、装置及系统 | |
CN110188524B (zh) | 信息加密方法、信息解密方法及终端 | |
US10454905B2 (en) | Method and apparatus for encrypting and decrypting picture, and device | |
CN109145552B (zh) | 信息加密方法及终端设备 | |
CN108449114B (zh) | 一种蓝牙连接方法及移动终端 | |
CN111598573A (zh) | 一种设备指纹验证方法及装置 | |
CN110990849A (zh) | 一种隐私数据的加密、解密方法及终端 | |
CN110149628B (zh) | 一种信息处理方法及终端设备 | |
CN108933670B (zh) | 一种数字签名方法、装置、移动设备及存储介质 | |
CN109766705B (zh) | 一种基于电路的数据验证方法、装置及电子设备 | |
CN109446794B (zh) | 一种密码输入方法及其移动终端 | |
CN107835297B (zh) | 信息更新方法、移动终端及计算机可读存储介质 | |
CN108540645B (zh) | 一种移动终端的操作方法及移动终端 | |
CN109558707B (zh) | 一种加密函数安全等级的检测方法及装置、移动设备 | |
CN115589286A (zh) | 一种数据加解密方法、装置、电子设备及存储介质 | |
CN109753776B (zh) | 一种信息处理的方法、装置以及移动终端 | |
CN111310250A (zh) | 应用分享方法及电子设备 | |
CN109451143B (zh) | 一种通话方法及移动终端 | |
CN110851408A (zh) | 一种文件压缩方法、文件解压方法和电子设备 | |
WO2019206224A1 (zh) | 屏幕解锁方法及移动终端 | |
CN110289950B (zh) | 一种密钥信息生成方法及装置 | |
CN115174758A (zh) | 图片的加密方法、装置、电子设备及存储介质 | |
CN109743289B (zh) | 一种基于神经网络的数据验证方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |