System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及密码,具体而言,涉及一种pin码加密方法、装置、设备及存储介质。
技术介绍
1、目前智能卡中对于pin码加密处理包括,首先对输入的pin码加上随机数确定对应的哈希值,然后把哈希值和随机数一起存储,在验证再次输入的新的pin码的正确性时,对需要验证的新的pin码加上存储的随机数一起求取哈希值,然后与存储的哈希值进行比对,通过比对存储的哈希值和输入的哈希值是否一致,从而达到判断新的pin码是否正确的目的。该方法可以抵御普通计算机的破译,但随着科技的发展,量子计算机正逐渐走进人们的生活。传统的哈希算法基于复杂的数学问题,如大整数分解、离散对数等,而量子计算机可以利用shor算法等量子算法,在较短的时间内解决这些问题,从而破解哈希算法,导致上述的pin码加密过程被破解,pin码安全性降低。
技术实现思路
1、本专利技术解决的问题是如何提高pin码的安全性。
2、为解决上述问题,本专利技术提供了一种pin码加密方法,包括:
3、构建初始化矩阵和随机数;
4、获取初始pin码,将所述初始pin码填充至所述初始化矩阵,得到第一矩阵,根据所述第一矩阵提取加密向量集,根据所述加密向量集、所述随机数和所述第一矩阵生成加密存储值;
5、获取验证pin码,将所述验证pin码填充至所述初始化矩阵,得到第二矩阵,根据所述加密向量集、所述随机数和所述第二矩阵生成加密验证值;
6、比较所述加密存储值和所述加密验证值,对所述验证pin码进行验
7、可选地,所述构建初始化矩阵和随机数,包括:
8、获取种子,根据所述种子生成多项式环;
9、根据所述多项式环得到预设大小的所述初始化矩阵;
10、获取字节数组集,其中,所述字节数组集包括预设长度的无符号整数字节集合;
11、随机抽取所述字节数组集中的数组,得到所述随机数。
12、可选地,所述根据所述第一矩阵提取加密向量集,包括:
13、利用中心二项分布对所述第一矩阵进行采样,得到第一向量;
14、利用中心二项分布对所述第一矩阵中的噪声向量进行采样,得到噪声向量;
15、利用中心二项分布对所述第一矩阵中的噪声值进行采样,得到噪声值;
16、根据所述第一向量、所述噪声向量和所述噪声值得到所述加密向量集。
17、可选地,所述加密存储值包括第一存储值和第二存储值;所述根据所述加密向量集、所述随机数和所述第一矩阵生成加密存储值,包括:
18、将所述第一矩阵进行转置并与所述第一向量相乘,所得乘积与所述噪声向量做和,得到所述第一存储值;
19、将所述初始pin码进行转置并与所述第一向量相乘,所得乘积与所述噪声值和所述随机数做和,得到所述第二存储值。
20、可选地,所述将所述第一矩阵进行转置并与所述第一向量相乘,包括:
21、将所述第一向量进行数论变换,将变换后的第一向量与转置后的第一矩阵相乘,对所得乘积进行逆向数论变换。
22、可选地,所述根据所述加密向量集和所述第一矩阵生成加密存储值包括:
23、利用第一公式生成加密存储值,所述第一公式包括:
24、c=(u,v)=(atr+e1,pintr+e2+m),
25、u=ntt-1(atntt(r)),
26、其中,c表示所述加密存储值,u表示所述第一存储值,v表示所述第二存储值,a表示所述初始化矩阵,t表示转置,r表示所述第一向量,pin表示所述初始pin码,e1表示所述噪声向量,e2表示所述噪声值,m表示所述随机数,ntt表示所述数论变换。
27、可选地,所述比较所述加密存储值和所述加密验证值,对所述验证pin码进行验证,包括:
28、若所述加密存储值和所述加密验证值相同,则所述验证pin码验证成功;
29、若所述加密存储值和所述加密验证值不相同,则所述验证pin码验证失败。
30、本专利技术中,构建初始矩阵和随机数,使得初始矩阵在后续的加密过程中作为“格”结构进行加密。将初级pin码和验证pin码分别填充至初始矩阵中,并利用提取的加密向量集和随机数进行加密,将初级pin码和验证pin码以格的形式进行加密存储,利用初始矩阵的格的数学性质和难解问题(例如基于模误差学习问题的数学难题),有效抵御了量子计算机的破译,进而提高pin码加密及验证的安全性。
31、第二方面,本专利技术还提供了一种pin码加密装置,包括:
32、构建单元,用于构建初始化矩阵和随机数;
33、第一处理单元,用于获取初始pin码,将所述初始pin码填充至所述初始化矩阵,得到第一矩阵,根据所述第一矩阵提取加密向量集,根据所述加密向量集、所述随机数和所述第一矩阵生成加密存储值;
34、第二处理单元,用于获取验证pin码,将所述验证pin码填充至所述初始化矩阵,得到第二矩阵,根据所述加密向量集、所述随机数和所述第二矩阵生成加密验证值;
35、比较单元,用于比较所述加密存储值和所述加密验证值,对所述验证pin码进行验证。
36、本专利技术提供的pin码加密装置与pin码加密方法能够产生的技术效果基本相同,在此不再赘述。
37、第三方面,本专利技术还提供了一种电子设备,包括存储有计算机程序的计算机可读存储介质和处理器,当所述计算机程序被所述处理器读取并运行时,实现如上述所述的pin码加密方法。
38、本专利技术提供的电子设备与pin码加密方法能够产生的技术效果基本相同,在此不再赘述。
39、第四方面,本专利技术还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如上述所述的pin码加密方法。
40、本专利技术提供的计算机可读存储介质与pin码加密方法能够产生的技术效果基本相同,在此不再赘述。
本文档来自技高网...【技术保护点】
1.一种PIN码加密方法,其特征在于,包括:
2.根据权利要求1所述的PIN码加密方法,其特征在于,所述构建初始化矩阵和随机数,包括:
3.根据权利要求1所述的PIN码加密方法,其特征在于,所述根据所述第一矩阵提取加密向量集,包括:
4.根据权利要求3所述的PIN码加密方法,其特征在于,所述加密存储值包括第一存储值和第二存储值;所述根据所述加密向量集、所述随机数和所述第一矩阵生成加密存储值,包括:
5.根据权利要求4所述的PIN码加密方法,其特征在于,所述将所述第一矩阵进行转置并与所述第一向量相乘,包括:
6.根据权利要求5所述的PIN码加密方法,其特征在于,所述根据所述加密向量集和所述第一矩阵生成加密存储值包括:
7.根据权利要求1所述的PIN码加密方法,其特征在于,所述比较所述加密存储值和所述加密验证值,对所述验证PIN码进行验证,包括:
8.一种PIN码加密装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括存储有计算机程序的计算机可读存储介质和处理器,当所述计算机程序被
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1-7任一项所述的PIN码加密方法。
...【技术特征摘要】
1.一种pin码加密方法,其特征在于,包括:
2.根据权利要求1所述的pin码加密方法,其特征在于,所述构建初始化矩阵和随机数,包括:
3.根据权利要求1所述的pin码加密方法,其特征在于,所述根据所述第一矩阵提取加密向量集,包括:
4.根据权利要求3所述的pin码加密方法,其特征在于,所述加密存储值包括第一存储值和第二存储值;所述根据所述加密向量集、所述随机数和所述第一矩阵生成加密存储值,包括:
5.根据权利要求4所述的pin码加密方法,其特征在于,所述将所述第一矩阵进行转置并与所述第一向量相乘,包括:
6.根据权利要求5所述的pin码加密方法,其特征...
【专利技术属性】
技术研发人员:段晓毅,柳家晓,敬童,李秀滢,黄湛,曾琬怡,林子沐,王烨程,车雨嘉,刘浩,
申请(专利权)人:北京电子科技学院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。