CN108933670B - 一种数字签名方法、装置、移动设备及存储介质 - Google Patents

一种数字签名方法、装置、移动设备及存储介质 Download PDF

Info

Publication number
CN108933670B
CN108933670B CN201811214462.8A CN201811214462A CN108933670B CN 108933670 B CN108933670 B CN 108933670B CN 201811214462 A CN201811214462 A CN 201811214462A CN 108933670 B CN108933670 B CN 108933670B
Authority
CN
China
Prior art keywords
parameter
digital signature
private key
randomized
random number
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
Application number
CN201811214462.8A
Other languages
English (en)
Other versions
CN108933670A (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.)
Beijing Testin Information Technology Co Ltd
Original Assignee
Beijing Testin Information Technology Co Ltd
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 Beijing Testin Information Technology Co Ltd filed Critical Beijing Testin Information Technology Co Ltd
Priority to CN201811214462.8A priority Critical patent/CN108933670B/zh
Publication of CN108933670A publication Critical patent/CN108933670A/zh
Application granted granted Critical
Publication of CN108933670B publication Critical patent/CN108933670B/zh
Active 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes

Abstract

本发明公开了一种数字签名方法,以解决现有技术中攻击者通过监测功耗曲线,根据曲线的特征变化规律,利用统计方法进行分析处理,从而窃取私钥,导致算法的安全性受到攻击的问题。方法包括:确定用于进行数字签名的第一参数以及用于进行随机化处理的第二参数;根据第二参数依次对私钥以及第一参数进行随机化处理,分别得到随机化后的私钥以及随机化后的第一参数;根据随机化后的私钥以及随机化后的第一参数计算数字签名结果。

Description

一种数字签名方法、装置、移动设备及存储介质
技术领域
本发明涉及信息安全技术领域,尤其涉及一种数字签名方法。
背景技术
传统数字签名过程中,分组密码的多次迭代循环操作,导致电子设备中硬件的执行时间、功率消耗、电磁辐射等参数成某种特征规律变化,因此,若攻击者通过监测数字签名过程中电子设备硬件的执行时间曲线、功耗曲线、电磁辐射曲线,则可能根据上述曲线的特征变化规律,利用统计方法对功耗曲线进行分析处理,从而窃取私钥,导致算法的安全性受到攻击。
发明内容
本发明实施例提供一种数字签名方法,利用随机数对用于进行数字签名的关键信息进行掩码处理,以解决现有技术中攻击者通过监测功耗曲线,根据曲线的特征变化规律,利用统计方法对功耗曲线进行分析处理,从而窃取私钥,导致算法的安全性受到攻击的问题。
本发明实施例还提供一种数字签名装置、移动设备及存储介质,用于解决现有技术中攻击者通过监测功耗曲线,根据曲线的特征变化规律,利用统计方法进行分析处理,从而窃取私钥,导致算法的安全性受到攻击的问题。
具体地,本发明实施例采用下述技术方案:
一种数字签名方法,包括:
确定用于进行数字签名的第一参数以及用于进行随机化处理的第二参数;
根据所述第二参数依次对私钥以及所述第一参数进行随机化处理,分别得到随机化后的私钥以及随机化后的第一参数;
根据所述随机化后的私钥以及随机化后的第一参数计算数字签名结果。
一种数字签名装置,其特征在于,包括:
确定模块,用于确定用于进行数字签名的第一参数以及用于进行随机化处理的第二参数;
随机化模块,用于根据所述第二参数依次对私钥以及所述第一参数进行随机化处理,分别得到随机化后的私钥以及随机化后的第一参数;
计算模块,用于根据所述随机化后的私钥以及随机化后的第一参数计算数字签名结果。
一种智能设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的数字签名方法的步骤。
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数字签名方法的步骤。
本发明实施例采用的上述至少一个技术方案能够达到以下有益效果:
采用本发明实施例提供的方法,由于利用随机数对用于进行数字签名的关键信息进行了掩码处理,比如:对用于进行数字签名的私钥、随机数进行随机化处理,以掩盖真实的私钥、随机数。这样,即使攻击者通过监测功耗曲线,并根据曲线的特征变化规律,采用统计方法对功耗曲线进行分析处理,最终窃取到的私钥,也并非真正的私钥,而是经过随机化处理过的私钥,并不会对算法的安全性造成影响。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明的一个实施例提供的一种数字签名方法的实现流程示意图;
图2是本发明的一个实施例提供的一种确定用于进行数字签名的第一参数以及用于进行随机化处理的第二参数的实现流程示意图;
图2a是本发明的一个实施例提供的一种确定第一随机数是否满足特定条件的具体实现流程示意图;
图3是本发明的一个实施例提供的一种私钥、第一参数随机化的实现流程示意图;
图4是本发明的一个实施例提供的数字签名方法的实现流程示意图;
图5是本发明实施例提供的一种数字签名装置的具体结构示意图;
图6是本发明的一个实施例提供的一种移动设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
为解决现有技术中由于攻击者通过监测功耗曲线,进而根据曲线的特征变化规律,采用统计方法对功耗曲线进行分析处理,最终窃取私钥,导致算法的安全性受到攻击的问题,本发明实施例提供一种数字签名方法。
该方法的执行主体,可以是各种类型的计算设备,或者,可以是安装于计算设备上的应用程序或应用(Application,APP)。所述的计算设备,比如可以是手机、平板电脑、智能可穿戴设备等用户终端,也可以是服务器等。
为便于描述,本发明实施例以该方法的执行主体为服务器密码机为例,对该方法进行介绍。本领域技术人员可以理解,本发明实施例以该服务器密码机为例对方法进行介绍,仅是一种示例性说明,并不对本方案对应的权利要求保护范围构成限制。
具体地,本发明实施例提供的该方法的实现流程如图1所示,包括如下步骤:
步骤11,确定用于进行数字签名的第一参数以及用于进行随机化处理的第二参数;
这里所说的第一参数是指用于进行数字签名过程中的随机数,其中,本发明实施例中用k表示用于进行数字签名的随机数,且k∈[1,n-1],n表示椭圆曲线上的阶。需要说明的是,在本申请实施例中仅对随机数k的取值范围进行限定,而对所述随机数的生成方式不作限定,生成方式比如可以是直接由随机数机随机生成,也可以通过数学方法生成,其中用数学方法生成随机数的方法又可以分为多种,例如,混合同余法、均匀分布法、正态分布法、对数正态分布法等。
这里所说随机化处理是指通过随机产生一些数值,然后用这些数值对用于进行数字签名的关键信息按照预设方式进行处理,以掩盖原始的关键信息。
步骤12,根据所述第二参数依次对私钥以及所述第一参数进行随机化处理,分别得到随机化后的私钥以及随机化后的第一参数;
需要说明的是,本发明中所述的第二参数是指随机生成的随机数值;本发明实施例中用r1、r2、r3表示用于进行随机化处理的第二参数。其中,第二参数的生成方式不作限定,比如可以采用上述步骤11中提及的生成方式。此外,第二参数的范围以及数据长度也均不作限定,其数据长度可以根据具体的实际需求进行设定,比如,为了提高数据签名的安全性,可以优先选取数据长度较长的随机数,假设在三组数据长度分别为256比特、128比特、64比特的随机数中,可以优先选取数据长度为256比特的随机数作为第二参数。再比如,为了降低计算过程中的复杂程度,可以优先选取数据长度相对短一些的随机数,沿用上例,在以上三组随机数中,则可以优先选取数据长度为64比特或者128比特的随机数作为第二参数。
步骤13,根据所述随机化后的私钥以及随机化后的第一参数计算数字签名结果。
采用本发明实施例提供的方法,由于利用随机数对用于进行数字签名的关键信息进行了掩码处理,比如:对用于进行数字签名的私钥、随机数进行随机化处理,以掩盖真实的私钥、随机数。这样,即使攻击者通过监测功耗曲线,并根据曲线的特征变化规律,采用统计方法对功耗曲线进行分析处理,最终窃取到的私钥,也并非真正的私钥,而是经过随机化处理过的私钥,并不会对算法的安全性造成影响。
本发明提供的一个或多个实施例中,基于以上实施例详细叙述了本发明的发明构思,为了便于更好的理解本申请的技术特征、手段和效果,下面对本发明中确定第一参数以及第二参数的方法进一步说明。
具体地,本发明实施例提供的确定用于进行数字签名的第一参数以及用于进行随机化处理的第二参数方法的实现流程如图2所示,包括如下步骤:
步骤21,随机生成第一随机数;
本发明实施例中用k表示用于进行数字签名的随机数,且k∈[1,n-1],n表示椭圆曲线上的阶。需要说明的是,在本申请实施例中仅对随机数k的取值范围进行限定,而对所述随机数的生成方式不作限定,生成方式比如可以是直接由随机数机随机生成,也可以通过数学方法生成,其中用数学方法生成随机数的方法又可以分为多种,例如,混合同余法、均匀分布法、正态分布法、对数正态分布法等。
步骤22,确定所述第一随机数是否满足特定条件;
需要说明的是,并非任意的第一随机数都可以作为第一参数,用于计算数字签名;第一随机数需满足一定条件才可以作为第一参数用于数字签名,具体判别方法如下图2a所示,包括如下子步骤:
子步骤221,根据椭圆曲线点乘算法以及所述第一随机数,确定椭圆曲线点的坐标(x1,y1);
具体地可以采用如下公式[1]确定椭圆曲线点的坐标:
(x1,y1)=[k]G [1]
其中,G为椭圆曲线的基点坐标,x1为椭圆曲线点的横坐标,y1为椭圆曲线点的纵坐标,[k]G表示k与G相乘;椭圆曲线点可以是椭圆曲线上的任意一个随机有效点。
若假设椭圆曲线基点G的坐标为(x,y),随机数为k0,则椭圆曲线点的坐标(x,y)=(k0x,k0y)。
子步骤222,可以采用如下公式[2]对所述椭圆曲线点的横坐标值进行取模运算,确定用于进行数字签名的中间参数;
r=x1mod n [2]
其中,n表示椭圆曲线的阶;r=x1mod n表示对椭圆曲线点的横坐标值x1进行取模运算,即获取x1除以n的余数的过程,计算得到的余数表示用于进行数字签名的中间参数。比如,设x1为8,n为3,则x1mod n=8mod 3=2。
子步骤223,当所述中间参数为非零值时,则确定所述第一随机数满足特定条件。
当所述中间参数为非零值时,也就是说当椭圆曲线的阶不能被椭圆曲线点的横坐标整除时,则说明满足椭圆曲线横坐标条件的第一随机数满足特定条件。
步骤23,将满足特定条件的第一随机数确定为所述第一参数。
将通过执行上述步骤221~223确定的满足特定条件的第一随机数确定为所述第一参数,即用于进行数字签名的随机数k。
需要说明的是,本发明中所述的第二参数是指随机生成的随机数值;本发明实施例中用r1、r2、r3表示用于进行随机化处理的第二参数。其中,第二参数的生成方式不作限定,比如可以采用上述步骤11中提及的生成方式,此外,第二参数的范围以及数据长度均不作限定,其数据长度可以根据具体的实际需求进行设定,比如,为了提高数据签名的安全性,可以优先选取数据长度较长的随机数,假设在三组数据长度分别为256比特、128比特、64比特的随机数中,可以优先选取数据长度为256比特的随机数作为第二参数。再比如,为了降低计算过程中的复杂程度,可以优先选取数据长度相对短一些的随机数,沿用上例,在以上三组随机数中,则可以优先选取数据长度为64比特或者128比特的随机数作为第二参数。
采用本发明实施例提供的方法,产生的随机数满足进行数字签名的特定条件,采用本发明实施例中产生的随机数,结合上述实施例中的发明构思,可以生成一套完整的数字签名方法,采用这种数字签名方法,可以解决现有技术中攻击者通过监测功耗曲线,进而根据曲线的特征变化规律,采用统计方法对功耗曲线进行分析处理,最终窃取私钥,导致算法的安全性受到攻击的问题。
本发明提供的一个或多个实施例中,基于以上实施例详细叙述了本发明的发明构思,为了便于更好的理解本申请的技术特征、手段和效果,下面对本发明中根据所述第二参数依次对私钥以及所述第一参数进行随机化处理,分别得到随机化后的私钥以及随机化后的第一参数的具体实施方法进一步说明。
具体地,本发明实施例提供的根据所述第二参数依次对私钥以及所述第一参数进行随机化处理的实现流程如图3所示,包括如下步骤:
步骤31,根据所述第二参数、所述中间参数以及所述椭圆曲线的阶,按照如下公式[3],对所述私钥进行随机化处理:
d’=(rd+r1n)mod r3n [3]
其中,d’表示随机化后的私钥,d表示所述私钥,r表示所述中间参数,r1、r3表示所述第二参数。
具体地,对所述私钥进行随机化处理的方式不仅限于上述计算方式,由于第二随机数可以由随机数机随机产生,且数值长度、数值范围没有特定要求,因此,私钥随机化方式比如还可以是d’=(rd+r3n)mod r1n;或者是将第二随机数位置上的数替换成r2,例如替换成d’=(rd+r2n)mod r2n。
步骤32,根据以下公式[4]计算待签名消息的哈希值;
e=h(m) [4]
其中,m表示待签名消息。
步骤33,根据所述待签名消息的哈希值、所述第一参数、第二参数以及所述椭圆曲线的阶,按照以下公式[5]对所述第一参数进行随机化处理:
k’=(ke+r2n)mod r3n [5]
其中,k’表示随机化后的第一参数,k表示所述第一参数。需要说明的是,步骤31与步骤33,在实际操作过程中,私钥和随机数的随机化过程没有明确的先后顺序,比如,私钥和随机数可以同时进行随机化,也可以按照先后顺序进行随机化,本发明仅仅是为了方便描述,特将步骤31作为私钥随机化过程,将步骤33作为第一参数随机化过程。
采用本发明实施例提供的方法,由于利用随机数对用于进行数字签名的私钥以及第一参数等关键信息进行了掩码处理,即使攻击者通过监测功耗曲线,进而根据曲线的特征变化规律,采用统计方法进行分析处理,从而窃取到私钥,也并非真正的私钥,而是经过随机化处理过的私钥,并不会对算法的安全性造成影响,解决了算法安全性的问题。
本发明提供的一个或多个实施例中,为了便于更好的理解本申请的技术特征、手段和效果,具体地,如下图4所示,本发明实施例提供的根据所述随机化后的私钥、所述中间参数计算数字签名结果的实现流程,包括如下步骤:
步骤41,根据以下公式[6]计算出随机化后的数字签名值s’:
s’=[(rd+r1n)(ke+r2n)]mod r3n [6]
步骤42,根据以下公式[7]对所述随机化后的数字签名值s’进行脱随机化处理,得到脱随机化结果;
s=s’mod n [7]
其中,数字签名过程中先计算随机化后的数字签名值s’是为了保护私钥安全性,接着对随机化后的数字签名值进行脱随机化处理,其目的是为了保证数字签名结果的正确性。
步骤43,当结果不为0时,将所述脱随机化结果确定为数字签名结果s。
步骤44,当结果为0时,重新确定用于进行数字签名的第一参数,重复执行上述操作。
当数字签名结果为0时,说明数字签名过程中选择的第一参数不恰当,应该重新确定用于进行数字签名的第一参数,确定好第一参数后,重复执行上述操作,直至获得正确的数字签名结果。
采用本发明是实力提供的方法,由于对私钥和第一参数进行了随机化处理,可以避免攻击者通过监测功耗曲线,进而根据曲线的特征变化规律,采用统计方法进行分析处理,从而窃取私钥,导致算法的安全性受到攻击的问题。
为解决现有技术中,由于攻击者可能通过监测功耗曲线,进而根据曲线的特征变化规律,采用统计方法对功耗曲线进行分析处理,最终窃取私钥,导致算法的安全性受到攻击的问题,本发明实施例提供一种数字签名装置,该装置的具体结构示意图如图5所示,包括确定模块51、随机化模块52、计算模块53,其中:
确定模块51,用于确定用于进行数字签名的第一参数以及用于进行随机化处理的第二参数;
随机化模块52,用于根据所述第二参数依次对私钥以及所述第一参数进行随机化处理,分别得到随机化后的私钥以及随机化后的第一参数;
计算模块53,用于根据所述随机化后的私钥以及随机化后的第一参数计算数字签名结果。
优选的,本发明实施例还提供一种移动设备,包括如图6所示的处理器610,存储器609,存储在存储器609上并可在所述处理器610上运行的计算机程序,该计算机程序被处理器610执行时,实现上述实施例中所述的GOST数字签名方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
图6为实现本发明各个实施例的一种智能设备的硬件结构示意图,该智能设备600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、处理器610、以及电源611等部件。本领域技术人员可以理解,图6中示出的移动终端结构并不构成对移动终端的限定,移动终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,移动终端包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
其中,处理器610,耦合到所述存储器,用于确定用于进行数字签名的第一参数以及用于进行随机化处理的第二参数;根据所述第二参数依次对私钥以及所述第一参数进行随机化处理,分别得到随机化后的私钥以及随机化后的第一参数;根据所述随机化后的私钥以及随机化后的第一参数计算数字签名结果。
存储器609,用于存储可在处理器610上运行的计算机程序,该计算机程序被处理器610执行时,实现处理器610所实现的上述功能。
应理解的是,本发明实施例中,射频单元601可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器610处理;另外,将上行的数据发送给基站。通常,射频单元601包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元601还可以通过无线通信系统与网络和其他设备通信。
移动终端通过网络模块602为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元603可以将射频单元601或网络模块602接收的或者在存储器609中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元503还可以提供与移动终端600执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元603包括扬声器、蜂鸣器以及受话器等。
输入单元604用于接收音频或视频信号。输入单元604可以包括图形处理器(Graphics Processing Unit,GPU)6041和麦克风6042,图形处理器6041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元606上。经图形处理器6041处理后的图像帧可以存储在存储器609(或其它存储介质)中或者经由射频单元601或网络模块602进行发送。麦克6042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元601发送到移动通信基站的格式输出。
移动终端600还包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板6061的亮度,接近传感器可在移动终端600移动到耳边时,关闭显示面板6061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器605还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元606用于显示由用户输入的信息或提供给用户的信息。显示单元606可包括显示面板6061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板6061。
用户输入单元607可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元607包括触控面板6071以及其他输入设备6072。触控面板6071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板6071上或在触控面板6071附近的操作)。触控面板6071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器610,接收处理器610发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板6071。除了触控面板6071,用户输入单元607还可以包括其他输入设备6072。具体地,其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板6071可覆盖在显示面板6061上,当触控面板6071检测到在其上或附近的触摸操作后,传送给处理器610以确定触摸事件的类型,随后处理器610根据触摸事件的类型在显示面板6061上提供相应的视觉输出。虽然在图6中,触控面板6071与显示面板6061是作为两个独立的部件来实现移动终端的输入和输出功能,但是在某些实施例中,可以将触控面板6071与显示面板6061集成而实现移动终端的输入和输出功能,具体此处不做限定。
接口单元608为外部装置与移动终端600连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元608可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端600内的一个或多个元件或者可以用于在移动终端600和外部装置之间传输数据。
存储器609可用于存储软件程序以及各种数据。存储器609可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器609可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器610是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器609内的软件程序和/或模块,以及调用存储在存储器609内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。处理器610可包括一个或多个处理单元;优选的,处理器610可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。
移动终端600还可以包括给各个部件供电的电源611(比如电池),优选的,电源611可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,移动终端600包括一些未示出的功能模块,在此不再赘述。
优选地,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中所述任意一种方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

Claims (12)

1.一种数字签名方法,其特征在于,包括:
确定用于进行数字签名的第一参数以及用于进行随机化处理的第二参数;
根据所述第二参数依次对私钥以及所述第一参数进行随机化处理,分别得到随机化后的私钥以及随机化后的第一参数;
根据所述随机化后的私钥以及随机化后的第一参数计算数字签名结果;
其中,根据所述第二参数依次对私钥以及所述第一参数进行随机化处理,具体包括:
根据所述第二参数、中间参数以及椭圆曲线的阶,根据以下公式,对所述私钥进行随机化处理:
d’=(rd+r1n)modr3n;
其中,d’表示随机化后的私钥,d表示所述私钥,r表示所述中间参数,r1、r2、r3表示所述第二参数;n表示椭圆曲线的阶;
根据以下公式计算待签名消息的哈希值:
e=h(m);
其中,m表示待签名消息;
根据所述待签名消息的哈希值、所述第一参数、第二参数以及所述椭圆曲线的阶,根据以下公式对所述第一参数进行随机化处理:
k’=(ke+r2n)modr3n;
其中,k’表示随机化后的第一参数,k表示所述第一参数;
根据所述随机化后的私钥、所述中间参数计算数字签名结果,具体包括:
根据以下公式计算出随机化后的数字签名值s’:
s’=[(rd+r1n)(ke+r2n)]mod r3n;
根据以下公式对所述随机化后的数字签名值s’,进行脱随机化处理,得到脱随机化结果:
s=s’mod n。
2.如权利要求1所述的方法,其特征在于,确定用于进行数字签名的第一参数,具体包括:
随机生成第一随机数;
确定所述第一随机数是否满足特定条件;
将满足特定条件的第一随机数确定为所述第一参数。
3.如权利要求2所述的方法,其特征在于,确定所述第一随机数是否满足特定条件,具体包括:
根据椭圆曲线点乘算法以及所述第一随机数,确定椭圆曲线点的坐标(x1,y1);
根据以下公式对所述椭圆曲线点的横坐标值进行取模运算,确定用于进行数字签名的中间参数:
r=x1mod n;
当所述中间参数为非零值时,则确定所述第一随机数满足特定条件。
4.如权利要求1所述的方法,其特征在于,根据所述随机化后的私钥、所述中间参数计算数字签名结果,还包括:
当结果不为0时,将所述脱随机化结果确定为数字签名结果s。
5.如权利要求4所述的方法,其特征在于,当结果为0时,重新确定用于进行数字签名的第一参数。
6.一种数字签名装置,其特征在于,包括:
确定模块,用于确定用于进行数字签名的第一参数以及用于进行随机化处理的第二参数;
随机化模块,用于根据所述第二参数依次对私钥以及所述第一参数进行随机化处理,分别得到随机化后的私钥以及随机化后的第一参数;
计算模块,用于根据所述随机化后的私钥以及随机化后的第一参数计算数字签名结果;
根据所述第二参数依次对私钥以及所述第一参数进行随机化处理,具体包括:
私钥处理单元,用于根据所述第二参数、中间参数以及椭圆曲线的阶,根据以下公式,对所述私钥进行随机化处理:
d’=(rd+r1n)mod r3n;
其中,d’表示随机化后的私钥,d表示所述私钥,r表示所述中间参数,r1、r2、r3表示所述第二参数;n表示椭圆曲线的阶;
哈希值计算单元,用于根据以下公式计算待签名消息的哈希值:
e=h(m);
其中,m表示待签名消息;
第一参数处理单元,用于根据所述待签名消息的哈希值、所述第一参数、第二参数以及所述椭圆曲线的阶,根据以下公式对所述第一参数进行随机化处理:
k’=(ke+r2n)mod r3n;
其中,k’表示随机化后的第一参数,k表示所述第一参数;
根据所述随机化后的私钥、所述中间参数计算数字签名结果,具体包括:
计算单元,用于根据以下公式计算出随机化后的数字签名值s’:
s’=[(rd+r1n)(ke+r2n)]mod r3n;
脱随机化单元,用于根据以下公式对所述随机化后的数字签名值s’,进行脱随机化处理,得到脱随机化结果:
s=s’mod n。
7.如权利要求6所述的装置,其特征在于,确定用于进行数字签名的第一参数,具体包括:
生成单元,用于随机生成第一随机数;
条件确定单元,用于确定所述第一随机数是否满足特定条件;
第一参数确定单元,用于将满足特定条件的第一随机数确定为所述第一参数。
8.如权利要求7所述的装置,其特征在于,确定所述第一随机数是否满足特定条件,具体包括:
椭圆曲线点确定单元,用于根据椭圆曲线点乘算法以及所述第一随机数,确定椭圆曲线点的坐标(x1,y1);
中间参数确定单元,用于根据以下公式对所述椭圆曲线点的横坐标值进行取模运算,确定用于进行数字签名的中间参数:
r=x1mod n;
条件确定单元,用于当所述中间参数为非零值时,则确定所述第一随机数满足特定条件。
9.如权利要求6所述的装置,其特征在于,根据所述随机化后的私钥、所述中间参数计算数字签名结果,还包括:
数字签名确定单元,用于当结果不为0时,将所述脱随机化结果确定为数字签名结果s。
10.如权利要求9所述的装置,其特征在于,当结果为0时,重新确定用于进行数字签名的第一参数。
11.一种移动设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1~5中任一项所述的数字签名方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1~5中任一项所述的数字签名方法的步骤。
CN201811214462.8A 2018-10-18 2018-10-18 一种数字签名方法、装置、移动设备及存储介质 Active CN108933670B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811214462.8A CN108933670B (zh) 2018-10-18 2018-10-18 一种数字签名方法、装置、移动设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811214462.8A CN108933670B (zh) 2018-10-18 2018-10-18 一种数字签名方法、装置、移动设备及存储介质

Publications (2)

Publication Number Publication Date
CN108933670A CN108933670A (zh) 2018-12-04
CN108933670B true CN108933670B (zh) 2021-02-26

Family

ID=64443819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811214462.8A Active CN108933670B (zh) 2018-10-18 2018-10-18 一种数字签名方法、装置、移动设备及存储介质

Country Status (1)

Country Link
CN (1) CN108933670B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111614469B (zh) * 2020-05-27 2022-08-16 深圳壹账通智能科技有限公司 数字签名生成方法、设备及存储介质
CN112100644B (zh) * 2020-11-19 2021-03-16 飞天诚信科技股份有限公司 一种生成数据签名的方法及装置
CN114640867A (zh) * 2022-05-20 2022-06-17 广州万协通信息技术有限公司 一种基于视频流认证的视频数据处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1444167A (zh) * 2003-04-23 2003-09-24 浙江大学 一种椭圆曲线上基于公钥证书的数字签名方法
CN101931529A (zh) * 2010-08-09 2010-12-29 中兴通讯股份有限公司 一种数据加密方法、数据解密方法及节点
CN101997683A (zh) * 2009-08-10 2011-03-30 北京多思科技发展有限公司 一种零知识证明的认证方法及认证装置
CN103580869A (zh) * 2013-11-06 2014-02-12 北京华大信安科技有限公司 一种crt-rsa签名方法及装置
CN104660400A (zh) * 2013-11-25 2015-05-27 上海复旦微电子集团股份有限公司 一种rsa模幂运算方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4457651B2 (ja) * 2003-11-27 2010-04-28 日本電気株式会社 証明装置及び証明方法並びにプログラム
US7607019B2 (en) * 2005-02-03 2009-10-20 Apple Inc. Small memory footprint fast elliptic encryption

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1444167A (zh) * 2003-04-23 2003-09-24 浙江大学 一种椭圆曲线上基于公钥证书的数字签名方法
CN101997683A (zh) * 2009-08-10 2011-03-30 北京多思科技发展有限公司 一种零知识证明的认证方法及认证装置
CN101931529A (zh) * 2010-08-09 2010-12-29 中兴通讯股份有限公司 一种数据加密方法、数据解密方法及节点
CN103580869A (zh) * 2013-11-06 2014-02-12 北京华大信安科技有限公司 一种crt-rsa签名方法及装置
CN104660400A (zh) * 2013-11-25 2015-05-27 上海复旦微电子集团股份有限公司 一种rsa模幂运算方法和装置

Also Published As

Publication number Publication date
CN108933670A (zh) 2018-12-04

Similar Documents

Publication Publication Date Title
CN108595946B (zh) 一种保护隐私的方法及终端
CN108933670B (zh) 一种数字签名方法、装置、移动设备及存储介质
CN110188524B (zh) 信息加密方法、信息解密方法及终端
CN110149628B (zh) 一种信息处理方法及终端设备
CN109544172B (zh) 一种显示方法及终端设备
CN109005355B (zh) 一种拍摄方法及移动终端
CN111597540B (zh) 应用程序的登录方法、电子设备及可读存储介质
CN109145644B (zh) 私钥混淆及数字签名生成方法、装置、智能设备
CN109766705B (zh) 一种基于电路的数据验证方法、装置及电子设备
CN109740312B (zh) 一种应用控制方法及终端设备
CN110740265B (zh) 图像处理方法及终端设备
CN109753776B (zh) 一种信息处理的方法、装置以及移动终端
CN109446794B (zh) 一种密码输入方法及其移动终端
CN109451011B (zh) 一种基于区块链的信息存储方法及移动终端
CN108494958B (zh) 一种图像处理方法及柔性屏终端
CN108960097B (zh) 一种获取人脸深度信息的方法及装置
CN108259807B (zh) 一种通讯方法、移动终端及计算机可读存储介质
CN111328132A (zh) 一种发射功率的调整方法及电子设备
CN108418961B (zh) 一种音频播放方法和移动终端
CN110851408A (zh) 一种文件压缩方法、文件解压方法和电子设备
CN107977591B (zh) 一种二维码图像识别方法及移动终端
CN107743174B (zh) 一种声音信号的削波判定方法及移动终端
CN115589286A (zh) 一种数据加解密方法、装置、电子设备及存储介质
CN113112011B (zh) 一种数据预测方法及装置
CN110855550B (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