CN104915609B - 一种基于Lagrange插值法和多云的数据隐藏方法 - Google Patents
一种基于Lagrange插值法和多云的数据隐藏方法 Download PDFInfo
- Publication number
- CN104915609B CN104915609B CN201510287907.5A CN201510287907A CN104915609B CN 104915609 B CN104915609 B CN 104915609B CN 201510287907 A CN201510287907 A CN 201510287907A CN 104915609 B CN104915609 B CN 104915609B
- Authority
- CN
- China
- Prior art keywords
- mtd
- mtr
- mrow
- msub
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于Lagrange插值法和多云的数据隐藏方法,应用在多云环境下的系统中,系统包括四个部分:用户、客户端、数据上传层、数据下载层和云端;数据上传前在客户端用Reed Solomon纠删码的信息分割算法对用户数据进行分割,然后用Lagrange插值方法对每块分割后的数据进行信息隐藏,最后把每块数据存储到不同的云存储中。数据下载时只需要从部分云存储获取数据,先使用Lagrange插值方法对下载得到的每块数据进行隐藏信息的恢复,然后使用Reed Solomon中的恢复算法对数据块进行合并恢复得到原始数据。本发明解决了服务可用性和单个云存储的限制;Reed Solomon算法的使用可以在减少存储空间的同时,容忍部分云存储出错;Lagrange插值方法的使用解决了数据机密性,保护用户数据的隐私。
Description
技术领域
本发明属于多云存储和信息隐藏技术领域,涉及一种多云环境下的数据隐藏方法,具体涉及一种基于Lagrange插值法和多云的数据隐藏方法。
背景技术
云存储是基于云计算的兴起而应运而生的,近年来,数字化、信息化日益明显,人们对于存储的需求也增长快速。随着云存储服务提供商的增多,越来越多的公司选择在处理重要数据时使用云存储来满足他们的存储需求。比如医疗记录数据库,大型系统的历史信息和金融数据等。然而云存储在给用户存储带来灵活性和高扩展性的同时,也面临着安全挑战。首先由于云存储的不可信,会导致用户隐私的泄露;另外由于云存储服务的中断,导致服务不可用;第三,由于云存储提供商之间竞争激烈,价格会因此浮动,用户更换云存储提供商时会造成较大的花费;最后,由于云存储可能会丢失或者损坏用户数据,数据完整性受到威胁。
当前对于云存储数据安全性的研究分为单个云的研究和多个云的研究。本发明的方案是基于多云环境的,目前有关多云存储的研究,国内的研究比较少,国外的学者研究比较多,且提出很多独特的想法。
Cachin等人表示单个云服务仍然受到停机的影响,首先提出了多云存储的概念。Abu-Libdeh等提出了一个RACS协议,将常用于磁盘和文件系统中的独立磁盘阵列的技术应用于云存储。该协议主要关注于云存储提供商锁定的问题。通过将用户的数据分割到多个云存储提供商,使得用户避免云存储提供商的锁定,降低更换云存储提供商的成本,更好的容忍云存储提供商的停机或发生故障,分散了存储的负载。D.Bowers等提出了HAIL协议,该协议是一个分布式加密系统,允许一组服务器确认客户端的数据是完整的和可恢复的。它提供了一个软件层来满足存储于多个云中的数据的可用性和完整性。Bessani等提出了一个虚拟化存储系统Depsky,Depsky系统中提出了两个协议Depsky-A和Depsky-CA。Depsky-A没有对数据做任何处理把数据复制在不同的云存储中,Depsky-CA解决了Depsky-A的限制,借鉴Krawczyk提出的改进的秘密共享方案,先使用对称密钥对数据加密,然后用Shamir的秘密共享方法管理密钥,同时用纠删码对加密后数据进行编码,最后把数据块和秘密共享后的密钥存到对应的云存储中。提高了存储在云上数据的可用性、完整性、机密性。
从现有研究成果可以看出,RACS解决了云存储提供商的锁定,但它没有解决数据机密性问题,HAIL解决了云存储中数据完整性和可用性,但没有解决机密性问题,Depsky-CA相对比较完善,提高了存储在云上数据的可用性、完整性、机密性。然而Depsky-CA使用Shamir秘密共享去分割密钥,密钥大小会增加n倍(n个存储云),相对于理论上的最优情况,仍旧会增加存储空间,虽然通常来说密钥本身的大小并不大。但是密钥的引入在一些每天需要经常更新的应用中,所增加的存储空间同样也是不可忽视的。
发明内容
针对现有技术存在的问题,本发明提供了一种基于Lagrange插值法和多云的数据隐藏方法,与RACS相比解决了数据机密性的问题,与Depsky-CA相比解决由于密钥存储所带来的存储空间增加的问题。
本发明所采用的技术方案是:一种基于Lagrange插值法和多云的数据隐藏方法,应用在多云环境下的系统中,系统包括四个部分:用户、客户端、数据上传层、数据下载层和云端;其特征在于,包括以下步骤:
步骤1:用户注册;系统在客户端启动后,用户进入注册界面,输入用户名与密码进行注册,注册成功后,转到步骤2;
步骤2:用户登录;用户进入登录界面,输入用户名密码进行登录,登录成功后,转到步骤3;
步骤3:选择上传文件;用户进入系统主界面,点击上传按钮,从本地选择任意一个文件进行上传,选择完成后,转到步骤4;
步骤4:此时客户端首先用Reed Solomon纠删码的信息分割算法将文件分成相同大小的m块,然后编码产生k块,其中k≤m,共产生n个数据块,n=m+k,编码成功后转到步骤5;
步骤5:然后用Lagrange插值法对分割后的每个数据块进行信息隐藏,隐藏成功后转到步骤6;
步骤6:文件上传;把处理后的每块数据及每块数据对应的序列值上传到相应的云存储中,文件上传成功后,系统主界面显示了已成功上传的n块数据,根据云存储各自的状况,用户根据自身需求选择其中的m块进行下载,选择完成后转到步骤7;
步骤7:文件下载;选择完成后点击下载按钮,则从相应的云存储中下载存储的数据及其对应的序列值,m块数据下载下来后,转到步骤8;
步骤8:在客户端对下载下来的每块数据用Lagrange插值法对隐藏的信息进行恢复,恢复成功后,转到步骤9;
步骤9:对用Lagrange插值法对隐藏的信息进行恢复后的m块数据用Reed Solomon纠删码的信息恢复算法对其进行恢复,恢复成为原始的文件,结束。
作为优选,步骤4的具体实现包括以下子步骤:
步骤4.1:首先定义上传文件为D,将文件D分为大小相同的m块,则文件D视为向量:D=(D1,D2…Dm);
步骤4.2:定义分块编码后的文件为向量:(D1,D2…Dm,C1…Ck),k为编码产生的冗余块数量;
步骤4.3:定义编码矩阵B,编码矩阵是由单位矩阵和范德蒙德矩阵构成,其中单位矩阵是m行m列矩阵,范德蒙德矩阵为k行m列矩阵;
步骤4.4:编码矩阵与文件向量相乘生成(D1,D2…Dm,C1…Ck),
作为优选,步骤5的具体实现包括以下子步骤:
步骤5.1:定义分割编码后的数据块(D1,D2…Dm,C1…Ck)为:(D1 D2 … Dn),令i=1,转到步骤5.2;
步骤5.2:如果i<=n,转到步骤5.3,否则转到步骤5.8;
步骤5.3:将数据块Di分成t个更小单位数据,Di=(di1,di2…dit),转到步骤5.4;
步骤5.4:定义数对:(x1,di1),(x2,di2)…(xt,dit),其中x1…xt选取任意整数,在t个点上面利用拉格朗日插值公式生成k-1阶多项式L(x);
其中lj(x)为插值基函数:
步骤5.5:得到多项式L(x)后,选取区别于x1…xt的另外t个点,α1,α2…αt代入多项式计算相应的函数值,得到β1,β2…βt,令Di=(β1,β2…βt);
步骤5.6:隐藏信息后的数据块Di=(β1,β2…βt),以及α1,α2…αt在步骤6中将会存储到相应的云存储中;
步骤5.7:i=i+1,回转执行所述的步骤5.2;
步骤5.8:将文件的存储信息写入客户端,所述的存储信息包括文件名、文件大小、恢复文件块m、以及原始的序列x1…xt;其中对于同一个文件每块数据块的原始的序列x1…xt是一样的,Lagrange插值法信息隐藏结束。
作为优选,步骤8的具体实现包括以下子步骤:
步骤8.1:从云存储端下载下来的m块数据(D2…Dm,C1),用序列(D1,D2…Dm)来表示,令i=1,转到步骤8.2;
步骤8.2:如果i<=m,转到步骤8.3,否则转到步骤8.5;
步骤8.3:对于下载得到数据块Di=(β1,β2…βt)与α1,α2…αt,根据步骤5.4,用(α1,β1),(α2,β2)…(αt,βt),构造多项式函数L(x),在客户端查找相关存储信息,得到该下载文件的原始的序列x1…xt,代入多项式函数计算出原始的数据值Di=(di1,di2…dit),转到步骤8.4;
步骤8.4:i=i+1,转到步骤8.2;
步骤8.5:用Lagrange插值法对隐藏的信息进行恢复后得到编码后的原始数据块(D1,D2…Dm),即(D2…Dm,C1),隐藏信息恢复结束。
作为优选,步骤9的具体实现包括以下子步骤:
步骤9.1:根据步骤8.5得到的数据序列(D2…Dm,C1),对步骤4.3中所定义的编码矩阵删除数据块D1,C2…Ck所对应的行,得到矩阵B';
步骤9.2:将矩阵B'的逆矩阵与步骤8.5中得到的数据块(D2…Dm,C1)相乘,得到用户原始的文件;
步骤9.3:得到文件D=(D1,D2…Dm),Reed Solomon纠删码的信息恢复算法结束。
本发明可以获得以下的有益效果:通过采用多个云存储服务器来存储数据,解决了服务的可用性问题,解决了单云环境下的云提供商锁定问题;通过Reed Solomon纠删码的使用,在保持冗余度的同时减少了存储空间,可以容忍部分云存储出错;通过Lagrange插值法的使用,解决了数据机密性的问题,攻击者在不知道原始序列的情况下即使得到了云存储中的数据也无法进行恢复。通过实施本发明的技术方案,可为多云环境下的数据存储提供一种信息隐藏方案,实现用户隐私的保护。
附图说明
图1:为本发明实施例的整体流程图;
图2:为本发明实施例的Reed Solomon算法中数据分割阶段的细化流程图;
图3:为本发明实施例的Lagrange插值法中信息隐藏阶段的细化流程图;
图4:为本发明实施例的Lagrange插值法中隐藏信息恢复阶段的细化流程图;
图5:为本发明实施例的Reed Solomon算法中数据恢复阶段的细化流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供的一种基于Lagrange插值法和多云的数据隐藏方法,应用在多云环境下的系统中,请见图1,系统包括四个部分:用户、客户端、数据上传层、数据下载层和云端;其中客户端负责Reed Solomon纠删码和Lagrange插值法的执行,向云存储服务器发出上传与下载请求;用户负责从本地选择要上传的文件,下载文件时根据需求选择相应的云存储服务器;云端或云存储服务器负责响应客户端的请求,只存储数据,不执行任何代码;文件为用户需要上传至云端的数据;Reed Solomon纠删码的信息分割算法和Lagrange插值法的信息隐藏在文件上传前执行,Lagrange插值法的隐藏信息恢复和Reed Solomon纠删码的信息恢复算法在文件下载后执行,均由客户端进行计算。
在本实施例中,用户选择上传的文件为D.txt,文件大小为L=150kb。本实例中我们采用4个云存储服务器,文件分为3块编码产生一个冗余块,可以容忍一个云存储出错,只需从3个云存储下载数据就可以恢复原文件。
本发明提供的一种基于Lagrange插值法和多云的数据隐藏方法,包括以下步骤:
步骤1:用户注册:系统在客户端启动后,用户进入注册界面,输入用户名与密码进行注册,注册成功后,转到步骤2;
步骤2:用户登录:用户进入登录界面,输入用户名密码进行登录,登录成功后,转到步骤3;
步骤3:选择上传文件:用户进入系统主界面,点击上传按钮,从本地选择任意一个文件进行上传,选择完成后,转到步骤4;
步骤4:Reed Solomon算法中数据分割:此时客户端首先用Reed Solomon纠删码的信息分割算法将文件分成相同大小的m块,然后编码产生k块(k≤m),共产生n个数据块(n=m+k),如图2所示,本步骤具体包括以下子步骤:
步骤4.1、首先定义上传文件为D,将文件D分为大小相同的m块。则文件D视为向量:D=(D1,D2…Dm),转到步骤4.2;
在本实施例中,上传文件为D.txt,m为3,文件D=(D1,D2,D3),若文件大小无法被3整除,则前两个文件的大小为L/3+1,最后一个文件不够L/3+1的部分用第二块文件的相应部分替代,在最终下载还原得到原文件的时候要删除添加的这一部分;
步骤4.2、定义分块编码后的文件为向量:(D1,D2…Dm,C1…Ck),k为编码产生的冗余块数量,转到步骤4.3;
在本实施例中,编码后的文件为向量为,(D1,D2,D3,C1),k为1;
步骤4.3、定义编码矩阵B,编码矩阵是由单位矩阵和范德蒙德矩阵构成,其中单位矩阵是m行m列矩阵,范德蒙德矩阵为k行m列矩阵,转到步骤4.4;
在本实施例中,编码矩阵B是有一个3行3列的单位矩阵和一个1行1列的范德蒙德矩阵构成;
步骤4.4、编码矩阵与文件向量相乘生成(D1,D2…Dm,C1…Ck),结束;
在本实施例中,编码矩阵与文件向量相乘生成(D1,D2,D3,C1);
步骤5:Lagrange插值法中信息隐藏:然后用Lagrange插值法对分割后的每个数据块进行信息隐藏;如图3所示,本步骤具体包括以下子步骤:
步骤5.1、为表示方便,定义分割编码后的数据块(D1,D2…Dm,C1…Ck)为:(D1 D2 …Dn),令i=1,转到步骤5.2;
在本实施例中,定义分割编码后的数据块(D1,D2,D3,C1)为:(D1,D2,D3,D4);
步骤5.2、如果i<=n,转到步骤5.3,否则转到步骤5.8;
在本实施例中,如果i<=4,转到步骤5.3,否则转到步骤5.8;
步骤5.3、将数据块Di分成t个更小单位数据,Di=(di1,di2…dit),转到步骤5.4;
在本实施例中,令t=4,Di=(di1,di2,di3,di4);
步骤5.4、定义数对:(x1,di1),(x2,di2)…(xt,dit),其中x1…xt可选取任意整数,在t个点上面利用拉格朗日插值公式生成k-1阶多项式L(x),转到步骤5.5;
其中lj(x)为插值基函数:
在本实施例中,数对为(x1,di1),(x2,di2),(x3,di3)(x4,di4),在这4个点上面利用拉格朗日插值公式生成3阶多项式L(x);
其中lj(x)为插值基函数:
步骤5.5、得到多项式L(x)后,选取区别于x1…xt的另外t个点,α1,α2…αt代入多项式计算相应的函数值,得到β1,β2…βt,令Di=(β1,β2…βt),转到步骤5.6;
在本实施例中,选取区别于x1,x2,x3,x4的另外4个点,α1,α2,α3,α4代入多项式计算相应的函数值,得到β1,β2,β3,β4,令Di=(β1,β2,β3,β4);
步骤5.6、隐藏信息后的数据块Di=(β1,β2…βt),以及α1,α2…αt在步骤6中将会存储到相应的云存储中,转到步骤5.7;
在本实施例中,Di=(β1,β2,β3,β4),α1,α2,α3,α4在步骤6中将会存储到相应的云存储中;
在步骤5.6中,虽然每个云存储中除了存储数据块还存储了相应的α1,α2…αt序列值,但是一般t值取的比较小所以序列值相比密钥来说还是小很多,占用的存储空间并不多;
步骤5.7、i=i+1,转到步骤5.2;
步骤5.8、将文件的存储信息:文件名,文件大小,恢复文件块m,以及原始的序列x1…xt写入客户端,Lagrange插值法信息隐藏结束;
在本实施例中,文件名D.txt,文件大小:150kb,m为3,原始序列x1,x2,x3,x4;
在本发明方案中,同一文件每块数据的原始序列取值相同。
步骤6:文件上传:把处理后的每块数据及每块数据对应的序列值上传到相应的云存储中,文件上传成功后,系统主界面显示了已成功上传的n块数据,根据云存储各自的状况,用户根据自身需求选择其中的m块进行下载,选择完成后转到步骤7;
在本实施例中,将通过步骤5得到的数据块(D1,D2,D3,C1)以及每块数据对应的序列值α1,α2,α3,α4分别存储到4个云存储中,用户下载时根据需求从4块数据中选择3块下载;
步骤7、文件下载:选择完成后点击下载按钮,则从相应的云存储中下载存储的数据及其对应的序列值。m块数据下载下来后,转到步骤8;
在本实施例中,从相应的云存储中下载数据以及所对应的序列值α1,α2,α3,α4,m为3;
步骤8、Lagrange插值法—隐藏信息恢复:在客户端对下载下来的每块数据用Lagrange插值法对隐藏的信息进行恢复,如图4所示,本步骤具体包括以下子步骤:
步骤8.1、从云存储端下载下来的m块数据,以(D2…Dm,C1)为例,为论述方便(D2…Dm,C1)用序列(D1,D2…Dm)来表示,令i=1,转到步骤8.2;
在本实施例中,用户选择进行下载的3个数据块是(D2,D3,C1),用序列(D1,D2,D3)来表示;
步骤8.2、如果i<=m,转到步骤8.3,否则转到步骤8.5;
在本实施例中,如果i<=3,转到步骤8.3,否则转到步骤8.5;
步骤8.3、对于下载得到数据块Di=(β1,β2…βt)与α1,α2…αt,根据步骤5.4,用(α1,β1),(α2,β2)…(αt,βt),构造多项式函数L(x),在客户端查找相关存储信息,得到该下载文件的原始的序列x1…xt,代入多项式函数计算出原始的数据值Di=(di1,di2…dit),转到步骤8.4;
在本实施例中,下载得到数据块Di=(β1,β2,β3,β4)与α1,α2,α3,α4,根据步骤5.4,用(α1,β1),(α2,β2),(α3,β3),(α4,β4),构造多项式函数L(x),在客户端查找相关存储信息,得到该下载文件的原始的序列x1,x2,x3,x4,代入多项式函数L(x)计算出原始的数据值Di=(di1,di2,di3,di4);
步骤8.4、i=i+1,转到步骤8.2;
步骤8.5、用Lagrange插值法对隐藏的信息进行恢复后得到编码后的原始数据块(D1,D2…Dm)即(D2…Dm,C1),隐藏信息恢复结束;
在本实施例中,用Lagrange插值法对隐藏的信息进行恢复后得到编码后的原始数据块(D2,D3,C1);
步骤9、Reed Solomon算法—数据恢复:对用Lagrange插值法对隐藏的信息进行恢复后的m块数据用Reed Solomon纠删码的信息恢复算法对其进行恢复,恢复成为原始的文件,如图5所示,本步骤具体包括以下子步骤:
步骤9.1、根据步骤8.5得到的数据序列(D2…Dm,C1),对步骤4.3中所定义的编码矩阵删除数据块D1,C2…Ck所对应的行,得到矩阵B',转到步骤9.2;
在本实施例中,根据步骤8.5得到的数据序列(D2,D3,C1),对步骤4.3中所定义的编码矩阵删除数据块D1对应的行,得到矩阵B';
步骤9.2、将矩阵B'的逆矩阵与步骤8.5中得到的数据块(D2…Dm,C1)相乘,得到用户原始的文件,转到步骤9.3;
在本实施例中,将矩阵B'的逆矩阵与步骤8.5中得到的数据块(D2,D3,C1)相乘;
步骤9.3、得到文件D=(D1,D2…Dm)Reed Solomon纠删码的信息恢复算法结束。
在本实施例中,得到文件D=(D1,D2,D3),Reed Solomon纠删码的信息恢复算法结束,整个方案结束。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (4)
1.一种基于Lagrange插值法和多云的数据隐藏方法,应用在多云环境下的系统中,系统包括四个部分:用户、客户端、数据上传层、数据下载层和云端;其特征在于,包括以下步骤:
步骤1:用户注册;系统在客户端启动后,用户进入注册界面,输入用户名与密码进行注册,注册成功后,转到步骤2;
步骤2:用户登录;用户进入登录界面,输入用户名密码进行登录,登录成功后,转到步骤3;
步骤3:选择上传文件;用户进入系统主界面,点击上传按钮,从本地选择任意一个文件进行上传,选择完成后,转到步骤4;
步骤4:此时客户端首先用Reed Solomon纠删码的信息分割算法将文件分成相同大小的m块,然后编码产生k块,其中k≤m,共产生n个数据块,n=m+k,编码成功后转到步骤5;
步骤5:然后用Lagrange插值法对分割后的每个数据块进行信息隐藏,隐藏成功后转到步骤6;
具体实现包括以下子步骤:
步骤5.1:定义分割编码后的数据块(D1,D2…Dm,C1…Ck)为:(D1 D2 … Dn),令i=1,转到步骤5.2;
步骤5.2:如果i<=n,转到步骤5.3,否则转到步骤5.8;
步骤5.3:将数据块Di分成t个更小单位数据,Di=(di1,di2…dit),转到步骤5.4;
步骤5.4:定义数对:(x1,di1),(x2,di2)…(xt,dit),其中x1…xt选取任意整数,在t个点上面利用拉格朗日插值公式生成k-1阶多项式L(x);
<mrow>
<mi>L</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>t</mi>
</munderover>
<msub>
<mi>d</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<msub>
<mi>l</mi>
<mi>j</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>)</mo>
</mrow>
<mo>;</mo>
</mrow>
其中lj(x)为插值基函数:
<mrow>
<msub>
<mi>l</mi>
<mi>j</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mi>&Pi;</mi>
<mrow>
<mi>z</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mi>z</mi>
<mo>!</mo>
<mo>=</mo>
<mi>j</mi>
</mrow>
<mi>t</mi>
</munderover>
<mfrac>
<mrow>
<mi>x</mi>
<mo>-</mo>
<msub>
<mi>x</mi>
<mi>z</mi>
</msub>
</mrow>
<mrow>
<msub>
<mi>x</mi>
<mi>j</mi>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mi>z</mi>
</msub>
</mrow>
</mfrac>
<mo>=</mo>
<mfrac>
<mrow>
<mo>(</mo>
<mrow>
<mi>x</mi>
<mo>-</mo>
<msub>
<mi>x</mi>
<mn>1</mn>
</msub>
</mrow>
<mo>)</mo>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>x</mi>
<mi>j</mi>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mn>1</mn>
</msub>
</mrow>
<mo>)</mo>
</mrow>
</mfrac>
<mn>...</mn>
<mfrac>
<mrow>
<mo>(</mo>
<mrow>
<mi>x</mi>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>j</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
</mrow>
<mo>)</mo>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>x</mi>
<mi>j</mi>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>j</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
</mrow>
<mo>)</mo>
</mrow>
</mfrac>
<mfrac>
<mrow>
<mo>(</mo>
<mrow>
<mi>x</mi>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>j</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
</mrow>
<mo>)</mo>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>x</mi>
<mi>j</mi>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>j</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
</mrow>
<mo>)</mo>
</mrow>
</mfrac>
<mn>...</mn>
<mfrac>
<mrow>
<mo>(</mo>
<mrow>
<mi>x</mi>
<mo>-</mo>
<msub>
<mi>x</mi>
<mi>t</mi>
</msub>
</mrow>
<mo>)</mo>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>x</mi>
<mi>j</mi>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mi>t</mi>
</msub>
</mrow>
<mo>)</mo>
</mrow>
</mfrac>
<mo>;</mo>
</mrow>
步骤5.5:得到多项式L(x)后,选取区别于x1…xt的另外t个点,α1,α2…αt代入多项式计算相应的函数值,得到β1,β2…βt,令Di=(β1,β2…βt);
步骤5.6:隐藏信息后的数据块Di=(β1,β2…βt),以及α1,α2…αt在步骤6中将会存储到相应的云存储中;
步骤5.7:i=i+1,回转执行所述的步骤5.2;
步骤5.8:将文件的存储信息写入客户端,所述的存储信息包括文件名、文件大小、恢复文件块m、以及原始的序列x1…xt;其中对于同一个文件每块数据块的原始的序列x1…xt是一样的,Lagrange插值法信息隐藏结束;
步骤6:文件上传;把处理后的每块数据及每块数据对应的序列值上传到相应的云存储中,文件上传成功后,系统主界面显示了已成功上传的n块数据,根据云存储各自的状况,用户根据自身需求选择其中的m块进行下载,选择完成后转到步骤7;
步骤7:文件下载;选择完成后点击下载按钮,则从相应的云存储中下载存储的数据及其对应的序列值,m块数据下载下来后,转到步骤8;
步骤8:在客户端对下载下来的每块数据用Lagrange插值法对隐藏的信息进行恢复,恢复成功后,转到步骤9;
步骤9:对用Lagrange插值法对隐藏的信息进行恢复后的m块数据用Reed Solomon纠删码的信息恢复算法对其进行恢复,恢复成为原始的文件,结束。
2.根据权利要求1所述的基于Lagrange插值法和多云的数据隐藏方法,其特征在于,步骤4的具体实现包括以下子步骤:
步骤4.1:首先定义上传文件为D,将文件D分为大小相同的m块,则文件D视为向量:D=(D1,D2…Dm);
步骤4.2:定义分块编码后的文件为向量:(D1,D2…Dm,C1…Ck),k为编码产生的冗余块数量;
步骤4.3:定义编码矩阵B,编码矩阵是由单位矩阵和范德蒙德矩阵构成,其中单位矩阵是m行m列矩阵,范德蒙德矩阵为k行m列矩阵;
<mrow>
<mi>B</mi>
<mo>=</mo>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>2</mn>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mi>m</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<msup>
<mn>2</mn>
<mrow>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msup>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msup>
<mi>m</mi>
<mrow>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msup>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>;</mo>
</mrow>
步骤4.4:编码矩阵与文件向量相乘生成(D1,D2…Dm,C1…Ck),
<mrow>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>2</mn>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mi>m</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<msup>
<mn>2</mn>
<mrow>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msup>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msup>
<mi>m</mi>
<mrow>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msup>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>&times;</mo>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<msub>
<mi>D</mi>
<mn>1</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>D</mi>
<mn>2</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>D</mi>
<mi>m</mi>
</msub>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>=</mo>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<msub>
<mi>D</mi>
<mn>1</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>D</mi>
<mn>2</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>D</mi>
<mi>m</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>C</mi>
<mn>1</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>C</mi>
<mi>k</mi>
</msub>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>.</mo>
</mrow>
3.根据权利要求1所述的基于Lagrange插值法和多云的数据隐藏方法,其特征在于,步骤8的具体实现包括以下子步骤:
步骤8.1:从云存储端下载下来的m块数据(D2…Dm,C1),用序列(D1,D2…Dm)来表示,令i=1,转到步骤8.2;
步骤8.2:如果i<=m,转到步骤8.3,否则转到步骤8.5;
步骤8.3:对于下载得到数据块Di=(β1,β2…βt)与α1,α2…αt,根据步骤5.4,用(α1,β1),(α2,β2)…(αt,βt),构造多项式函数L(x),在客户端查找相关存储信息,得到下载文件的原始的序列x1…xt,代入多项式函数计算出原始的数据值Di=(di1,di2…dit),转到步骤8.4;
步骤8.4:i=i+1,转到步骤8.2;
步骤8.5:用Lagrange插值法对隐藏的信息进行恢复后得到编码后的原始数据块(D1,D2…Dm),即(D2…Dm,C1),隐藏信息恢复结束。
4.根据权利要求3所述的基于Lagrange插值法和多云的数据隐藏方法,其特征在于,步骤9的具体实现包括以下子步骤:
步骤9.1:根据步骤8.5得到的数据序列(D2…Dm,C1),对步骤4.3中所定义的编码矩阵删除数据块D1,C2…Ck所对应的行,得到矩阵B';
<mrow>
<msup>
<mi>B</mi>
<mo>&prime;</mo>
</msup>
<mo>=</mo>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>;</mo>
</mrow>
步骤9.2:将矩阵B'的逆矩阵与步骤8.5中得到的数据块(D2…Dm,C1)相乘,得到用户原始的文件;
<mrow>
<msup>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msup>
<mo>&times;</mo>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<msub>
<mi>D</mi>
<mn>2</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>D</mi>
<mi>m</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>C</mi>
<mn>1</mn>
</msub>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>=</mo>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<msub>
<mi>D</mi>
<mn>1</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>D</mi>
<mn>2</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>D</mi>
<mi>m</mi>
</msub>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>;</mo>
</mrow>
步骤9.3:得到文件D=(D1,D2…Dm),Reed Solomon纠删码的信息恢复算法结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510287907.5A CN104915609B (zh) | 2015-05-28 | 2015-05-28 | 一种基于Lagrange插值法和多云的数据隐藏方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510287907.5A CN104915609B (zh) | 2015-05-28 | 2015-05-28 | 一种基于Lagrange插值法和多云的数据隐藏方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104915609A CN104915609A (zh) | 2015-09-16 |
CN104915609B true CN104915609B (zh) | 2017-12-08 |
Family
ID=54084669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510287907.5A Expired - Fee Related CN104915609B (zh) | 2015-05-28 | 2015-05-28 | 一种基于Lagrange插值法和多云的数据隐藏方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104915609B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657266A (zh) * | 2016-11-10 | 2017-05-10 | 南京云创大数据科技股份有限公司 | 一种基于公有云的安全可靠的公有云存储系统的架构及方法 |
CN109491591A (zh) * | 2018-09-17 | 2019-03-19 | 广东工业大学 | 一种适于多云存储系统的信息扩散方法 |
CN109816590B (zh) * | 2018-12-26 | 2023-03-14 | 呈像科技(北京)有限公司 | 图像外插处理方法 |
CN109951443B (zh) * | 2019-01-28 | 2021-06-04 | 湖北工业大学 | 一种云环境下隐私保护的集合交集计算方法及系统 |
CN110610105B (zh) * | 2019-09-25 | 2020-07-24 | 郑州轻工业学院 | 一种云环境下基于秘密共享的三维模型文件的认证方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523086A (zh) * | 2011-12-07 | 2012-06-27 | 上海交通大学 | 一种隐私保护云存储系统中的密钥恢复方法 |
CN103312707A (zh) * | 2013-06-06 | 2013-09-18 | 南京邮电大学 | 属性基签名的云服务器辅助验证方法 |
CN104009981A (zh) * | 2014-05-14 | 2014-08-27 | 国家电网公司 | 一种基于对称加密的实时大数据隐私保护方法 |
-
2015
- 2015-05-28 CN CN201510287907.5A patent/CN104915609B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523086A (zh) * | 2011-12-07 | 2012-06-27 | 上海交通大学 | 一种隐私保护云存储系统中的密钥恢复方法 |
CN103312707A (zh) * | 2013-06-06 | 2013-09-18 | 南京邮电大学 | 属性基签名的云服务器辅助验证方法 |
CN104009981A (zh) * | 2014-05-14 | 2014-08-27 | 国家电网公司 | 一种基于对称加密的实时大数据隐私保护方法 |
Non-Patent Citations (2)
Title |
---|
一种基于双域拉格朗日插值的视频错误隐藏方法;张建龙等;《电子学报》;20070430;第35卷(第4期);第653-658页 * |
拉格朗日插值方法在数值信息隐藏与分析中的应用;高立军;《科技通报》;20120430;第28卷(第4期);第8-10页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104915609A (zh) | 2015-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106650503B (zh) | 基于ida的云端数据完整性验证及恢复方法 | |
US11182247B2 (en) | Encoding and storage node repairing method for minimum storage regenerating codes for distributed storage systems | |
CN104915609B (zh) | 一种基于Lagrange插值法和多云的数据隐藏方法 | |
US10540514B1 (en) | Distributed network for storing a redundant array of independent blockchain blocks | |
Bowers et al. | HAIL: A high-availability and integrity layer for cloud storage | |
CN102624866B (zh) | 一种存储数据的方法、装置及分布式网络存储系统 | |
CN105516340B (zh) | 一种云存储数据可恢复性验证方法及系统 | |
CN110750796B (zh) | 一种支持公开审计的加密数据去重方法 | |
JP2012154968A (ja) | セキュア集合関数システム、秘密集合関数装置、セキュア集合関数処理方法、セキュア集合関数プログラム | |
CN105406966A (zh) | 一种门限秘密信息分配、还原、完整性验证方法及装置 | |
CN106612171A (zh) | 云存储中一种数据软恢复方法 | |
CN109101360B (zh) | 一种基于布隆过滤器和交叉编码的数据完整性保护方法 | |
US20150023498A1 (en) | Byzantine fault tolerance and threshold coin tossing | |
CN105653983B (zh) | 基于云存储的信息分配、还原、完整性验证方法及装置 | |
Chen et al. | Towards server-side repair for erasure coding-based distributed storage systems | |
Balmany et al. | Dynamic proof of retrievability based on public auditing for coded secure cloud storage | |
CN109104449B (zh) | 一种云存储环境下的多备份数据持有性证明方法 | |
CN117235342A (zh) | 基于同态哈希函数和虚拟索引的动态云审计方法 | |
CN103986718A (zh) | 一种提高hdfs文件传输安全性和读取效率的方法 | |
Fan et al. | Dependable data outsourcing scheme based on cloud-of-clouds approach with fast recovery | |
Liu et al. | Privacy-preserving dynamic auditing for regenerating code-based storage in cloud-fog-assisted IIoT | |
CN114282922A (zh) | 一种基于冷钱包的区块链交易处理方法及装置 | |
CN112486412A (zh) | 一种基于分布式对象存储系统安全的信息分散方法及系统 | |
Xu et al. | Reliable and secure distributed cloud data storage using reed-Solomon codes | |
Rashid et al. | Proof of retrieval and ownership protocols for enterprise-level data deduplication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171208 Termination date: 20180528 |