本技术涉及云计算,具体而言,涉及一种数据的加密方法及装置、处理器和电子设备。
背景技术:
1、目前,确保云计算的安全性是云服务领域面临的最关键的挑战之一。在使用共享资源的云环境中处理数据,并提供可靠和安全的云服务时,需要一个健壮的加密方法,且不能消耗较多性能。因此,在云环境下,加密算法的运行速度关乎到用户体验,是至关重要的。
2、另外,云计算是一个位置无关的环境,它共享计算和资源以提供高性能服务。虽然云计算使生活变得更容易,但它也带来了新的安全挑战和网络攻击威胁,如利用身份验证等。随着资源和服务在网络之间和网络内部的开放环境中共享,安全问题在云计算中变得更加关键。此外,用户将数据远程存储在云存储服务上,其隐私性和安全性也至关重要。需要使用加密算法对用户的数据进行加密,以保护他们免受未经授权的访问,并保持数据的安全性和完整性。而且,在云计算的不同部署模型中使用了几种加密技术来保护数据:公共云、私有云和混合云,当云服务提供商为大量数据提供多个并发服务时,安全性就变得更加关键。因此,对传输的数据提供保障服务,特别是保护数据的完整性就成为了一项艰巨的任务。但是,相关技术中加密数据的效率较低,且仅对数据进行加密,难以保证数据的安全性,进而导致对数据进行加密的效果较差。
3、针对相关技术中对云端中的数据进行加密的效果较差的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本技术的主要目的在于提供一种数据的加密方法及装置、处理器和电子设备,以解决相关技术中对云端中的数据进行加密的效果较差的问题。
2、为了实现上述目的,根据本技术的一个方面,提供了一种数据的加密方法。该方法包括:获取云端中待加密的原始数据;通过目标blowfish算法和原始密钥对所述原始数据进行加密,得到加密后的原始数据,其中,所述目标blowfish算法是对原始blowfish算法进行改进后的算法;对所述原始密钥进行加密,得到加密后的原始密钥;将所述加密后的原始数据和所述加密后的原始密钥保存至所述云端中。
3、进一步地,在通过目标blowfish算法和原始密钥对所述原始数据进行加密,得到加密后的原始数据之前,所述方法还包括:确定所述原始blowfish算法中的第一计算模块、第二计算模块、第三计算模块和第四计算模块;改变所述原始blowfish算法中第一计算模块、第二计算模块、第三计算模块和第四计算模块的计算方式,得到所述目标blowfish算法。
4、进一步地,改变所述原始blowfish算法中第一计算模块、第二计算模块、第三计算模块和第四计算模块的计算方式,得到所述目标blowfish算法包括:将所述原始blowfish算法中的第一计算模块和第二计算模块进行累加操作,得到第一计算结果;将所述原始blowfish算法中的第三计算模块和第四计算模块进行累加操作,得到第二计算结果;对所述第一计算结果和所述第二计算结果进行异或操作,得到所述目标blowfish算法。
5、进一步地,在将所述加密后的原始数据和所述加密后的原始密钥保存至所述云端中之后,所述方法还包括:接收目标对象发送的目标请求,其中,所述目标请求用于请求访问所述云端中加密后的原始数据;依据所述目标请求,获取所述原始数据对应的数字签名;基于所述原始数据对应的数字签名,确定所述目标对象访问所述云端中加密后的原始数据的访问结果。
6、进一步地,在依据所述目标请求,获取所述加密后的原始密钥和所述原始数据对应的数字签名之前,所述方法还包括:获取所述原始数据;利用散列函数对所述原始数据进行处理,得到处理后的原始数据;将所述处理后的原始数据作为所述数字签名。
7、进一步地,基于所述原始数据对应的数字签名,确定所述目标对象访问所述云端中加密后的原始数据的访问结果包括:基于所述原始数据对应的数字签名,确定所述目标对象的身份信息;依据所述目标对象的身份信息,判断所述目标对象是否具有访问所述云端中加密后的原始数据的权限;若所述目标对象具有访问所述云端中加密后的原始数据的权限,则确定所述目标对象访问所述云端中加密后的原始数据成功;若所述目标对象不具有访问所述云端中加密后的原始数据的权限,则确定所述目标对象访问所述云端中加密后的原始数据失败。
8、进一步地,在判断所述目标对象是否具有访问所述云端中加密后的原始数据的权限之后,所述方法还包括:若所述目标对象具有访问所述云端中加密后的原始数据的权限,则获取所述加密后的原始密钥,并对所述加密后的原始密钥进行解密,得到所述原始密钥;采用所述原始密钥对所述云端中加密后的原始数据进行解密,得到所述原始数据,并将所述原始数据返回至所述目标对象。
9、为了实现上述目的,根据本技术的另一方面,提供了一种数据的加密装置。该装置包括:第一获取单元,用于获取云端中待加密的原始数据;第一加密单元,用于通过目标blowfish算法和原始密钥对所述原始数据进行加密,得到加密后的原始数据,其中,所述目标blowfish算法是对原始blowfish算法进行改进后的算法;第二加密单元,用于对所述原始密钥进行加密,得到加密后的原始密钥;第一存储单元,用于将所述加密后的原始数据和所述加密后的原始密钥保存至所述云端中。
10、进一步地,所述装置还包括:第一确定单元,用于在通过目标blowfish算法和原始密钥对所述原始数据进行加密,得到加密后的原始数据之前,确定所述原始blowfish算法中的第一计算模块、第二计算模块、第三计算模块和第四计算模块;第一变更单元,用于改变所述原始blowfish算法中第一计算模块、第二计算模块、第三计算模块和第四计算模块的计算方式,得到所述目标blowfish算法。
11、进一步地,所述第一变更单元包括:第一累加模块,用于将所述原始blowfish算法中的第一计算模块和第二计算模块进行累加操作,得到第一计算结果;第二累加模块,用于将所述原始blowfish算法中的第三计算模块和第四计算模块进行累加操作,得到第二计算结果;第一异或模块,用于对所述第一计算结果和所述第二计算结果进行异或操作,得到所述目标blowfish算法。
12、进一步地,所述装置还包括:第一接收单元,用于在将所述加密后的原始数据和所述加密后的原始密钥保存至所述云端中之后,接收目标对象发送的目标请求,其中,所述目标请求用于请求访问所述云端中加密后的原始数据;第二获取单元,用于依据所述目标请求,获取所述原始数据对应的数字签名;第二确定单元,用于基于所述原始数据对应的数字签名,确定所述目标对象访问所述云端中加密后的原始数据的访问结果。
13、进一步地,所述装置还包括:第三获取单元,用于在依据所述目标请求,获取所述加密后的原始密钥和所述原始数据对应的数字签名之前,获取所述原始数据;第一处理单元,用于利用散列函数对所述原始数据进行处理,得到处理后的原始数据;第三确定单元,用于将所述处理后的原始数据作为所述数字签名。
14、进一步地,所述第二确定单元包括:第二确定模块,用于基于所述原始数据对应的数字签名,确定所述目标对象的身份信息;第一判断模块,用于依据所述目标对象的身份信息,判断所述目标对象是否具有访问所述云端中加密后的原始数据的权限;第三确定模块,用于若所述目标对象具有访问所述云端中加密后的原始数据的权限,则确定所述目标对象访问所述云端中加密后的原始数据成功;第四确定模块,用于若所述目标对象不具有访问所述云端中加密后的原始数据的权限,则确定所述目标对象访问所述云端中加密后的原始数据失败。
15、进一步地,所述装置还包括:第四获取单元,用于在判断所述目标对象是否具有访问所述云端中加密后的原始数据的权限之后,若所述目标对象具有访问所述云端中加密后的原始数据的权限,则获取所述加密后的原始密钥,并对所述加密后的原始密钥进行解密,得到所述原始密钥;第二处理单元,用于采用所述原始密钥对所述云端中加密后的原始数据进行解密,得到所述原始数据,并将所述原始数据返回至所述目标对象。
16、为了实现上述目的,根据本技术的另一方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的任意一项所述的数据的加密方法。
17、为了实现上述目的,根据本技术的另一方面,提供了一种电子设备,所述电子设备包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的任意一项所述的数据的加密方法。
18、通过本技术,采用以下步骤:获取云端中待加密的原始数据;通过目标blowfish算法和原始密钥对原始数据进行加密,得到加密后的原始数据,其中,目标blowfish算法是对原始blowfish算法进行改进后的算法;对原始密钥进行加密,得到加密后的原始密钥;将加密后的原始数据和加密后的原始密钥保存至云端中,解决了相关技术中对云端中的数据进行加密的效果较差的问题。通过利用改进后的blowfish算法和原始密钥对原始数据进行加密,可以提升对数据进行加密的效率,并且同时对原始密钥进行加密,并将加密后的原始数据和加密后的原始密钥保存至云端中,可以保证云计算的安全性,进而提升了对云端中的数据进行加密的效果。