System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及分布式存储,具体为分段cbc等长加密的对象存储追加写对象加密方法。
技术介绍
1、对象存储作为一种分布式存储技术已被广泛应用,其中的追加写对象操作可以将多份数据以尾部追加的方式上传同一个对象中,其独特的特性使其被广泛应用于存储日志、流媒体等数据的场景。
2、为了保证数据的安全性,对象存储服务支持为对象数据进行加密处理,例如使用cbc加密以提高数据安全性。然而,cbc加密模式存在两个缺点,第一是加密过程是串行的,无法被并行化,加密效率低。第二是被加密的数据必须被填充到块大小的整数倍,虽然该问题可利用密文窃取方法解决,但依然受到一些额外的限制,不适于所有场景。
3、cbc加密模式的这两个缺点限制了其在对象存储领域的使用,尤其是在追加写入海量对象数据时会影响写效率。将数据进行分段然后并行对每个数据段实施加密的办法可以提升加密效率。而且追加写对象操作需要根据对象当前数据的长度准确地将新增数据追加至指定位置,然而由于普通cbc加密模式加密会对数据进行填充导致加密后数据长度不一致,由此会造成下次追加写入对象数据时的内容位置产生偏移,并且需要消耗额外的存储空间。如何在追加写对象操作上实现高效的数据加密,并且优化其存储与寻址效率,是个值得研究的问题。
技术实现思路
1、(一)解决的技术问题
2、针对现有技术的不足,本专利技术提供了分段cbc等长加密的对象存储追加写对象加密方法,解决了由于数据段进行了额外的数据填充,使得每个数据段的加密结果都额外占用
3、(二)技术方案
4、为实现以上目的,本专利技术通过以下技术方案予以实现:分段cbc等长加密的对象存储追加写对象加密方法,包括以下步骤:
5、步骤一:数据分割;
6、步骤二:数据并行等长加密;
7、步骤三:追加数据拼接。
8、优选的,所述数据分割:将对象当前数据按加密数据块大小的整数倍分段,对象当前数据的最后一个数据段解密后添加至追加数据的头部,将添加的数据段与追加数据一同按加密数据块大小的整数倍分段。
9、优选的,所述数据并行等长加密:对每个数据段并行进行等长cbc加密,将每个数据段加密后的结果合并得出最终加密结果。
10、优选的,所述追加数据拼接:将对象当前数据的最后一个数据段去除,将加密结果追加至去除最后一个数据段后的对象当前数据。
11、优选的,所述追加数据加密具体为:
12、第一步,将对象当前数据按加密数据块大小的整数倍进行分段;
13、第二步,取第一步得到的最后一个数据段,将其解密后的结果添加至追加数据的头部;
14、第三步,将添加的数据段与追加数据一同按加密数据块大小的整数倍分段;
15、第四步,对第三步得出的每个数据段并行进行等长cbc加密;
16、第五步,将每个数据段加密后的结果合并得出最终加密结果;
17、第六步,将对象当前数据的最后一个数据段去除;
18、第七步,将加密结果追加至去除最后一个数据段后的对象当前数据尾部。
19、优选的,所述等长加密包括不少于16字节数据加密和少于16字节数据加密。
20、优选的,所述不少于16字节数据加密具体为:
21、第一步,先将数据段拆分为16*m*n个字节;
22、第二步,对m个16字节数据块使用初始向量ⅳ1实施cbc加密;
23、第三步,对第二步中第m个16字节数据块的加密结果a使用另一个初始化向量ⅳ2进行cbc加密得出结果b;
24、第四步,对剩余的m个字节数据与结果b进行异或操作,得出最后加密的n个字节数据。
25、优选的,所述少于16字节数据加密具体为:
26、第一步,对初始向量ⅳ1使用初始向量ⅳ2进行cbc加密得出结果a;
27、第二步,对n个字节数据与结果a进行异或操作,得出加密的n个字节数据。
28、优选的,所述等长解密包括不少于16字节数据解密和少于16字节数据解密。
29、优选的,所述不少于16字节数据解密具体为:
30、第一步,先将数据段拆分为16*m*n个字节;
31、第二步,对m个16字节数据块使用初始向量ⅳ1实施cbc解密;
32、第三步,对第二步中第m个16字节数据块的加密结果a使用另一个初始化向量ⅳ2进行cbc加密得出结果b;
33、第四步,对剩余的n个字节数据与结果b进行异或操作,得出最后解密的n个字节数据;
34、所述少于16字节数据解密具体为:
35、第一步,对初始向量ⅳ1使用初始向量ⅳ2进行cbc加密得出结果a;
36、第二步,对n个字节数据与结果a进行异或操作,得出解密的n个字节数据。
37、本专利技术公开了分段cbc等长加密的对象存储追加写对象加密方法,其具备的有益效果如下:
38、1、该分段cbc等长加密的对象存储追加写对象加密方法,可以实现追加写对象操作的cbc模式加密,提升了数据存储的安全性。
39、2、该分段cbc等长加密的对象存储追加写对象加密方法,每次加密追加数据时,只需对当前数据的最后一个具有长度上限的分段进行解密处理,与追加的次数无关,时间复杂度和空间复杂度都为o,可以高效地实现追加写操作的数据加密。
40、3、该分段cbc等长加密的对象存储追加写对象加密方法,实现了加密前后不改变数据长度,不会对追加数据至对象时产生偏移,方便数据寻址。
本文档来自技高网...【技术保护点】
1.分段CBC等长加密的对象存储追加写对象加密方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的分段CBC等长加密的对象存储追加写对象加密方法,其特征在于,所述数据分割步骤具体为:
3.根据权利要求1所述的分段CBC等长加密的对象存储追加写对象加密方法,其特征在于,所述数据并行等长加密步骤具体为:
4.根据权利要求1所述的分段CBC等长加密的对象存储追加写对象加密方法,其特征在于,所述追加数据拼接步骤具体为:
5.根据权利要求1所述的分段CBC等长加密的对象存储追加写对象加密方法,其特征在于,对追加数据进行加密的方法包括以下步骤:
6.根据权利要求1所述的分段CBC等长加密的对象存储追加写对象加密方法,其特征在于,所述等长加密方式包括不少于16字节数据加密方式和少于16字节数据加密方式。
7.根据权利要求6所述的分段CBC等长加密的对象存储追加写对象加密方法,其特征在于,所述不少于16字节数据加密方式具体为:
8.根据权利要求6所述的分段CBC等长加密的对象存储追加写对象加密方法,其特征在
9.根据权利要求1所述的分段CBC等长加密的对象存储追加写对象加密方法,其特征在于,所述等长解密包括不少于16字节数据解密方式和少于16字节数据解密方式。
10.根据权利要求9所述的分段CBC等长加密的对象存储追加写对象加密方法,其特征在于,所述不少于16字节数据解密方式具体为:
...【技术特征摘要】
1.分段cbc等长加密的对象存储追加写对象加密方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的分段cbc等长加密的对象存储追加写对象加密方法,其特征在于,所述数据分割步骤具体为:
3.根据权利要求1所述的分段cbc等长加密的对象存储追加写对象加密方法,其特征在于,所述数据并行等长加密步骤具体为:
4.根据权利要求1所述的分段cbc等长加密的对象存储追加写对象加密方法,其特征在于,所述追加数据拼接步骤具体为:
5.根据权利要求1所述的分段cbc等长加密的对象存储追加写对象加密方法,其特征在于,对追加数据进行加密的方法包括以下步骤:
6.根据权利要求1所述的分段cbc等长加密的对象存储追加写对象加...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。