【技术实现步骤摘要】
本专利技术涉及ー种随机加密方法,用该加密方法加密生成的密文无论解密程序如何编写都需要用穷举法进行解密。
技术介绍
目前普遍使用的操作系统Windows XP和Windows Vista中采用了先进的EFS (Encrypting File System,加密文件系统)。该密码系统中的证书和私钥丢失后,无法解密被EFS加密的文件。EFS导出的私钥备份的加密强度完全取决于用户导出私钥过程中所输入的密码。为了保证证书和私钥备份的安全,使用EFS的人们往往将备份保存在移动存储设备中。当操作系统中的证书和私钥丢失时,用户常常需要翻箱倒柜寻找移动存储设备,找到后将保存在移动存储设备中备份的证书和私钥导入操作系统,然后用导入的证书和私钥解密被EFS加密的文件。现有的EFS导出导入证书和私钥的方法不但不易使用,使许多人不敢使用EFS,而且导出导入证书和私钥、两次取用和两次放置移动存储设备后所花时间平均在一分钟以上,还可能因为移动存储设备丢失而无法恢复证书和私钥,使许多用户对EFS敬而远之。另ー方面,已公知的加密方法利用用户身份信息对明文加密时,采用各种算法生成密码识别信息,利用该密码识别信息对用户身份信息的验证,为用户提供了方便,但也给破解者提供了捷径,并且该密码识别信息往往经不起攻击。还有,利用用户身份信息和随机数据共同对同一保护对象加密时,现有的随机加密方法在生成密码识别信息时,虽然将随机数据加密,但只将用户身份信息锁在密码识别信息中,并没有将随机数据锁在密码识别信息中,解密时只需要对用户身份信息进行比对,并不需要对随机数据进行比对。第四个方面当前云计算高速发展,云 ...
【技术保护点】
一种加密方法,其加密流程如下:【I】输入用户身份信息UserID和加密强度,根据随机密钥的随机长度、加密强度和预定解密速度三者之间的关系,计算随机长度Long,产生随机长度为Long的随机密钥Random,【II】采用预定算法,利用用户身份信息UserID和随机密钥Random,加密要保密的重要明文Text以得到密文ReText,其中,所述输入用户身份信息UserID和加密强度,是指下列两者之一:①用户输入用户身份信息UserID,并设置加密强度,②用户输入用户身份信息UserID,由软件系统自动设置加密强度,所述预定解密速度取决于预定的解密机器和预定的解密程序这两者的速度,所述随机长度Long是由下列之一或多个构成:随机密钥中单元的个数、随机密钥中每个单元的比特数、随机密钥中单元的变动范围,所述随机密钥Random既是对重要明文Text加密的密钥的一部分,又是对密文Retext解密的密钥的一部分,所述预定算法由下列加密算法中的一种或多种构成:替代、置换、混淆、扩散、迭代、组合拆分法、数学关系加密、变位加密、逻辑加密、算术加密、分组加密、流密码加密、线性加密、非线性加密、对称加密、非对 ...
【技术特征摘要】
1.种加密方法,其加密流程如下: I输入用户身份信息UserID和加密强度,根据随机密钥的随机长度、加密强度和预定解密速度三者之间的关系,计算随机长度Long,产生随机长度为Long的随机密钥Random, II采用预定算法,利用用户身份信息UserID和随机密钥Random,加密要保密的重要明文Text以得到密文ReText,其中, 所述输入用户身份信息UserID和加密强度,是指下列两者之一:①用户输入用户身份信息UserlD,并设置加密强度,②用户输入用户身份信息UserlD,由软件系统自动设置加密强度, 所述预定解密速度取决于预定的解密机器和预定的解密程序这两者的速度, 所述随机长度Long是由下列之一或多个构成:随机密钥中单元的个数、随机密钥中每个单元的比特数、随机密钥中单元的变动范围, 所述随机密钥Random既是对重要明文Text加密的密钥的一部分,又是对密文Retext解密的密钥的一部分, 所述预定算法由下列加密算法中的一种或多种构成:替代、置換、混淆、扩散、迭代、组合拆分法、数学关系加密、变位加密、逻辑加密、算术加密、分组加密、流密码加密、线性加密、非线性加密、对称加密、非対称加密、统计数据加密、伪随机加密算法、利用随着加密进程增加项数和调整幂次的多项式产生的流密码加密的算法、利用排序所产生的序号代码加密的算法, 所述利用用户身份信息UserID和随机密钥Random,是指除了利用包含用户身份信息UserID和随机密钥Random这两者本身外,还包括利用下列信息中的ー种或多种:由用户身份信息UserID衍生的信息、由随机密钥Random衍生的信息、随机数、由随机数衍生的信息、重要明文Text、由重要明文Text衍生的信息、由用户身份信息UserlD、随机密钥Random、随机数和重要明文Text这四者之中两者共同衍生的信息、由用户身份信息UserlD、随机密钥Random、随机数和重要明文Text这四者之中三者共同衍生的信息,由用户身份信息UserlD、随机密钥Random、随机数和重要明文Text这四者共同衍生的信息, 所述重要明文Text是指下列信息中的ー种或多种:密钥、证书、个人隐私、商业机密、企事业单位机密、计算机安全信息,存在于计算机中需要加密保护的信息片段、文件、文件夹, 所述加密要保密的重要明文Text以得到密文Retext,就是对重要明文Text、用户身份信息UserID和随机密钥Random这三者加密的过程, 所述密文Retext,不仅包含对重要明文Text加密后生成的信息,也包含对用户身份信息UserID和随机密钥Random加密后生成的信息即密码识别信息PassID,并且无论如何编写解密程序,解密时在输入用户身份信息UserID的条件下,都需要用穷举法或采用密码分析和穷举攻击相结合的方法寻找随机密钥Random,才能确保正确解密密文ReText,以释放重要明文Text, 所述加密強度取决于加密用户身份信息UserID和随机密钥Random后所生成的密码识别信息PassID,解密时, 只有先完成对密码识别信息PassID的解密,才能保证对密文Retext进行正确解密,以释放重要明文Text,并且解密时,在确认用户身份信息UserID和随机密钥Random都正确后,从重要明文Text的密文ReText中解出重要明文Text的速度比解密密码识别信息PassID的速度快许多倍,并且满足如果不解密密码识别信息PassID直接攻击密文ReText中的其他部分以得到重要明文Text的计算量不小于攻击密码识别信息PassID的计算量,因此,所述加密強度也等于对重要明文Text进行加密的加密强度并且是下列其中之一:随机长度、解密的平均计算量、解密的最大计算量、解密的平均计算量相对加密时计算量的放大倍数、解密的最大计算量相对加密时计算量的放大倍数、解密的平均计算量相对单次解密时计算量的放大倍数、解密的最大计算量相对单次解密时计算量的放大倍数、解密的平均尝试解密次数、解密的最多尝试解密次数、在预定速度机器上的平均解密时间、在预定速度机器上的最长解密时间、加密强度的等级标注。2.据权利要求1所述加密方法,其中, 所述输入用户身份信息UserID和加密强度,是指按照以下八种顺序之ー输入:①先输入用户身份信息UserlD,后输入加密强度,②先输入加密强度,并在产生随机密钥Random之前,输入用户身份信息UserlD,③先输入加密强度,并在产生随机密钥Random之后,输入用户身份信息UserlD,④在输入用户身份信息UserID的过程中,输入加密强度,并在产生随机密钥Random之前,完成输入用户身份信息UserlD,⑤在输入用户身份信息UserID的过程中,输入加密强度,并在产生随机密钥Random之后,完成输入用户身份信息UserlD,⑥由用户决定用户身份信息UserID和加密强度这两者的先后输入顺序,⑦用两个进程输入用户身份信息UserlD,并用其中ー个进程输入加密强度,⑧用两个线程输入用户身份信息UserID,并用其中ー个线程输入加密强度, 所述随机长度Long,以密文或明文的形式保存在用于保存密文Retext的相关存储空间,并且所述用于保存密文Retext的相关存储空间是指以下五者之一:①保存密文Retext的空间,②保存密文Retext这个文件属性的空间,③数据库,④用于保存随机长度Long的文件或空间,⑤用于保存随机长度Long和识别标志TextID这两者的文件或空间, 所述随机密钥Random是由下列其中ー种或多种信息构成:系统产生的随机信息、用户操作所产生的随机信息,系统产生的伪随机信息、利用用户身份信息UserID对系统产生的伪随机数据用某种算法干预后得到的信息、利用内存或外存中数据对系统产生的伪随机数据用某种算法干预后得到的信息、利用时钟数对系统产生的伪随机数据用某种算法干预后得到的信息,并且所述系统是指密码系统或操作系统, 所述对重要明文Text、用户身份信息UserID和随机密钥Random这三者加密的过程,是指下列14种过程之一:(1)对重要明文Text、用户身份信息UserID和随机密钥Random分别进行加密,以得到这三者对应的密文Rel、密文Re2、密文Re3,然后将密文Rel、密文Re2、密文Re3组合为一个密文Retext,(2)对重要明文Text、用户身份信息UserID和随机密钥Random分别进行加密,以得到这三者对应的密文Rel、密文Re2、密文Re3,将密文Rel、密文Re2和密文Re3这三者之中的两者组合为ー个代码串S,并对代码串S加密,以得到密文Re4,之后将密文Rel、密文Re2和密文Re3这三者之中没有參与构成代码串S的这个密文和密文Re4组合为一个密文Retext,(3)对重要明文Text、用户身份信息UserID和随机密钥Random分别进行加密,以得到这三者对应的密文Rel、密文Re2、密文Re3,将密文Rel、密文Re2和密文Re3这三者之中的两者组合为ー个代码串S,并对代码串S加密,以得到密文Re4,之后将密文Re 1、密文Re2和密文Re3这三者之中没有參与构成代码串S的这个密文和密文Re4组合为一个代码串ReS,接着再对代码串ReS加密,以得到密文Retext,(4)对重要明文Text、用户身份信息UserID和随机密钥Random分别进行加密,以得到这三者对应的密文Rel、密文Re2、密文Re3,然后将密文Rel、密文Re2、密文Re3组合为一个代码串S,并对代码串S加密,以得到密文Retext,(5)对重要明文Text、用户身份信息UserID和随机密钥Random这三者之ー进行加密,以得到密文Rel,并将前述三者不參与生成密文Rel的另外两者组合为ー个代码串S,对代码串S加密,以得到密文Re2,然后将密文Rel、密文Re2组合为ー个密文,以得到密文Retext,(6)对重要明文Text、用户身份信息UserID和随机密钥Random这三者之ー进行加密,以得到密文Rel,并将前述三者不參与生成密文Rel的另外两者组合为ー个代码串S,对代码串S加密,以得到密文Re2,然后将密文Rel、密文Re2组合为ー个代码串ReS,再对代码串ReS加密,以得到密文Retext,(7)对重要明文Text、用户身份信息UserID和随机密钥Random这三者之ー进行加密,以得到密文Re I,并将前述三者之中尚没被加密的另外两者之一和密文Rel组合为一个代码串S,对代码串S加密,以得到密文Re2,然后将密文Re2与前述三者(即重要明文Text、用户身份信息UserID和随机密钥Random这三者)之中尚未被加密的这一者组合为一个代码串ReS,再对代码串ReS加密,以得到密文Retext,(8)对重要明文Text、用户身份信息UserID和随机密钥Random这三者之ー进行加密,以得到密文Rel,将前述三者之中不參与生成密文Rel的另外两者之ー和密文Rel组合为一个代码串S,对代码串S加密,以得到密文Re2,并将前述三者(即重要明文Text、用户身份信息UserID和随机密钥Random这三者)之中不參与生成密文Re2的这ー者加密,以得到密文Re3,将密文Re2、密文Re3组合为密文Retext,(9)对重要明文Text、用户身份信息UserID和随机密钥Random这三者之ー进行加密,以得到密文Rel,将前述三者之中不參与生成密文Rel的另外两者之一和密文Rel组合为一个代码串S,对代码串S加密,以得到密文Re2,并将前述三者(即重要明文Text、用户身份信息UserID和随机密钥Random这三者)之中不參与生成密文Re2的这ー者加密,以得到密文Re3,将密文Re2、密文Re3组合为代码串ReS,再对代码串ReS加密,以得到密文Retext,(10)对重要明文Text、用户身份信息UserID和随机密钥Random这三者之ー进行加密,以得到密文Rel,并将前述三者之中尚没被加密的另外两者和密文Rel组合为一个代码串S,对代码串S加密,以得到密文Retext,(11)先将重要明文Text、用户身份信息UserID和随机密钥Random这三者之中两者组合为ー个代码串S,接着对代码串S加密以生成密文Rel,将前述三者之中没有參与构成代码串S的这个数据和密文Rel组合为一个代码串ReS,再对代码串ReS加密,以得到密文Retext,(12)先将重要明文Text、用户身份信息UserID和随机密钥Random这三者组合为一个代码串S,然后对代码串S加密,以得到密文Retext,(13)对重要明文Text、用户身份信息UserID和随机密钥Random这三者之中的两者分别进行加密,以得到这三者对应的密文Rel、密文Re2,将前述三者之中尚没被加密的另外一者和密文Rel、密文Re2组合为ー个代码串S,对代码串S加密,以得到密文Retext,(14)将重要明文Text、用户身份信息UserID和随机密钥Random这三者中的代码相互插入,并分割为多个(含两个)新的代码串S1、代码串S2.......,分别用不同的加密算法加密代码串S1、代码串S2.......,以得到密文Rel、密文Re2.......,将密文Rel、密文Re2.......组合为一个代码串SS,再对代码串SS加密,以得到密文Retext。3.据权利要求2所述加密方法,其特征是:所述用户身份信息UserlD,不仅包括終端用户或终端系统输入的終端用户身份信息End-UserlD,还包括重要明文托管服务商的云给終端用户分配的托管方密钥,并且, 在完成对重要明文Text加密之前,重要明文托管服务商的云产生ー个托管方密钥,使用終端用户的公钥加密托管方密钥后,将这个已加密的托管方密钥发送给终端用户计算机,終端用户计算机利用私钥对收到的密文解密,以得到托管方密钥,然后使用托管方密钥參与对重要明文Text及其密文的加密,加密完成后,终端用户计算机将密文Retext发送给重要明文托管服务商的云进行保存。4.据权利要求3所述加密方法,其特征是:在終端用户计算机对重要明文Text加密生成密文Retext后,再利用重要明文托管服务商的云公钥加密密文Retext,然后将已被云公钥加密的密文Retext发送给重要明文托管服务商的云。5.据权利要求1或2或3或4所述加密方法,其特征是:将重要明文Text的识别标志TextID备份在用于保存密文Retext的相关存储空间中,并且所述将重要明文Text的识别标志TextID备份在用于保存密文Retext的相关存储空间,是指将重要明文Text的识别标志TextID备份在以下五者之一:①保存密文Retext的空间,②保存密文Retext这个文件属性的空间,③数据库,④用于保存识别标志TextID的文件或空间,⑤用于保存随机长度Long和识别标志TextID这两者的文件或空间, 所述识别标志TextID是由下列信息中的一种或多种构成:随机数据、版本号、重要明文Text的建立和修改时间。6.据权利要求1或2或3或4,其特征是:验证用户的合法性,只有通过验证的用户才能完成对重要明文Text的加密。7.据权利要求5所述加密方法,其特征是:用户在带命令按钮的图形交互界面上,输入用户身份信息UserID和加密强度。8.种加密方法,其加密流程如下: I输入加密强度和用户身份信息UserlD,根据随机密钥的随机长度、加密强度和预定解密速度三者之间的关系,计算随机密钥的随机长度Long,产生随机长度为Long的随机密钥 Random, II利用用户身份信息UserID和随机密钥Random派生一个代码串UR,利用排序所产生的序号代码加密的算法加密代码串UR,利用随着加密进程增加项数和调整幂次的多项式产生的流密码来加密代码串UR,以生成用于在解密时识别用户身份信息UserID和随机密钥Random的密码识别信息PassID, III利用私钥KeyText与密码识别信息PassID派生一个代码串KP, IV利用排序所产生的序号代码加密的算法加密代码串KP,利用随着加密进程增加项数和调整幂次的多项式产生的流密码来加密代码串KP,以生成私钥KeyText的经加密的备份 ReCome, V将随机长度Long、私钥KeyText的识别标志KeyID插入私钥KeyText的经加密的备份ReCome中。9.种加密方法,其加密流程如下: A加密明文MessFile得到密文BeMF,并将私钥KeyText的识别标志KeyID插入密文BeMF 中,B在用于保存密文BeMF的相关存储空间,寻找与当前用户私钥KeyText具有相互吻合识别标志KeyID的私钥KeyText的经加密的备份ReCome,若找到,则结束;若没找到,则执行C, C输入加密强度和用户身份信息UserlD,根据随机密钥的随机长度、加密强度和预定解密速度三者之间的关系,计算随机密钥的随机长度Long,产生随机长度为Long的随机密钥 Random, D利用用户身份信息UserID和随机密钥Random派生一个代码串UR,利用排序所产生的序号代码加密的算法加密代码串UR,利用随着加密进程增加项数和调整幂次的多项式产生的流密码来加密代码串UR,以生成用于在解密时识别用户身份信息UserID和随机密钥Random的密码识别 信息PassID, E利用私钥KeyText与密码识别信息PassID派生一个代码串KP, F利用排序所产生的序号代码加密的算法加密代码串KP,利用随着加密进程增加项数和调整幂次的多项式产生的流密码来加密代码串KP,以生成私钥KeyText的经加密的备份 ReCome, G将随机长度Long、私钥KeyText的识别标志KeyID插入私钥KeyText的经加密的备份ReCome中, H将私钥KeyText的经加密的备份ReCome保存在用于保存密文BeMF的相关存储空间,结束。10.种加密方法,其加密流程如下: A判断私钥KeyText是否存在,若存在,则提取私钥KeyText的识别标志KeylD,然后执行B;若不存在,则产生私钥KeyText及其识别标志KeyID并保存,然后执行C, B在用于保存密文BeMF的相关存储空间,寻找与当前用户私钥KeyText具有相互吻合识别标志KeyID的私钥KeyText的经加密的备份ReCome,若找到,则执行I;若没找到,则执行C, C输入加密强度和用户身份信息UserlD,根据随机密钥的随机长度、加密强度和预定解密速度三者之间的关系,计算随机密钥的随机长度Long,产生随机长度为Long的随机密钥 Random, D利用用户身份信息UserID和随机密钥Random派生一个代码串UR,利用排序所产生的序号代码加密的算法加密代码串UR,利用随着加密进程增加项数和调整幂次的多项式产生的流密码来加密代码串UR,以生成用于在解密时识别用户身份信息UserID和随机密钥Random的密码识别信息PassID, E利用私钥KeyText与密码识别信息PassID派生一个代码串KP, F利用排序所产生的序号代码加密的算法加密代码串KP,利用随着加密进程增加项数和调整幂次的多项式产生的流密码来加密代码串KP,以生成私钥KeyText的经加密的备份 ReCome, G将随机长度Long、私钥KeyText的识别标志KeyID插入私钥KeyText的经加密的备份ReCome中, H将私钥KeyText的经加密的备份ReCome保存在用于保存密文BeMF的相关存储空间,I加密明文MessFile以得到密文BeMF,并将私钥KeyText的识别标志KeyID插入密文BeMF中,结束。11.据权利要求6所述加密方法,其特征是:用户在带命令按钮的图形交互界面上,输入用户身份信息UserID和加密强度。12.种加密方法,其加密流程如下: I用户请求对存储盘Disk中的文件加密, 2判断私钥KeyText是否存在,若存在,则提取私钥KeyText的识别标志KeylD,然后执行3;若不存在,则产生私钥KeyText及其识别标志KeyID并保存,然后执行5, 3在用于保存密文BeMF的相关存储空间,寻找与当前用户私钥KeyText具有相互吻合识别标志KeyID的私钥KeyText的经加密的备份ReCome,若找到,则执行4;若没找到,则执行5, 4加密明文MessFile得到密文BeMF,并将私钥KeyText的识别标志KeyID插入密文BeMF中,然后结束本进程, 5増加ー个进程,该进程和原进程两者之中的一个进程PKey执行6,另ー个进程执行4, 6进程PKey在ー个带命令按钮的图形交互界面上,提供选择加密强度类型的选项,提供输入加密强度数值的编辑框及调整该框内数值的上下箭头或其它控件,提供输入用户身份信息UserID的编辑框,提示用户输入加密强度或不输入采用默认的加密强度,提示用户输入加密私钥KeyText备份的用户身份信息UserID或不输入采用系统中当前用户的用户身份信息, 7检测用户命令。如果用户输入的命令是确认,则执行8,如果用户输入的命令是退出,则结束本进程, 8进程PKey判断用户是否输入用来加密私钥KeyText备份的用户身份信息Userl...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。