可编程器件的交互数据验证方法、装置、设备及介质与流程

文档序号:30996854发布日期:2022-08-03 03:29阅读:来源:国知局

技术特征:
1.一种可编程器件的交互数据验证方法,其特征在于,包括:获取待验证的交互数据,所述交互数据包括待验证的公钥、待验证的私钥、待验证的模数和待验证的数据流;通过基于verilog语言实现的第一摘要算法获取所述交互数据的第一公钥摘要,通过基于systemverilog语言实现的第一摘要算法获取所述交互数据的第二公钥摘要,所述第一公钥摘要和第二公钥摘要的位宽相同;通过基于所述systemverilog语言实现的rsa加密算法获取所述交互数据的第一数据流摘要,通过基于所述verilog语言实现的rsa加密算法获取所述交互数据的第二数据流摘要,通过基于所述verilog语言实现的第二摘要算法获取所述交互数据的第三数据流摘要,所述第一数据流摘要、第二数据流摘要和第三数据流摘要的位宽相同;判断所述第一公钥摘要和所述第二公钥摘要是否一致,得到公钥判断结果;判断所述第一数据流摘要、所述第二数据流摘要和所述第三数据流摘要是否一致,得到数据流判断结果;根据所述公钥判断结果和所述数据判断结果确定所述交互数据是否被篡改或有部分数据丢失。2.根据权利要求1所述的方法,其特征在于,所述通过基于verilog语言实现的第一摘要算法获取所述交互数据的第一公钥摘要,通过基于systemverilog语言实现的第一摘要算法获取所述交互数据的第二公钥摘要,包括:将所述待验证的公钥驱动至基于所述verilog语言实现的第一摘要算法中,得到第一公钥摘要;将所述待验证的公钥驱动至基于所述systemverilog语言实现的第一摘要算法中,得到第二公钥摘要。3.根据权利要求1所述的方法,其特征在于,所述通过基于所述verilog语言实现的rsa加密算法获取所述交互数据的第一数据流摘要,通过基于所述verilog语言实现的rsa加密算法获取所述交互数据的第二数据流摘要,包括:将所述待验证的数据流驱动至通过基于所述systemverilog语言实现的第二摘要算法中,得到前置数据摘要;将所述前置数据摘要、所述待验证的私钥和所述待验证的模数驱动至基于所述systemverilog语言实现的rsa加密算法中,得到带有签名的认证数据;将所述认证数据分别驱动至基于所述verilog语言实现的rsa加密算法和基于所述systemverilog语言实现的rsa加密算法中,得到所述第一数据流摘要和所述第二数据流摘要。4.根据权利要求1或2或3所述的方法,其特征在于,所述通过基于所述verilog语言实现的第二摘要算法获取所述交互数据的第三数据流摘要,包括:将所述待验证的数据流驱动至基于所述verilog语言实现的第二摘要算法中,得到第三数据流摘要。5.根据权利要求4所述的方法,其特征在于,所述根据所述公钥判断结果和所述数据判断结果确定所述交互数据是否被篡改或有部分数据丢失,包括:判断所述公钥判断结果和所述数据判断结果是否均为是,得到数据验证结果;
若所述数据验证结果为是,则所述可编程器件的交互数据在交互数据过程中没有被篡改且没有数据丢失;若所述数据验证结果为否,则所述可编程器件的交互数据在交互数据过程中有被篡改或有部分数据丢失。6.根据权利要求1所述的方法,其特征在于,所述第一摘要算法和/或第二摘要算法为sha-2算法、sha-3算法和messagedigest算法中的一种,所述第一数据流摘要的位宽不小于1024位。7.根据权利要求6所述的方法,其特征在于,所述第一摘要算法为sha3-224算法、sha3-256算法、sha3-384算法、sha3-512算法、shake128算法和shake256算法中的一种,所述第二摘要算法为shake128算法或shake256算法,所述第一数据流摘要的位宽为4096位。8.一种可编程器件的交互数据验证装置,其特征在于,包括:交互数据采集模块,用于获取待验证的交互数据,所述交互数据包括待验证的公钥、待验证的私钥、待验证的模数和待验证的数据流;公钥摘要生成模块,用于通过基于verilog语言实现的第一摘要算法获取所述交互数据的第一公钥摘要,通过基于systemverilog语言实现的第一摘要算法获取所述交互数据的第二公钥摘要,所述第一公钥摘要和第二公钥摘要的位宽相同;数据流摘要生成模块,用于通过基于所述systemverilog语言实现的rsa加密算法获取所述交互数据的第一数据流摘要,通过基于所述verilog语言实现的rsa加密算法获取所述交互数据的第二数据流摘要,通过基于所述verilog语言实现的第二摘要算法获取所述交互数据的第三数据流摘要,所述第一数据流摘要、第二数据流摘要和第三数据流摘要的位宽相同;摘要判断模块,用于判断所述第一公钥摘要和所述第二公钥摘要是否一致,得到公钥判断结果;判断所述第一数据流摘要、所述第二数据流摘要和所述第三数据流摘要是否一致,得到数据流判断结果;数据判断模块,用于根据所述公钥判断结果和所述数据判断结果确定所述交互数据是否被篡改或有部分数据丢失。9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述可编程器件的交互数据验证方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述可编程器件的交互数据验证方法的步骤。

技术总结
本发明公开了可编程器件的交互数据验证方法、装置、设备及介质,属于集成电路技术领域。它包括:获取待验证的交互数据;通过第一摘要算法获取交互数据的第一公钥摘要和第二公钥摘要;通过RSA加密算法获取交互数据的第一数据流摘要和第二数据流摘要,通过第二摘要算法获取交互数据的第三数据流摘要;判断第一公钥摘要和第二公钥摘要是否一致,得到公钥判断结果;判断第一数据流摘要、第二数据流摘要和第三数据流摘要是否一致,得到数据流判断结果;根据公钥判断结果和数据判断结果确定交互数据是否被篡改或有部分数据丢失。本发明的交互数据的验证速度较快、花费时间较短,从而让整个可编程器件的开发周期较短。整个可编程器件的开发周期较短。整个可编程器件的开发周期较短。


技术研发人员:梁振瑞 夏君
受保护的技术使用者:深圳市紫光同创电子有限公司
技术研发日:2022.03.23
技术公布日:2022/8/2
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1