1.一种云电子医疗数据加密系统,其特征在于,包括:运行有医疗数据加密系统软件的云数据服务器cdsds、云授权服务器cask、用于对电子医疗数据读操作进行授权的计算机终端pctdo、用于对电子医疗数据写操作进行授权的计算机终端pctdm、用于读取电子医疗数据的计算机终端pctdr;
云授权服务器cask分别与计算机终端pctdo和计算机终端pctdm进行通信连接;计算机终端pctdo和计算机终端pctdm均与云数据服务器cdsds进行通信连接;云数据服务器cdsds与计算机终端pctdr进行通信连接;
所述医疗数据加密系统的加密方法,具体包括以下步骤:
步骤一:云授权服务器cask进行参数设置:令n=pq,φ(n)=(p-1)(q-1),其中p≠q都是素数,选择e,d,满足ed≡1modφ(n),公钥pk={e,n},私钥sk={d,n};
云授权服务器cask随机选取ei1、ei2,且ei1ei2≡emodφ(n),将ei1发送给计算机终端pctdm,将ei2发送给云数据服务器cdsds;
云授权服务器cask随机选取dj1、dj2,且dj1dj2≡dmodφ(n),将dj1发送给计算机终端pctdo,将dj2发送给云数据服务器cdsds;
步骤二:计算机终端pctdo进行参数设置:令g和gt是以素数p为阶的循环群,且g是g的生成元,h和hw为{0,1}*→g的散列函数,he为
计算机终端pctdo随机选取α,
设u={u1,…,un}为用户集,λ={att1,…,attp}为属性基,生成计算机终端pctdr上的用户ui的属性密钥
计算机终端pctdo随机选取
步骤三:云数据服务器cdsds根据属性群信息构造kek二叉树,并给计算机终端pctdr上的用户ui分发路径密钥pkt;
计算机终端pctdo选取
计算机终端pctdo对电子医疗数据的读密钥dj进行加密,得到读密钥dj的密文
云数据服务器cdsds对读密钥dj的密文eabe(dj)做重加密操作,具体包括:
随机选取
其中,ek(m)表示使用对称密钥k加密消息m,kek(gi)表示属性群gi的最小覆盖集合;
步骤四:计算机终端pctdm从密钥空间随机选取密钥kx作为对称密钥,先使用对称加密算法e加密消息m,得到密文
云数据服务器cdsds使用对应的写密钥ei2对密文ci2进行重加密操作,得到
步骤五:当云数据服务器cdsds使用相应的电子医疗数据的读密钥dj2对密文
计算机终端pctdr上的用户ui解密hdr获取属性群密钥
计算机终端pctdr上的用户ui解密读密钥密文
2.根据权利要求1所述的云电子医疗数据加密系统,其特征在于,所述用户ui检索关键字为w*的文件时,使用查询密钥
3.根据权利要求2所述的云电子医疗数据加密系统,其特征在于,所述云数据服务器cdsds计算
4.根据权利要求3所述的云电子医疗数据加密系统,其特征在于,所述用户ui使用kx恢复出消息