一种医疗隐私数据自加密及解密的方法

文档序号:9600648阅读:986来源:国知局
一种医疗隐私数据自加密及解密的方法
【技术领域】
[0001]本发明涉及一种医疗隐私数据的加密方法及解密方法。
【背景技术】
[0002]医疗隐私数据是个人隐私数据的重要组成部分,在数据存储、交换、传输过程中均需要对数据进行加密保护。
[0003]传统的采用加密方法均采用密钥,其存在着密钥固定或需要传输密钥的缺点,对密钥保存、通信的依赖度高,使用不方便,而且安全性也无法得到保障。

【发明内容】

[0004]本发明要解决技术问题是:使得医疗隐私数据的加密及解密不需要固定和传输密钥,提高安全性及易用性。
[0005]为了解决上述技术问题,本发明的一个技术方案是提供了一种医疗隐私数据自加密方法,其特征在于,包括以下步骤:
[0006]第一步、初始化随机数种子,产生2m字节随机数p[l],p[2],...,p[i]...,p[2 m],作为密钥区,P[i]为第i个字节的随机数;
[0007]第二步、选择一个现有的加密算法,按该加密算法需要的密钥字节长度n,产生η字节随机数key[l],key [2],..., key[j],..., key [η]作为密钥,key[j]为第j个字节的随机数,η << 2m,η字节随机数key[l],key [2],..., key [η]同时满足:互不相同,且没有ASCII 码 0 和 81 ;
[0008]第三步、用第二步得到的密钥填充第一步得到的密钥区,其中:p[81] =key[l],
p[key[l]] = key[2], p[key[2]] = key[3],......,P[key[n_l]] = key[n],p[key[n]]=
0 ;设置p[k]=加密算法标识,k与81,key [1],key [2],..., key [n]均不相同,通过加密算法标识来区分第二步选择的加密算法;
[0009]第四步、将医疗隐私数据按照第二步得到的密钥及加密算法进行加密,在加密后的医疗隐私数据中插入第三步得到的密钥区。
[0010]本发明的另一个技术方案是提供了一种医疗隐私数据自解密方法,其特征在于,包括以下步骤:
[0011]第一步、读取字段数据,判断是否为隐私字段,如是,则进入下一步;
[0012]弟一■步、读取隐私字段的當钥区,重新生成當钥key [1],key [2],...,key [ j],...,
key[n],其中:key[l] = p [81],key [2] =p[key[l]],......,key[n] = p [key [n_l] ],p [81],
P[key[l]],...,p[key[n-l]]通过上述的医疗隐私数据自加密方法中的第三步得到;读取密钥区中的P[k],得到密码算法标识,p[k]通过上述的医疗隐私数据自加密方法中的第三步得到;
[0013]第三步、读取隐私字段的其余字节,按第二步得到的密钥key [1],key [2],...,key[j],...,key[n]和第二步得到的密码算法标识所代表的密码算法对隐私字段的其余字节解密,得到解密后的医疗隐私数据。
[0014]如果采用传统的加密方法,则需要固定或传输密钥,无法做到各次加密密钥不相同。如果使用本发明所提出的医疗隐私数据自加密方法,保证各次加密密钥不同,且无须固定密钥和传输密钥,提高了安全性,降低了破解的可能性。
[0015]本发明提供的方法,有利于加强医疗隐私的安全性,降低了医疗隐私被解密的可能性。本发明方法中对同一数据和不同数据每次加密的密钥均不相同,有利于加强安全性,避免固定密钥泄露,增加破解的难度。本发明采用密钥已编码的方式存储于数据本身,密钥按字节分散存放且位置不固定,使加解密者无须知道密钥的策略,能避免加密者泄露密钥以及传输密钥所带来的泄密可能,对使用者透明,妥善地解决密钥管理难度与安全性的矛盾,可有效抵御破解攻击。
【具体实施方式】
[0016]为使本发明更明显易懂,兹以优选实施例作详细说明如下。
[0017]本发明提供一种可以克服传统的隐私数据加解密处理方法。利用这种加解密处理方法,保证隐私的安全性,不需要固定和传输密钥,密钥随机产生无须指定,每次加密均使用不同的密钥,兼容各类对称加密算法,减少了隐私数据被解密的可能性,提高了隐私数据的安全性。密钥包含在加密后的数据中,密钥按字节分散存放且位置不固定,对加密者和解密者透明,无需对密钥进行管理,降低了密钥管理难度和密钥泄露的风险。
[0018]假设需要加密的隐私字段为person_diagnosis,加密算法为DES,密码标识为0,则本发明提供的一种医疗隐私数据自加密方法包括如下步骤:
[0019]步骤a、初始化随机数种子,产生1024字节随机数p[l],p[2],...,p,
[1024]作为密钥区;
[0020]步骤b、产生密钥:对于DES算法而言,密钥长度为7字节(对于AES算法而言,密钥长度为8/12/16字节),则产生7字节随机数key [1],key [2],...,key [7],并要求这7个字节:互不相同,且没有ASCII码0和81。
[0021]在本实施例中,产生的密钥可以为:
[0022]key [1] = 17,key [2] =24,key [3] = 196,key [4] =82,key [5] =47,key [6]=29,key[7] = 3。
[0023]步骤c、利用上面步骤得到密钥填充密钥区,具体方法为:设置p[81] = key[l];
设置 P[key[l]] = key[2] ,p[key[2]] = key [3],......,P[key[n_l]] = key [n], p [key [n]]
=0 ;设置p[key[n]+512]=加密算法标识。
[0024]在本实施例中,则设置为:
[0025]p[81] = 17,p[17] = 24,p[24] = 196,p[196] = 82,p[82] = 47,p[47] = 29,p [29] = 3,p [3] = 0,p [515] = 0。
[0026]步骤d、将医疗隐私数据按照步骤b得到的密钥以及之前确认的加密算法进行加
I_L| ο
[0027]步骤e、将以加密后的隐私数据替代原有的隐私数据。
[0028]步骤f、结束。
[0029]与上述加密过程相对应的,本发明提供的一种医疗隐私数据自解密方法,其步骤为:
[0030]步骤1、读取字段数据,判断是否为隐私字段,如是,则进入步骤j,否则进入步骤1;
[0031]步骤j、再读取隐私数据的1024字节密钥区,读取密钥和密码算法标识:设置
key[l] = p[81];设置 key [2] =p[key[l]],......,直到 key[n+l]等于 0,则密钥为 key [1]
到key [η],长度为η。在本实施例中:
[0032]key [1] = 17,key [2] = p [17] = 24,key [3] = 196,key [4] = 82,key [5] = 47,key [6] = 29,key [7] = 3。
[0033]读取p[key[n]+512]为密码算法标识,在本实施例中,p[key[3]+512] = p[510]=0,表示DES加密算法。
[0034]步骤k、读取隐私数据的其余字节,按上一步得到的密钥和密码算法标识所代表的密码算法解密,得到解密后的隐私数据;
[0035]步骤1、结束。
[0036]通过采用上述加解密处理方法,不需要固定和传输密钥,密钥随机产生无须指定,每次加密均使用不同的密钥,兼容各类对称加密算法,有利于减少医疗隐私数据被解密和被反编译的可能性,有利于提高Java类文件的安全性。密钥包含在加密后的医疗隐私数据中,密钥按字节分散存放且位置不固定,对加密者和解密者透明,无需对密钥进行管理,有利于降低密钥管理难度和密钥泄露的风险。
【主权项】
1.一种医疗隐私数据自加密方法,其特征在于,包括以下步骤: 第一步、初始化随机数种子,产生2m字节随机数p [1],P [2],...,p [i]...,p [2 m],作为密钥区,P[i]为第i个字节的随机数; 第二步、选择一个现有的加密算法,按该加密算法需要的密钥字节长度n,产生η字节随机数key[l],key [2],..., key[j],..., key [η]作为密钥,key[j]为第j个字节的随机数,η << 2m,η字节随机数key [1],key [2],...,key[n]同时满足:互不相同,且没有ASCII码0和81 ; 第三步、用第二步得到的密钥填充第一步得到的密钥区,其中:P[81] = key[l],p[key[l]] = key[2], p[key[2]] = key[3],......,P[key[n_l]] = key[n],p[key[n]]=0 ;设置p[k]=加密算法标识,k与81,key [1],key [2],..., key [n]均不相同,通过加密算法标识来区分第二步选择的加密算法; 第四步、将医疗隐私数据按照第二步得到的密钥及加密算法进行加密,在加密后的医疗隐私数据中插入第三步得到的密钥区。2.—种医疗隐私数据自解密方法,其特征在于,包括以下步骤: 第一步、读取字段数据,判断是否为隐私字段,如是,则进入下一步; 第二步、读取隐私字段的密钥区,重新生成密钥key[l],key [2],...,key[j],...,key[n],其中:key[l] = p [81],key [2] =p[key[l]],......,key[n] = p [key [n_l] ],p [81],p[key[l]],...,p[key[n-l]]通过如权利要求1所述的医疗隐私数据自加密方法中的第三步得到;读取密钥区中的P[k],得到密码算法标识,p[k]通过如权利要求1所述的医疗隐私数据自加密方法中的第三步得到; 第三步、读取隐私字段的其余字节,按第二步得到的密钥key[l],key [2],...,key[j],...,key[n]和第二步得到的密码算法标识所代表的密码算法对隐私字段的其余字节解密,得到解密后的医疗隐私数据。
【专利摘要】本发明提供了一种医疗隐私数据自加密方法。本发明的另一个技术方案是提供了一种医疗隐私数据自解密方法。如果采用传统的加密方法,则需要固定或传输密钥,无法做到各次加密密钥不相同。如果使用本发明所提出的医疗隐私数据自加密方法,保证各次加密密钥不同,且无须固定密钥和传输密钥,提高了安全性,降低了破解的可能性。
【IPC分类】H04L9/16, H04L29/06
【公开号】CN105357004
【申请号】CN201510876310
【发明人】周栋, 李光亚, 陈诚
【申请人】万达信息股份有限公司
【公开日】2016年2月24日
【申请日】2015年12月3日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1