一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于优化RSA加密算法的高效农业溯源数据上链方法与流程

2023-01-16 12:06:03 来源:中国专利 TAG:

基于优化rsa加密算法的高效农业溯源数据上链方法
技术领域
1.本发明涉及一种基于优化rsa加密算法的高效农业溯源数据上链方法,尤其涉及的技术是(1)对rsa加密算法的机制优化,和(2)基于优化rsa加密算法的高效率农业溯源数据上链与加密存证方法,属于区块链技术领域。


背景技术:

2.rsa算法是一种非对称的加密算法,它通常是先生成一对rsa密钥,其中之一是保密密钥(私钥),由用户保存;另一个为公开密钥(公钥),可对外公开;要加密传输内容时,比如a要给b传输信息,此时a先用b的公钥将内容加密后传输,b收到a传输过来的信息后用自己的私钥解密。rsa加密算法理论完善,安全强度高,算法本身易于实现和理解等优势,目前行业较为通用的区块链上加密算法为rsa算法。常见的rsa算法生成公私钥的算法过程如下所示:(1)选择两个大素数p和q,(2)计算n= p*q,(3)计算t=(p

1)*(q

1),(4)取任意的

1,要求

1<t且

与t互质,(5)通过(

1*

2)
푚표
d(t)=1,计算

2,(6)输出公钥(n,

1)和私钥(n,

2)设

为明文,

为密文,则通过公式(2-1)可以使用rsa算法的公钥对明文

加密,通过公式(2-2)使用 rsa 算法的私钥对密文

进行解密。
3.푚 = 푀
푒2푚표
d(n) (2-1)
푀 = 푚
푒1푚표
d(n) (2-2)也可以将

1作为私钥的参数,

2作为公钥的参数,即:
푚 = 푀
푒1푚표
d(n) (2-3)
푀 = 푚
푒2푚표
d(n) (2-4)一般来说,rsa算法的安全性依赖于大数分解,计算两个大素数的乘积很容易,但是反过来由该乘积分解成两个素数相乘,如果该乘积足够大,分解的难度也相应增大,即意味着解密难度高,消息加密安全性高。同时,如果不断增加相乘的大素数的个数,分解难度也会相应增大。行业应用中,针对rsa算法的优化主要就是增加素数的数量级或增加大素数的个数。
4.然而在对算法的性能和加密效果进行优化的过程中,大部分开发人员会倾向于追求不断增加加密算法的破解难度,而忽略加密算法对数据上链的速度造成的负向影响。由于rsa加密算法使用因式分解以及模幂运算的技术,使得在真正使用rsa加密算法时不得不选择更长的密钥位数,虽然在安全性方面增大攻击者攻击的难度,但也同时使得密钥的生成以及消息的加密解密操作的效率大大降低。而另一方面,在农业溯源中,数据的保密等级程度参差不齐,并不是所有的农业溯源数据都需要最高等级的加密保障,对所有数据以通
用的方式和等级加密并不经济高效。
5.综上所述,现有技术中存在如下问题:(1)盲目追求加密算法高破解难度而造成区块链运行性能下降,累积队列阻塞、服务并发等问题;(2)低保密等级溯源数据占用过多资源影响重要高保密等级溯源数据的上链存证速度;(3)为了提高数据上链速度和区块链服务性能简单粗暴降低加密算法计算难度而造成的数据安全性降低。


技术实现要素:

6.发明目的:针对现有技术中存在的问题以及快速高效加密上链农业溯源数据的需求,通过对rsa加密算法进行优化提升,并设计高效率的农业溯源数据上链与加密存证方法,本发明提供一种可在保障加密安全等级的同时提升溯源数据上链的速度、实现农业溯源数据有效分级治理的应用方案,即一种基于优化rsa加密算法的高效农业溯源数据上链方法。
7.技术方案:一种基于优化rsa加密算法的高效农业溯源数据上链方法,包括对rsa加密算法的机制优化,以及基于优化rsa加密算法的高效率农业溯源数据上链与加密存证方法两部分内容。
8.所述的对rsa加密算法的机制优化包括:11)在密钥生成阶段满足101所述算法改进;12)在明文消息

加密阶段满足102所述算法特征;13)在密文消息

解密阶段满足103所述算法特征。
9.101在密钥生成阶段用新定义参数α替代模数n(n是任意多个随机素数相乘的积),参数α满足:p>q时,(n-p)<α<n,gcd(α , n)=1;p<q时,(n-q)<α<n,gcd(α , n)=1。
10.p和q表示素数,n= p*q,gcd是gcd函数,即返回两个或多个整数的最大公约数;φ(n)等于相乘得到模数n的所有素数各自-1值的乘积。
11.随机选择正整数

满足n
1/2


<φ(n)φ(α)且gcd(

φ(n)φ(α))=1。
12.模逆元素d符合ed=1(mod(φ(n)φ(α))。
13.销毁p、q、α和φ(n)的数值记录,保留

、d和模数n待102、103环节使用。
14.102在明文消息

加密阶段,在对明文消息

进行加密时,对即将发送的明文消息进行分组,尽可能将每个明文分组的消息长度控制得短,利于缩短处理时间。等到消息发送方将消息逐组分配完毕后利用公钥(
푒 , α)对明文消息

进行加密,消息加密规则为密文消息

=


(modα)。
15.103在密文消息

解密阶段,消息接收方对密文消息

进行解密获取明文消息

,消息解密规则为

=
푚d(modα)。
16.基于优化rsa加密算法的高效率农业溯源数据上链与加密存证方法,包括:21)农业溯源数据采集和存储于数据库,22)农业溯源数据安全保密等级分等,23)溯源数据摘要打包上链,用优化rsa加密算法加密上链数据摘要内容。
17.所述21)农业溯源数据采集和存储于数据库,包括:211)从生产节点、加工节点、物流节点、销售节点采集特定数据结构格式的农业溯源数据;212)将农业溯源数据存储于链
外数据库。
18.所述农业溯源数据中:211-1)每条溯源数据的第一个字段process为供应链节点的代码,即生产节点为p、加工节点为c、物流节点为l、销售节点为s;211-2)每条溯源数据的第二个字段areacode为数据来源所在行政区划代码;211-3)每条溯源数据的第三个字段organization为数据来源企业名称;211-4)每条溯源数据的第四个字段license为数据来源企业统一社会信用代码;211-5)每条溯源数据的第五个字段security为溯源数据安全保密等级(a、b、c共3档);211-6)每条溯源数据的第六个字段data为溯源数据具体内容,格式为{产品名product_name,产品批次号product_batch,产品溯源码product_tracecode,溯源信息内容trace_data,投入品信息input_info}。
19.所述农业溯源数据中: organization、license字段同时写入溯源数据表和机构表,product_name、product_batch、product_tracecode字段同时写入溯源数据表和产品表;产品表中关联机构表的索引id字段。
20.所述22)农业溯源数据安全保密等级分等:溯源数据安全保密等级被区分为a、b、c依次从低到高3档,且分别对应优化rsa算法中模数n相乘的素数数量为3、7、11个。
21.所述23)溯源数据摘要打包上链,包括:231)提取溯源数据中的process字段、license字段、security字段、data字段为溯源数据的摘要;232)根据security字段的值(a、b或c)自动化匹配不同难度等级的rsa加密算法;233)用rsa加密算法加密上链数据摘要内容和生成验证数字签名;234)用rsa加密算法生成数字证书;235)将包含溯源数据摘要的上链交易广播到背书节点;236)背书节点使用私钥验证数字签名证明交易是否合法,如合法则经排序服务节点广播至主节点,如不合法则驳回交易;237)主节点将对被广播的包含已验证数字签名的溯源数据摘要的区块同步至自身服务器和其他记账节点,即完成溯源数据摘要打包上链和全链同步;238)记账节点同步溯源数据摘要对应的数字证书至自身服务器,在链上检索溯源信息时起到验证作用;239)验证成功数字证书后,能通过产品溯源码从链外数据库中读取完整溯源数据。
22.所述23)中,rsa加密算法为优化rsa加密算法。
23.所述233)用rsa加密算法加密上链数据摘要内容和生成验证数字签名,包括:233-1)消息发送方根据22)中溯源数据摘要security字段值对应的不同安全保密等级,用自己持有私钥对消息进行加密,算法特征同102;233-2)消息发送方将加密后的消息和签名发送给消息接收方;233-3)消息接收方用持有的公钥对收到的消息和数字签名进行解密,算法特征同103;233-4)消息接收方将根据数字签名解密后得到的消息与消息发送方直接发送的消息进行对比。
24.所述234)用rsa加密算法生成数字证书:234-1)消息接收方生成或者认证机构代为生成公钥私钥,即密钥对,并将私钥自保管;234-2)消息接收方在认证机构注册自己的公钥,用于认证机构对他的公钥加上数字签名;234-3)认证机构事先生成好密钥对,用自己的私钥对消息接收方的公钥加以数字签名并生成证书,算法特征同102;234-4)消息发送方得到带有认证机构的数字签名的消息接收方的公钥即证书;234-5)消息发送方使用第三方信任机构的公钥对证书中的数字签名进行验证,如果验证无误即确认了证书中包含的公钥是属于消息接收方的;234-6)消息发送方用消息接收方的公钥加密明文消息并发送给消息接收方;234-7)消息接收方用自己的私钥解密收到的密文获取明文消息,算法特征同103。
25.一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行上述计算机程序时实现如上所述的基于优化rsa加密算法的高效农业溯源数据上链方法。
26.一种计算机可读存储介质,该计算机可读存储介质存储有执行如上所述的基于优化rsa加密算法的高效农业溯源数据上链方法的计算机程序。
27.有益效果:与现有技术相比,本发明具有如下优点:(1)保障加密安全等级的同时提升溯源数据上链的速度,维护区块链服务的性能稳定;(2)保证低安全等级数据的上链速度,保证高安全等级数据的保密安全性,实现农业溯源数据的有效分级治理;(3)让农业溯源数据上链过程更规范标准,上链数据格式和结构更统一,使溯源数据更利于监管和使用,发挥更多数据价值。
附图说明
28.图1是本发明实施例的高效农业溯源数据上链环节流程图;图2是本发明实施例的溯源数据摘要上链机制流程示意图。
具体实施方式
29.下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本技术所附权利要求所限定的范围。
30.基于优化rsa加密算法的高效农业溯源数据上链方法,包括:对rsa加密算法的机制优化,得到优化rsa加密算法;2)基于优化rsa加密算法的高效率农业溯源数据上链与加密存证方法。具体包括如下内容:101在密钥生成阶段用新定义参数α替代模数n,原模数n = p1* p2*p3*p4…
p
n-1
*pn令n=3,n= p1* p2*p
3 ,p为任意强素数,某次计算有n = 1129 * 353 * 267 。
31.注:此时参数n=3,对应后文22)的溯源数据安全保密等级为a。
32.参数α满足:p>q时,(n-p)<α<n,gcd(α , n)=1;p<q时,(n-q)<α<n,gcd(α , n)=1。
33.当n=1,066,883,549时,某次计算有α = 1123 * 349 * 267 。
34.φ(n) = (p
1-1)* (p
2-1)* (p
3-1)* (p
4-1)

(p
n-1-1)* (p
n-1)当n=3,φ(n) = (p
1-1)* (p
2-1)* (p
3-1) = (1129-1) *(353-1) *(2677-1) 。
35.当n=3,φ(α) = (p
1-1)* (p
2-1)* (p
3-1) = (1123-1) *(349-1) *(2671-1) 。
36.随机选择正整数

满足n
1/2


<φ(n)φ(α)且gcd(

φ(n)φ(α))=1,即:(1129 * 353 * 267)
1/2


<(1129-1) *(353-1) *(2677-1)* (1123-1) *(349-1) *(2671-1) 且

、φ(n)、φ(α)两两互质。
37.模逆元素d符合ed=1(mod(φ(n)φ(α))此例中d=(1(mod((1129-1) *(353-1) *(2677-1)* (1123-1) *(349-1) *(2671-1)))/ 푒
销毁p、q、α和φ(n)的数值记录,保留

、d和模数n待102、103环节使用。
38.102在明文消息

加密阶段,在对明文消息

进行加密时,对即将发送的明文消息进行分组,尽可能将每个明文分组的消息本质数值小;等到消息发送方将消息处理完毕后利用公钥(
푒 , α)对明文消息

进行加密,消息加密规则为

=


(modα)。
39.103在密文消息

解密阶段,消息接收方对密文消息

进行解密获取明文消息

,消息解密规则为

=
푚d(modα)。
40.如图1所示,基于优化rsa加密算法的高效率农业溯源数据上链与加密存证方法:21)农业溯源数据采集和存储于数据库,22)农业溯源数据安全保密等级分等,23)溯源数据摘要打包上链,24)用rsa加密算法加密上链数据摘要内容。
41.21)农业溯源数据采集和存储于数据库:211)从生产节点、加工节点、物流节点、销售节点采集特定数据结构格式的农业溯源数据;212)将农业溯源数据存储于链外数据库。
42.特定数据结构格式的农业溯源数据:211-1)每条溯源数据的第一个字段process为供应链节点的代码,即生产节点为p、加工节点为c、物流节点为l、销售节点为s;2)每条溯源数据的第二个字段areacode为数据来源所在行政区划代码;3)每条溯源数据的第三个字段organization为数据来源企业名称;4)每条溯源数据的第四个字段license为数据来源企业统一社会信用代码;5)每条溯源数据的第五个字段security为溯源数据安全保密等级(a、b、c共3档);6)每条溯源数据的第六个字段data为溯源数据具体内容,格式为{产品名product_name,产品批次号product_batch,产品溯源码product_tracecode,溯源信息内容trace_data,投入品信息input_info}。
43.比如此例中:一条从北京地区某生产节点获取的溯源数据为:{"process": "p", "areacode":"110000", "organization":"绿艺农业有限公司", "license":"9111010568760810xl", "security":"a", "data": [{"product_name":"青菜", "product_batch":"20220403110656", "product_tracecode": "20220403110656810xl7701", "trace_data": "2022年2月11日投用化肥10毫升", "input_info": [{"input_name": "过磷酸钙", "input_vol": "10", "input_unit": "ml"}]}]}将农业溯源数据存储于链外数据库:organization、license字段同时写入溯源数据表和机构表,product_name、product_batch、product_tracecode字段同时写入溯源数据表和产品表。产品表中关联机构表的索引id字段。
[0044]
比如此例中:机构表第3条数据是“id:3,organization:绿艺农业有限公司,license: 9111010568760810xl”;产品表第5条数据是“id:5,product_name:青菜,product_batch: 20220403110656,product_tracecode: 20220403110656810xl7701,organization_id:3”;溯源数据表第13条数据是“process: p, areacode:110000, organization_id:3,organization:绿艺农业有限公司, license:9111010568760810xl, security:a, data: [{product_id:5,product_name:青菜, product_batch:20220403110656, product_tracecode: 20220403110656810xl7701, trace_data: 2022年2月11日投用化肥10毫升, input_info: [{input_name: 过磷酸钙, input_vol: 10, input_unit: ml}]}]”。
[0045]
22)农业溯源数据安全保密等级分等:溯源数据安全保密等级被区分为a、b、c依次从低到高3档,且分别对应优化版rsa算法中模数n相乘的素数数量(参数n)为3、7、11个。
[0046]
比如:上述溯源数据中的安全保密等级为a,对应参数n为3,应用于23)中rsa加密算法的匹配规则。
[0047]
如图2所示,23)溯源数据摘要打包上链,包括:231)提取溯源数据中的process字段、license字段、security字段、data字段为溯源数据的摘要;比如此例中,溯源数据的摘要为{"process": "p", "license":"9111010568760810xl", "security":"a", "data": [{"product_name":"青菜", "product_batch":"20220403110656", "product_tracecode": "20220403110656810xl7701", "trace_data": "2022年2月11日投用化肥10毫升", "input_info": [{"input_name": "过磷酸钙", "input_vol": "10", "input_unit": "ml"}]}]}。
[0048]
232)根据security字段的值(a、b或c)自动化匹配不同难度等级的rsa加密算法;233)用rsa加密算法加密上链数据摘要内容和生成验证数字签名;234)用rsa加密算法生成数字证书;235)将包含溯源数据摘要的上链交易广播到背书节点;236)背书节点使用私钥验证数字签名证明交易是否合法,如合法则经排序服务节点广播至主节点,如不合法则驳回交易;237)主节点将对被广播的包含已验证数字签名的溯源数据摘要的区块同步至自身服务器和其他记账节点,即完成溯源数据摘要打包上链和全链同步;238)记账节点同步溯源数据摘要对应的数字证书至自身服务器,在链上检索溯源信息时起到验证作用;239)验证成功数字证书后,可通过产品溯源码从链外数据库中读取完整溯源数据。
[0049]
233)用rsa加密算法加密上链数据摘要内容和生成验证数字签名,233-1)消息发送方溯源数据摘要security字段值对应的不同安全保密等级,用自己持有私钥对消息进行加密,算法特征同102;233-2)消息发送方将加密后的消息和签名发送给消息接收方;233-3)消息接收方用持有的公钥对收到的消息和数字签名进行解密,算法特征同103;233-4)消息接收方将根据数字签名解密后得到的消息与消息发送方直接发送的消息进行对比。
[0050]
234)用rsa加密算法生成数字证书:234-1)消息接收方生成或者认证机构代为生成公钥私钥,即密钥对,并将私钥自行妥善保管;234-2)消息接收方在认证机构注册自己的公钥,用于认证机构对他的公钥加上数字签名;234-3)认证机构事先生成好密钥对,用自己的私钥对消息接收方的公钥加以数字签名并生成证书,算法特征同102;234-4)消息发送方得到带有认证机构的数字签名的消息接收方的公钥即证书;234-5)消息发送方使用第三方信任机构的公钥对证书中的数字签名进行验证,如果验证无误即确认了证书中包含的公钥是属于消息接收方的;234-6)消息发送方用消息接收方的公钥加密明文消息并发送给消息接收方;234-7)消息接收方用自己的私钥解密收到的密文获取明文消息,算法特征同103。
[0051]
显然,本领域的技术人员应该明白,上述的本发明实施例的基于优化rsa加密算法的高效农业溯源数据上链方法各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,
本发明实施例不限制于任何特定的硬件和软件结合。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献