写在前面,研究生之路不易,而我又是个表达不清自己的人,论文看起来也很吃力,有点跨考的意思,所以想找个输出的地方,就来重拾博客,和大家交流一下,希望各位大佬批评指正,也希望对像我这样的小白有所帮助。
这是我整理的第一篇论文。
Outsourcing Large Matrix Inversion Computation to a Public Cloud
IEEE TRANSACTIONS ON CLOUD COMPUTI 2013
将大矩阵求逆外包到公共云
2013年,IEEE云计算会刊
1、用到的数学背景
(1)Cauchy's two-line notation (叫 柯西两行表示法?)
π(i)=pi
π的逆函数 π-1(pi)=i
(2)克罗内克函数
克罗内克函数是一个二元函数,输入是两个整数,若二者相等,输出为1,否则,输出为0。
https://baike.baidu.com/item/克罗内克函数/5760735?fr=aladdin
2、协议设计
算法1:密钥生成程序
安全参数λ指定密钥空间,客户随机从中选择两组Kα,Kβ
算法2:洗牌算法
生成一个大小为n的数组(1~n),保存1~n的数值。
第一次从1~n-1中随机生成一个数值x,作为第一个随机数,然后将下标为x的数值与尾元素交换,
第二次从1~n-2中随机生成一个数值x,作为第二个随机数,然后将下标为x的数值与倒数第二个元素交换,
以此类推。
https://blog.csdn.net/qq_26399665/article/details/79831490
算法3:矩阵求逆加密
π1,π2为随机置换空间
Kα,Kβ为密钥
P1,P2为稀疏加密矩阵(P1,P2每一行每一列只有一个非零元素)
将矩阵x加密成矩阵Y
利用定理1,O(n2)的复杂度计算Y
引理1的证明
更正:
下标改变另有隐情,有时间过来更改。
和同学讨论了一下,对于π(i)=j来说,是p矩阵的第i行j列的元素不为0,求逆,i,j就要倒换过来了。
计算和验证
验证的时候,选择一个n*1维的随机向量r,进行验证
若向量P是零向量,则验证成功。
3、分析
(1)正确性
(2)安全保证
输入输出隐私保护
原始矩阵X加密要两个阶段
对于随机置换空间π,有(n!)2种,穷举攻击要平均尝试(n!)2/2次。
第二阶段,对于密钥空间K也类似。
(3)验证