具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的加密方法一个实施例的流程图,如图1所示,包括:
101、获取终端中的待加密文件。
本发明提供的加密方法可以由加密装置执行,加密装置的具体表现形式可以为加密锁。加密锁是一种插在终端并行口或USB口的软硬件结合的加密产品,包括几十或几百字节的非易失性存储空间。终端可以通过接口函数与加密锁进行数据交换,即将待加密文件或者待解密文件发送给加密锁,或者接收加密锁发送的加密后的文件或解密后的文件。
102、采用加密锁中的公钥对待加密文件进行加密,得到加密后的文件。
其中,加密装置可以根据加密算法采用公钥对待加密文件进行加密。公钥和私钥可以保存在加密锁的非易失性存储空间中。可选的,加密算法对应的加密程序可以保存在终端中,当加密锁需要进行加密时,从终端中调取加密算法对应的加密程序;可选的,加密算法对应的加密程序还可以保存在加密锁中,当加密锁需要进行加密时,从加密锁中调取加密算法对应的加密程序,使得窃取者难以获取加密程序,难以对加密后的文件进行解密,进一步提高文件的安全性。加密锁内部还可以包括MS-DOS的操作系统以及类似的操作系统,加密锁可以采用操作系统来调取加密锁中的加密程序。
进一步地,当加密锁对待加密文件进行加密之前,一般会将待加密文件保存在加密锁与终端之间的通讯缓冲区中,因此,为了防止窃取者从通讯缓冲区中获取待加密文件,步骤102之前,还可以包括:
采用一次性密钥对待加密文件进行加密,得到初次加密文件,将初次加密文件保存到加密锁与终端间的通讯缓冲区中,而通讯缓冲区具体位于加密锁的非易失性存储空间中,从而保证窃取者难以从通讯缓冲区中获取文件,而且即便窃取者从通讯缓冲区中获取到文件,获取到的也是初次加密文件,而不是待加密文件,从而提高文件的安全性。
可选的,一次性密钥可以为加密装置采用加密锁中的加密算法计算得到的,而加密锁中的加密算法难以被复制出来,因此,窃取者难以对初次加密文件进行解密,进一步提高了文件的安全性。
对应的,步骤102具体可以为:采用加密锁中的公钥对通讯缓冲区中的初次加密文件进行加密,得到加密后的文件。
103、将加密后的文件发送给终端。
本实施例中,通过获取终端中的待加密文件,采用加密锁中的公钥对待加密文件进行加密,将加密后的文件发送给终端,由于保存在加密锁中的公钥难以被窃取者获取,从而解决了现有技术中保存在可执行程序中的公钥容易被窃取者获取,解密得到文件的问题,提高了文件的安全性。
图2为本发明提供的解密方法一个实施例的流程图,如图2所示,包括:
201、获取终端中的待解密文件。
本发明提供的解密方法可以由解密装置执行,解密装置的具体表现形式可以为加密锁。加密锁是一种插在终端并行口或USB口的软硬件结合的加密产品,包括几十或几百字节的非易失性存储空间。终端可以通过接口函数与加密锁进行数据交换,即将待加密文件或者待解密文件发送给加密锁,或者接收加密锁发送的加密后的文件或解密后的文件。
202、采用加密锁中的私钥对待解密文件进行解密,得到解密后的文件。
其中,解密装置可以根据解密算法采用私钥对待解密文件进行解密。公钥和私钥可以保存在加密锁的非易失性存储空间中。
203、将解密后的文件发送给终端。
进一步地,当加密锁对待加密文件进行加密之前,采用一次性密钥对待加密文件进行加密,得到初次加密文件,因此,步骤203之前,还可以包括:
将所述解密后的文件保存到所述加密锁与所述终端间的通讯缓冲区中,采用一次性密钥对所述通讯缓冲区中的所述解密后的文件进行解密,得到再次解密文件。其中,一次性密钥为解密装置采用加密锁中的加密算法计算得到的。
对应的,步骤203具体可以为:将所述再次解密文件发送给所述终端。
本实施例中,通过获取终端中的待解密文件,采用加密锁中的私钥对待解密文件进行解密,将解密后的文件发送给终端,而保存在加密锁中的私钥难以被窃取者获取,从而解决了现有技术中保存在可执行程序中的私钥容易被窃取者获取,解密得到文件的问题,提高了文件的安全性。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图3为本发明提供的加密装置一个实施例的结构示意图,如图3所示,包括:
获取模块31,用于获取终端中的待加密文件;
加密模块32,用于采用加密锁中的公钥对待加密文件进行加密,得到加密后的文件;
发送模块33,用于将加密后的文件发送给终端。
进一步地,当加密锁对待加密文件进行加密之前,一般会将待加密文件保存在加密锁与终端之间的通讯缓冲区中,因此,为了防止窃取者从通讯缓冲区中获取待加密文件,加密模块32采用加密锁中的公钥对待加密文件进行加密之前,加密模块32还用于,
采用一次性密钥对待加密文件进行加密,得到初次加密文件;
将初次加密文件保存到加密锁与终端间的通讯缓冲区中;
对应的,加密模块32采用加密锁中的公钥对待加密文件进行加密中,加密模块32具体用于,
采用加密锁中的公钥对通讯缓冲区中的初次加密文件进行加密,得到加密后的文件。
更进一步地,加密模块32采用一次性密钥对待加密文件进行加密之前,加密模块32还可以采用加密锁中的加密算法计算得到一次性密钥。
本实施例中,通过获取终端中的待加密文件,采用加密锁中的公钥对待加密文件进行加密,将加密后的文件发送给终端,而保存在加密锁中的公钥难以被窃取者获取,从而解决了现有技术中保存在可执行程序中的公钥容易被窃取者获取,解密得到文件的问题,提高了文件的安全性。
图4为本发明提供的解密装置一个实施例的结构示意图,如图4所示,包括:
获取模块41,用于获取终端中的待解密文件;
解密模块42,用于采用加密锁中的私钥对待解密文件进行解密,得到解密后的文件;
发送模块43,用于将解密后的文件发送给终端。
进一步地,当加密锁对待加密文件进行加密之前,采用一次性密钥对待加密文件进行加密,得到初次加密文件,因此,所述发送模块43将所述解密后的文件发送给所述终端之前,所述解密模块42还用于,
将所述解密后的文件保存到所述加密锁与所述终端间的通讯缓冲区中;
采用一次性密钥对所述通讯缓冲区中的所述解密后的文件进行解密,得到再次解密文件;
对应的,所述发送模块43将所述解密后的文件发送给所述终端中,所述发送模块43具体用于,将所述再次解密文件发送给所述终端。
更进一步地,解密模块42采用一次性密钥对待加密文件进行解密之前,解密模块42还用于采用加密锁中的加密算法计算得到一次性密钥。
本实施例中,通过获取终端中的待解密文件,采用加密锁中的私钥对待解密文件进行解密,将解密后的文件发送给终端,而保存在加密锁中的私钥难以被窃取者获取,从而解决了现有技术中保存在可执行程序中的私钥容易被窃取者获取,解密得到文件的问题,提高了文件的安全性。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。