CN109818743B - 一种椭圆曲线公钥文本化传递方法及系统 - Google Patents

一种椭圆曲线公钥文本化传递方法及系统 Download PDF

Info

Publication number
CN109818743B
CN109818743B CN201910067468.5A CN201910067468A CN109818743B CN 109818743 B CN109818743 B CN 109818743B CN 201910067468 A CN201910067468 A CN 201910067468A CN 109818743 B CN109818743 B CN 109818743B
Authority
CN
China
Prior art keywords
public key
bit
character
string
character string
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
CN201910067468.5A
Other languages
English (en)
Other versions
CN109818743A (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.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
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 Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201910067468.5A priority Critical patent/CN109818743B/zh
Publication of CN109818743A publication Critical patent/CN109818743A/zh
Application granted granted Critical
Publication of CN109818743B publication Critical patent/CN109818743B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种椭圆曲线公钥文本化传递方法及系统。本方法为:1)对公钥P进行压缩,得到压缩后的公钥P’;2)选取2k个汉字组成数组C,根据公钥P’的长度确定编码公钥P所需汉字个数n;3)设置一保留位OP,然后根据该公钥P’与该保留位OP生成一比特串M;4)将比特串M以每块k位按序拆分为n块,对于每一块中的k位比特串,将其转化为十进制数i,取出数组C中第i个字符C[i]表示该块数据,于是依次将代表n块数据的n个字符拼接后形成新的字符串S;5)将该字符串S与设定的附加信息拼接为字符串L分享给目标接收端。本发明提供了一种对用户友好的、简单易用的密钥传输方法,为使用公钥密码保密通信奠定基础。

Description

一种椭圆曲线公钥文本化传递方法及系统
技术领域
本发明属于密码技术领域,尤其涉及一种应用于椭圆曲线密码算法中公钥的文本化传递方法及系统。
背景技术
基于公钥密码学的加解密技术应用广泛,成为保证信息安全的重要工具,尤其是在数据加密、数字签名等方面发挥着巨大的作用。公钥密码算法中有一对公私钥,私钥应被保密存储,而公钥应该被公开。在实际的情境中,在使用公钥密码算法时,使用合适的方式来公开自己的公钥是必要的一步。对普通大众来说,使用公钥加密算法可以实现自己与他人之间的数据加密传输,而将自己的公钥便利地分享给他人并有效的管理、使用公钥仍是一个障碍。
椭圆曲线密码算法是一种公钥加密算法,也称非对称加密算法。公钥加密算法含有两个密钥:公钥密码(简称公钥)和私有密钥(简称私钥),用户同时拥有私钥和公钥这一对密钥,其实私钥为自己保存不可公开,公钥可被公开被任何人使用。
公钥加密算法一般用于加密与数字签名等方面。用户A拥有其私钥与公钥,并将公钥公开给用户B:在用于加密时,用户B将要传递的消息使用A的公钥加密后传递给A,被加密后的消息只能由拥有私钥的用户A来解密;在用于数字签名时,用户A将待签名的消息使用自己的私钥计算出数字签名,将消息与数字签名一并发送给用户B,用户B可用A的公钥来鉴别该消息是否真的来自于A。
公钥加密体系中,双方无需使用私密信道来传递任何秘密信息,只需将一方的公钥以任何公开的形式传递给对方,双方即可进行加密通信。
SM2算法是中国的标准商用密码算法,属于椭圆曲线算法,在密码产品中被广泛的支持和使用。SM2圆曲线算法的具体细节参考GM/T 0003-2012《SM2椭圆曲线公钥密码算法》。
SM2算法中的椭圆曲线E是定义在有限域Fq上的椭圆曲线,G是椭圆曲线E上n阶的基点,椭圆曲线方程为y2=x3+ax+b,其中a和b为常数。SM2算法中公钥为椭圆曲线上点P的坐标,共512比特,考虑以文本的形式表示公钥数据,使用常规的十六进制表示法,需要128字符,字符数量较多,用户间传递不便,体验较差。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种椭圆曲线公钥的文本化传递方法及系统,以使得通信双方或多方能以简单的方式向对方分享自身的公钥同时有效地管理他人的公钥,为使用公钥密码算法进行后续的保密通信奠定基础。
本发明的技术方案为:
一种椭圆曲线公钥的文本化传递方法,其步骤包括:
1)使用椭圆曲线上点压缩方法对公钥P进行压缩,得到压缩后的公钥P’;其中公钥P为椭圆曲线上坐标点P的坐标;
2)选取2k个汉字组成数组C,用C[i]表示数组C中的第i个字符;k为一个汉字字符的二进制位数;根据公钥P’的长度确定编码公钥P所需汉字个数n;
3)设置一保留位OP,然后根据该公钥P’与该保留位OP生成一比特串M;
4)将比特串M以每块k位的方式按序拆分为n块,对于每一块中的k位比特串,将其转化为十进制数i,取出数组C中第i个字符C[i]表示该块数据,依次将代表n块数据的n个字符拼接后形成新的字符串S;用该字符串S表示该公钥P;
5)将该字符串S与设定的附加信息拼接为字符串L发送给目标接收端;或者生成一内容为所述字符串L的二维码展示给目标接收端。
进一步的,k取值为13,即选取8192个汉字组成数组C,n取值为20。
进一步的,从《全国信息技术标准化技术委员会汉字内码扩展规范(GBK)》中选取8192个无重复汉字作为字符集。
进一步的,所述保留位OP的长度为n个汉字的比特长度减去公钥P’的比特长度;保留位OP用以表示编码标记或其他用途;所述比特串M=OP||yp’||xp,其中“||”表示拼接,xp为公钥P的x坐标,yp’为公钥P的1比特的y坐标标识位。
进一步的,所述附加信息包括个人身份信息、联系方式信息;用格式化的字符串来表示所述附加信息,所述附加信息中的各数据间使用分隔符来隔开并拼接在一起。
进一步的,设置一描述性前缀信息,将该描述性前缀信息、字符串S与设定的附加信息依次拼接为字符串L。
进一步的,使用微信、QQ、短信或邮件的方式将所述字符串L发送给目标接收端。
一种公钥文本进行解码的方法,其步骤包括:
1)目标接收端从获取的字符串L中提取附加信息和字符串S;然后对字符串S中的每个字符,在数组C中找到其位置i,将十进制的i表示为二进制比特串,若不足k位则采用高位补0的方式填充为k位;
2)将转换后的n个k位比特串按序拼接,得到一比特串M;
3)根据公钥P的短汉字编码过程中该比特串的生成规则,从该比特串M中提取保留位OP、公钥P的1比特的y坐标标识位yp’以及公钥P的x坐标xp
4)计算域元素α=(xp 3+axp+b)mod p,计算αmod p的平方根β,若β的最右边比特等于yp’,则置yp=β,否则置yp=p-β;其中,a、b为椭圆曲线方程y2=x3+ax+b中的系数,公钥P为该椭圆曲线方程y2=x3+ax+b中的一点坐标;Fq为用于生成该公钥P的有限域,q=p且p为大于3的素数;
5)根据解码出的xp、yp得到公钥P。
一种椭圆曲线公钥的文本化传递系统,其特征在于,包括公钥生成模块、公钥分享模块;其中,
所述公钥生成模块,用于检查当前用户是否已有椭圆曲线公私钥对,若无则对当前用户生成一对公私钥;然后使用椭圆曲线上点压缩方法对公钥P进行压缩,得到压缩后的公钥P’;然后根据公钥P’的长度确定编码公钥P所需汉字个数n,并根据该公钥P’与设置的保留位OP生成一比特串M;然后将比特串M以每块k位的方式按序拆分为n块,对于每一块中的k位比特串,将其转化为十进制数i,取出数组C中第i个字符C[i]表示该块数据,依次将代表n块数据的n个字符拼接后形成新的字符串S;用该字符串S表示该公钥P;然后将该字符串S与设定的附加信息拼接为字符串L发送给目标接收端;其中,公钥P为椭圆曲线上坐标点P的坐标;数组C包括2k个汉字,C[i]表示数组C中的第i个字符;k为一个汉字字符的二进制位数;
公钥分享模块,用于将该字符串L发送给目标接收端;或者生成一内容为所述字符串L的二维码展示给目标接收端。
进一步的,还包括一公钥解析模块,用于从获取的字符串L中提取附加信息和字符串S;然后对字符串S中的每个字符,在数组C中找到其位置i,将十进制的i表示为二进制比特串,若不足k位则采用高位补0的方式填充为k位;然后将转换后的n个k位比特串按序拼接,得到一比特串M;然后根据公钥P的短汉字编码过程中该比特串的生成规则,从该比特串M中提取保留位OP、公钥P的1比特的y坐标标识位yp’以及公钥P的x坐标xp;然后计算域元素α=(xp 3+axp+b)mod p,计算αmod p的平方根β,若β的最右边比特等于yp’,则置yp=β,否则置yp=p-β;根据解码出的xp、yp得到公钥P;其中,a、b为椭圆曲线方程y2=x3+ax+b中的系数,公钥P为该椭圆曲线方程y2=x3+ax+b中的一点坐标;Fq为用于生成该公钥P的有限域,q=p且p为大于3的素数。
本发明中使用了一种对于椭圆曲线公钥的“短汉字编码”,椭圆曲线公钥为椭圆曲线上点P的坐标,其中X、Y坐标共计512比特,使用普通的十六进制表示法需要128字符。“短汉字编码”在GM/T 0003-2012《SM2椭圆曲线公钥密码算法》中提出的“椭圆曲线上点的压缩”方法的基础上,同时采用了使用《全国信息技术标准化技术委员会汉字内码扩展规范(GBK)》中的8192个无重复汉字作为字符集来进行编码,保留位、y坐标标识位、x坐标共拼接为260位,共需260÷13=20个字符即可表示公钥信息,大大减少了表示公钥数据的文本字符数量。“短汉字编码”对公钥信息编码后的字符数量少,同时为完全本地化编解码,即“短汉字编码”无需云端参与即可完成。
另外,考虑用户对传输公钥的实际需求,本发明中设计了一种基于“短汉字编码”的椭圆曲线公钥用户间的文本化传递方案,除公钥信息外,附加描述性前缀、身份信息、联系方式等内容,使用分隔符隔开后拼接在一起,形成格式化的、更直观易懂的“短密令”字符串,用户可以用传递“短密令”字符串的方式,利用已有的社交网络体系,方便地在好友间互相传递公钥信息。
另外,为了进一步方便用户管理自己与他人公钥,本发明中还设计了一种无需云端参与的适用于移动端的基于短汉字编码的对公钥进行简单化传输、管理的软件系统(称之为“公钥管理软件”),该软件具有生成用户公私钥、引导用户发送公私钥、自动化解析接收到的“短密令”、存储与管理收到的他人公钥信息等功能。最终提供了一种对用户友好的、简单易用的公钥密码算法中密钥的传输与管理的基础设施,为用户使用公钥密码算法进行安全通信、身份认证打下基础。
附图说明
图1为本发明“短汉字编码”的编码示意图;
图2为本发明“短汉字编码”的解码示意图;
图3为本发明“短密令”的设计示意图;
图4为本发明“公钥管理软件”的设计示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
图1、图2公开了一种“短汉字编码”的编解码方案,“短汉字编码”是一种对于椭圆曲线公钥的编码方式,可以有效缩短用以表示公钥的字符数量。以SM2椭圆曲线为例,公钥为椭圆曲线上的一个点P,记P=(xp,yp),其中x和y坐标均为256比特,若使用普通的十六进制表示法,单个字符可代表4比特,公钥点P的x和y坐标共需(256+256)÷4=128字符,需要的字符数较多,不利于用户间的传递。注意到,对于SM2椭圆曲线算法使用的椭圆曲线方程y2=x3+ax+b(素数域256位),在GM/T 0003-2012《SM2椭圆曲线公钥密码算法》中提出了一种“椭圆曲线上点的压缩”方法,则公钥P可由xp和单比特yp’表示,其中yp’为yp的最右侧一个比特,由xp和yp’恢复yp的方法为:
a)计算域元素α=(xp 3+axp+b)mod p;
b)计算αmod p的平方根β,一般采用Tonelli-Shanks算法
c)若β的最右边比特等于yp’,则置yp=β,否则置yp=p-β。
经过以上椭圆曲线点的压缩之后,点P可由xp和单比特yp’表示,使用十六进制表示法,共需256÷4+1=65字符(注,单比特yp’也需要1字符表示),需要的字符数仍然较多。
使用以下的汉字编码方式可以进一步缩短表示公钥所需的字符数量:
在《全国信息技术标准化技术委员会汉字内码扩展规范(GBK)》中共有约6763+6080+8160=21003个汉字,出于编解码性能等方面考虑,我们选取其中无重复的8192个字符作为字符集来编码,具体编码方法为:
a)选取2k个汉字,k为一个字符的二进制位数(也就是k比特)(本发明中选取8192个汉字)组成数组C,用C[i]表示数组中的第i个字符,i即为该字符的下标;点压缩后的信息为256比特的x坐标加1比特的y坐标标识,实际共257比特,至少需要20个汉字(20*13=260比特>257比特),将剩余的3比特规定为“保留位”。实际上,取8192*2=16384个汉字也可以,GBK编码表中有2万左右的汉字,这样的话,一个汉字可以表示14比特(16384=2的14次方),点压缩后的公钥需要257比特,257÷14=18.3,也就是需要19个字符,但是多加了一倍的用来编码的字符集,而最后只缩短了1个字符,而且用来编码的汉字越多,编解码性能就越差(计算过程中需要找查找汉字的位置,数量越多查找的速度越慢),因此本发明选取8192个汉字。
b)选取3比特的OP用作保留位(保留位OP用以表示编码标记或日后使用,默认为000,比如记录编码版本、类型、算法等信息),yp’为yp的最右侧一个比特,xp为点P的x坐标,比特串M=OP||yp’||xp,其中“||”表示拼接,比特串M长度为3+1+256=260位;
c)将比特串M以每块k位(k取值为13)的方式按序拆分为n块(n为20),对于每一块中的k位比特串,将其转化为十进制数i(13位的比特串即13位的二进制,其十进制范围为[0,8191],恰好对应数组C的共8192个下标),取出数组C中第i个字符即C[i]表示该块数据,于是依次将代表n块数据的n个C中的字符拼接后形成新的字符串S;
d)由n个字符组成的S即可表示点P即公钥数据;本发明中选择8192个汉字,k取值为13,对应的公钥数据为20个字符。
解码方法为:
a)对字符串S中的每个字符,在数组C中找到其位置i(即数组下标),将十进制的i表示为二进制比特串,若不足13位则采用高位补0的方式填充为13位;
b)将转换后的20个13位比特串按序拼接为总长为20×13=260位的比特串M;
c)对260位的比特串M,取前3位作为保留位OP,第4位yp’,剩余的256位即点P的xp坐标;
d)计算域元素α=(xp 3+axp+b)mod p,计算αmod p的平方根β,一般采用Tonelli-Shanks算法,若β的最右边比特等于yp’,则置yp=β,否则置yp=p-β;
e)以上即解码出公钥点(xp,yp)。
通过“短汉字编码”可以将椭圆曲线公钥P点的坐标仅以20个字符表示,可实现更方便的公钥传递。
一个“短汉字编码”的公钥数据示例如下:
Figure BDA0001956192370000061
图3公开了一种“短密令”传递方案,这是一种基于“短汉字编码”的用户间分享椭圆曲线公钥信息的方案。“短汉字编码”在椭圆曲线公钥点压缩的基础上,采用汉字字符集进行编码,使用20字符即可表示公钥信息。考虑到实际情境中,用户间传递公钥时除了公钥信息本身以外,还需传递个人身份、联系方式等相关信息,目前暂考虑需要附带传递身份、联系方式的情况,核心思想是用格式化的字符串来表示这些信息,各数据间使用分隔符来隔开并拼接在一起,下面以使用“#”作为分隔符为例说明:
a)用户A构造文本化公钥信息:这里假设用户A名为“张三”(即身份信息),手机号为“12300123000”(即联系方式),分享的字符串用分隔符分割后拼接为字符串,为了能使该信息更直观,此处可以携带描述前缀,这里用“分享我的公钥”作为描述性前缀,最后的字符串为L=“分享我的公钥#张三#12300123000#使用短汉字编码的20字符公钥数据”,以下称字符串L为“短密令”;
b)用户B解析文本化公钥信息:以分隔符“#”拆分“短密令”字符串L,字串依次为描述性前缀、身份信息、手机号、短汉字编码的公钥数据,至此B即接收到用户A的相关信息。特别地,为了进一步保障公钥数据的合法性,可以对公钥(即P点)进行验证,参考在GM/T0003-2012《SM2椭圆曲线公钥密码算法》中的说明,需验证以下四个方面:①P不是无穷远点O,②P的x和y坐标应为域Fp中的元素,③P的坐标应满足椭圆曲线方程,即yp 2=(xp 3+axp+b)mod p,④[n]P|=O。若公钥对以上四方面均验证通过则为合法公钥,否则舍弃该内容。
在本方案中,“短密令”L为格式化的字符串,长度约为42字符(考虑到姓名部分可能为4字符,L长度将增加为44字符,同时考虑到联系方式部分也可为邮箱,邮箱长度一般为20字符左右,L长度将增加为53字符,以下我们认为L长度最大为60字符)。因本身L为格式化的字符串,且其公钥数据自身可被验证合法性,在实际情境中,可采用任何发送文本的方式来分享“短密令”,用户可利用现有的社交网络平台(如微信、QQ等即时聊天工具、电子邮件、短信)等直接传递“短密令”给好友,也可使用面对面扫描二维码等的方式。特别地,含有汉字的一条短信最大支持70字符左右,使用短信传递时由一条短信即可容纳完整的“短密令”文本。
图4公开了一种“公钥管理软件”的设计方案,这是一种无需云端参与的手机端软件,用来实现以上所述的传递机制:
a)生成公钥信息:“公钥管理软件”检查当前用户是否已有椭圆曲线公私钥对,若无则对当前用户生成一对公私钥,该公私钥对将作为该用户的根密钥;
b)发送公钥信息:“公钥管理软件”使用用户身份信息、联系方式、短汉字编码后的公钥等构造“短密令”文本,引导用户使用已有的社交网络平台(如微信、QQ、短信、邮件等方式)将自己的“短密令”发送给他人,另外也可向对方展示内容为“短密令”内容的二维码;
c)解析与存储公钥信息:接收方复制收到的“短密令”文本后(复制的文本将被存储至系统剪贴板),打开“公钥管理软件”,软件将自动解析剪贴板已经复制的“短密令”(也可使用该软件扫描对方展示的“短密令”二维码),解析公钥与相关信息,验证公钥合法性之后显示解析的结果(包含身份信息、联系信息、公钥信息),并提示用户存储对方的信息。特别地,在安卓(Android)系统中,“公钥管理软件”可采用启动后台服务监听剪贴板的方式来实现更简单的自动化操作,用户复制“短密令”后可自动触发软件解析剪贴板内容并提示用户存储该公钥信息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种椭圆曲线公钥的文本化传递方法,其步骤包括:
1)使用椭圆曲线上点压缩方法对公钥P进行压缩,得到压缩后的公钥P’;其中公钥P为椭圆曲线上坐标点P的坐标;
2)选取2k个汉字组成数组C,用C[i]表示数组C中的第i个字符;k为一个汉字字符的二进制位数;根据公钥P’的长度确定编码公钥P所需汉字个数n;
3)设置一保留位OP,然后根据该公钥P’与该保留位OP生成一比特串M;
4)将比特串M以每块k位的方式按序拆分为n块,对于每一块中的k位比特串,将其转化为十进制数i,取出数组C中第i个字符C[i]表示该块数据,依次将代表n块数据的n个字符拼接后形成新的字符串S;用该字符串S表示该公钥P;
5)将该字符串S与设定的附加信息拼接为字符串L发送给目标接收端;或者生成一内容为所述字符串L的二维码展示给目标接收端。
2.如权利要求1所述的方法,其特征在于,k取值为13,即选取8192个汉字组成数组C,n取值为20。
3.如权利要求2所述的方法,其特征在于,从《全国信息技术标准化技术委员会汉字内码扩展规范(GBK)》中选取8192个无重复汉字作为数组C。
4.如权利要求1或2所述的方法,其特征在于,所述保留位OP的长度为n个汉字的比特长度减去公钥P’的比特长度;保留位OP用以表示编码标记或其他用途;所述比特串M=OP||yp’||xp,其中“||”表示拼接,xp为公钥P的x坐标,yp’为公钥P的1比特的y坐标标识位,yp’为yp的最右侧一个比特,yp为公钥P的y坐标。
5.如权利要求1所述的方法,其特征在于,所述附加信息包括个人身份信息、联系方式信息;用格式化的字符串来表示所述附加信息,所述附加信息中的各数据间使用分隔符来隔开并拼接在一起。
6.如权利要求1所述的方法,其特征在于,设置一描述性前缀信息,将该描述性前缀信息、字符串S与设定的附加信息依次拼接为字符串L。
7.如权利要求1或6所述的方法,其特征在于,使用微信、QQ、短信或邮件的方式将所述字符串L发送给目标接收端。
8.一种对权利要求1所述方法得到的公钥文本进行解码的方法,其步骤包括:
1)目标接收端从获取的字符串L中提取附加信息和字符串S;然后对字符串S中的每个字符,在数组C中找到其位置i,将十进制的i表示为二进制比特串,若不足k位则采用高位补0的方式填充为k位;
2)将转换后的n个k位比特串按序拼接,得到一比特串M;
3)根据公钥P的短汉字编码过程中该比特串的生成规则,从该比特串M中提取保留位OP、公钥P的1比特的y坐标标识位yp’以及公钥P的x坐标xp;其中yp’为yp的最右侧一个比特,yp为公钥P的y坐标;
4)计算域元素α=(xp 3+axp+b)mod p,计算αmod p的平方根β,若β的最右边比特等于yp’,则置yp=β,否则置yp=p-β;其中,a、b为椭圆曲线方程y2=x3+ax+b中的系数,公钥P为该椭圆曲线方程y2=x3+ax+b中的一点坐标;Fq为用于生成该公钥P的有限域,q=p且p为大于3的素数;
5)根据解码出的xp、yp得到公钥P。
9.一种椭圆曲线公钥的文本化传递系统,其特征在于,包括公钥生成模块、公钥分享模块;其中,
所述公钥生成模块,用于检查当前用户是否已有椭圆曲线公私钥对,若无则对当前用户生成一对公私钥;然后使用椭圆曲线上点压缩方法对公钥P进行压缩,得到压缩后的公钥P’;然后根据公钥P’的长度确定编码公钥P所需汉字个数n,并根据该公钥P’与设置的保留位OP生成一比特串M;然后将比特串M以每块k位的方式按序拆分为n块,对于每一块中的k位比特串,将其转化为十进制数i,取出数组C中第i个字符C[i]表示该块数据,依次将代表n块数据的n个字符拼接后形成新的字符串S;用该字符串S表示该公钥P;然后将该字符串S与设定的附加信息拼接为字符串L发送给公钥分享模块;其中,公钥P为椭圆曲线上坐标点P的坐标;数组C包括2k个汉字,C[i]表示数组C中的第i个字符;k为一个汉字字符的二进制位数;
公钥分享模块,用于将该字符串L发送给目标接收端;或者生成一内容为所述字符串L的二维码展示给目标接收端。
10.如权利要求9所述的系统,其特征在于,还包括一公钥解析模块,用于从获取的字符串L中提取附加信息和字符串S;然后对字符串S中的每个字符,在数组C中找到其位置i,将十进制的i表示为二进制比特串,若不足k位则采用高位补0的方式填充为k位;然后将转换后的n个k位比特串按序拼接,得到一比特串M;然后根据公钥P的短汉字编码过程中该比特串的生成规则,从该比特串M中提取保留位OP、公钥P的1比特的y坐标标识位yp’以及公钥P的x坐标xp;然后计算域元素α=(xp 3+axp+b)mod p,计算αmod p的平方根β,若β的最右边比特等于yp’,则置yp=β,否则置yp=p-β;根据解码出的xp、yp得到公钥P;其中,a、b为椭圆曲线方程y2=x3+ax+b中的系数,公钥P为该椭圆曲线方程y2=x3+ax+b中的一点坐标;Fq为用于生成该公钥P的有限域,q=p且p为大于3的素数;其中yp’为yp的最右侧一个比特,yp为公钥P的y坐标。
CN201910067468.5A 2019-01-24 2019-01-24 一种椭圆曲线公钥文本化传递方法及系统 Active CN109818743B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910067468.5A CN109818743B (zh) 2019-01-24 2019-01-24 一种椭圆曲线公钥文本化传递方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910067468.5A CN109818743B (zh) 2019-01-24 2019-01-24 一种椭圆曲线公钥文本化传递方法及系统

Publications (2)

Publication Number Publication Date
CN109818743A CN109818743A (zh) 2019-05-28
CN109818743B true CN109818743B (zh) 2020-08-28

Family

ID=66604943

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910067468.5A Active CN109818743B (zh) 2019-01-24 2019-01-24 一种椭圆曲线公钥文本化传递方法及系统

Country Status (1)

Country Link
CN (1) CN109818743B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111935163B (zh) * 2020-08-14 2022-08-09 支付宝(杭州)信息技术有限公司 保护隐私的数据联合处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289649A (zh) * 2011-06-08 2011-12-21 无锡市音信飞信息技术有限公司 一种利用汉字进行大数值标识的方法
CN103973439A (zh) * 2014-05-08 2014-08-06 华中科技大学 一种多变量公钥加密方法
CN104811298A (zh) * 2015-05-14 2015-07-29 中国联合网络通信集团有限公司 一种实现加密的方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9450749B2 (en) * 2000-03-29 2016-09-20 Wolfgang S. Hammersmith One-time-pad encryption with central key service
US20110055585A1 (en) * 2008-07-25 2011-03-03 Kok-Wah Lee Methods and Systems to Create Big Memorizable Secrets and Their Applications in Information Engineering
CN103853985B (zh) * 2012-12-05 2017-01-18 中国移动通信集团黑龙江有限公司 数据加密方法、解密方法及装置
CN104767610B (zh) * 2015-04-23 2018-11-20 数据堂(北京)科技股份有限公司 一种数据加密方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289649A (zh) * 2011-06-08 2011-12-21 无锡市音信飞信息技术有限公司 一种利用汉字进行大数值标识的方法
CN103973439A (zh) * 2014-05-08 2014-08-06 华中科技大学 一种多变量公钥加密方法
CN104811298A (zh) * 2015-05-14 2015-07-29 中国联合网络通信集团有限公司 一种实现加密的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《High-Entropy 2-Dimensional Key Input Method for Symmetric and Asymmetric Key Cryptosystems》;Kok-Wah Lee;《International Journal of Computer and Electrical Engineering》;20090430;全文 *
《基于公钥密码体制的网络认证技术》;庞松涛;《电信科学》;20160220;全文 *

Also Published As

Publication number Publication date
CN109818743A (zh) 2019-05-28

Similar Documents

Publication Publication Date Title
CN109150499B (zh) 动态加密数据的方法、装置、计算机设备和存储介质
CN110224999B (zh) 信息交互方法、装置及存储介质
CN105376261B (zh) 一种用于即时通讯消息的加密方法及系统
CN110138739B (zh) 数据信息加密方法、装置、计算机设备及存储介质
CN108418683B (zh) 一种基于汉字结构特征的无载体文本隐写方法
CN112511514A (zh) 一种http加密传输方法、装置、计算机设备及存储介质
US11303617B2 (en) Methods and apparatuses for oblivious transfer using trusted environment
CN101056176A (zh) 对手机传送的消息进行端到端加密的方法和控制装置
Park One-time password based on hash chain without shared secret and re-registration
CN104243149A (zh) 加、解密方法,装置和服务器
WO2017185872A1 (zh) 短消息处理方法、装置及系统、存储介质
CN112491832B (zh) 一种文件传输方法及装置
US8458452B1 (en) System and method for encryption and decryption of data transferred between computer systems
CN102891860A (zh) 一种安全地建立联系人关系的方法
CN114499857B (zh) 一种实现大数据量子加解密中数据正确性与一致性的方法
CN109067700A (zh) 一种跨平台信息输入输出保护系统
CN109818743B (zh) 一种椭圆曲线公钥文本化传递方法及系统
CN114257562A (zh) 即时通讯方法、装置、电子设备和计算机可读存储介质
CN109905241B (zh) 一种椭圆曲线公钥的短汉字编码、解码方法
CN101262340A (zh) 彩信加密的方法及收发加密彩信的移动终端
CN114567427B (zh) 一种区块链隐蔽数据分段传输方法
CN112637230B (zh) 一种即时通信方法及系统
WO2022021005A1 (zh) 基于指数复杂度的对称加解密方法
KR101632651B1 (ko) 바이너리 데이터 전송 방법, 서버 및 컴퓨터 프로그램
KR20040071918A (ko) 전송 데이터의 암호화 및 복호화 방법

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