合同的加密和解密方法、装置及计算机可读存储介质与流程

专利2022-06-29  43


本发明涉及信息安全技术领域,尤其涉及一种合同的加密和解密方法、装置及计算机可读存储介质。



背景技术:

电子文件是指在机关、团体、企事业单位和其他组织在处理公务过程中,通过计算机等电子设备形成、办理、传输和存储的文字、图表、音频、视频等不同形式的信息记录。随着计算机的普遍应用和办公自动化的深入发展,越来越多的机密信息以电子文件的形式存在,例如合同。由于电子文件具有易复制、易修改、易转移等特点,使得电子文件在应用越来越广泛的同时,其安全和共享问题也受到越来越多的重视。在电子文件整个生命周期阶段里,可以把其分成电子文件的生成流转阶段和归档保存阶段。国内外大多数文献主要研究的是电子文件归档保存阶段的安全管理,即使有少量文献谈到电子文件生成流程中的安全控制问题,但没有结合用户来研究其安全使用问题,更没有从密码学角度来深入研究用户的分级加密多级授权的安全使用问题。因此,在合同开发时,或使用平台合同任何人可以观看以及查看,在起草后合同已不再是模板,部分合同应该有相应的保密措施,目前没有体现,对于对合同的审核改动记录,没有任何的措施。



技术实现要素:

本发明提供一种合同的加密和解密方法、装置及计算机可读存储介质,其主要目的在于当用户进行合同的加密和解密时,给用户提供一种高效的合同的加密和解密方法。

为实现上述目的,本发明提供的一种合同的加密和解密方法,包括:

接收审核通过的合同文件集,按预设的用户查看权限对所述合同文件集中的各合同文件进行保密评级并生成每个所述合同文件的加密级别信息;

根据所述合同文件集中每个合同文件的加密级别信息,将所述合同文件集进行分级加密,得到目标合同文件集,所述目标合同文件集包括具有不同加密级别的多个目标合同文件子集,加密级别与用户查看权限相对应;

接收合同文件查看请求,所述合同文件查看请求包括用户查看权限,从预先构建的解密秘钥集中选取与所述用户查看权限对应的解密秘钥,根据所述解密秘钥将所述目标合同文件集中与所述合同文件查看请求对应的合同文件进行解密。

可选地,所述将所述合同文件集进行分级加密,得到目标合同文件集包括:

获取初始秘钥,生成与所述加密级别信息对应的加密秘钥,并将所述加密级别信息对应的多种加密秘钥组成加密秘钥集合;

根据所述加密秘钥集合对所述合同文件集进行分级加密,得到所述目标合同文件集,其中,所述目标合同文件集包括加密级别依次递减的机密合同文件子集、核心合同文件子集以及普通合同文件子集。

可选地,所述获取初始秘钥,生成与所述加密级别信息对应的加密秘钥包括:

获取所述初始秘钥的公开秘钥,通过所述公开秘钥对所述初始秘钥的单向加密函数进行加密,以生成与所述加密级别信息对应的加密秘钥,其中,所述单向加密函数对秘钥k0进行加密后依次迭代生成由低到高的秘钥k1、k2和k3。

可选地,所述对所述初始秘钥的单向加密函数加密包括:

将所述初始秘钥中任意一个明文m进行加密得到:

c=e(m)=memodn,其中,e(m)表示加密后的明文m,e表示无限不循环小数,modn表示加密次数;

将所述初始秘钥中任意的两个明文mx,my进行同态相乘加密得到:其中,e(mx)表示加密后的明文mx,e(my)表示加密后的明文my;

将所述初始秘钥中任意的明文m1,m2,…mn进行同态相乘加密得到:

e(m1)*e(m2)*…e(mn)=e(m1*m2*…mn)。

可选地,所述从预先构建的解密秘钥集中选取与所述用户查看权限对应的解密秘钥包括:

获取预先分配的与所述用户查看权限对应的私用秘钥;

根据所述私用秘钥中的单向解密函数解密对应的单向加密函数,以生成与所述用户查看权限对应的解密秘钥,其中,所述单向解密函数根据上述单向加密函数依次迭代产生由高到低的等级秘钥。

此外,为实现上述目的,本发明还提供一种合同的加密和解密装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的合同的加密和解密程序,所述合同的加密和解密程序被所述处理器执行时实现如下步骤:

接收审核通过的合同文件集,按预设的用户查看权限对所述合同文件集中的各合同文件进行保密评级并生成每个所述合同文件的加密级别信息;

根据所述合同文件集中每个合同文件的加密级别信息,将所述合同文件集进行分级加密,得到目标合同文件集,所述目标合同文件集包括具有不同加密级别的多个目标合同文件子集,加密级别与用户查看权限相对应;

接收合同文件查看请求,所述合同文件查看请求包括用户查看权限,从预先构建的解密秘钥集中选取与所述用户查看权限对应的解密秘钥,根据所述解密秘钥将所述目标合同文件集中与所述合同文件查看请求对应的合同文件进行解密。

可选地,所述将所述合同文件集进行分级加密,得到目标合同文件集包括:

获取初始秘钥,生成与所述加密级别信息对应的加密秘钥,并将所述加密级别信息对应的多种加密秘钥组成加密秘钥集合;

根据所述加密秘钥集合对所述合同文件集进行分级加密,得到所述目标合同文件集,其中,所述目标合同文件集包括加密级别依次递减的机密合同文件子集、核心合同文件子集以及普通合同文件子集。

可选地,所述获取初始秘钥,生成与所述加密级别信息对应的加密秘钥包括:

获取所述初始秘钥的公开秘钥,通过所述公开秘钥对所述初始秘钥的单向加密函数进行加密,以生成与所述加密级别信息对应的加密秘钥,其中,所述单向加密函数对秘钥k0进行加密后依次迭代生成由低到高的秘钥k1、k2和k3。

可选地,所述对所述初始秘钥的单向加密函数加密包括:

将所述初始秘钥中任意一个明文m进行加密得到:

c=e(m)=memodn,其中,e(m)表示加密后的明文m,e表示无限不循环小数,modn表示加密次数;

将所述初始秘钥中任意的两个明文mx,my进行同态相乘加密得到:

其中,e(mx)表示加密后的明文mx,e(my)表示加密后的明文my;

将所述初始秘钥中任意的明文m1,m2,…mn进行同态相乘加密得到:

e(m1)*e(m2)*…e(mn)=e(m1*m2*…mn)。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有合同的加密和解密程序,所述合同的加密和解密程序可被一个或者多个处理器执行,以实现如上所述的合同的加密和解密方法的步骤。

本发明提出的合同的加密和解密方法、装置及计算机可读存储介质,接收基于审核通过的合同文件集,按预设的用户查看权限对所述合同文件集进行保密评级;根据所述合同文件集的保密评级,将所述合同文件集进行分级加密,得到目标合同文件集;当用户进行查看所述目标合同文件集时,从预先构建的解密秘钥集中选取与所述用户的查看权限对应的解密秘钥,根据所述解密秘钥将所述目标合同文件集进行解密,从而可以给用户呈现出合同的加密和解密结果。

附图说明

图1为本发明一实施例提供的合同的加密和解密方法的流程示意图;

图2为本发明一实施例提供的合同的加密和解密装置的内部结构示意图;

图3为本发明一实施例提供的合同的加密和解密装置中合同的加密和解密程序的模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种合同的加密和解密方法。参照图1所示,为本发明一实施例提供的合同的加密和解密方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。

在本实施例中,合同的加密和解密方法包括:

s1、接收基于审核通过的合同文件集,按预设的用户查看权限对所述合同文件集中的合同文件进行保密评级并生成每个所述合同文件的加密级别信息。

本发明较佳实施例中,所述基于审核通过的合同文件集是由专业法律人员进行撰写的合同模板并由企业高层人员审核通过形成得到。其中,所述合同模板可以为劳动合同模板、买卖合同模板以及债权转让合同模板等。

较佳地,本发明中所述预设的用户查看权限通过所述合同文件集的重要程度进行设置。详细地,本发明较佳实施例按合同文件的重要程度由低到高划分为l1、l2以及l3三个级别,得到l1合同文件集、l2合同文件集以及l3合同文件集,根据所述三个级别的合同文件集的划分完成所述合同文件集的保密评级。其中,所述l1合同文件集为企业所有员工可以查看;所述l2合同文件集为企业的部分部门可见,所述部分部门可以为法律部门、风控部门、以及人力资源部门等;所述l3合同文件集为企业的部分员工可见,所述部分员工可以为企业的ceo、cfo以及coo等。

s2、根据所述合同文件集中每个合同文件的加密级别信息,将所述合同文件集进行分级加密,得到目标合同文件集。

本发明较佳实施例通过获取初始秘钥,生成与所述加密级别信息对应的加密秘钥,并将所述加密级别信息对应的多种加密秘钥组成加密秘钥集合,根据所述加密秘钥集合对所述合同文件集进行分级加密,得到所述目标合同文件集,其中,所述目标合同文件集包括加密级别依次递减的机密合同文件子集、核心合同文件子集以及普通合同文件子集。详细地,所述加密秘钥指的是由低到高级别的加密秘钥k1、k2以及k3,其中,所述加密秘钥k1、k2以及k3分别对应上述l1、l2以及l3合同文件集进行加密,并按所述合同文件集级别由低到高划分为普通合同文件子集、核心合同文件子集以及机密合同文件子集。其中,所述加密秘钥k1、k2以及k3由初始秘钥k0通过公钥加密生成。较佳地,本发明所述公钥加密为半同态加密。其中,所述同态加密指的是对称加密,包括:对给定的明文(x1,x2,…,xn),利用同态加密算法加密后得到密文c,在所述同态加密中允许任何人对密文c进行任何操作f,操作后得到的密文f(c)解密后与f(x1,x2,…,xn)的结果是一样的,并在其加密过程中所述(x1,x2,…,xn)、f(x1,x2,…,xn)以及任何中间明文没有出现泄露,包括输入值、输出值、中间值一直处于加密状态中。所述半同态加密指的是非对称加密,在所述半同态加密中要求加密明文仅满足加法同态或乘法同态。较佳地,本发明将rsa加密算法所述半同态加密的算法。

较佳地,本发明中通过所述rsa加密算法对所述初始秘钥k0进行加密生成所述加密秘钥k1、k2以及k3,根据所述加密秘钥k1、k2以及k3分别应用于上述l1、l2以及l3合同文件集的加密,得到所述普通合同文件集、核心合同文件集以及机密合同文件集。其中,所述初始秘钥k0为用户设置的初始密码,所述初始密码包括数字、字母以及字符等,比如123、abc、123abc等。

进一步地,所述生成所述加密秘钥k1、k2以及k3包括:获取所述初始秘钥的公开秘钥(pk);通过所述pk对所述初始秘钥k0的单向加密函数(epk)进行加密,生成所述加密秘钥k1、k2和k3。其中,所述单向加密函数(epk)对秘钥k0进行加密后依次迭代生成由低到高的秘钥k1、k2和k3,包括:k1=epk(k0),k2=epk(k1),k3=epk(k2)。所述rsa加密算法的公钥是(e,n),所述对所述初始秘钥的单向加密函数(epk)加密包括:

将所述初始秘钥中任意一个明文m进行加密得到:

c=e(m)=memodn;

将所述初始秘钥中任意的两个明文mx,my进行同态相乘加密得到:

同理,将所述初始秘钥中任意的明文m1,m2,…mn进行同态相乘加密得到:

e(m1)*e(m2)*…e(mn)=e(m1*m2*…mn)。

s3、当用户进行查看所述目标合同文件集时,从预先构建的解密秘钥集中选取与所述用户的查看权限对应的解密秘钥,根据所述解密秘钥将所述目标合同文件集进行解密。

本发明较佳实施例中,在上述生成加密秘钥的公开秘钥(pk)的同时生成私用秘钥(sk),通过所述sk构建所述解密秘钥集。在对所述目标合同文件集解密时,根据分配的私用秘钥sk,通过私用秘钥中的单向解密函数与对应所述单向加密函数进行解密,生成不高于自身级别的解密秘钥,通过所述解密秘钥完成对所述目标合同文件集解密,完成对低于自身级别的加密合同解密。由于所述公开秘钥体制的单向性特点,所述单向加密函数(epk)可以加密k0依次迭代生成由低到高的等级秘钥k1、k2和k3,而单向解密函数(dsk)可以从k1、k2或k3中的某个开始,依次迭代产生由高到低的等级秘钥。例如,k2=epk(k1),k2=dsk(k3),k1=dsk(k2)。当用户进行查看所述目标合同文件集时,从预先构建的解密秘钥集中选取与所述用户的查看权限对应的解密秘钥,根据所述解密秘钥将所述目标合同文件集进行解密。其中,对于低级别的用户在没有公开秘钥pk的情况下,将无法获取高一级的解密秘钥,从而无法解密高一级的合同文档密文;而只能根据私用秘钥sk计算得到低一级的数据解密秘钥,解密低一级的合同文档,实现所述目标合同文件集分级解密,从而恢复解密后的所述目标合同文件集。

发明还提供一种合同的加密和解密装置。参照图2所示,为本发明一实施例提供的合同的加密和解密装置的内部结构示意图。

在本实施例中,所述合同的加密和解密装置1可以是pc(personalcomputer,个人电脑),或者是智能手机、平板电脑、便携计算机等终端设备,也可以是一种服务器等。该合同的加密和解密装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。

其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是合同的加密和解密装置1的内部存储单元,例如该合同的加密和解密装置1的硬盘。存储器11在另一些实施例中也可以是合同的加密和解密装置1的外部存储设备,例如合同的加密和解密装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括合同的加密和解密装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于合同的加密和解密装置1的应用软件及各类数据,例如合同的加密和解密程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行合同的加密和解密程序01等。

通信总线13用于实现这些组件之间的连接通信。

网络接口14可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该装置1与其他电子设备之间建立通信连接。

可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在合同的加密和解密装置1中处理的信息以及用于显示可视化的用户界面。

图2仅示出了具有组件11-14以及合同的加密和解密程序01的合同的加密和解密装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对合同的加密和解密装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

在图2所示的装置1实施例中,存储器11中存储有合同的加密和解密程序01;处理器12执行存储器11中存储的合同的加密和解密程序01时实现如下步骤:

步骤一、接收基于审核通过的合同文件集,按预设的用户查看权限对所述合同文件集中的合同文件进行保密评级并生成每个所述合同文件的加密级别信息。

本发明较佳实施例中,所述基于审核通过的合同文件集是由专业法律人员进行撰写的合同模板并由企业高层人员审核通过形成得到。其中,所述合同模板可以为劳动合同模板、买卖合同模板以及债权转让合同模板等。

较佳地,本发明中所述预设的用户查看权限通过所述合同文件集的重要程度进行设置。详细地,本发明较佳实施例按合同文件的重要程度由低到高划分为l1、l2以及l3三个级别,得到l1合同文件集、l2合同文件集以及l3合同文件集,根据所述三个级别的合同文件集的划分完成所述合同文件集的保密评级。其中,所述l1合同文件集为企业所有员工可以查看;所述l2合同文件集为企业的部分部门可见,所述部分部门可以为法律部门、风控部门、以及人力资源部门等;所述l3合同文件集为企业的部分员工可见,所述部分员工可以为企业的ceo、cfo以及coo等。

步骤二、根据所述合同文件集中每个合同文件的加密级别信息,将所述合同文件集进行分级加密,得到目标合同文件集。

本发明较佳实施例通过获取初始秘钥,生成与所述加密级别信息对应的加密秘钥,并将所述加密级别信息对应的多种加密秘钥组成加密秘钥集合,根据所述加密秘钥集合对所述合同文件集进行分级加密,得到所述目标合同文件集,其中,所述目标合同文件集包括加密级别依次递减的机密合同文件子集、核心合同文件子集以及普通合同文件子集。详细地,所述加密秘钥指的是由低到高级别的加密秘钥k1、k2以及k3,其中,所述加密秘钥k1、k2以及k3分别对应上述l1、l2以及l3合同文件集进行加密,并按所述合同文件集级别由低到高划分为普通合同文件子集、核心合同文件子集以及机密合同文件子集。其中,所述加密秘钥k1、k2以及k3由初始秘钥k0通过公钥加密生成。较佳地,本发明所述公钥加密为半同态加密。其中,所述同态加密指的是对称加密,包括:对给定的明文(x1,x2,…,xn),利用同态加密算法加密后得到密文c,在所述同态加密中允许任何人对密文c进行任何操作f,操作后得到的密文f(c)解密后与f(x1,x2,…,xn)的结果是一样的,并在其加密过程中所述(x1,x2,…,xn)、f(x1,x2,…,xn)以及任何中间明文没有出现泄露,包括输入值、输出值、中间值一直处于加密状态中。所述半同态加密指的是非对称加密,在所述半同态加密中要求加密明文仅满足加法同态或乘法同态。较佳地,本发明将rsa加密算法所述半同态加密的算法。

较佳地,本发明中通过所述rsa加密算法对所述初始秘钥k0进行加密生成所述加密秘钥k1、k2以及k3,根据所述加密秘钥k1、k2以及k3分别应用于上述l1、l2以及l3合同文件集的加密,得到所述普通合同文件集、核心合同文件集以及机密合同文件集。其中,所述初始秘钥k0为用户设置的初始密码,所述初始密码包括数字、字母以及字符等,比如123、abc、123abc等。

进一步地,所述生成所述加密秘钥k1、k2以及k3包括:获取所述初始秘钥的公开秘钥(pk);通过所述pk对所述初始秘钥k0的单向加密函数(epk)进行加密,生成所述加密秘钥k1、k2和k3。其中,所述单向加密函数(epk)对秘钥k0进行加密后依次迭代生成由低到高的秘钥k1、k2和k3,包括:k1=epk(k0),k2=epk(k1),k3=epk(k2)。所述rsa加密算法的公钥是(e,n),所述对所述初始秘钥的单向加密函数(epk)加密包括:

将所述初始秘钥中任意一个明文m进行加密得到:

c=e(m)=memodn;

将所述初始秘钥中任意的两个明文mx,my进行同态相乘加密得到:

同理,将所述初始秘钥中任意的明文m1,m2,…mn进行同态相乘加密得到:

e(m1)*e(m2)*…e(mn)=e(m1*m2*…mn)。

步骤三、当用户进行查看所述目标合同文件集时,从预先构建的解密秘钥集中选取与所述用户的查看权限对应的解密秘钥,根据所述解密秘钥将所述目标合同文件集进行解密。

本发明较佳实施例中,在上述生成加密秘钥的公开秘钥(pk)的同时生成私用秘钥(sk),通过所述sk构建所述解密秘钥集。在对所述目标合同文件集解密时,根据分配的私用秘钥sk,通过私用秘钥中的单向解密函数与对应所述单向加密函数进行解密,生成不高于自身级别的解密秘钥,通过所述解密秘钥完成对所述目标合同文件集解密,完成对低于自身级别的加密合同解密。由于所述公开秘钥体制的单向性特点,所述单向加密函数(epk)可以加密k0依次迭代生成由低到高的等级秘钥k1、k2和k3,而单向解密函数(dsk)可以从k1、k2或k3中的某个开始,依次迭代产生由高到低的等级秘钥。例如,k2=epk(k1),k2=dsk(k3),k1=dsk(k2)。当用户进行查看所述目标合同文件集时,从预先构建的解密秘钥集中选取与所述用户的查看权限对应的解密秘钥,根据所述解密秘钥将所述目标合同文件集进行解密。其中,对于低级别的用户在没有公开秘钥pk的情况下,将无法获取高一级的解密秘钥,从而无法解密高一级的合同文档密文;而只能根据私用秘钥sk计算得到低一级的数据解密秘钥,解密低一级的合同文档,实现所述目标合同文件集分级解密,从而恢复解密后的所述目标合同文件集。

可选地,在其他实施例中,合同的加密和解密程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述合同的加密和解密程序在合同的加密和解密装置中的执行过程。

例如,参照图3所示,为本发明合同的加密和解密装置一实施例中的合同的加密和解密程序的程序模块示意图,该实施例中,所述合同的加密和解密程序可以被分割为保密评级模块10、分级加密20以及分级解密模块30示例性地:

所述保密评级模块10用于:接收基于审核通过的合同文件集,按预设的用户查看权限对所述合同文件集中的各合同文件进行保密评级并生成每个所述合同文件的加密级别信息。

所述分级加密模块20用于:根据所述合同文件集中每个合同文件的加密级别信息,将所述合同文件集进行分级加密,得到目标合同文件集,所述目标合同文件集包括具有不同加密级别的多个目标合同文件子集,加密级别与用户查看权限相对应。

所述分级解密模块30用于:接收合同文件查看请求,所述合同文件查看请求包括用户查看权限,从预先构建的解密秘钥集中选取与所述用户查看权限对应的解密秘钥,根据所述解密秘钥将所述目标合同文件集中与所述合同文件查看请求对应的合同文件进行解密。

上述保密评级模块10、分级加密模块20以及分级解密模块30等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有合同的加密和解密程序,所述合同的加密和解密程序可被一个或多个处理器执行,以实现如下操作:

接收基于审核通过的合同文件集,按预设的用户查看权限对所述合同文件集中的各合同文件进行保密评级并生成每个所述合同文件的加密级别信息;

根据所述合同文件集中每个合同文件的加密级别信息,将所述合同文件集进行分级加密,得到目标合同文件集,所述目标合同文件集包括具有不同加密级别的多个目标合同文件子集,加密级别与用户查看权限相对应;

接收合同文件查看请求,所述合同文件查看请求包括用户查看权限,从预先构建的解密秘钥集中选取与所述用户查看权限对应的解密秘钥,根据所述解密秘钥将所述目标合同文件集中与所述合同文件查看请求对应的合同文件进行解密。

本发明计算机可读存储介质具体实施方式与上述合同的加密和解密装置和方法各实施例基本相同,在此不作累述。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。


技术特征:

1.一种合同的加密和解密方法,其特征在于,所述方法包括:

接收审核通过的合同文件集,按预设的用户查看权限对所述合同文件集中的各合同文件进行保密评级并生成每个所述合同文件的加密级别信息;

根据所述合同文件集中每个合同文件的加密级别信息,将所述合同文件集进行分级加密,得到目标合同文件集,所述目标合同文件集包括具有不同加密级别的多个目标合同文件子集,加密级别与用户查看权限相对应;

接收合同文件查看请求,所述合同文件查看请求包括用户查看权限,从预先构建的解密秘钥集中选取与所述用户查看权限对应的解密秘钥,根据所述解密秘钥将所述目标合同文件集中与所述合同文件查看请求对应的合同文件进行解密。

2.如权利要求1所述的合同的加密和解密方法,其特征在于,所述将所述合同文件集进行分级加密,得到目标合同文件集包括:

获取初始秘钥,生成与所述加密级别信息对应的加密秘钥,并将所述加密级别信息对应的多种加密秘钥组成加密秘钥集合;

根据所述加密秘钥集合对所述合同文件集进行分级加密,得到所述目标合同文件集,其中,所述目标合同文件集包括加密级别依次递减的机密合同文件子集、核心合同文件子集以及普通合同文件子集。

3.如权利要求2所述的合同的加密和解密方法,其特征在于,所述获取初始秘钥,生成与所述加密级别信息对应的加密秘钥包括:

获取所述初始秘钥的公开秘钥,通过所述公开秘钥对所述初始秘钥的单向加密函数进行加密,以生成与所述加密级别信息对应的加密秘钥,其中,所述单向加密函数对秘钥k0进行加密后依次迭代生成由低到高的秘钥k1、k2和k3。

4.如权利要求3所述的合同的加密和解密方法,其特征在于,所述对所述初始秘钥的单向加密函数进行加密包括:

将所述初始秘钥中任意一个明文m进行加密得到:

c=e(m)=memodn,其中,e(m)表示加密后的明文m,e表示无限不循环小数,modn表示加密次数;

将所述初始秘钥中任意的两个明文mx,my进行同态相乘加密得到:

其中,e(mx)表示加密后的明文mx,e(my)表示加密后的明文my;

将所述初始秘钥中任意的明文m1,m2,...mn进行同态相乘加密得到:

e(m1)*e(m2)*...e(mn)=e(m1*m2*...mn)。

5.如权利要求1至4中任意一项所述的合同的加密和解密方法,其特征在于,所述从预先构建的解密秘钥集中选取与所述用户查看权限对应的解密秘钥包括:

获取预先分配的与所述用户查看权限对应的私用秘钥;

根据所述私用秘钥中的单向解密函数解密对应的单向加密函数,以生成与所述用户查看权限对应的解密秘钥,其中,所述单向解密函数根据上述单向加密函数依次迭代产生由高到低的等级秘钥。

6.一种合同的加密和解密装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的合同的加密和解密程序,所述合同的加密和解密程序被所述处理器执行时实现如下步骤:

接收审核通过的合同文件集,按预设的用户查看权限对所述合同文件集中的各合同文件进行保密评级并生成每个所述合同文件的加密级别信息;

根据所述合同文件集中每个合同文件的加密级别信息,将所述合同文件集进行分级加密,得到目标合同文件集,所述目标合同文件集包括具有不同加密级别的多个目标合同文件子集,加密级别与用户查看权限相对应;

接收合同文件查看请求,所述合同文件查看请求包括用户查看权限,从预先构建的解密秘钥集中选取与所述用户查看权限对应的解密秘钥,根据所述解密秘钥将所述目标合同文件集中与所述合同文件查看请求对应的合同文件进行解密。

7.如权利要求6所述的合同的加密和解密装置,其特征在于,所述述将所述合同文件集进行分级加密,得到目标合同文件集包括:

获取初始秘钥,生成与所述加密级别信息对应的加密秘钥,并将所述加密级别信息对应的多种加密秘钥组成加密秘钥集合;

根据所述加密秘钥集合对所述合同文件集进行分级加密,得到所述目标合同文件集,其中,所述目标合同文件集包括加密级别依次递减的机密合同文件子集、核心合同文件子集以及普通合同文件子集。

8.如权利要求7所述的合同的加密和解密装置,其特征在于,所述获取初始秘钥,生成与所述加密级别信息对应的加密秘钥包括:

获取所述初始秘钥的公开秘钥,通过所述公开秘钥对所述初始秘钥的单向加密函数进行加密,以生成与所述加密级别信息对应的加密秘钥,其中,所述单向加密函数对秘钥k0进行加密后依次迭代生成由低到高的秘钥k1、k2和k3。

9.如权利要求8所述的合同的加密和解密装置,其特征在于,所述对所述初始秘钥的单向加密函数加密包括:

将所述初始秘钥中任意一个明文m进行加密得到:

c=e(m)=memodn,其中,e(m)表示加密后的明文m,e表示无限不循环小数,modn表示加密次数;

将所述初始秘钥中任意的两个明文mx,my进行同态相乘加密得到:

其中,e(mx)表示加密后的明文mx,e(my)表示加密后的明文my。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有合同的加密和解密程序,所述合同的加密和解密程序可被一个或者多个处理器执行,以实现如权利要求1至5中任一项所述的合同的加密和解密方法的步骤。

技术总结
本发明涉及一种信息安全技术,揭露了一种合同的加密和解密方法,包括:接收审核通过的合同文件集,按预设的用户查看权限对所述合同文件集中的各合同文件进行保密评级并生成每个所述合同文件的加密级别信息;根据所述合同文件集中每个合同文件的加密级别信息,将所述合同文件集进行分级加密,得到目标合同文件集;接收合同文件查看请求,所述合同文件查看请求包括用户查看权限,从预先构建的解密秘钥集中选取与所述用户查看权限对应的解密秘钥,根据所述解密秘钥将所述目标合同文件集中与所述合同文件查看请求对应的合同文件进行解密。本发明还提出一种合同的加密和解密装置以及一种计算机可读存储介质。本发明实现了合同的加密和解密。

技术研发人员:石明川;周琨
受保护的技术使用者:平安科技(深圳)有限公司
技术研发日:2020.01.09
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-21682.html

最新回复(0)