CN108259162A - 一种密钥存储方法 - Google Patents

一种密钥存储方法 Download PDF

Info

Publication number
CN108259162A
CN108259162A CN201611241088.1A CN201611241088A CN108259162A CN 108259162 A CN108259162 A CN 108259162A CN 201611241088 A CN201611241088 A CN 201611241088A CN 108259162 A CN108259162 A CN 108259162A
Authority
CN
China
Prior art keywords
data
random number
key
master key
code
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.)
Pending
Application number
CN201611241088.1A
Other languages
English (en)
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.)
Aisino Corp
Original Assignee
Aisino Corp
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 Aisino Corp filed Critical Aisino Corp
Priority to CN201611241088.1A priority Critical patent/CN108259162A/zh
Publication of CN108259162A publication Critical patent/CN108259162A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种密钥存储方法,该方法包括:使用硬件随机数发生器产生真随机数,该真随机数作为本次存储的一个加密因子;使用该真随机数生成种子,将该种子带入线性反馈移位寄存器得到伪随机数;使用主密钥和所述伪随机数异或得到随机主密钥,再使用纠错码算法编码该随机主密钥得到编码数据;将该真随机数进行私有算法变换后得到中间数据,所述中间数据作为待存储数据的错误位置去篡改该编码数据得到误码数据;将该误码数据加密存储。本发明将生成的随机数隐藏在要保护的数据中,加大了数据随机化的强度。在存储资源有限的情况下,为防止密文泄漏后的暴力攻击,数据中混入误码,并使用私有算法加密数据,使密钥存储更加安全。

Description

一种密钥存储方法
技术领域
本发明涉及信息安全领域,尤其涉及一种密钥存储方法。
背景技术
密钥管理是密码设备保障安全的关键环节,一般密码设备至少支持三层密钥结构:主密钥、用户密钥和会话密钥。
主密钥:用户保护密码设备中其他密钥和敏感信息的安全,包括其他密钥的管理、备份、恢复以及密码设备的管理员身份验证,不同的密码设备的主密钥互不相同。主密钥必须安全存储。
用户密钥:包括签名加密密钥对和密钥加密密钥。签名加密密钥对,用于实现用户签名、验证、身份认证及会话密钥的保护协商等,代表用户或应用者的身份。密钥加密密钥是定期更换的对称密钥,用于在预分配密钥情况下,对会话密钥的保护。
会话密钥:用户数据加解密。
在密文化密钥管理方式中,会话密钥是临时生成的,使用完丢弃,无需存储保护。用户密钥用主密钥进行加密变换后再进行存储。主密钥本身则需要妥善管理保存,主密钥一旦被破解则整个密码设备将不安全。另外,密钥数据完全以密文方式存储,其安全性不直接依赖于存储介质,而是使用主密钥对密钥数据实施加密变换后进行存储,主密钥再以某种方式存储,主密钥的安全性至关重要。数据安全和密钥保护的现有专利对保护关键数据这部分方法要么使用设备ID或密钥作为加密因子进行加密,要么将关键数据分散存储。使用加密因子加密,加密因子无法随时更换,如果在加密因子没有更换期间加密因子泄露,则整个密钥数据可能存在安全隐患。使用分散存储的方法,在密钥数据存储和提取过程中,可能一次从存储介质中存储或提取大量数据,或是通过多次和存储介质交互才能完成存储和提取操作,大量的修改存储介质,会减少存储介质的寿命,增加读取数据的错误几率和读取数据的时间。
发明内容
鉴于上述问题,提出了本发明,以便提供一种克服上述问题或至少部分地解决上述问题的密钥存储方法。
根据本发明的一个方面,提供一种密钥存储方法,该方法包括:
使用硬件随机数发生器产生真随机数(R1),该真随机数(R1)作为本次存储的一个加密因子;
使用该真随机数(R1)生成种子,将该种子带入线性反馈移位寄存器(LSFR)得到伪随机数;
使用主密钥和所述伪随机数异或得到随机主密钥,再使用纠错码算法编码该随机主密钥得到编码数据;
将该真随机数(R1)进行私有算法变换后得到中间数据(R2),所述中间数据(R2)作为待存储数据的错误位置去篡改该编码数据得到误码数据;
将该误码数据加密存储。
进一步的,定义所述纠错码为(C,K,F)码,其中,C为码长度,K为信息位长度,F为纠错能力,定义所述主密钥的长度为L,所述真随机数(R1)的长度为L1,则
L1=x×i,其中,x=log2(C+1),i=L÷K,L为K的倍数,如果不是K的倍数则增大L,使L能被K整除。
进一步的,所述使用该真随机数(R1)生成种子的具体过程包括:
选取线性反馈移位寄存器(LSFR)对应的多项式,定义线性反馈移位寄存器(LSFR)的阶数为N,根据多项式的阶数N,将生成的真随机数(R1)数据按Nbit进行分组,用分组数据两两异或,得到一个Nbit的种子,如果子随机数的数据长度不是N的倍数,则丢弃最后一组不足Nbit的数据。
进一步的,所述得到伪随机数的具体过程包括:
将生成线性反馈移位寄存器(LSFR)的种子带入线性反馈移位寄存器(LSFR),作为寄存器D1,D2,...,Dn的初始值,然后循环线性反馈移位寄存器(LSFR)生成序列,将生成的序列组合成Lbit数据就得到了Lbit伪随机数。
进一步的,所述得到编码数据的具体过程包括:
将随机主密钥按Kbit进行分组,得到i组数据D0、D1到Di,如果随机主密钥的长度L和K不成倍数关系,还需补齐随机主密钥使其可以组成一个完整的分组,然后对每组数据进行纠错码编码,编码后每组数据由原来的Kbit变为编码后的Cbit,得到i组编码后的数据DT0、DT1到DTi。
进一步的,所述得到中间数据(R2)的具体过程包括:
使用私有算法和短期密钥(K1)对生成的真随机数(R1)进行加密得到中间数据(R2),所述中间数据(R2)的长度和真随机数(R1)相同,将中间数据R2按长度为x进行分组,其中,x=log2(C+1),C为所述纠错码的码长度。
进一步的,所述得到误码数据的具体过程包括:
所述随机主密钥经过所述纠错码编码后得到分组编码数据,主动将子随机数的数值作为错误位置篡改所述分组编码数据,然后将篡改后的分组数据合成完整的误码数据,其中,无论所述纠错码有几bit的纠错能力,都只篡改每个分组编码中的1bit数据。
进一步的,所述将该误码数据加密存储的具体过程包括:
以保护密钥(K1)和设备出厂时的设备ID作为因子得到加密密钥,使用该加密密钥加密所述误码数据,将所述误码数据的密文存储到设备的存储介质中。
根据本发明的另一方面,还提供一种密钥的解密方法,该方法包括:
解密密文数据得到误码数据,再从误码数据中解码出随机主密钥和错误位置的值(R2);
将错误位置的值(R2)进行私有算法逆变换得到真随机数(R1);
将真随机数(R1)作为种子带入线性反馈移位寄存器(LSFR)得到伪随机数,使用该伪随机数和随机主密钥异或得到主密钥。
本发明提出和实现了生成随机数隐藏在要保护的数据中的方法,加大了数据随机化的强度。在存储资源有限的情况下,为防止密文泄漏后的暴力攻击,数据中混入误码,并使用私有算法加密数据,使密钥存储更加安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种实施例的密钥存储方法的流程示意图。
图2为本发明另一种实施例的密钥存储方法的流程示意图。
图3为本发明实施例中采用的线性反馈移位寄存器LSFR的结构示意图。
图4为本发明实施例中子密钥生成过程的流程示意图。
图5为本发明实施例中篡改编码过程的流程示意图。
图6为本发明另一实施例的解密过程流程示意图。
具体实施方式
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例作进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
如图1所示,一种密钥存储方法,该方法包括:
步骤S110,使用硬件随机数发生器产生真随机数R1,该真随机数R1作为本次存储的一个加密因子。每次存储时都需更换此加密因子,真随机数R1作为一个加密因子只在一次存储中有效,比如,下次再存储主密钥时则需要重新生成一个真随机数R1′。
步骤S120,使用该真随机数R1生成种子,将种子带入线性反馈移位寄存器LSFR得到伪随机数。
步骤S130,使用主密钥和伪随机数异或得到随机主密钥,再使用纠错码算法编码该随机主密钥得到编码数据。
步骤S140,将该真随机数R1(加密因子)进行私有算法变换后得到中间数据R2,中间数据R2作为待存储数据的错误位置去篡改该编码数据得到误码数据。
步骤S150,将误码数据加密存储。至此,加密过程完成。
本发明并不限制生成LSFR多项式的阶数,但为了保证随机性最好选多项式阶数所对应的本原多项式,这里定义LSFR的阶数为N。本发明也不限制纠错码算法的选取,可以选取汉明码、格雷码、BCH码、瑞德-所罗门码等纠错码算法,这里定义纠错码为(C,K,F)码,C为码长度,K为信息位长度,F为纠错能力。如(7,4,1)码代表码长7bit,信息位为4bit,可以纠1bit错误。定义主密钥长度为L。
本发明主要针对主密钥存储提出一种安全存储方案。既然参与加密的保护因子泄漏会造成安全隐患,那么本发明在密码设备内部随机产生一部分加密因子,并将其安全隐藏在待保护的主密钥中,这样部分加密因子随机产生,就大大减少泄漏的可能性,从而提高了主密钥存储的安全强度。
本发明提出和实现了生成随机数隐藏在要保护的数据中的方法,加大了数据随机化的强度。在存储资源有限的情况下,为防止密文泄漏后的暴力攻击,数据中混入误码,并使用不同时效的加密因子和私有算法加密数据。
本发明提出和实现了对主密钥随机生成部分加密因子,并将加密因子安全隐藏在待保护数据中,降低了加密因子泄露造成的安全隐患。在存储资源有限的情况下,使用多种时效的加密因子进行加密保护,并使用了私有算法降低了暴力破解的可能性。
下面将通过具体示例的方式详细说明本发明。如图2所示,一种密钥存储方法,包括:
步骤S210,使用硬件随机数发生器产生真随机数R1,该真随机数R1作为本次存储的一个加密因子。
本发明定义纠错码为(C,K,F)码,C为码长度,K为信息位长度,F为纠错能力,定义主密钥长度为L。
首先使用硬件随机数发生器产生一串长度为L1的真随机数R1,长度L1=x×i,根据纠错算法和主密钥长度取2x=C+1,则x=log2(C+1),i=L÷K,L需为K的倍数,如果不是K的倍数则增大L,使L能被K整除。
用户可以自己选择纠错码算法,例如选择纠错能力为(7,4,1)的汉明码,主密钥长度L=128bit,则生成随机数的长度L1=x×i=log2(7+1)×(128÷4)=96。
步骤S220,选取LSFR(线性反馈移位寄存器)对应的多项式。
使用LSFR是为了生成伪随机数。如图3所示为LSFR的结构示意图,LSFR可表示为多项式G(x)=gnxn+gn-1xn-1+...+g2x2+g1x+g0,其中g0,g1,...,gn为‘0’或‘1’。生成多项式G(x)实际上就是这个n级移位寄存器选取“某些位”进行异或后得到的结果,“某些位”就是g为1对应的位置,得到线性反馈函数。
寄存器D1,D2,...,Dn的取值作为LSFR的输入,把这个移位寄存器每次向右移动一位,把“某些位”的异或结果作为输入放入最左端,这样移位寄存器向右移位n次代表一次循环,一次循环之后各个寄存器的输出Q1,Q2,...,Qn作为整个LSFR的输出。一次循环产生这样一个序列,如果G(x)选取本原多项式,就可以产生2n-1个序列,之后LSFR再移位则循环产生和之前相同的序列。
用户可以自己选定多项式的阶数,例如选取G(x)的阶数为16,则对应的本原多项式为G(x)=x16+x5+x3+x2+1,可以产生216-1种不同的序列。
步骤S230,生成LSFR的种子。
本发明定义LSFR的阶数为N,根据多项式的阶数N,将生成的真随机数R1数据按Nbit进行分组,用分组数据两两异或,得到一个Nbit的种子。如果子随机数的数据长度不是N的倍数,则丢弃最后一组不足Nbit的数据。
步骤S240,生成随机主密钥。
首先将生成LSFR的种子带入LSFR,作为寄存器D1,D2,...,Dn的初始值。然后循环LSFR生成序列,将生成的序列组合成Lbit数据就得到了Lbit伪随机数。最后将Lbit的主密钥和Lbit的伪随机数进行异或得到Lbit随机主密钥。
步骤S250,纠错码编码。
用户选择纠错码算法对应的(C,K,F)码,根据纠错码算法对随机主密钥进行编码,得到编码数据。
将随机主密钥按Kbit进行分组,得到i组数据D0、D1到Di,如果随机主密钥的长度L和K不成倍数关系,还需补齐随机主密钥使其可以组成一个完整的分组。然后对每组数据进行纠错码编码,编码后每组数据由原来的Kbit变为编码后的Cbit,得到i组编码后的数据DT0、DT1到DTi。
例如纠错码纠错码为(7,4,1),主密钥为128bit,则将主密钥分组后再进行编码,得到32组7bit的编码数据。
步骤S260,生成子随机数。
密码设备出厂时分配设备ID(设备ID是唯一不重复的),设备ID作为一个加密因子长期有效。密码设备出厂发行时内部随机生成数据保护密钥K1,保护密钥K1可以根据密码设备的安全强度定期随机生成并更换,保护密钥K1作为一个加密因子短期有效。密码设备在存储主密钥时,随机生成一串真随机数R1,真随机数R1作为加密因子加密主密钥,如果下次再存储主密钥则重新生成真随机数R1′,真随机数R1作为一个加密因子只在一次存储中有效。这样根据加密因子的实效性可以分成三类:长期有效、短期有效、一次存储有效,就形成了不同梯度的加密因子,使得对主密钥的保护强度增加。
生成子随机数(子密钥)的过程如图4所示,使用私有算法和短期密钥K1对生成的真随机数R1进行加密得到中间数据R2(错误位置的值),中间数据R2的长度和R1相同。将中间数据R2按长度为x进行分组,共分为i组数据r0、r1、r2到ri,i和x的计算方法在生成真随机数的步骤已给出。
例如选择纠错码(7,4,1),主密钥长度L=128bit,则生成i=L÷K=32组数据,每组数据长度为x=log2(7+1)=3bit。
步骤S270,篡改编码。
篡改过程如图5所示,随机主密钥经过纠错码编码后得到分组编码数据,主动将子随机数的数值作为错误位置篡改分组编码数据,然后将篡改后的分组数据合成完整的数据D。无论纠错码有几bit的纠错能力,都只篡改每个分组编码中的1bit数据。
例如纠错码为(7,4,1),有32组编码数据。先取子随机数r0,篡改第一组编码数据DT0的第r0位,得到误码数据DTC0,如果r0=0则不篡改数据。篡改第二组编码数据DT1的第r1位,得到误码数据DTC1。依次类推得到第i组数据DTCi。将DTC0、DTC1到DTCi和成完整的误码数据D。
步骤S280,加密存储。
以保护密钥K1和设备出厂时的设备ID作为因子得到加密密钥,使用该加密密钥加密误码数据D,将误码数据D的密文存储到设备的存储介质中。
本发明并不限制加密算法的选取,可以使用DES、3DES、AES、SM1、SM4或是私有加密算法。
经过以上步骤,主密钥使用三种不同时效的加密因子加密保护,而最短时效随机生成的加密因子,又使用误码和私有算法的形式进行保护,最大限度的降低了加密因子泄露导致的安全隐患。
本发明在加密存储主密钥时使用了不同时效的加密因子和私有算法,存储在存储介质上的数据完整且无需大量的冗余空间,在保证数据安全的情况下又减少了由于存储介质大量使用造成硬件损坏的可能性。本发明实现方法简单,可以应用在存储资源少且运行频率不高的硬件平台上。本发明除了用于保护主密钥外也可用于保护其他敏感信息。
本发明主密钥使用长期有效、短期有效、一次存储有效三种不同时效的加密因子进行加密保护,丰富了保护主密钥的方法。而一次存储有效的加密因子又使用误码和私有算法的形式保护,保证了该加密因子的安全。用户即使泄露了加密因子,暴力破解出的数据也是错误的随机数据,还需解码、解密、解随机化过程才能得到真正的数据。本发明实现方法简单,在存储资源有限且运行频率不高的硬件平台上也可以实现高安全性的数据存储。
作为本发明的另一方面,解密过程为上述加密过程的逆变换。一种密钥的解密方法,该方法包括:
解密密文数据得到误码数据,再从误码数据中解码出随机主密钥和错误位置的值R2;
将错误位置的值R2进行私有算法逆变换得到真随机数R1;
将真随机数R1作为种子带入LSFR得到伪随机数,使用伪随机数和随机主密钥异或得到主密钥。
具体的,解密过程如图6所示,包括如下步骤:
步骤S610,解密密文数据,得到误码数据D。
以保护密钥K1和出厂ID作为因子得到加密密钥。使用该加密密钥解密存储在密码设备存储介质中的密文数据,得到误码数据D。
步骤S620,解码误码数据D,得到随机主密钥和错误位置的值R2。
根据用户选取的(C,K,F)纠错码,解码误码数据D得到i组数据D0、D1到Di和每组数据对应的错误位置。每组数据错误位置的值就是各个子随机数的值,于是生成子随机数r0、r1到ri,所有子随机数合成R2,使用私有算法和短期密钥K1对合成R2进行解密得到R1。i组数据D0、D1到Di合成随机主密钥。
步骤S630,恢复种子。
根据多项式的阶数N,将纠错码解码生成的随机数R1按Nbit进行分组,用分组数据两两异或,得到一个Nbit的种子。如果子随机数的数据长度不是N的倍数,则丢弃最后一组不足Nbit的数据。
步骤S640,恢复主密钥。
将恢复出来的Nbit种子带入LSFR作为输入,循环LSFR生成序列,将生成的序列组合成Lbit数据就得到了Lbit伪随机数。然后将纠错码解码出来的Lbit随机主密钥和Lbit伪随机数进行异或得到Lbit主密钥。
解密相当于加密的逆过程,利用保存在存储介质中的密文数据和设备ID(长期有效因子)及保护密钥K1(短期有效因子)可以恢复出主密钥数据。
为了更大限度保证数据的安全性,在加密步骤生成种子时,可使用加密算法加密R2得到R3,之后再将R3按Nbit分组进行两两异或的操作得到LSFR需要的种子,同样在解密恢复种子时一样使用加密算法加密R2得到R3,之后再将R3按Nbit分组进行两两异或的操作得到LSFR需要的种子。加密R2得到R3这个步骤是增加数据安全的可选项。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块流程并不一定是实施本发明所必须的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (9)

1.一种密钥存储方法,该方法包括:
使用硬件随机数发生器产生真随机数(R1),该真随机数(R1)作为本次存储的一个加密因子;
使用该真随机数(R1)生成种子,将该种子带入线性反馈移位寄存器(LSFR)得到伪随机数;
使用主密钥和所述伪随机数异或得到随机主密钥,再使用纠错码算法编码该随机主密钥得到编码数据;
将该真随机数(R1)进行私有算法变换后得到中间数据(R2),所述中间数据(R2)作为待存储数据的错误位置去篡改该编码数据得到误码数据;
将该误码数据加密存储。
2.如权利要求1所述的一种密钥存储方法,其特征在于:定义所述纠错码为(C,K,F)码,其中,C为码长度,K为信息位长度,F为纠错能力,定义所述主密钥的长度为L,所述真随机数(R1)的长度为L1,则
L1=x×i,其中,x=log2(C+1),i=L÷K,L为K的倍数,如果不是K的倍数则增大L,使L能被K整除。
3.如权利要求1所述的一种密钥存储方法,其特征在于,所述使用该真随机数(R1)生成种子的具体过程包括:
选取线性反馈移位寄存器(LSFR)对应的多项式,定义线性反馈移位寄存器(LSFR)的阶数为N,根据多项式的阶数N,将生成的真随机数(R1)数据按Nbit进行分组,用分组数据两两异或,得到一个Nbit的种子,如果子随机数的数据长度不是N的倍数,则丢弃最后一组不足Nbit的数据。
4.如权利要求1所述的一种密钥存储方法,其特征在于,所述得到伪随机数的具体过程包括:
将生成线性反馈移位寄存器(LSFR)的种子带入线性反馈移位寄存器(LSFR),作为寄存器D1,D2,...,Dn的初始值,然后循环线性反馈移位寄存器(LSFR)生成序列,将生成的序列组合成Lbit数据就得到了Lbit伪随机数。
5.如权利要求1所述的一种密钥存储方法,其特征在于,所述得到编码数据的具体过程包括:
将随机主密钥按Kbit进行分组,得到i组数据D0、D1到Di,如果随机主密钥的长度L和K不成倍数关系,还需补齐随机主密钥使其可以组成一个完整的分组,然后对每组数据进行纠错码编码,编码后每组数据由原来的Kbit变为编码后的Cbit,得到i组编码后的数据DT0、DT1到DTi。
6.如权利要求1所述的一种密钥存储方法,其特征在于,所述得到中间数据(R2)的具体过程包括:
使用私有算法和短期密钥(K1)对生成的真随机数(R1)进行加密得到中间数据(R2),所述中间数据(R2)的长度和真随机数(R1)相同,将中间数据R2按长度为x进行分组,其中,x=log2(C+1),C为所述纠错码的码长度。
7.如权利要求1所述的一种密钥存储方法,其特征在于,所述得到误码数据的具体过程包括:
所述随机主密钥经过所述纠错码编码后得到分组编码数据,主动将子随机数的数值作为错误位置篡改所述分组编码数据,然后将篡改后的分组数据合成完整的误码数据,其中,无论所述纠错码有几bit的纠错能力,都只篡改每个分组编码中的1bit数据。
8.如权利要求1所述的一种密钥存储方法,其特征在于,所述将该误码数据加密存储的具体过程包括:
以保护密钥(K1)和设备出厂时的设备ID作为因子得到加密密钥,使用该加密密钥加密所述误码数据,将所述误码数据的密文存储到设备的存储介质中。
9.一种密钥的解密方法,该方法包括:
解密密文数据得到误码数据,再从误码数据中解码出随机主密钥和错误位置的值(R2);
将错误位置的值(R2)进行私有算法逆变换得到真随机数(R1);
将真随机数(R1)作为种子带入线性反馈移位寄存器(LSFR)得到伪随机数,使用该伪随机数和随机主密钥异或得到主密钥。
CN201611241088.1A 2016-12-28 2016-12-28 一种密钥存储方法 Pending CN108259162A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611241088.1A CN108259162A (zh) 2016-12-28 2016-12-28 一种密钥存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611241088.1A CN108259162A (zh) 2016-12-28 2016-12-28 一种密钥存储方法

Publications (1)

Publication Number Publication Date
CN108259162A true CN108259162A (zh) 2018-07-06

Family

ID=62719209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611241088.1A Pending CN108259162A (zh) 2016-12-28 2016-12-28 一种密钥存储方法

Country Status (1)

Country Link
CN (1) CN108259162A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109495266A (zh) * 2018-12-25 2019-03-19 北京字节跳动网络技术有限公司 基于随机数的数据加密方法及装置
CN109995507A (zh) * 2019-04-19 2019-07-09 武汉大学 一种基于puf的密钥生成方法及装置、私钥存储方法
CN110881063A (zh) * 2019-11-20 2020-03-13 腾讯科技(深圳)有限公司 一种隐私数据的存储方法、装置、设备及介质
WO2020093290A1 (zh) * 2018-11-07 2020-05-14 华为技术有限公司 一种存储控制器、文件处理方法、装置及系统
CN111538479A (zh) * 2020-04-27 2020-08-14 国泰新点软件股份有限公司 开标过程中的随机参数生成方法及装置
CN111538475A (zh) * 2020-03-25 2020-08-14 上海交通大学 基于fpga的真随机数发生器构建系统及方法
CN113300840A (zh) * 2021-05-21 2021-08-24 福建师范大学 一种联合汉明码的数据随机加密通信方法
CN113328852A (zh) * 2021-05-21 2021-08-31 深圳矽递科技股份有限公司 数据加/解密方法、装置及数据传输系统
CN113742759A (zh) * 2021-11-04 2021-12-03 国网浙江省电力有限公司 财务核算系统数据加密方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1643841A (zh) * 2002-03-20 2005-07-20 皇家飞利浦电子股份有限公司 加密密钥隐藏及恢复的方法和系统
CN101488852A (zh) * 2009-01-13 2009-07-22 华中科技大学 基于m序列的IP语音隐蔽通信方法
WO2012164986A2 (en) * 2011-06-03 2012-12-06 Kabushiki Kaisha Toshiba Semiconductor memory device
CN103476026A (zh) * 2013-09-06 2013-12-25 中国科学院软件研究所 基于卫星信道编码的自适应隐蔽通信方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1643841A (zh) * 2002-03-20 2005-07-20 皇家飞利浦电子股份有限公司 加密密钥隐藏及恢复的方法和系统
CN101488852A (zh) * 2009-01-13 2009-07-22 华中科技大学 基于m序列的IP语音隐蔽通信方法
WO2012164986A2 (en) * 2011-06-03 2012-12-06 Kabushiki Kaisha Toshiba Semiconductor memory device
CN103476026A (zh) * 2013-09-06 2013-12-25 中国科学院软件研究所 基于卫星信道编码的自适应隐蔽通信方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020093290A1 (zh) * 2018-11-07 2020-05-14 华为技术有限公司 一种存储控制器、文件处理方法、装置及系统
CN111512308A (zh) * 2018-11-07 2020-08-07 华为技术有限公司 一种存储控制器、文件处理方法、装置及系统
CN109495266B (zh) * 2018-12-25 2022-07-22 北京字节跳动网络技术有限公司 基于随机数的数据加密方法及装置
CN109495266A (zh) * 2018-12-25 2019-03-19 北京字节跳动网络技术有限公司 基于随机数的数据加密方法及装置
CN109995507A (zh) * 2019-04-19 2019-07-09 武汉大学 一种基于puf的密钥生成方法及装置、私钥存储方法
CN110881063B (zh) * 2019-11-20 2022-03-15 腾讯科技(深圳)有限公司 一种隐私数据的存储方法、装置、设备及介质
CN110881063A (zh) * 2019-11-20 2020-03-13 腾讯科技(深圳)有限公司 一种隐私数据的存储方法、装置、设备及介质
CN111538475A (zh) * 2020-03-25 2020-08-14 上海交通大学 基于fpga的真随机数发生器构建系统及方法
CN111538475B (zh) * 2020-03-25 2023-06-23 上海交通大学 基于fpga的真随机数发生器构建系统及方法
CN111538479A (zh) * 2020-04-27 2020-08-14 国泰新点软件股份有限公司 开标过程中的随机参数生成方法及装置
CN111538479B (zh) * 2020-04-27 2023-11-21 国泰新点软件股份有限公司 开标过程中的随机参数生成方法及装置
CN113328852A (zh) * 2021-05-21 2021-08-31 深圳矽递科技股份有限公司 数据加/解密方法、装置及数据传输系统
CN113300840A (zh) * 2021-05-21 2021-08-24 福建师范大学 一种联合汉明码的数据随机加密通信方法
CN113300840B (zh) * 2021-05-21 2023-05-16 福建师范大学 一种联合汉明码的数据随机加密通信方法
CN113742759A (zh) * 2021-11-04 2021-12-03 国网浙江省电力有限公司 财务核算系统数据加密方法及装置
CN113742759B (zh) * 2021-11-04 2022-02-22 国网浙江省电力有限公司 财务核算系统数据加密方法及装置

Similar Documents

Publication Publication Date Title
CN108259162A (zh) 一种密钥存储方法
EP2329622B1 (en) Message authentication code pre-computation with applications to secure memory
US10187200B1 (en) System and method for generating a multi-stage key for use in cryptographic operations
US8284933B2 (en) Encrypting variable-length passwords to yield fixed-length encrypted passwords
CN102012993B (zh) 一种数据选择加密解密方法及装置
TWI478050B (zh) 編譯式電腦碼指令組之編密碼方法及裝置
US20120134495A1 (en) Cloud Storage Data Access Method, Apparatus and System Based on OTP
CN105450620A (zh) 一种信息处理方法及装置
CN113206736A (zh) 一种基于aes加密算法的加密方法
CN106533663B (zh) 数据加密方法、加密方设备及数据解密方法、解密方设备
US20160013933A1 (en) Order-preserving encryption system, device, method, and program
CN108197484A (zh) 一种分布式存储环境下实现节点数据安全的方法
KR101913644B1 (ko) 메시지 인증이 가능한 부호 기반 암호화 장치 및 방법
CN104396182A (zh) 加密数据的方法
CN109274485A (zh) 一种数据加密方法、数据认证方法及相关设备和系统
CN114826590B (zh) 一种分组模式加密方法、解密方法及其装置、设备
CN112994875A (zh) 一种加密方法、解密方法、通信方法及其系统和装置
CN112866227A (zh) 一种文件授权保护方法和系统
EP0858696A1 (en) Cryptosystem for optical storage
WO2019225735A1 (ja) データ処理装置、方法及びコンピュータプログラム
CN103117850A (zh) 一种基于随机序列数据库的密码系统
CN102480353A (zh) 口令认证和密钥保护的方法
CN102360414B (zh) 一种可修正伪随机序列的可误导的加密方法
KR101978684B1 (ko) 재생 공격 방지가 가능한 부호 기반 암호화 장치 및 방법
CN112651034A (zh) 一种基于密码本的一次一密可替换加密算法、组件及设备

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180706