CN101997833B - 密钥存储方法与装置和数据加/解密方法与装置 - Google Patents

密钥存储方法与装置和数据加/解密方法与装置 Download PDF

Info

Publication number
CN101997833B
CN101997833B CN 200910161364 CN200910161364A CN101997833B CN 101997833 B CN101997833 B CN 101997833B CN 200910161364 CN200910161364 CN 200910161364 CN 200910161364 A CN200910161364 A CN 200910161364A CN 101997833 B CN101997833 B CN 101997833B
Authority
CN
China
Prior art keywords
key
mould
remainder
coefficient
parts
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.)
Active
Application number
CN 200910161364
Other languages
English (en)
Other versions
CN101997833A (zh
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.)
Beijing Nansida Technology Development Co ltd
Shenzhen city Qianhai Duosi science and Technology Development Co.,Ltd.
Original Assignee
Beijing Duosi Technology Development Co ltd
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 Beijing Duosi Technology Development Co ltd filed Critical Beijing Duosi Technology Development Co ltd
Priority to CN 200910161364 priority Critical patent/CN101997833B/zh
Publication of CN101997833A publication Critical patent/CN101997833A/zh
Application granted granted Critical
Publication of CN101997833B publication Critical patent/CN101997833B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种密钥存储方法和装置、以及数据加/解密方法和装置。其中,密钥存储方法包括:根据选定的S个互质的数p(i),利用孙子定理将密钥K分解为S个余数a(i)和系数CM;分别存储S个余数a(i)和系数CM;其中,1≤i≤S。数据加/解密方法包括:获取S个互质的数p(i)、S个余数a(i)和系数CM,根据孙子定理还原密钥K,其中,1≤i≤S;根据还原出的密钥K对数据进行加/解密。本发明的密钥存储方法和装置、以及数据加/解密方法和装置,分别通过孙子定理将密钥进行分解和还原,实现了密钥的安全存储,进而保证了数据加/解密的安全性。

Description

密钥存储方法与装置和数据加/解密方法与装置
技术领域
本发明涉及网络安全技术,更具体地,涉及一种密钥存储方法和装置、以及数据加/解密方法和装置。
背景技术
密钥是指在信息系统的密码应用过程中,用于控制加密、解密转换操作的参数或符号。密钥管理是指对所用密钥生命周期的全过程,例如密钥的产生、存储、分配、使用、废除、归档和销毁,实施的安全保密管理。密钥管理的目的是确保密钥的安全性(即,真实性和有效性)。一个好的密钥管理系统应该做到密钥难以被窃取。在现有技术中,通常将密钥作为一个整体进行保存,一旦密钥被窃取就可以利用该密钥容易地破解其中的信息。
发明内容
本发明要解决的一个技术问题是提供一种密钥存储方法,能够提高密钥的安全性。
本发明提供了一种密钥存储方法,包括:根据选定的S个互质的数p(i),利用孙子定理将密钥K分解为S个余数a(i)和系数CM;分别存储S个余数a(i)和系数CM;其中,1≤i≤S。
根据本发明密钥存储方法的一个实施例,S个余数a(i)是通过如下公式获得的:a(i)=K mod p(i),其中,1≤i≤S;系数CM是通过如下步骤获得的:根据m(i)=P/p(i)计算m(i);根据c(i)=m(i)*x(i)≡1mod p(i)计算常数c(i);根据 K = Σ i = 1 s a ( i ) * c ( i ) ( mod P ) + CM * P 获得系数CM;其中,P=∏p(i),1≤i≤S。
根据本发明密钥存储方法的另一实施例,p(i)为素数,1≤i≤S;该方法还包括:根据P≥L确定素数个数S以及S个素数p(i);存储素数个数S以及S个素数p(i)的乘积P;其中,P是S个素数p(i)的乘积,P=∏p(i),L是密钥K的长度,1≤i≤S。
根据本发明密钥存储方法的又一实施例,p(i)为梅森素数,1≤i≤S。
根据本发明密钥存储方法的再一实施例,宏指令译码器对接收的大数运算指令进行译码操作,并将译码后的结果分别发送给模运算部件、模乘逆运算部件、模乘运算部件和模加运算部件;利用模运算部件计算S个余数a(i);利用模乘逆运算部件计算常数c(i),其中,c(i)=m(i)*x(i)=1mod p(i);利用模乘运算部件计算tmp(i)=a(i)*c(i)(mod P);利用 K = Σ i = 1 s tmp ( i ) ( mod P ) + CM * P 和模加运算部件计算系数CM;其中,1≤i≤S。
本发明提供的密钥存储方法,由于利用孙子定理将密钥K分解为S个余数a(i)和系数CM的多个密钥信息,并将这些密钥信息分别进行存储,从而即使其中的一个密钥信息被窃取,也不能通过其还原出正确的密钥K,这样可以防止他人非法获取密钥,提高了密钥的安全性。
本发明要解决的另一技术问题是提供一种密钥存储装置,能够通过将密钥分解为多个密钥信息分别进行分储,从而防止他人根据窃取的某个密钥信息还原出正确的密钥。
本发明提供了一种密钥存储装置,包括:分解单元,用于根据选定的S个互质的数p(i),利用孙子定理将密钥K分解为S个余数a(i)和系数CM;多个存储单元,用于分别存储S个余数a(i)和系数CM;其中,1≤i≤S。
根据本发明密钥存储装置的一个实施例,分解单元包括:模运算部件,用于根据a(i)=K mod p(i)计算S个余数a(i),并将S个余数a(i)存储到存储单元中;模乘逆运算部件,用于根据c(i)=m(i)*x(i)≡1mod p(i)和m(i)=P/p(i)计算常数c(i),并将常数c(i)传递至模乘运算部件;模乘运算部件,用于根据来自模乘逆运算部件的常数c(i)计算tmp(i)=a(i)*c(i)(mod P),并将每次计算的结果tmp(i)传递至模加运算部件;模加运算部件,用于根据来自模乘运算部件的结果tmp(i)和 K = Σ i = 1 s tmp ( i ) ( mod P ) + CM * P 计算系数CM,并将系数CM存储到存储单元中;其中,P=∏p(i),1≤i≤S。
根据本发明密钥存储装置的另一实施例,多个存储单元分别位于不同的安全设备上。
本发明提供的密钥存储装置,通过分解单元将密钥K分解为S个余数a(i)和系数CM的多个密钥信息,并将这些密钥信息分别存储在不同的存储单元中,从而即使其中的一个密钥信息被窃取,也不能通过其还原出正确的密钥K,这样可以防止他人非法获取密钥。
本发明要解决的又一技术问题是提供一种数据加/解密方法,可以从多个分储的密钥信息还原出正确的原始密钥,提高数据加/解密方法的安全性。
本发明提供了一种数据加/解密方法,包括:获取S个互质的数p(i)、S个余数a(i)和系数CM,根据孙子定理还原密钥K,其中,1≤i≤S;根据还原出的密钥K对数据进行加/解密。
根据本发明数据加/解密方法的一个实施例,根据孙子定理还原密钥K的步骤包括:根据m(i)=P/p(i)计算m(i);根据c(i)=m(i)*x(i)≡1mod p(i)计算常数c(i);根据 K = Σ i = 1 s a ( i ) * c ( i ) ( mod P ) + CM * P 还原密钥K;其中,P=∏p(i),1≤i≤S。
根据本发明数据加/解密方法的另一实施例,宏指令译码器对接收的大数运算指令进行译码操作,并将译码后的结果分别发送给模乘逆运算部件、模乘运算部件和模加运算部件;利用模乘逆运算部件计算常数c(i),其中,c(i)=m(i)*x(i)=1mod p(i);利用模乘运算部件计算tmp(i)=a(i)*c(i)(mod P);利用 K = Σ i = 1 s tmp ( i ) ( mod P ) + CM * P 和模加运算部件还原密钥K;其中,1≤i≤S。
本发明提供的数据加/解密方法,能够通过孙子定理将分别获取的密钥信息还原为安全的密钥,提高了数据加/解密方法的安全性。
本发明要解决的再一技术问题是提供一种数据加/解密装置,能够从多个分储的密钥信息还原出正确的原始密钥,从而保证利用该密钥进行加/解密后的数据不能被非法破解。
本发明提供了一种数据加/解密装置,包括:还原单元,用于根据获取的S个互质的数p(i)、S个余数a(i)、系数CM和孙子定理还原密钥K,其中,1≤i≤S;加/解密单元,用于根据还原单元还原出的密钥K对数据进行加/解密。
根据本发明数据加/解密装置的一个实施例,还原单元包括:模乘逆运算部件,用于根据c(i)=m(i)*x(i)≡1mod p(i)和m(i)=P/p(i)计算常数c(i),并将常数c(i)传递至模乘运算部件;模乘运算部件,用于根据来自模乘逆运算部件的常数c(i)计算tmp(i)=a(i)*c(i)(mod P),并将每次计算的结果tmp(i)传递至模加运算部件;模加运算部件,用于根据来自模乘运算部件的结果tmp(i)和 K = Σ i = 1 s tmp ( i ) ( mod P ) + CM * P 还原密钥K,并将密钥K传递至加/解密单元;其中,P=∏p(i),1≤i≤S。
根据本发明数据加/解密装置的另一实施例,还原单元从不同的安全设备上获取S个余数a(i)、S个互质的数p(i)和系数CM,其中,1≤i≤S。
本发明提供的数据加/解密装置,能够通过还原单元将分别获取的密钥信息还原为正确的密钥,从而确保能够利用该正确的密钥对数据进行加/解密操作。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分。在附图中:
图1是本发明密钥存储方法的一个实施例的流程示意图。
图2是本发明密钥存储方法的第二实施例的流程示意图。
图3是本发明密钥存储方法的第三实施例的流程示意图。
图4A是模216加法器的连接关系示意图。
图4B是模216加法器中的MADD16单元的具体结构示意图。
图5A是模216+1乘法运算器的连接关系示意图。
图5B是模216+1乘法运算器中的MMUL单元的具体结构示意图。
图6是模216+1乘法逆运算器示意图。
图7是本发明数据加/解密方法的第一实施例的流程示意图。
图8是本发明数据加/解密方法的第二实施例的流程示意图。
图9是本发明数据加/解密方法的第三实施例的流程示意图。
图10是本发明密钥存储装置的第一实施例的结构示意图。
图11是本发明密钥存储装置的第二实施例的结构示意图。
图12是本发明数据加/解密装置的第一实施例的结构示意图。
图13是本发明数据加/解密装置的第二实施例的结构示意图。
具体实施方式
下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。本发明的示例性实施例及其说明用于解释本发明,但并不构成对本发明的不当限定。
用户密钥存储是用户密钥管理的重要方面,对用户的密钥使用孙子定理数学模型来进行保护,以增强密钥的安全性。
图1是本发明密钥存储方法的一个实施例的流程示意图。
如图1所示,该方法包括:
S102,提取信息存储区中的用户密钥K,根据选定的S个互质的数p(i),利用孙子定理(又称为中国剩余定理,简称CRT)将密钥K分解为S个余数a(i)和系数CM;
具体地,S个余数a(i)可以通过公式(1)获得:
a(i)=K mod p(i)    (1)
系数CM可以通过如下步骤获得:
根据公式(2)计算m(i):
m(i)=P/p(i)    (2)
根据公式(3)和公式(4)计算常数c(i):
m(i)*x(i)≡1mod p(i)    (3)
c(i)=m(i)*x(i)         (4)
根据公式(5)和公式(6)计算系数CM:
K = Σ i = 1 s a ( i ) * c ( i ) ( mod P ) + CM * P - - - ( 5 )
P=∏p(i)    (6)
其中,1≤i≤S。
S104,当用户密钥信息(至少包括S个余数a(i)和系数CM)计算完毕后,对S个余数a(i)和系数CM分别进行存储;其中,1≤i≤S。
需要指出的是,可以根据安全级别将S个余数a(i)和系数CM分别存储在不同的安全设备中。优选地,安全设备可以是经过认证中心授权的设备。例如,可以将安全级别划分为商密型、政府密型、普密型和核密型。对于商密型,可以将用户密钥存储在安全设备或用户卡中;对于政府密型,可以将用户密钥存储在安全设备或用户卡中;对于普密型,可以将用户密钥存储分割地存储在安全设备和用户卡中;对于核密型,可以将用户密钥分割地存储在安全设备和用户卡中。
当独立地使用安全设备时,将S个余数a(i)和系数CM均存储到该安全设备中;当独立地使用用户卡(为密钥卡或安全卡)时,将S个余数a(i)和系数CM均存储到该用户卡中;当用安全设备和用户卡共同使用时,可以将S个余数a(i)和系数CM分别存储到安全设备和用户卡中。
在另一实施例中,还可以存储S个常数c(i),其中,S个常数c(i)满足公式(4),这样还原密钥时可以有效地降低运算量。
优选地,上述实施例中的S个互质的数p(i)可以是素数。进一步,S个互质的数p(i)可以是梅森素数(即,Mp=2p-1的正整数,若p是素数且Mp是素数,Mp则称为梅森素数)。
图2是本发明密钥存储方法的第二实施例的流程示意图。
如图2所示,该实施例包括以下步骤:
S202,提取信息存储区中的用户密钥K;
S204,建立素数表(在此实例中以梅森素数为例),例如,3,7,31,127,8191,131071;
S206,根据用户密钥K,例如,K=1021,和准则P≥L(其中,L为用户密钥K的长度,在此实例中假定L=1024)筛选素数p(i),首先取p(1)=3、p(2)=7和p(3)=31,计算P=651,此时P<L,不满足上述P≥L的条件;再取p(1)=7、p(2)=31和p(3)=127,计算P=27559,此时P≥L,满足上述条件;
S208,根据选出的素数p(1)=7、p(2)=31、p(3)=127、公式(1)和用户密钥K计算余数:a(1)=6、a(2)=29和a(3)=5;
S210,根据选出的素数、公式(2)、公式(3)和公式(4)分别计算常数c(i):
P=27559,m(1)=3937,m(2)=889,m(3)=217,
x(1)=5,x(2)=3,x(3)=24,
c(1)=19685,c(2)=2667,c(3)=5208;
S212,根据公式(5)和公式(6)计算系数CM:CM=0;
S214,对分解后的S个余数a(i)和系数CM分别进行存储。
图3是本发明密钥存储方法的第三实施例的流程示意图。
如图3所示,该方法包括:
S302,宏指令译码器对接收的大数运算指令进行译码操作,并将译码后的结果分别发送给模运算部件、模乘逆运算部件、模乘运算部件和模加运算部件;
S304,利用模运算部件和公式(1)计算S个余数a(i);
S306,利用模乘逆运算部件、公式(2)、公式(3)和公式(4)计算常数c(i);
S308,利用模乘运算部件、公式(6)和公式(7)计算常数与余数的乘积的模tmp(i):
tmp(i)=a(i)*c(i)(mod P)    (7)
S310,利用模加运算部件、公式(5)和公式(6)计算系数CM;
S312,将计算出的S个余数a(i)和系数CM分别进行存储。
上述宏指令译码器对接收到的宏指令进行译码,通过译码的结果来控制大数部件中的更细粒度的部件(例如,模运算部件、模乘逆运算部件、模乘运算部件和模加运算部件等)以实现宏指令的功能。该宏指令译码器可以采用串行工作方式。
其中,模运算部件能实现对输入数据的模运算。
另外,关于模乘逆运算部件、模乘运算部件和模加运算部件的一个具体实现的例子参见如下述图4A至图6的描述。
图4A是模216加法器的连接关系示意图。
如图4A所示,其能实现对输入数据的模加运算。输入MADD16-OP控制选择模加运算或模减运算。MADD16的输出再控制RF单元。
图4B是模216加法器中的MADD16单元的具体结构示意图。
如图4A和4B所示,提供了至少2个模216加/减法运算器,其特征为:
1)可以同时进行2个模216加/减法运算操作。将第i个(i=0,1)模216加/减法运算器记为MADD16_i(i=0,1),其所实现的模216加/减法运算记为madd16_i(i=0,1),
2)将madd16_i(i=0,1)对应的编码单元集合记为madd16_i_i_ctrld(i=0,1),则:
madd16_0_ctrld={MADD16_0OP}
madd16_1_ctrld={MADD16_1OP}
其中:
MADD16_iOP(i=0,1)是模216加法器MADD16_i(i=0,1)的操作功能编码单元,其含义为:
当MADD16_iOP=1,做模216加法,
当MADD16_iOP=0,做模216减法;
3)模216加法器单元的数据输入输出与寄存器堆相连,编码操作与寄存器堆的编码单元同时操作。
图5A是模216+1乘法运算器的连接关系示意图。
如图5A所示,其能实现对输入数据的模乘运算。
图5B是模216+1乘法运算器中的MMUL单元的具体结构示意图。
如图5A和5B所示,提供了至少2个模216+1乘法运算器,其特征为:
1)可以同时进行2个模216+1乘法运算操作。将第i个(i=0,1)模216乘法运算器记为MMUL161_i(i=0,1),其所实现的模216+1乘法运算记为mmul161_i(i=0,1),
2)模216+1乘法运算操作是对寄存器堆编码单元的操作实现的。
图6是模216+1乘法逆运算器示意图。
如图6所示,其能实现对输入数据的模乘逆运算,在该图中提供了至少1个模216+1乘法逆运算器,其特征为:
1)将其记为MMUL161IV,其所实现的模216+1乘法逆运算记为mmul161iv,
2)将mmul161iv对应的编码单元集合记为mmul161iv_ctrld,则
mmul161iv_ctrld={EMMUL161IV}
EMMUL161IV是模216+1乘法逆MMUL161IV的操作使能编码单元,其编码含义为:
当EMMUL161IV=0时模216+1乘法逆操作使能,
当EMMUL161IV=1时模216+1乘法逆操作不使能;
3)模216+1乘法逆运算器单元的数据输入输出与寄存器堆相连,编码操作与寄存器堆的编码单元同时操作。
上述实施例利用孙子定理将密钥K分解为S个余数a(i)和系数CM,并将这些密钥信息分别进行存储,这样即使其中的一个密钥信息被窃取,也不能通过其还原出正确的密钥K,从而有效地防止他人非法获得用户密钥。
另外,由于采用了孙子定理而非简单的分解方法,使得密钥的分储更安全和可靠。
图7是本发明数据加/解密方法的第一实施例的流程示意图。
如图7所示,该方法包括:
S702,根据安全级别(当采用不同的安全级别时,需要从安全设备和/或用户卡中提取用户密钥信息,其安全级别与用户密钥信息的存储位置关系参见图1中实施例的描述)从安全信息区中提取用户密钥信息:S个互质的数p(i)、S个余数a(i)和系数CM,根据孙子定理还原用户密钥K,其中,1≤i≤S;
具体地,根据孙子定理还原用户密钥K的步骤包括:
根据公式(2)计算m(i);
根据公式(3)和公式(4)计算常数c(i);
根据公式(5)和公式(6)还原用户密钥K;
其中,1≤i≤S。
S704,根据还原出的用户密钥K对数据进行加/解密。
在本发明的另一实施例中,还可以直接获取S个常数c(i);并且可以根据公式(5)和公式(6)还原用户密钥K。
需要指出的是,在上述实施例中,可以从不同的安全设备上获取S个余数a(i)、S个互质的数p(i)和系数CM,其中,1≤i≤S。
图8是本发明数据加/解密方法的第二实施例的流程示意图。
如图8所示,通过一个具体实例来描述数据加/解密的步骤:
S802,提取安全信息区中的用户密钥参数:3个互质的数p(1)=7、p(2)=31和p(3)=127、3个余数a(1)=6、a(2)=29和a(3)=5以及系数CM=0;
S804,根据公式(2)、公式(3)和公式(4)计算常数c(i):P=27559,m(1)=3937,m(2)=889,m(3)=217;x(1)=5,x(2)=3,x(3)=24;c(1)=19685,c(2)=2667,c(3)=5208;
S806,根据公式(5)和公式(6)还原用户密钥K:K=1021;
S808,根据还原出的用户密钥K对数据进行加/解密。
图9是本发明数据加/解密方法的第三实施例的流程示意图。
如图9所示,该方法包括:
S902,宏指令译码器对接收的大数运算指令进行译码操作,并将译码后的结果分别发送给模乘逆运算部件、模乘运算部件和模加运算部件;
S904,利用模乘逆运算部件、公式(2)、公式(3)和公式(4)计算常数c(i);
S906,利用模乘运算部件和公式(7)计算常数与余数的乘积的模tmp(i);
S908,利用模加运算部件、公式(5)和公式(6)还原密钥K;
S910,根据还原出的用户密钥K对数据进行加/解密。
上述模乘逆运算部件、模乘运算部件和模加运算部件的具体实现的例子可以参照图4A至图6的实现方法。
上述实施例通过孙子定理将从安全信息区中获取的密钥信息还原为正确的密钥,从而确保能够利用该正确的密钥对数据进行加/解密操作。
图10是本发明密钥存储装置的第一实施例的结构示意图。
如图10所示,该密钥存储装置100包括:分解单元101,用于根据选定的S个互质的数p(i),利用孙子定理将密钥K分解为S个余数a(i)和系数CM;多个存储单元102,用于存储S个余数a(i)和系数CM;其中,1≤i≤S。
其中,S个互质的数p(i)可以是素数,也可以是梅森素数。
另外,根据安全级别的不同,多个存储单元可以位于安全设备和/或用户卡中。当采用商密型时,多个存储单元位于安全设备或用户卡中;当采用政府密型时,多个存储单元位于安全设备或用户卡中;当采用普密型时,多个存储单元分别位于安全设备和用户卡中;当采用核密型时,多个存储单元分别位于安全设备和用户卡中。
优选地,还可以根据密钥K的长度筛选S个互质的数p(i)。
图11是本发明密钥存储装置的第二实施例的结构示意图。
如图11所示,该密钥存储装置110中的分解单元111包括:模运算部件1111,用于根据公式(1)计算S个余数a(i),并将S个余数a(i)存储到存储单元中;模乘逆运算部件1112,用于根据公式(2)、公式(3)和公式(4)计算常数c(i),并将常数c(i)传递至模乘运算部件;模乘运算部件1113,用于根据来自模乘逆运算部件的常数c(i)计算常数与余数的乘积的模tmp(i),并将每次计算的结果tmp(i)传递至模加运算部件;模加运算部件1114,用于根据来自模乘运算部件的结果tmp(i)、公式(5)和公式(6)计算系数CM,并将系数CM存储到存储单元中。
上述模乘逆运算部件、模乘运算部件和模加运算部件的具体实现的例子可以参照图4A至图6的实现方法。
需要指出的是,在上述两个实施例中,可以将S个余数a(i)和系数CM分别存储在不同的存储单元中。
上述实施例通过分解单元将密钥K分解为S个余数a(i)和系数CM,并将它们分别存储在存储单元中,从而即使其中的一个密钥信息被窃取,也不能通过其还原出正确的密钥K,这样可以防止他人非法获得密钥。
图12是本发明数据加/解密装置的第一实施例的结构示意图。
如图12所示,该数据加/解密装置120包括:还原单元121,用于根据获取的S个互质的数p(i)、S个余数a(i)、系数CM和孙子定理还原密钥K,其中,1≤i≤S;加/解密单元122,用于根据还原单元121还原出的密钥K对数据进行加/解密。
另外,为了降低运算量,还原单元121还可以直接获取S个常数c(i),并根据公式(5)和公式(6)直接还原出密钥K。
图13是本发明数据加/解密装置的第二实施例的结构示意图。
如图13所示,该数据加/解密装置130中的还原单元131包括:模乘逆运算部件1311,用于根据公式(2)、公式(3)和公式(4)计算常数c(i),并将常数c(i)传递至模乘运算部件;模乘运算部件1312,用于根据来自模乘逆运算部件的常数c(i)计算常数与余数的乘积的模tmp(i),并将每次计算的结果tmp(i)传递至模加运算部件;模加运算部件1313,用于根据来自模乘运算部件的结果tmp(i)、公式(5)和公式(6)还原出密钥K,并将密钥K传递至加/解密单元。
在上述两个实施例中,可以根据安全级别从安全设备和/或用户卡中获取S个余数a(i)、S个互质的数p(i)和系数CM,其中,1≤i≤S。
其中,模乘逆运算部件、模乘运算部件和模加运算部件的具体实现的例子可以参照图4A至图6的实现方法。
上述两个实施例通过还原单元将分别获取的密钥信息还原为正确的密钥,从而确保能够利用该正确的密钥对数据进行加/解密操作。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (10)

1.一种密钥存储方法,其特征在于,所述方法包括:
根据选定的S个互质的数p(i),利用孙子定理将密钥K分解为S个余数a(i)和系数CM;
分别存储所述S个余数a(i)和系数CM;其中,1≤i≤S;
其中,
所述S个余数a(i)是通过如下公式获得的:
a(i)=K modp(i),其中,1≤i≤S;
所述系数CM是通过如下步骤获得的:
根据m(i)=P/p(i)计算m(i);
根据c(i)=m(i)*x(i)≡1modp(i)计算常数c(i);
根据 K = Σ i = 1 s a ( i ) * c ( i ) ( mod P ) + CM * P 获得所述系数CM;
其中,P=∏p(i),1≤i≤S。
2.根据权利要求1所述的密钥存储方法,其特征在于,p(i)为素数,1≤i≤S;所述方法还包括:
根据P≥L确定素数个数S以及所述S个素数p(i);
存储所述素数个数S以及所述S个素数p(i)的乘积P;
其中,P是所述S个素数p(i)的乘积,P=∏p(i),L是所述密钥K的长度,1≤i≤S。
3.根据权利要求1所述的密钥存储方法,其特征在于,所述p(i)为梅森素数,1≤i≤S。
4.根据权利要求1所述的密钥存储方法,其特征在于,
宏指令译码器对接收的大数运算指令进行译码操作,并将译码后的结果分别发送给模运算部件、模乘逆运算部件、模乘运算部件和模加运算部件;
利用所述模运算部件计算所述S个余数a(i);
利用所述模乘逆运算部件计算常数c(i),其中,c(i)=m(i)*x(i)=1mod p(i);
利用所述模乘运算部件计算tmp(i)=a(i)*c(i)(modP);
利用
Figure FSB00001014206800021
和所述模加运算部件计算所述系数CM;
其中,1≤i≤S。
5.一种密钥存储装置,其特征在于,所述装置包括:
分解单元,用于根据选定的S个互质的数p(i),利用孙子定理将密钥K分解为S个余数a(i)和系数CM;
多个存储单元,用于分别存储所述S个余数a(i)和系数CM;
其中,1≤i≤S;
所述分解单元包括:
模运算部件,用于根据a(i)=Kmodp(i)计算所述S个余数a(i),并将所述S个余数a(i)存储到所述多个存储单元中;
模乘逆运算部件,用于根据c(i)=m(i)*x(i)≡1modp(i)和m(i)=P/p(i)计算常数c(i),并将所述常数c(i)传递至模乘运算部件;
所述模乘运算部件,用于根据来自所述模乘逆运算部件的常数c(i)计算tmp(i)=a(i)*c(i)(modP),并将每次计算的结果tmp(i)传递至模加运算部件;
所述模加运算部件,用于根据来自所述模乘运算部件的结果tmp(i)和计算所述系数CM,并将所述系数CM存储到所述多个存储单元中;
其中,P=∏p(i),1≤i≤S。
6.根据权利要求5所述的密钥存储装置,其特征在于,所述多个存储单元分别位于不同的安全设备上。
7.一种数据加/解密方法,其特征在于,所述方法包括:
获取S个互质的数p(i)、S个余数a(i)和系数CM,根据孙子定理还原密钥K,其中,1≤i≤S;
根据还原出的密钥K对数据进行加/解密;
其中,
所述根据孙子定理还原密钥K的步骤包括:
根据m(i)=P/p(i)计算m(i);
根据c(i)=m(i)*x(i)≡1modp(i)计算常数c(i);
根据 K = Σ i = 1 s a ( i ) * c ( i ) ( mod P ) + CM * P 还原所述密钥K;
其中,P=∏p(i),1≤i≤S。
8.根据权利要求7所述的数据加/解密方法,其特征在于,
宏指令译码器对接收的大数运算指令进行译码操作,并将译码后的结果分别发送给模乘逆运算部件、模乘运算部件和模加运算部件;
利用所述模乘逆运算部件计算常数c(i),其中,c(i)=m(i)*x(i)=1modp(i);
利用所述模乘运算部件计算tmp(i)=a(i)*c(i)(modP);
利用和所述模加运算部件还原所述密钥K;
其中,1≤i≤S。
9.一种数据加/解密装置,其特征在于,所述装置包括:
还原单元,用于根据获取的S个互质的数p(i)、S个余数a(i)、系数CM和孙子定理还原密钥K,其中,1≤i≤S;
加/解密单元,用于根据所述还原单元还原出的密钥K对数据进行加/解密;
其中,所述还原单元包括:
模乘逆运算部件,用于根据c(i)=m(i)*x(i)≡1modp(i)和m(i)=P/p(i)计算常数c(i),并将所述常数c(i)传递至模乘运算部件;
所述模乘运算部件,用于根据来自所述模乘逆运算部件的常数c(i)计算tmp(i)=a(i)*c(i)(modP),并将每次计算的结果tmp(i)传递至模加运算部件;
所述模加运算部件,用于根据来自所述模乘运算部件的结果tmp(i)和还原所述密钥K,并将所述密钥K传递至所述加/解密单元;
其中,P=∏p(i),1≤i≤S。
10.根据权利要求9所述的数据加/解密装置,其特征在于,所述还原单元从不同的安全设备上获取所述S个余数a(i)、S个互质的数p(i)和系数CM,其中,1≤i≤S。
CN 200910161364 2009-08-10 2009-08-10 密钥存储方法与装置和数据加/解密方法与装置 Active CN101997833B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910161364 CN101997833B (zh) 2009-08-10 2009-08-10 密钥存储方法与装置和数据加/解密方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910161364 CN101997833B (zh) 2009-08-10 2009-08-10 密钥存储方法与装置和数据加/解密方法与装置

Publications (2)

Publication Number Publication Date
CN101997833A CN101997833A (zh) 2011-03-30
CN101997833B true CN101997833B (zh) 2013-06-05

Family

ID=43787431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910161364 Active CN101997833B (zh) 2009-08-10 2009-08-10 密钥存储方法与装置和数据加/解密方法与装置

Country Status (1)

Country Link
CN (1) CN101997833B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107612683B (zh) * 2017-09-30 2020-10-27 上海众人网络安全技术有限公司 一种加解密方法、装置、系统、设备和存储介质
CN108334786A (zh) * 2017-11-19 2018-07-27 李朝玺 一种数据加密方法
CN108111485B (zh) * 2017-12-04 2020-09-22 兰州大学 子密钥生成方法和装置、还原密钥方法和装置
CN109617691B (zh) * 2018-11-19 2020-12-08 兰州大学 在多用户群认证中使用模运算的群认证方法及系统
CN112700152B (zh) * 2021-01-06 2023-04-28 南方电网科学研究院有限责任公司 基于中国剩余定理的层次化安全多方计算方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1415147A (zh) * 1999-12-28 2003-04-30 德国捷德有限公司 具有通过密钥再分进行存取保护的便携式数据存储介质
EP0750410B1 (en) * 1995-06-21 2005-05-11 Nippon Telegraph And Telephone Corporation Method and system for generation and management of secret key of public cryptosystem

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0750410B1 (en) * 1995-06-21 2005-05-11 Nippon Telegraph And Telephone Corporation Method and system for generation and management of secret key of public cryptosystem
CN1415147A (zh) * 1999-12-28 2003-04-30 德国捷德有限公司 具有通过密钥再分进行存取保护的便携式数据存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种基于中国剩余定理的密钥恢复方案;石润华等;《微机发展》;20031130;第13卷(第11期);全文 *
石润华等.一种基于中国剩余定理的密钥恢复方案.《微机发展》.2003,第13卷(第11期),

Also Published As

Publication number Publication date
CN101997833A (zh) 2011-03-30

Similar Documents

Publication Publication Date Title
Chen et al. Exploiting self-adaptive permutation–diffusion and DNA random encoding for secure and efficient image encryption
Ahmed et al. An efficient chaos-based feedback stream cipher (ECBFSC) for image encryption and decryption
Lin et al. An image encryption scheme based on Lorenz hyperchaotic system and RSA algorithm
Souyah et al. An image encryption scheme combining chaos-memory cellular automata and weighted histogram
Hellman The mathematics of public-key cryptography
CN101488214B (zh) 一种扩展防伪数字水印和电子印章信息量的方法
US9152383B2 (en) Method for encrypting a message through the computation of mathematical functions comprising modular multiplications
US20180006805A1 (en) Method and system for encrypting data
CN101997833B (zh) 密钥存储方法与装置和数据加/解密方法与装置
GB2265285A (en) Public key cryptographic method for communication and electronic signatures
AU1132199A (en) A non-deterministic public key encryption system
CN102067080A (zh) 白盒实现
Gafsi et al. Efficient encryption system for numerical image safe transmission
EP2742644B1 (en) Encryption and decryption method
CN104881838B (zh) 一种基于gf(23)的(k,n)有意义无扩张图像分存和重构方法
Ye et al. Asymmetric image encryption algorithm based on a new three-dimensional improved logistic chaotic map
Mendua A new approach of colour image encryption based on Henon like chaotic map
Yang et al. Verifiable visually meaningful image encryption algorithm based on compressive sensing and (t, n)-threshold secret sharing
Sharma et al. Multi-image steganography and authentication using crypto-stego techniques
CN117714613A (zh) 一种图像加密方法、装置、电子设备和存储介质
MXPA02003656A (es) Metodo de contramedida en un componente electronico el cual utiliza un algoritmo criptografico de clave publica tipo rsa.
CN109413299A (zh) 线性正则变换和混沌双随机相位编码双图像加密方法
WO2002054664A2 (en) R-conversion encryption method and system
Qiu et al. A case study for practical issues of DCT based bitmap selective encryption methods
Daldoul et al. Secured transmission design schemes based on chaotic synchronization and optimal high gain observers

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NANSI SCIENCE AND TECHNOLOGY DEVELOPMENT CO LTD, B

Free format text: FORMER OWNER: BEIJING WISDOM TECHNOLOGY DEVELOPMENT CO., LTD.

Effective date: 20141009

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100080 HAIDIAN, BEIJING TO: 100091 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20141009

Address after: 100091, Beijing Haidian District red mountain Yamaguchi 3 maintenance group new building 189, a layer

Patentee after: BEIJING NANSIDA TECHNOLOGY DEVELOPMENT CO.,LTD.

Address before: 100080, Beijing, Zhongguancun Haidian District South Avenue, building 56, B801

Patentee before: BEIJING DUOSI TECHNOLOGY DEVELOPMENT Co.,Ltd.

ASS Succession or assignment of patent right

Owner name: SHENZHEN DUOSI TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: NANSI SCIENCE AND TECHNOLOGY DEVELOPMENT CO LTD, BEIJING

Effective date: 20150730

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150730

Address after: 906, room 518000, building B, Furong Road, No. 2001, guest house, South Lake Street, Shenzhen, Guangdong, Luohu District, Shenzhen

Patentee after: Shenzhen Duosi science and Technology Co.,Ltd.

Address before: 100091, Beijing Haidian District red mountain Yamaguchi 3 maintenance group new building 189, a layer

Patentee before: BEIJING NANSIDA TECHNOLOGY DEVELOPMENT CO.,LTD.

DD01 Delivery of document by public notice

Addressee: Shenzhen Duosi science and Technology Co.,Ltd.

Document name: Notification of Passing Examination on Formalities

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20151211

Address after: 518000 Guangdong city of Shenzhen province Qianhai Shenzhen Hong Kong cooperation zone before Bay Road No. 1 building 201 room A (located in Shenzhen Qianhai business secretary Co. Ltd.)

Patentee after: Shenzhen city Qianhai Duosi science and Technology Development Co.,Ltd.

Address before: 100091, Beijing Haidian District red mountain Yamaguchi 3 maintenance group new building 189, a layer

Patentee before: BEIJING NANSIDA TECHNOLOGY DEVELOPMENT CO.,LTD.

Effective date of registration: 20151211

Address after: 100091, Beijing Haidian District red mountain Yamaguchi 3 maintenance group new building 189, a layer

Patentee after: BEIJING NANSIDA TECHNOLOGY DEVELOPMENT CO.,LTD.

Address before: 906, room 518000, building B, Furong Road, No. 2001, guest house, South Lake Street, Shenzhen, Guangdong, Luohu District, Shenzhen

Patentee before: Shenzhen Duosi science and Technology Co.,Ltd.

DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: Shenzhen city Qianhai Duosi science and Technology Development Co.,Ltd.

Document name: Notification to Pay the Fees

DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: Shenzhen city Qianhai Duosi science and Technology Development Co.,Ltd.

Document name: Notification of Termination of Patent Right

DD01 Delivery of document by public notice

Addressee: Shenzhen city Qianhai Duosi science and Technology Development Co.,Ltd.

Document name: Notification of Decision on Request for Restoration of Right

DD01 Delivery of document by public notice
PP01 Preservation of patent right
PP01 Preservation of patent right

Effective date of registration: 20190111

Granted publication date: 20130605

DD01 Delivery of document by public notice

Addressee: Shenzhen city Qianhai Duosi science and Technology Development Co.,Ltd.

Document name: Notice of preservation procedure

DD01 Delivery of document by public notice
PD01 Discharge of preservation of patent

Date of cancellation: 20220111

Granted publication date: 20130605

PD01 Discharge of preservation of patent
PP01 Preservation of patent right

Effective date of registration: 20231205

Granted publication date: 20130605

PP01 Preservation of patent right
DD01 Delivery of document by public notice

Addressee: Shenzhen city Qianhai Duosi science and Technology Development Co.,Ltd. Person in charge of patents

Document name: Notice of Termination of Procedure

DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: Shenzhen city Qianhai Duosi science and Technology Development Co.,Ltd. Person in charge of patents

Document name: Notice of commencement of preservation procedure

DD01 Delivery of document by public notice