技术领域
[0001] 本发明涉及信息安全技术领域,具体地,涉及一种加密方法和加密装置。
相关背景技术
[0002] 由于计算机软件的非法复制、通信的泄密等,使得数据安全受到严重威胁,所以加密技术在信息安全技术领域中占有不可替代的位置。因此,目前亟需一种高安全性的加密技术来对抗密钥破解、信息泄露等问题。
具体实施方式
[0014] 以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
[0015] 本发明提供一种加密方法,如图1所示,该加密方法可以包括以下步骤:
[0016] 步骤S1、生成加密密钥,其中所述加密密钥由固定部分和变动部分组成,所述变动部分通过对变化的实时因子进行运算得到;以及
[0017] 步骤S2、使用所述加密密钥进行加密。例如,在进行加密时,密文=算法(原文,加密密钥的固定部分+加密密钥的变动部分)。在对加密得到的密文进行解密时,可以采用以下方式进行解密:原文=逆算法(密文,加密密钥的固定部分+加密密钥的变动部分)。
[0018] 由于根据本发明的加密方法生成了由固定部分和变动部分组成的加密密钥,且变动部分是通过对变化的实时因子进行运算得到的,因此所生成的加密密钥能够实时变动,保证了所生成加密密钥的实时有效性,进而保证了采用该加密密钥进行加密得到的消息密文的实时有效性,因此大大增加了破译所生成加密密钥的难度,有效防止了信息泄露,保障了数据安全。
[0019] 在根据本发明的加密方法中,所生成的加密密钥的固定部分和变动部分缺一不可,只有将固定部分和变动部分组合起来才能获得完整的加密密钥,并进而才能使用该加密密钥进行加密。例如,若所生成的加密密钥的总长度为M+N,固定部分的长度为M,变动部分的长度为N,则只有将长度为M的固定部分和长度为N的变动部分组合起来才能形成完整的加密密钥。
[0020] 所生成的加密密钥的固定部分可以由个人存储,例如可以被存储到诸如U盘、电脑等存储介质中。所生成的加密密钥的变动部分则需要对实时因子进行运算才能得到,例如可以对实时因子进行哈希运算、MD5运算、新型椭圆曲线运算或其他运算以得到加密密钥的变动部分。优选地,所述实时因子可以至少包括时间、温度、地理位置和湿度中的至少一者。当然,还可以将其他环境因素作为实时因子,例如压力等。
[0021] 进一步地,由于实时因子具有实时变动的特性,因此,在根据本发明的加密方法的一个优选实施方式中,在使用所述加密密钥进行加密之前或之后,该加密方法还包括:判断所述加密密钥的有效期是否期满;若期满,则对当前实时因子进行运算以得到所述变动部分,并由所述固定部分和新得到的变动部分组合成新的加密密钥。也即,根据本发明的加密方法还设置了所生成加密密钥的有效期,这样既不会使得根据本发明的加密方法过于频繁地生成加密密钥,又能够确保加密密钥的实时性,因此提高了根据本发明的加密方法的安全性。例如,假设实时因子是时间,则可以将所生成加密密钥的有效期设置为诸如1分钟,这样,在根据本发明的加密方法生成一个加密密钥之后,会间隔1分钟之后再重新生成新的加密密钥。应当理解的是,上述的“1分钟”仅是示例,任何其他有效期设置均是可行的。
[0022] 优选地,根据本发明的加密方法还可以与现有的任何其他加密方法组合使用。以将根据本发明的加密方法应用于现有的数字信封加密方法为例进行说明。这样,根据本发明的加密方法还可以包括以下步骤:用对称密钥对消息进行加密以得到消息密文;用步骤S1中生成的加密密钥对所述对称密钥进行加密以得到密钥密文;以及将所述消息密文和所述密钥密文一起发送给接收方。更优选地,所述加密密钥的固定部分是所述接收方的公钥或所述接收方与发送方之间的预共享密钥。术语“对称密钥”和“预共享密钥”是本领域中公知的,此处不再赘述。
[0023] 图2给出了将根据本发明的加密方法与现有的数字信封加密方法相结合的加密流程,即先用对称密钥对消息进行加密以得到消息密文,然后用步骤S1中生成的加密密钥(该加密密钥由接收方的公钥和步骤S1中所生成的加密密钥的变动部分组成)对所述对称密钥进行加密以得到密钥密文,最后将所述消息密文和所述密钥密文一起发送给接收方。图3示出了对图2的加密流程加密的消息进行解密的解密流程,即首先用由接收方的公钥和步骤S1中所生成的加密密钥的变动部分组成的加密密钥对密钥密文进行解密以得到对称密钥,然后用该对称密钥对消息密文进行解密以得到消息原文。因此,根据本发明的加密方法可以与现有的各种加密方法相结合以得到更好的加密技术
[0024] 本发明还提供一种加密装置,如图4所示,该加密装置包括:加密密钥生成模块41,用于生成加密密钥,其中所述加密密钥由固定部分和变动部分组成,所述变动部分通过对变化的实时因子进行运算得到;以及加密模块42,用于使用所述加密密钥进行加密。例如,在加密模块42进行加密时,密文=算法(原文,加密密钥的固定部分+加密密钥的变动部分)。在对加密模块42加密得到的密文进行解密时,可以采用以下方式进行解密:原文=逆算法(密文,加密密钥的固定部分+加密密钥的变动部分)。
[0025] 由于根据本发明的加密装置中的加密密钥生成模块41生成了由固定部分和变动部分组成的加密密钥,且变动部分是通过对变化的实时因子进行运算得到的,因此加密密钥生成模块41所生成的加密密钥能够实时变动,保证了所生成加密密钥的实时有效性,进而保证了采用该加密密钥进行加密得到的消息密文的实时有效性,因此大大增加了破译所生成加密密钥的难度,有效防止了信息泄露,保障了数据安全。
[0026] 在根据本发明的加密装置中,加密密钥生成模块41所生成的加密密钥的固定部分和变动部分缺一不可,只有将固定部分和变动部分组合起来才能获得完整的加密密钥,并进而才能使用该加密密钥进行加密。例如,若加密密钥生成模块41所生成的加密密钥的总长度为M+N,固定部分的长度为M,变动部分的长度为N,则只有将长度为M的固定部分和长度为N的变动部分组合起来才能形成完整的加密密钥。
[0027] 加密密钥生成模块41所生成的加密密钥的固定部分可以由个人存储,例如可以被存储到诸如U盘、电脑等存储介质中。加密密钥生成模块41所生成的加密密钥的变动部分则需要对实时因子进行运算才能得到,例如加密密钥生成模块41可以对实时因子进行哈希运算、MD5运算、新型椭圆曲线运算或其他运算以得到加密密钥的变动部分。优选地,所述实时因子可以至少包括时间、温度、地理位置和湿度中的至少一者。当然,还可以将其他环境因素作为实时因子,例如压力等。
[0028] 进一步地,由于实时因子具有实时变动的特性,因此,在根据本发明的加密装置的一个优选实施方式中,该加密装置还可以包括加密密钥有效期判断模块43,用于判断所述加密密钥的有效期是否期满;以及所述加密密钥生成模块41还用于在所述加密密钥的有效期期满时,对当前实时因子进行运算以得到所述变动部分,并将所述固定部分和新得到的变动部分组合成新的加密密钥。也即,根据本发明的加密装置还设置了所生成加密密钥的有效期,这样既不会使得加密密钥生成模块41过于频繁地生成加密密钥,又能够确保加密密钥的实时性,因此提高了根据本发明的加密装置的安全性。例如,假设实时因子是时间,则可以将所生成加密密钥的有效期设置为诸如1分钟,这样,在加密密钥生成模块41生成一个加密密钥之后,会间隔1分钟之后再重新生成新的加密密钥。应当理解的是,上述的“1分钟”仅是示例,任何其他有效期设置均是可行的。
[0029] 优选地,根据本发明的加密装置还可以与现有的任何其他加密方法结合使用。以将根据本发明的加密装置与现有的数字信封加密方法结合使用为例进行说明。这样,如图5所示,根据本发明的加密装置中的加密模块42可以包括:消息加密子模块421,用于使用对称密钥对消息进行加密以得到消息密文;对称密钥加密子模块422,用于使用所述加密密钥对所述对称密钥进行加密以得到密钥密文;以及发送子模块423,用于将所述消息密文和所述密钥密文一起发送给接收方。其中,所述加密密钥的固定部分优选是所述接收方的公钥或所述接收方与发送方之间的预共享密钥。术语“对称密钥”和“预共享密钥”是本领域中公知的,此处不再赘述。根据本发明的加密装置与现有的数字信封加密方法结合使用的加密流程和解密流程可以参见图2和图3,此处不再赘述。
[0030] 以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
[0031] 另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
[0032] 此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。