一种基于对称密码的可认证的代理重加密系统及方法技术方案

技术编号:14881117 阅读:119 留言:0更新日期:2017-03-24 03:45
本发明专利技术公开了一种基于对称密码的可认证的代理重加密系统及方法,该系统由用户端和代理端组成,其中用户端用于向代理端发起重加密请求,它包括随机数生成器、密钥生成模块、加密模块、解密模块、密钥更新模块;代理端主要由重加密模块组成,对数据进行重加密。各个模块执行相应的运算、产生对应的输出。该系统没有采用公钥加密系统而是使用对称密码技术,大大提高了处理速度;加密系统中的伪随机函数PRF使用了Ring‑LWR、SHA1及SHA256方法来生成,具有同态性质,该系统在实现代理重加密的同时实现了消息完整性的认证,从而验证消息是否被恶意篡改。

【技术实现步骤摘要】

本专利技术涉及信息安全的
,特别涉及一种基于对称密码的可认证的代理重加密系统及方法
技术介绍
密码技术,是信息安全的核心和基础,广泛用于网络通信、电子商务、银行、国防军事等领域。密码技术包括对称密码和非对称密码,非对称密码也称为公钥密码。在目前的云服务模型中,用户将加密后的数据存放在不可靠的云服务器当中。由于安全策略或信息分享等原因,数据的加密密钥有可能需要经常改变。传统的方案是将数据从云服务器当中取回后用原来的密钥解密,之后再用新的密钥进行加密并传回云服务器。但这种方案显然效率低下,不具有可扩展性。在这种背景之下,代理重加密方案应运而生。代理重加密是一种能够将密文在不同的密钥之间相互转换的密码学技术。在代理重加密系统中,用户首先根据自己的新旧密钥生成重加密密钥,并将其发送给代理服务器。代理服务器在获得重加密密钥后,能够在不解密的情况下,将原密钥下的密文转换成为新密钥下的密文。用户使用新密钥即可对其进行解密。传统的代理重加密方案采用的是公钥密码体制,其显著弊端在于计算量大,加密速度相当慢,无法适应如今大数据时代的需求,实用性大打折扣。而且目前的代理重加密方案无法验证消息的可靠性,无法保证消息不被恶意篡改,对安全性同样造成了很大威胁。因此,在保证实现代理重加密的情况下,目前亟待提出一种基于对称密码技术的、可验证消息正确性、完整性的代理重加密系统。
技术实现思路
本专利技术的目的在于克服现有技术的缺点与不足,提供一种基于对称密码的可认证的代理重加密系统及方法,该系统大大提高了代理重加密的速度,而且能够确认消息是否被恶意篡改。本专利技术的第一个目的通过下述技术方案实现:一种基于对称密码的可认证的代理重加密系统,所述系统包括:用户端,用于向代理端发起重加密请求,包括随机数生成器、密钥生成模块、加密模块、解密模块和密钥更新模块,当需要对数据进行重加密时,所述随机数生成器首先生成一个随机数,用所述密钥生成模块生成新的加密密钥和新的认证密钥,然后通过所述密钥更新模块生成重加密密钥和认证变换密钥,然后将该随机数、重加密密钥与认证变换密钥一起发送给所述代理端的重加密模块,同时,所述加密模块和所述解密模块还能够对数据进行加解密操作;代理端,用于保存用户的密文,同时对用户端发送过来的重加密请求进行处理,并对数据进行重加密并生成新的消息认证码。进一步地,所述随机数生成器,用于生成随机数;所述密钥生成模块,用于生成加密密钥与认证密钥;所述密钥更新模块,用于根据新的加密密钥和认证密钥,生成重加密密钥和认证变换密钥,其包含一个逆元生成器,用于生成某个元素的逆元。进一步地,所述加密模块,用于对消息明文进行加密,该模块包括多项式运算部件和消息认证码生成部件,其中,所述多项式运算部件首先将输入的两个字符串参数分别转换成两个多项式的系数,即转换成为两个多项式,接着对该两个多项式进行多项式环上的乘法运算;所述消息认证码生成部件用于生成与消息对应的认证码,以备后续检测之用。进一步地,所述解密模块,用于对密文进行解密,该模块包括多项式运算部件与校验部件,其中,所述多项式运算部件首先将输入的两个字符串参数分别转换成两个多项式的系数,即转换成为两个多项式,接着对该两个多项式进行多项式环上的乘法运算;所述校验部件用于检测消息认证码是否正确,若正确则返回解密之后的消息,否则返回解密失败;其中,所述校验部件包含一个DDH群映射器,用于将一个哈希值映射到DDH群上。进一步地,所述代理端包括重加密模块,用于响应用户请求,根据用户端传递过来的重加密密钥和认证变换密钥对数据进行重加密,并更新消息认证码;该重加密模块包括多项式运算部件与消息认证码更新部件,其中,所述多项式运算部件首先将输入的两个字符串参数分别转换成两个多项式的系数,即转换成为两个多项式,接着对该两个多项式进行多项式环上的乘法运算;所述消息认证码更新部件根据用户端传递过来的认证变换密钥,对原来的消息认证码进行处理,生成新认证密钥下的消息认证码;其中,所述消息认证码生成部件包括一个DDH群映射器,用于将一个哈希值映射到DDH群上。本专利技术的第二个目的通过下述技术方案实现:一种基于对称密码的可认证的代理重加密方法,所述方法包括下列步骤:用户端生成参数步骤,该步骤具体为:S101、选择并生成公共参数;S102、根据公共参数,通过密钥生成模块生成新的加密密钥、新的认证密钥以及DDH群;S103、若需要发起重加密请求,则将新的加密密钥和新的认证密钥传递给密钥更新模块,生成重加密密钥和认证变换密钥,然后将这两个密钥发送给代理端的重加密模块;S104、若需要对数据进行加密,则将消息明文、加密密钥和认证密钥传递给加密模块;重加密过程步骤,该步骤具体为:S201、重加密模块接收用户端传递过来的重加密密钥和认证变换密钥;S202、调用多项式运算部件,对重加密密钥与一个随机数进行处理,输出处理结果;S203、将上一步的处理结果与原来的密文进行运算;S204、调用消息认证码更新部件,根据认证变换密钥对原密钥下的消息认证码进行运算,将步骤S202中的随机数、步骤S203中的运算结果及新密钥下的消息认证码一起作为新密钥下的密文输出;加密过程步骤,该步骤具体为:S301、加密模块接收消息明文、加密密钥与一个随机数作为输入;S302、调用多项式运算部件,对加密密钥与该随机数进行处理,输出处理结果;S303、将上一步的处理结果与消息明文进行运算;S304、调用消息认证码生成部件,生成该消息的消息认证码,将步骤S301中的随机数、步骤S303的运算结果及消息认证码一起作为密文输出;解密过程步骤,该步骤具体为:S401、解密模块接收消息密文。S402、调用多项式运算部件,对加密密钥与一随机数进行处理,输出处理结果;S403、将上一步的处理结果与消息密文进行运算,得到消息明文。S404、计算解密出的消息明文的消息认证码,若它与收到的消息认证码相同,则返回该明文,否则返回解密失败。进一步地,所述用户端生成参数步骤具体如下:选择合适的公共参数p,q,n,r,p′,q′。其中,p,q是与多项式环相关的参数,r为随机数,p′,q′是与DDH群相关的参数;根据上述公共参数,生成新的加密密钥(ske_2)ske_1、新的认证密钥(skm_1)skm_2和群GDDH;若需要发起重加密请求,则将ske_2与skm_2传递给密钥更新模块,生成重加密密钥rke=ske_2-ske_1,并计算skm_1模q′的逆元然后计算认证变换密钥然后将rke与rkm发送给代理端的重加密模块;若需要对数据进行加密,则将消息明文m、加密密钥ske_1和认证密钥skm_1传递给加密模块。进一步地,所述重加密过程步骤具体如下:接收用户端传递过来的重加密密钥rke和认证变换密钥rkm;调用多项式运算部件PRFe,该部件以ske(ske可以是ske_1或ske_2)和r作为输入,计算其中,运算表示计算不大于x的最大整数,运算表示将x与p/q相乘的结果近似到不大于它的最大整数,<x,y>运算表示将x和y转换成多项式形式之后,进行多项式环上的多项式乘法;计算调用认证码更新部件,该部件以认证变换密钥rkm与原密钥下的消息认证码t1作为输入,计算即为新密钥下的消息认证码,本文档来自技高网...
一种基于对称密码的可认证的代理重加密系统及方法

【技术保护点】
一种基于对称密码的可认证的代理重加密系统,其特征在于,所述系统包括:用户端,用于向代理端发起重加密请求,包括随机数生成器、密钥生成模块、加密模块、解密模块和密钥更新模块,当需要对数据进行重加密时,所述随机数生成器首先生成一个随机数,用所述密钥生成模块生成新的加密密钥和新的认证密钥,然后通过所述密钥更新模块生成重加密密钥和认证变换密钥,然后将该随机数、重加密密钥与认证变换密钥一起发送给所述代理端的重加密模块,同时,所述加密模块和所述解密模块还能够对数据进行加解密操作;代理端,用于保存用户的密文,同时对用户端发送过来的重加密请求进行处理,并对数据进行重加密并生成新的消息认证码。

【技术特征摘要】
1.一种基于对称密码的可认证的代理重加密系统,其特征在于,所述系统包括:用户端,用于向代理端发起重加密请求,包括随机数生成器、密钥生成模块、加密模块、解密模块和密钥更新模块,当需要对数据进行重加密时,所述随机数生成器首先生成一个随机数,用所述密钥生成模块生成新的加密密钥和新的认证密钥,然后通过所述密钥更新模块生成重加密密钥和认证变换密钥,然后将该随机数、重加密密钥与认证变换密钥一起发送给所述代理端的重加密模块,同时,所述加密模块和所述解密模块还能够对数据进行加解密操作;代理端,用于保存用户的密文,同时对用户端发送过来的重加密请求进行处理,并对数据进行重加密并生成新的消息认证码。2.根据权利要求1所述的一种基于对称密码的可认证的代理重加密系统,其特征在于,所述随机数生成器,用于生成随机数;所述密钥生成模块,用于生成加密密钥与认证密钥;所述密钥更新模块,用于根据新的加密密钥和认证密钥,生成重加密密钥和认证变换密钥,其包含一个逆元生成器,用于生成某个元素的逆元。3.根据权利要求1所述的一种基于对称密码的可认证的代理重加密系统,其特征在于,所述加密模块,用于对消息明文进行加密,该模块包括多项式运算部件和消息认证码生成部件,其中,所述多项式运算部件首先将输入的两个字符串参数分别转换成两个多项式的系数,即转换成为两个多项式,接着对该两个多项式进行多项式环上的乘法运算;所述消息认证码生成部件用于生成与消息对应的认证码,以备后续检测之用。4.根据权利要求1所述的一种基于对称密码的可认证的代理重加密系统,其特征在于,所述解密模块,用于对密文进行解密,该模块包括多项式运算部件与校验部件,其中,所述多项式运算部件首先将输入的两个字符串参数分别转换成两个多项式的系数,即转换成为两个多项式,接着对该两个多项式进行多项式环上的乘法运算;所述校验部件用于检测消息认证码是否正确,若正确则返回解密之后的消息,否则返回解密失败;其中,所述校验部件包含一个DDH群映射器,用于将一个哈希值映射到DDH群上。5.根据权利要求1所述的一种基于对称密码的可认证的代理重加密系统,其特征在于,所述代理端包括重加密模块,用于响应用户请求,根据用户端传递过来的重加密密钥和认证变换密钥对数据进行重加密,并更新消息认证码;该重加密模块包括多项式运算部件与消息认证码更新部件,其中,所述多项式运算部件首先将输入的两个字符串参数分别转换成两个多项式的系数,即转换成为两个多项式,接着对该两个多项式进行多项式环上的乘法运算;所述消息认证码更新部件根据用户端传递过来的认证变换密钥,对原来的消息认证码进行处理,生成新认证密钥下的消息认证码;其中,所述消息认证码生成部件包括一个DDH群映射器,用于将一个哈希值映射到DDH群上。6.一种基于对称密码的可认证的代理重加密方法,其特征在于,所述方法包括下列步骤:用户端生成参数步骤,该步骤具体为:S101、选择并生成公共参数;S102、根据公共参数,通过密钥生成模块生成新的加密密钥、新的认证密钥以及DDH群;S103、若需要发起重加密请求,则将新的加密密钥和新的认证密钥传递给密钥更新模块,生成重加密密钥和认证变换密钥,然后将这两个密钥发送给代理端的重加密模块;S104、若需要对数据进行加密,则将消息明文、加密密钥和认证密钥传递给加密模块;重加密过程步骤,该步骤具体为:S201、重加密模块接收用户端传递过来的重加密密钥和认证变换密钥;S202、调用多项式运算部件,对重加密密钥与一个随机数进行处理,输出处理结果;S203、将上一步的处理结果与原来的密文进行运算;S204、调用消息认证码更新部件,根据认证变换密钥对原密钥下的消息认证码进行运算,将步骤S202中的随机数、步骤S203中的运算结果及新密钥下的消息认证码一起作为新密钥下的密文输出;加密过程步骤,该步骤具体为:S301、加密模块接收消息明文、加密密钥与一个随机数作为输入;S302、调用多项式运算部件,对加密密钥与该随机数进行处理,输出处理结果;S303、将上一步的处理结果与消息明文进行运算;S...

【专利技术属性】
技术研发人员:吴宸彭峙酿唐韶华
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1