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

一种用于非完整数据验证的数字签名方法与流程

2022-06-02 14:15:55 来源:中国专利 TAG:

1.本发明涉及网络通信中的鉴定方法技术领域,具体是指一种用于非完整数据验证的数字签名方法。


背景技术:

2.随着互联网和信息技术的发展,密码学越来越多地用于各种数据传输系统之中,这就为网络可靠通信提出了新要求,在数据传输信道不可信的情况下,中间人主观/客观隐匿、丢失或篡改部分数据后,拥有部分数据的验证方如何验证数据的真实性。传统的基于数字签名的验证方式需要在数据完整的情况下,才能保证验证结果的可信;若数据不完整的情况下,无法进行确认数据是否来源于数据签署方,无法确保数据的真实性。
3.所以,一种在数据不完整的情况下,能确认数据是否来源于数据签署方、确保数据的真实性的用于非完整性数字签名和验证方法成为人们亟待解决的问题。


技术实现要素:

4.本发明要解决的技术问题传统的基于数字签名的验证方式需要在数据完整的情况下,才能保证验证结果的可信;若数据不完整的情况下,无法进行确认数据是否来源于数据签署方,无法确保数据的真实性。
5.为解决上述技术问题,本发明提供的技术方案为:一种用于非完整数据验证的数字签名方法,包括数据签署方和数据验证方,所述用于非完整性数字签名和验证方法如下所示:
6.步骤1、数据签署方得到一组原始数据,原始数据分别为:data1、data2、...、data
n-1
、datan;
7.步骤2、数据签署方对每一项原始数据datan进行哈希计算,生成哈希摘要组数:e1、e2、...、e
n-1
、en,en=hv(datan);
8.步骤3、数据签署方对哈希摘要数组e1、e2、...、e
n-1
、en进行哈希计算,得到哈希摘要e,e=hv(e1 e2 ... e
n-1
en);
9.步骤4、数据签署方使用私钥da对哈希摘要e进行签名,得到哈希摘要数字签名se,se=sign(da,e);
10.步骤5、数据签署方将在步骤2生成的哈希摘要数组e1、e2、...、e
n-1
、en、哈希摘要数字签名se以及原始数据data1、data2、...、data
n-1
、datan发送至数据验证方;
11.步骤6、数据传输过程中存在出现中间人主观、客观隐匿、丢失、篡改部分数据的情况;
12.步骤7、数据验证方对哈希摘要数组e
’1、e
’2、...、e’n-1
、e’n
进行哈希计算,得到哈希摘要e’,e’=hv(e
’1 e
’2 ... e’n-1
e’n
);
13.步骤8、数据验证方利用数据签署方的公钥pa对签名s’e
进行验证,verify(pa,e’,s’e
)结果为真,若签名验证结果一致,则进入步骤9;若结果不一致,则所有数据验证失败;
14.步骤9、数据验证方对得到的每一项原始数据data
’1、data
’2、...、data’n-1
、data’n
进行哈希计算,生成哈希摘要数组e”1
、e”2
、...、e”n-1
、e”n
,e”n
=hv(data’n
);
15.步骤10、数据验证方需查询步骤9计算所得的每一个哈希是否存在于哈希数组,exist(e”n
,e
’1、e
’2、...、e’n-1
、e’n
)结果为真,若存在于哈希数组,则证明此项数据验证成功;若不存在于哈希数组,则此项数据验证失败。
16.进一步的,步骤2、步骤3、步骤7、步骤9所述的哈希计算包括但不限于md2、md4、md5、md6、ripemd-128、ripemd-160、sha-1、sha-3、sha-256、sha-512、blake-256、blake-512。
17.进一步的,哈希计算技术具有确定性、单向性、雪崩效应以及抗冲突性的特点;确定性是指相同的信息采用同样的密码学算法进行哈希计算,得到的哈希值是相同;单向性是指通过哈希值推测信息内容是不可能做到的;雪崩效应是指对信息进行细微的改动都会对计算产生哈希值产生巨大的改变;抗冲突性是指找到具有相同哈希值的两条不同信息是概率学上不可能的。
18.进一步的,步骤4、步骤8所述的非对称签名、验签算法包括但不限于国密2、rsa、dsa、ecdsa。
19.进一步的,步骤1-步骤10所述的datan为一组原始数据中的第n个数据信息;en为哈希算法用于datan的输出值;e为哈希算法用于e1 e2 ... e
n-1
en的输出值;da为数据签署方私钥;pa为数据签署方公钥;se为数据签署方对哈希摘要e签名后得到的哈希摘要数字签名;data’n
为数据验证方得到一组数据中的第n个数据信息;e’n
为数据验证方得到一组哈希摘要中的第n个哈希摘要信息;e”n
为哈希算法用于data’n
的输出值;s’e
为数据验证方接收到的哈希摘要数字签名;e’为哈希算法用于e
’1 e
’2 ... e’n-1
e’n
的输出值;hv(data)为输入消息data,输出消息摘要长度为v比特的哈希算法;sign(d,e)为输入消息e和私钥d进行签名,输出签名结果的非对称签名算法;verify(p,e,s)为输入签名s、消息e和公钥p进行验签,输出验签结果的非对称验签算法;exist(e,e1、e2、...、e
n-1
、en)为输入信息e和一组数据e1、e2、...、e
n-1
、en,输出e是否存在于e1、e2、...、e
n-1
、en中的结果。
20.本发明与现有技术相比的优点在于:本发明实现了在数据传输通道不可信导致数据不完整的情况下,数据验证方仍可根据签名来确认数据是否来源于数据签署方,以验证数据的真实性;本发明中所用到的哈希计算技术具有确定性、单向性、雪崩效应以及抗冲突性的技术特点;数据签名技术能够采用密码学算法,使用密码学加密信息即私钥对信息进行签名,签名后得到针对该信息的数字签名;数字签名技术验证能够采用上述密码学算法,使用可供公开验证的密码学验证信息即公钥对数字签名进行验证,签名数据未被篡改且签名使用的密码学加密信息与验证签名时使用的可供公开验证的密码学验证信息对应时会验证通过;定向签名过程中使用数字签名技术及数字验证技术签名与验证同一份信息时,需采用相同的数字签名算法;数据验证方可根据此方法,在数据不完整的情况下,确认数据是否来源于数据签署方,确保数据的真实性;本发明设计合理,值得大力推广。
具体实施方式
21.下面对本发明一种用于非完整数据验证的数字签名方法做进一步的详细说明。
22.一种用于非完整数据验证的数字签名方法,包括数据签署方和数据验证方,所述
用于非完整性数字签名和验证方法如下所示:
23.步骤1、数据签署方得到一组原始数据,原始数据分别为:data1、data2、...、data
n-1
、datan;
24.步骤2、数据签署方对每一项原始数据datan进行哈希计算,生成哈希摘要组数:e1、e2、...、e
n-1
、en,en=hv(datan);
25.步骤3、数据签署方对哈希摘要数组e1、e2、...、e
n-1
、en进行哈希计算,得到哈希摘要e,e=hv(e1 e2 ... e
n-1
en);
26.步骤4、数据签署方使用私钥da对哈希摘要e进行签名,得到哈希摘要数字签名se,se=sign(da,e);
27.步骤5、数据签署方将在步骤2生成的哈希摘要数组e1、e2、...、e
n-1
、en、哈希摘要数字签名se以及原始数据data1、data2、...、data
n-1
、datan发送至数据验证方;
28.步骤6、数据传输过程中存在出现中间人主观、客观隐匿、丢失、篡改部分数据的情况;
29.步骤7、数据验证方对哈希摘要数组e
’1、e
’2、...、e’n-1
、e’n
进行哈希计算,得到哈希摘要e’,e’=hv(e
’1 e
’2 ... e’n-1
e’n
);
30.步骤8、数据验证方利用数据签署方的公钥pa对签名s’e
进行验证,verify(pa,e’,s’e
)结果为真,若签名验证结果一致,则进入步骤9;若结果不一致,则所有数据验证失败;
31.步骤9、数据验证方对得到的每一项原始数据data
’1、data
’2、...、data’n-1
、data’n
进行哈希计算,生成哈希摘要数组e”1
、e”2
、...、e”n-1
、e”n
,e”n
=hv(data’n
);
32.步骤10、数据验证方需查询步骤9计算所得的每一个哈希是否存在于哈希数组,exist(e”n
,e
’1、e
’2、...、e’n-1
、e’n
)结果为真,若存在于哈希数组,则证明此项数据验证成功;若不存在于哈希数组,则此项数据验证失败。
33.步骤2、步骤3、步骤7、步骤9所述的哈希计算包括但不限于md2、md4、md5、md6、ripemd-128、ripemd-160、sha-1、sha-3、sha-256、sha-512、blake-256、blake-512。
34.哈希计算技术具有确定性、单向性、雪崩效应以及抗冲突性的特点。
35.步骤4、步骤8所述的非对称签名、验签算法包括但不限于国密2、rsa、dsa、ecdsa。
36.步骤1-步骤10所述的datan为一组原始数据中的第n个数据信息;en为哈希算法用于datan的输出值;e为哈希算法用于e1 e2 ... e
n-1
en的输出值;da为数据签署方私钥;pa为数据签署方公钥;se为数据签署方对哈希摘要e签名后得到的哈希摘要数字签名;data’n
为数据验证方得到一组数据中的第n个数据信息;e’n
为数据验证方得到一组哈希摘要中的第n个哈希摘要信息;e”n
为哈希算法用于data’n
的输出值;s’e
为数据验证方接收到的哈希摘要数字签名;e’为哈希算法用于e
’1 e
’2 ... e’n-1
e’n
的输出值;hv(data)为输入消息data,输出消息摘要长度为v比特的哈希算法;sign(d,e)为输入消息e和私钥d进行签名,输出签名结果的非对称签名算法;verify(p,e,s)为输入签名s、消息e和公钥p进行验签,输出验签结果的非对称验签算法;exist(e,e1、e2、...、e
n-1
、en)为输入信息e和一组数据e1、e2、...、e
n-1
、en,输出e是否存在于e1、e2、...、e
n-1
、en中的结果。
37.本发明一种用于非完整数据验证的数字签名方法的具体实施过程如下:首先数据签署方得到一组原始数据,原始数据分别为:data1、data2、...、data
n-1
、datan;数据签署方对每一项原始数据datan进行哈希计算,生成哈希摘要组数:e1、e2、...、e
n-1
、en,en=hv(datan);数据签署方对哈希摘要数组e1、e2、...、e
n-1
、en进行哈希计算,得到哈希摘要e,e=hv(e1 e2 ... e
n-1
en);数据签署方使用私钥da对哈希摘要e进行签名,得到哈希摘要数字签名se,se=sign(da,e);数据签署方将在步骤2生成的哈希摘要数组e1、e2、...、e
n-1
、en、哈希摘要数字签名se以及原始数据data1、data2、...、data
n-1
、datan发送至数据验证方;数据传输过程中存在出现中间人主观、客观隐匿、丢失、篡改部分数据的情况;数据验证方对哈希摘要数组e
’1、e
’2、...、e’n-1
、e’n
进行哈希计算,得到哈希摘要e’,e’=hv(e
’1 e
’2 ... e’n-1
e’n
);数据验证方利用数据签署方的公钥pa对签名s’e
进行验证,verify(pa,e’,s’e
)结果为真,若签名验证结果一致,则进入步骤9;若结果不一致,则所有数据验证失败;数据验证方对得到的每一项原始数据data
’1、data
’2、...、data’n-1
、data’n
进行哈希计算,生成哈希摘要数组e”1
、e”2
、...、e”n-1
、e”n
,e”n
=hv(data’n
);数据验证方需查询步骤9计算所得的每一个哈希是否存在于哈希数组,exist(e”n
,e
’1、e
’2、...、e’n-1
、e’n
)结果为真,若存在于哈希数组,则证明此项数据验证成功;若不存在于哈希数组,则此项数据验证失败。
38.本发明实现了在数据传输通道不可信导致数据不完整的情况下,数据验证方仍可根据签名来确认数据是否来源于数据签署方,以验证数据的真实性;本发明中所用到的哈希计算技术具有确定性、单向性、雪崩效应以及抗冲突性的技术特点;数据签名技术能够采用密码学算法,使用密码学加密信息即私钥对信息进行签名,签名后得到针对该信息的数字签名;数字签名技术验证能够采用上述密码学算法,使用可供公开验证的密码学验证信息即公钥对数字签名进行验证,签名数据未被篡改且签名使用的密码学加密信息与验证签名时使用的可供公开验证的密码学验证信息对应时会验证通过;定向签名过程中使用数字签名技术及数字验证技术签名与验证同一份信息时,需采用相同的数字签名算法;数据验证方可根据此方法,在数据不完整的情况下,确认数据是否来源于数据签署方,确保数据的真实性;本发明设计合理,值得大力推广。
39.以上对本发明及其实施方式进行了描述,这种描述没有限制性。总而言之如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献