CN101409618B - 一种多读者文档加密和解密方法 - Google Patents

一种多读者文档加密和解密方法 Download PDF

Info

Publication number
CN101409618B
CN101409618B CN2008102193395A CN200810219339A CN101409618B CN 101409618 B CN101409618 B CN 101409618B CN 2008102193395 A CN2008102193395 A CN 2008102193395A CN 200810219339 A CN200810219339 A CN 200810219339A CN 101409618 B CN101409618 B CN 101409618B
Authority
CN
China
Prior art keywords
reader
file
group
encryption
remote server
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.)
Expired - Fee Related
Application number
CN2008102193395A
Other languages
English (en)
Other versions
CN101409618A (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.)
Sun Yat Sen University
Original Assignee
农革
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 农革 filed Critical 农革
Priority to CN2008102193395A priority Critical patent/CN101409618B/zh
Publication of CN101409618A publication Critical patent/CN101409618A/zh
Application granted granted Critical
Publication of CN101409618B publication Critical patent/CN101409618B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种多读者文档加密和解密方法。加密过程:作者首先在客户端用密钥Kp将文件密码Kb和一个随机数S加密得到密码数据X,用密码Kb将源文件Fs加密成密文Y,然后将所有读者按照一定规律分组,利用密钥Ks对每组读者身份信息和X进行签名得到签名数据H,最后将X、所有读者组信息和Y分别存储在加密文件Fd之中;解密过程:读者查找Fd文件头所有读者组信息,确认自己为授权读者,然后将X、自己所属读者组信息发往服务器请求解密,服务器利用作者的密钥Kp验证该读者信息,再利用密钥Ks对X进行解密,得到密码Kb并返回给读者,然后读者利用Kb将Y解密还原为Fs。利用本发明不但可以对具有大读者群的文件进行加密授权,还显著提高了存储效率。

Description

一种多读者文档加密和解密方法
技术领域
本发明涉及一种数据加密和解密的方法,尤其涉及一种通过互联网自动完成多读者授权文档加、解密的方法。
背景技术
在一种数据加密、解密系统和方法(申请号:200710030135.2,申请人农革)中提出了一个加密方案,该方案利用每个读者的公钥对文件密码进行加密,然后把加密后的密码和读者身份信息附在文件头中。解密时根据文件头中的读者身份信息,通过网络获取该读者的私钥,再利用该私钥解密文件头中的文件密码,然后用解密后的文件密码对文件进行解密。用该方案生成的文件,对每一个该文件的读者,在文件头中都包含了用该读者的公钥进行加密后的文件密码。假设每个读者的授权信息需要m字节,存储n个读者的授权信息所需的空间为nm字节。在实际应用中,为了使加密后的文件密码被破解的难度增加,m的典型值为256到512个字节。不失一般性,假设m为256;如果n为1024,则授权信息至少需要256K字节以上。这样就导致了该方案的一个缺点:当读者数增加时,授权信息增长过快、占用过多的存储空间。
发明内容
本申请提出一个新型的文件加密和授权方案,有效克服上述所提方案的缺点。利用本发明生成的每个文件,其中包含的授权信息所需的存储空间约为32n字节,其中n为读者数。假设n为1024,本发明的方案只需要32K字节的空间来存储加密文件的读者授权信息。
多读者文档加密和解密方法是基于一种加密和解密系统,该系统包括一个接受用户指令对文件进行加密和解密、以及进行公/私钥管理的客户端系统和一个从客户端子系统处接受作业请求、执行作业并返回作业结果的服务器系统,客户端子系统和服务器子系统通过互联网进行数据通讯。
客户端系统的公/私钥管理包括利用用户的身份验证码通过互联网登录远程服务器系统,并从用户处接受指令,对存储于远程服务器系统中的公、私钥进行更新、发布和检索管理,还包括在本地生成公、私钥,并将其存储到远程服务器系统。
服务器系统执行的作业包括公/私钥的生成、存储、发布和管理,所述公钥的发布信息的查阅,服务器还根据用户的预先设置对来自不同用户的查阅请求作出权限控制,根据用户在服务器中所存储的密钥对作业中提交的数据进行加密、解密、签名和验证签名。
该方法加密过程为:
11)在所述客户端,作者A把文件密码Kb和一个随机数S用作者的密钥Kp进行加密,获取加密后的密码数据X,并把X存储于Fd的文件头;
12)把n个读者按每组不多于g个读者分为j组,对每组读者重复步骤13)—14);
13)用Ks对该组读者的身份信息和X进行签名运算,获得该组读者授权信息的签名数据H;
14)把该组读者的身份信息和签名数据H作为一个记录,存储于Fd的文件头;
15)把源文件Fs用Kb加密后获得密文Y,然后把Y存储于Fd的文件头之后。
该方法解密过程为:
21)在所述客户端,读者R查找Fd文件头中所有读者组,如果有读者组包含R为读者,则把该组的读者身份信息、签名数据和加密后的密码数据X一起通过互联网发往服务器请求解密;
22)所述服务器收到解密请求后,根据该请求中的读者身份信息和加密后的密码数据X用作者的密钥Kp验证读者R是否属于该读者组;
23)如果步骤2中验证签名不通过,则拒绝该请求并退出,否则进行下一步;
24)用作者的密钥Ks对X进行解密,获取加密Fs的密码Kb;
25)把Kb通过互联网返回给提交请求的读者R;
26)读者R用Kb把Fd解密还原为源文件Fs。
上述整个加密文件Fd的数据结构为:
Figure G2008102193395D00031
上述每个读者组的数据结构为:
Figure G2008102193395D00041
利用本发明生成的每个文件,其中包含的授权信息所需的存储空间约为32n字节,其中n为读者数;假设n为1024,本发明的方案只需要32K字节的空间来存储加密文件的读者授权信息。而背景技术中专利中的方案所需的256K字节相比,仅为其1/8,因而显著提高了存储效率,可用于对具有大读者群的文件进行加密授权。
附图说明
图1a为本方法的加密流程图,图1b为本方法的解密流程图。
图2为本方法所基于系统的结构图。
具体实施方式
下面结合附图对本发明进行进一步阐述。
如图2所示,本发明所基于的系统基础包括一个接受用户指令对文件进行加密和解密、以及进行公/私钥管理的客户端系统和一个从客户端子系统处接受作业请求、执行作业并返回作业结果的服务器系统。该系统的用户通过客户端来使用本系统所提供的文件加密解密服务,各客户端和服务器之间通过互联网进行通信。
在下面的描述中,作者是制作该文件的用户,而读者是被作者授权可以解密该文件的用户,每个文件的作者都是该文件的读者。本方案中,每个作者都有属于自己的一对密钥Kp和Ks,这两个密钥可以相同,也可以不同,该对密钥被用来对文件进行加密、解密和读者授权。
如图1a所示,作者A把源文件Fs加密到一个有n个读者的目的文件Fd的步骤如下:
1)在客户端,作者A把文件密码Kb和一个随机数S用作者的密钥Kp进行加密,获取加密后的密码数据X,并把X存储于Fd的文件头。
2)把n个读者按每组不多于g个读者分为j组,对每组读者重复步骤3)—4)。
3)用Ks对该组读者的身份信息和X进行签名运算,获得该组读者授权信息的签名数据H。
4)把该组读者的身份信息和签名数据H作为一个记录,存储于Fd的文件头。
5)把源文件Fs用Kb加密后获得密文Y,然后把Y存储于Fd的文件头之后。
整个加密文件Fd的数据结构为:
Figure G2008102193395D00051
每个读者组的数据结构为:
Figure G2008102193395D00052
如图1b所示,读者R试图把一个加密文件Fd解密还原为源文件Fs的方法如下:
1)在客户端,读者R查找Fd文件头中所有读者组,如果有读者组包含R为读者,则把该组的数据(读者身份信息、签名数据)和加密后的密码数据X一起通过互联网发往服务器请求解密;
2)服务器收到解密请求后,根据该请求中的读者身份信息和加密后的密码数据X用作者的密钥Kp验证读者R是否属于该读者组;
3)如果步骤2中验证签名不通过,则拒绝该请求并退出,否则进行下一步;
4)用作者的密钥Ks对X进行解密,获取加密Fs的密码Kb;
5)把Kb通过互联网返回给提交请求的读者R。
6)读者R用Kb把Fd解密还原为Fs。
我们通过一个应用例子来对本发明做更详细的描述。假设用户u1为作者,其要用密码“abc”加密源文件Fs到目的文件Fd,并且授权用户u1到u40可以解密Fd,即u1到u40为Fd的读者。假设读者以每16人为一组。以下为运用本发明进行加密和解密的具体过程。
加密
1.把文件密码“abc”和一个随机数“0811”用作者(用户u1)的密钥Kp进行加密,获取加密后的密码数据X,并把X存储于Fd的文件头;
2.把读者u1到u40分成三组:u1到u16、u17到u32、u33到u40;对每组执行以下步骤3到4的操作;
3.用作者的密钥Ks对该组用户的身份信息和X进行签名,获得签名数据H;
4.把该组读者的身份信息和签名数据H作为一个记录,存储于Fd的文件头;
5.把文件Fs用密码“abc”加密获取密文,并把密文存储于Fd的文件头之后。
解密
假设读者u2要解密文件Fd,其过程为:
1.查找Fd文件头中所有读者组,发现其本身包含于组1;
2.把组1的数据(读者u1到u16身份信息、签名数据)和加密后的密码数据X一起发往服务器请求解密;
3.服务器收到解密请求后,根据该请求中的读者身份信息和加密后的密码数据X用作者u1的密钥Kp验证读者u2是否属于该读者组;
4.步骤3中签名通过验证,进行下一步,否则退出;
5.用作者的密钥Ks对X进行解密,获取文件加密原密码“abc”;
6.把“abc”返回给提交请求的读者u2。
6.读者u2用“abc”来把Fd解密还原为Fs。
假设非授权读者u99试图解密文件Fd,其过程为:
1.查找文件头中所有读者组,发现其本身不包含于任何读者组,退出。
在以上例子中,如果u99在知道自己未获授权的情况下仍然往服务器发送请求,企图欺骗服务器获取文件解密密码,则会进入以下过程:
1.假设u99选择任一读者组,不失一般性,假设为读者组2,并把自己替换该组中的任一读者,然后把修改后的该组数据(读者身份信息、签名数据)和加密后的密码数据X一起发往服务器请求解密;
2.服务器收到解密请求后,根据该请求中的读者身份信息和加密后的密码数据X用作者的密钥Kp验证读者u2是否属于该读者组;
3.步骤2中的签名验证没有通过,服务器拒绝该请求并退出。

Claims (3)

1.一种多读者文档加密和解密方法,它是基于一种加密和解密系统,该系统包括一个接受用户指令对文件进行加密和解密、以及进行公/私钥管理的客户端系统和一个从客户端系统处接受作业请求、执行作业并返回作业结果的远程服务器系统,客户端系统和远程服务器系统通过互联网进行数据通讯:
客户端系统的公/私钥管理包括利用用户的身份验证码通过互联网登录远程服务器系统,并从用户处接受指令,对存储于远程服务器系统中的公、私钥进行更新、发布和检索管理,还包括在本地生成公、私钥,并将其存储到远程服务器系统;远程服务器系统执行的作业包括公/私钥的生成、存储、发布和管理,所述公钥的发布信息的查阅,远程服务器系统还根据用户的预先设置对来自不同用户的查阅请求作出权限控制,根据用户在远程服务器系统中所存储的密钥对作业中提交的数据进行加密、解密、签名和验证签名,
其特征在于,该方法加密过程为:
11)在所述客户端,作者A把文件密码Kb和一个随机数S用作者公私密钥对(Kp,Ks)的公钥Kp进行加密,获取加密后的密码数据X,并把X存储于加密文件Fd的文件头;
12)把n个读者按每组不多于g个读者分为j组,对每组读者重复步骤13)-14);
13)用作者的私钥Ks对该组读者的身份信息和X进行签名运算,获得该组读者授权信息的签名数据H; 
14)把该组读者的身份信息和签名数据H作为一个记录,存储于Fd的文件头;
15)把源文件Fs用Kb加密后获得密文Y,然后把Y存储于Fd的文件头之后;
所述方法解密过程为:
21)在所述客户端,读者R查找Fd文件头中所有读者组,如果有读者组包含R为读者,则把该组的读者身份信息、签名数据和加密后的密码数据X一起通过互联网发往服务器请求解密;
22)所述远程服务器系统收到解密请求后,根据该请求中的读者身份信息、签名数据和加密后的密码数据X用作者的公钥Kp验证读者R是否属于该读者组;
23)如果步骤22中验证签名不通过,则拒绝该请求并退出,否则进行下一步;
24)用作者的私钥Ks对X进行解密,获取加密源文件Fs的密码Kb;
25)把Kb通过互联网返回给提交请求的读者R;
26)读者R用Kb把密文Y解密还原为源文件Fs。
2.根据权利要求1所述的多读者文档加密和解密方法,其特征在于,所述整个加密文件Fd的数据结构为:
Figure FSB00000245507400021
3.根据权利要求1所述的多读者文档加密和解密方法,其特征在于,所述每个读者组的数据结构为: 
Figure FSB00000245507400031
CN2008102193395A 2008-11-24 2008-11-24 一种多读者文档加密和解密方法 Expired - Fee Related CN101409618B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102193395A CN101409618B (zh) 2008-11-24 2008-11-24 一种多读者文档加密和解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102193395A CN101409618B (zh) 2008-11-24 2008-11-24 一种多读者文档加密和解密方法

Publications (2)

Publication Number Publication Date
CN101409618A CN101409618A (zh) 2009-04-15
CN101409618B true CN101409618B (zh) 2011-01-26

Family

ID=40572428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102193395A Expired - Fee Related CN101409618B (zh) 2008-11-24 2008-11-24 一种多读者文档加密和解密方法

Country Status (1)

Country Link
CN (1) CN101409618B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103368901A (zh) * 2012-03-27 2013-10-23 复旦大学 基于大规模离散数据的云计算系统
CN107172106B (zh) * 2017-07-21 2020-12-22 深圳易方数码科技股份有限公司 安全信息交互方法和系统
CN108418833B (zh) * 2018-03-23 2022-01-07 中科创达软件股份有限公司 一种软件的管理方法、云端服务器和终端
CN108737428B (zh) * 2018-05-24 2021-07-27 中国联合网络通信集团有限公司 基于图像识别的皮肤病确定方法和装置
CN109286485B (zh) * 2018-10-17 2019-10-25 西安邮电大学 通用可复合的身份代理签密方法
CN114268447B (zh) * 2020-09-16 2023-04-07 京东科技信息技术有限公司 一种文件传输方法、装置、电子设备和计算机可读介质
CN114722418B (zh) * 2022-06-10 2022-09-20 深圳市江元科技(集团)有限公司 一种安卓系统硬件加密的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694025B1 (en) * 1999-06-02 2004-02-17 Koninklijke Philips Electronics N.V. Method and apparatus for secure distribution of public/private key pairs
CN1576300A (zh) * 2003-06-25 2005-02-09 住友化学工业株式会社 丙烯基树脂发泡片材及由其制备的容器
CN1820448A (zh) * 2003-06-19 2006-08-16 国际商业机器公司 用于使用三阶段加密来加密和验证消息的系统和方法
CN1832398A (zh) * 2006-04-14 2006-09-13 中国软件与技术服务股份有限公司 文件加密共享的方法和系统
CN101123495A (zh) * 2007-09-07 2008-02-13 农革 一种数据加密、解密系统和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694025B1 (en) * 1999-06-02 2004-02-17 Koninklijke Philips Electronics N.V. Method and apparatus for secure distribution of public/private key pairs
CN1820448A (zh) * 2003-06-19 2006-08-16 国际商业机器公司 用于使用三阶段加密来加密和验证消息的系统和方法
CN1576300A (zh) * 2003-06-25 2005-02-09 住友化学工业株式会社 丙烯基树脂发泡片材及由其制备的容器
CN1832398A (zh) * 2006-04-14 2006-09-13 中国软件与技术服务股份有限公司 文件加密共享的方法和系统
CN101123495A (zh) * 2007-09-07 2008-02-13 农革 一种数据加密、解密系统和方法

Also Published As

Publication number Publication date
CN101409618A (zh) 2009-04-15

Similar Documents

Publication Publication Date Title
EP2351316B1 (en) Method and system for token-based authentication
CN111447214B (zh) 一种基于指纹识别的公钥密码集中服务的方法
CN101090316B (zh) 离线状态下存储卡与终端设备之间的身份认证方法
CN101409618B (zh) 一种多读者文档加密和解密方法
CN113067699B (zh) 基于量子密钥的数据共享方法、装置和计算机设备
CN113918981B (zh) 一种基于属性的加密方法及系统
CN103731432A (zh) 一种支持多用户的可搜索加密系统及方法
US6988198B1 (en) System and method for initializing operation for an information security operation
CN1640092A (zh) 用于提供带客户授权验证的密钥管理协议的系统和方法
CN101123495A (zh) 一种数据加密、解密系统和方法
CN101359991A (zh) 基于标识的公钥密码体制私钥托管系统
CN112311537B (zh) 基于区块链的设备接入认证系统及方法
CN107920052B (zh) 一种加密方法及智能装置
WO2013007525A1 (en) Method and system to share or storage personal data without loss of privacy
CN112187798B (zh) 一种应用于云边数据共享的双向访问控制方法及系统
CN101515947A (zh) 基于p2p的文件快速安全分发方法及系统
US7412059B1 (en) Public-key encryption system
CN108809636B (zh) 基于群组型量子密钥卡实现成员间消息认证的通信系统
CN110138548B (zh) 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和系统
CN104158827A (zh) 密文数据共享方法、装置、查询服务器和上传数据客户端
CN105281902A (zh) 一种基于移动终端的Web系统安全登录方法
CN104486087A (zh) 一种基于远程硬件安全模块的数字签名方法
JP4823704B2 (ja) 認証システムおよび同システムにおける認証情報委譲方法ならびにセキュリティデバイス
CN108809936A (zh) 一种基于混合加密算法的智能移动终端身份验证方法及其实现系统
Guo et al. Using blockchain to control access to cloud data

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20161216

Address after: 510275 Xingang West Road, Guangdong, China, No. 135, No.

Patentee after: Zhongshan Univ.

Address before: 510275 Department of computer science, Zhongshan University, Xingang West Road, Guangdong,, Guangzhou, China

Patentee before: Nong Ge

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110126

Termination date: 20181124