广东工业大学学报  2016, Vol. 33Issue (5): 15-21.  DOI: 10.3969/j.issn.1007-7162.2016.05.004.
0

引用本文 

刘智慧, 刘洪伟, 詹明君, 肖祺, 陈晓旋. 协同优化决策中数据水平分区的隐私保护算法研究[J]. 广东工业大学学报, 2016, 33(5): 15-21. DOI: 10.3969/j.issn.1007-7162.2016.05.004.
Liu Zhi-hui, Liu Hong-wei, Zhan Ming-jun, Xiao Qi, Chen Xiao-xuan. Privacy-Preserving Algorithm Research on Horizontally Partitioned Data of Collaborative Optimization Decisions[J]. Journal of Guangdong University of Technology, 2016, 33(5): 15-21. DOI: 10.3969/j.issn.1007-7162.2016.05.004.

基金项目:

国家自然科学基金资助项目(70971027);广东省普通高校人文社会科学重点研究项目(12ZS0112)

作者简介:

刘智慧(1990-),女,硕士研究生,主要研究方向为隐私保护、电子商务。

通信作者

刘洪伟(1962-), 男,教授,博士生导师,主要研究方向为管理决策、数据分析、隐私保护等.E-mail:liuhongwei@gdut.edu.cn

文章历史

收稿日期:2016-03-09
协同优化决策中数据水平分区的隐私保护算法研究
刘智慧, 刘洪伟, 詹明君, 肖祺, 陈晓旋    
广东工业大学 管理学院,广东 广州 510520
摘要: 在跨组织协同优化决策问题中的参数来源于不同主体的数据.在缺乏可信第三方时难以完成全局优化问题的求解.本文运用随机矩阵转换和加密技术方法来解决约束条件中数据水平分区优化问题的协同计算,克服了扰动或差分算法对问题结构以及解结构潜在的不稳定影响.提出的安全协议一方面可以保证在保护各方隐私信息的前提下得到计算结果与集中式的结果具有一致性,另一方面也具备良好的防推理攻击能力.该研究可广泛应用于供应链系统或企业联盟间的决策优化问题的协同安全计算问题.
关键词: 数据水平分区    安全协议    推理攻击    
Privacy-Preserving Algorithm Research on Horizontally Partitioned Data of Collaborative Optimization Decisions
Liu Zhi-hui, Liu Hong-wei, Zhan Ming-jun, Xiao Qi, Chen Xiao-xuan    
School of Management, Guangdong University of Technology, Guangzhou 510520, China
Abstract: In the cross-organizational collaborative optimal decision-making, the parameters of optimization usually originate from different subject data. It is difficult to solve the global optimization problems due to the lack of a trusted third party. A method combining the random matrix transformation and encryption technology is put forward to solve the collaborative optimization of the horizontally partitioned data. This method also overcomes the potential destabilizing impact of structural problems and structural solutions when using disturbance or difference algorithm. On one hand, the security protocol can ensure the consistency of calculation results with privacy-preserving and centralized results. On the other side, it can prevent the potential inference attack. The study can be widely used in collaborative computing security issues of optimization decision problems among enterprise alliance or supply chain.
Key words: data horizontally partitioned    security protocol    inference attack    

在跨组织的协同优化决策中,常常表现为供应链管理中的生产计划问题、物流运输问题、库存优化问题、订单优化问题等.作为优化决策的一个重要分支,线性规划(linear programming,简称LP)模型可以用来解决各种领域的利润最大化或成本最小化的问题.但是,在求解LP问题的最优解时,目标函数的系数、约束条件的约束矩阵以及右边的向量可能被不同的实体拥有,这些实体不愿意泄露这些数据,这就产生了隐私问题,如何在不泄露这些实体的数据的情况下计算出LP问题的最优解就成了急需解决的课题.

一般地,隐私保护LP有两种不同的方法.第1种是基于转换的方法,这种类型的方法基本上是通过随机矩阵变换实现的,其主要思想是通过转换改变数据使得真实的隐私信息不被披露[1-6].2001年,基于不经意传输协议和随机矩阵转换法,Wenliang Du[1]首次提出一个半诚实模型下的安全两方PPC-LSE(privacy-preserving cooperation linear system of equations)协议.2009年,Vaidya提出了适用于一方拥有目标函数,另一方拥有约束的情况的隐私保护方法,该方法也是通过随机矩阵变换实现的[2].Mangasarian在文献[3]和文献[4]分别针对垂直分割数据和水平分割数据,提出了基于随机矩阵变换的隐私保护方法.然而,一个严重的缺点是这些方法得出的解可能是不可行解.

第2种方法是用加密技术来实现隐私保护[7-15],这些方法是通过在每一步的算法中对私有数据进行加密.2009年,Vaidya[7]利用安全多方计算提出的基于单纯形法的解决方法是非常有效的,但是只适用于一方拥有目标函数,另一方拥有约束的情况.2009年,AliceBednarz等[13]指出了利用Du[3]或者Vaidyad[7]的方法来解决隐私保护LP问题,得出的解也可能是不可行解.

为了解决不可行解的问题,Mangasarian在文献[4]提出在多方参与者掌握各自的隐私等式约束条件的情况下,基于随机矩阵变换的隐私保护水平分割LP(PPHPLP)方法.随后,Li等人[5]将该方法拓展成包含不等式约束的PPHPLP方法.然而,该方法还是不够安全——在只有两方参与的情况下,参与者的隐私约束还是会被攻击者推断出来.因此,本文将提出一个防推理的安全两方算法来解决文献中PPHPLP存在的潜在推理攻击.该算法结合了随机矩阵转换和加密技术(不经意传输协议)来实现隐私保护,且安全性比Mangasarian[4]和Li等人[5]提出的方法有所提高.

1 问题提出 1.1 数据水平分布的隐私保护LP问题

考虑LP问题:{mincTxs.t.Ax=b, x≥0}.在水平分区LP中,约束条件的ARm×nbRm被水平分割成p个模块,并分别由p个参与者掌握:AI, AI, …, AIp·bI1, bI2, …, bIp,其中AIibIi和下标索引Ii属于参与者i(i=1, 2, …, p).当所有参与者进行协同合作时,每个参与者i=1, 2, …, p都不想共享出自己的隐私数据块.因此,Mangasarian[4]提出了一个转换的方法来解决这个问题:构造一个随机矩阵BRk×m, km,且rank(B)=m,这样就变成了一个新的LP问题,可表示为

$ \begin{array}{l} \min {\mathit{\boldsymbol{c}}^{\rm{T}}}\mathit{\boldsymbol{x}}{\bf{.}}\\ {\bf{s}}{\bf{.t}}\left\{ \begin{array}{l} \mathit{\boldsymbol{BAx}}=\mathit{\boldsymbol{Bb}}, \\ \mathit{\boldsymbol{x}} \ge 0 \cdot \end{array} \right. \end{array} $ (1)

Mangasarian采用一个随机矩阵,将原始的LP问题转换成一个安全的LP问题,并证明了在BRk×m, rank(B)=m, km的情况下,这个安全LP和原始LP问题的最优解是等价的.因此,每个参与者i=1, 2, …, p生成一个随机矩阵B·IiRk×mi,使得

$ \begin{array}{l} \mathit{\boldsymbol{BA}}=\left[{\mathit{\boldsymbol{B}}{_{\cdot{I_1}}}, {\rm{ }}\mathit{\boldsymbol{B}}{_{\cdot{I_2}}}, \ldots, {\rm{ }}\mathit{\boldsymbol{B}}{_{\cdot{I_p}}}} \right]\left[{\begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{A}}{_{{I_1}\cdot}}}\\ {\mathit{\boldsymbol{A}}{_{{I_2}\cdot}}} \end{array}}\\ \vdots \end{array}}\\ {\mathit{\boldsymbol{A}}{_{{I_p}\cdot}}} \end{array}} \right]=\\ \mathit{\boldsymbol{B}}{_{\cdot{I_1}}}\mathit{\boldsymbol{A}}{_{{I_1}\cdot}}+{\rm{ }}\mathit{\boldsymbol{B}}{_{\cdot{I_2}}}\mathit{\boldsymbol{A}}{_{{I_2}\cdot}}+\ldots+{\rm{ }}\mathit{\boldsymbol{B}}{_{\cdot{I_p}}}\mathit{\boldsymbol{A}}{_{{I_p}\cdot}} \in {\rm{ }}{\bf{R}}{^{k \times n}}; \end{array} $ (2)
$ \begin{array}{l} \mathit{\boldsymbol{Bb}}=\left[{{\mathit{\boldsymbol{B}}_{\cdot{I_1}}}, {\rm{ }}{\mathit{\boldsymbol{B}}_{\cdot{I_2}}}, \ldots, {\rm{ }}{\mathit{\boldsymbol{B}}_{\cdot{I_p}}}} \right]\left[\begin{array}{l} {\mathit{\boldsymbol{b}}_{{I_1}}}\\ {\mathit{\boldsymbol{b}}_{{I_2}}}\\ \; \vdots \\ {\mathit{\boldsymbol{b}}_{{I_p}}} \end{array} \right]=\\ {\mathit{\boldsymbol{B}}_{\cdot{I_1}}}{\mathit{\boldsymbol{b}}_{{I_1}}}+{\mathit{\boldsymbol{B}}_{\cdot{I_2}}}{\mathit{\boldsymbol{b}}_{{I_2}}}+\ldots+{\mathit{\boldsymbol{B}}_{\cdot{I_p}}}{\mathit{\boldsymbol{b}}_{{I_p}}} \in {{\bf{R}}^k}. \end{array} $ (3)

在Mangasarian[4]的PPHPLP算法中,每个参与者i=1, 2, …, p只公开了转换后的矩阵乘积B·IiAIi·和转换后的向量B·IibIi来求解该问题.因此B·IiRk×miAIibIi还是隐私的.

而且,Li等人[5]考虑了下面的不等式约束的水平分布LP问题:

$ \begin{array}{l} {\rm{min}}{\mathit{\boldsymbol{c}}^{\rm{T}}}\mathit{\boldsymbol{x}}\\ {\rm{s}}{\rm{.t}}{\rm{.}}\left\{ \begin{array}{l} \mathit{\boldsymbol{Ax}} \le b, \\ \mathit{\boldsymbol{x}} \ge {\rm{0}} \cdot \end{array} \right. \end{array} $ (4)

Mangasarian[4]指出将LP问题中的不等式约束通过添加松弛变量转变为等式约束,然后用Mangasarian的方法转换该问题,这样会泄漏B·Ii.因此,Li等人[5]在Mangasarian的基础上,通过让每个参与者i=1, 2, …, p随机生成松弛变量的一个对角矩阵系数D·IiRmi×mi的方法来解决这一问题.所以,进行一个类似的转换,将原LP问题转变成如下形式:

$ \begin{array}{l} {\rm{min}}{\mathit{\boldsymbol{c}}^{\rm{T}}}\mathit{\boldsymbol{x}}\\ {\rm{s}}{\rm{.t}}{\rm{.}}\left\{ \begin{array}{l} \mathit{\boldsymbol{BAx}}+\mathit{\boldsymbol{BD}}{\mathit{\boldsymbol{x}}_\mathit{\boldsymbol{s}}}=\mathit{\boldsymbol{Bb}}, \\ \mathit{\boldsymbol{x}} \ge 0,\\ {\mathit{\boldsymbol{x}}_s} \ge 0. \end{array} \right. \end{array} $ (5)

其中xs表示所有的松弛变量,且D=diag(DI1, DI2, …, DIp)∈Rm×m.如果(x*, xs*)是转换后的LP问题(5) 的最优解,那么x*就是原LP问题(4) 的最优解.

1.2 推理攻击

在Li等人扩展转换的LP问题(5) 中,每个参与者i=1, 2, …, p随机生成了一个对角矩阵系数D·IiRmi×mi以防止其他人从松弛变量中推断出其隐私随机矩阵B·Ii.然而,这样的变换方法仍然容易受到潜在的推理攻击.

现在来做一个算例分析:Alice掌握两个约束条件x1+2x2+x3≤4和x1+x2-x3≤1,Bob掌握一个约束条件x1+3x2-2x3≤1.在转换后的LP问题中,Alice和Bob分别生成自己的隐私随机矩阵:

$ \begin{array}{l} {\mathit{\boldsymbol{B}}_{\cdot{I_1}}}=\left[{\begin{array}{*{20}{c}} {0.278{\rm{ }}5}&{}&{0.964{\rm{ }}9}\\ {0.546{\rm{ }}9}&{}&{0.157{\rm{ }}6}\\ {0.957{\rm{ }}5}&{}&{0.970{\rm{ }}6} \end{array}} \right] \in {{\bf{R}}^{3 \times 2}}\\ {\mathit{\boldsymbol{D}}_{\cdot{I_1}}}=\left[\begin{array}{l} \begin{array}{*{20}{c}} {9.707{\rm{ }}5}&{}&\;\;\;0 \end{array}\\ \begin{array}{*{20}{c}} \;\;\;\;\;0&{}&{19.143{\rm{ }}3} \end{array} \end{array} \right] \in {{\bf{R}}^{2 \times 2}}, \\ {\mathit{\boldsymbol{B}}_{\cdot{I_2}}}=\left[\begin{array}{l} 0.421{\rm{ }}8\\ 0.915{\rm{ }}7\\ 0.792{\rm{ }}2 \end{array} \right] \in {{\bf{R}}^{3 \times 1}}\\ {\mathit{\boldsymbol{D}}_{\cdot{I_2}}}=\left[{\begin{array}{*{20}{c}} {16.005}&6 \end{array}} \right] \in {{\bf{R}}^{1 \times 1}}. \end{array} $

由于该不等式约束需要3个松弛变量(因为要一起解决LP问题,所以这是公开的),Alice通过m1=2可得知Bob只有一个约束条件即m1=1,那么Alice又可得知B·I2R3×1D·I2R1×1.因此,在Alice看来,AI2·R1×3B·I2R3×1bI2R1×1中的元素可表示为真实变量α1, α2, α3β1, β2, β3δ

$ \mathit{\boldsymbol{A}}{_{{I_2}\cdot}}=\left[{\begin{array}{*{20}{c}} {{\alpha _1}}&{{\alpha _2}}&{{\alpha _3}} \end{array}} \right], \mathit{\boldsymbol{B}}{_{\cdot{I_2}}}=\left[{\begin{array}{*{20}{c}} {{\beta _1}}&{{\beta _2}}&{{\beta _3}} \end{array}} \right]{^{\rm{T}}}, \mathit{\boldsymbol{b}}{_{{I_2}}}=\left[\delta \right] \cdot $

值得注意的是, Mangasarian[4]和Li等人[5]都将每个参与者转换后的矩阵B·IiAIi·和向量B·IibIi公开.因此,在这个两方的算例中,Alice可以将B·I2AI2·R3×3B·I2bI2R3×1表示成

$ \begin{array}{l} \;\;\;\;\;\mathit{\boldsymbol{B}}{_{\cdot{I_2}}}\mathit{\boldsymbol{A}}{_{{I_2}\cdot}}=\left[{\begin{array}{*{20}{c}} {{\beta _1}{\alpha _1}}&{{\beta _1}{\alpha _2}}&{{\beta _1}{\alpha _3}}\\ {{\beta _2}{\alpha _1}}&{{\beta _2}{\alpha _2}}&{{\beta _2}{\alpha _3}}\\ {{\beta _3}{\alpha _1}}&{{\beta _3}{\alpha _2}}&{{\beta _3}{\alpha _3}} \end{array}} \right]=\\ \left[{\begin{array}{*{20}{c}} {0.421{\rm{ }}8}&{1.265{\rm{ }}4}&{-0.843{\rm{ }}6}\\ {0.915{\rm{ }}7}&{2.747{\rm{ }}1}&{-1.831{\rm{ }}4}\\ {0.792{\rm{ }}2}&{2.376{\rm{ }}6}&{-1.584{\rm{ }}4} \end{array}} \right];\\ \;\;\;\;\;\mathit{\boldsymbol{B}}{_{\cdot{I_2}}}\mathit{\boldsymbol{b}}{_{{I_2}}}=\left[\begin{array}{l} {\beta _1}\delta \\ {\beta _2}\delta \\ {\beta _3}\delta \end{array} \right]=\left[\begin{array}{l} 0.421{\rm{ }}8\\ 0.915{\rm{ }}7\cdot\\ 0.792{\rm{ }}2 \end{array} \right] \end{array} $

上述矩阵和向量中的元素是完全公开的.因此,Alice知道B·I2AI2·B·I2bI2中有β1α1=0.4128,β1α2=1.2654,β1α3=-0.8436和β1δ=0.4218,那么Alice可以很快地计算出α1:α2:α3:δ=1:3:(-2):1.虽然Alice并不能推断出α1, α2, α3, δ精确值,但是她完全可以用α1:α2:α3:δ=1:3:(-2):1来重构约束条件x1+3x2-2x3≤1.

因此,公开LP问题约束条件的个数m可能会导致严重的隐私泄漏:一个攻击者可以利用真实变量重构方程来推断其他参与者的隐私约束条件.事实上,在现有研究中[4-5]有两种可能的方法可以获得m的信息,如下:

(1) 松弛变量的个数可能就是约束条件的个数m(见上面的算例).

(2) 在文献[12]中,因为转换后的矩阵BA和向量Bb是公开的,所以每个参与者都可以计算出矩阵BA的秩.由BRk×m, rank(B)=mARm×n, rank(A)≤m,可得rank(B)≥rankR(A).因此,rank(BA)=rank(A),那么,所有参与者都可由rank(BA)推出rank(A).然而,约束条件的数量很可能等于rank(A),特别是在LP问题包含少量约束条件的情况下(这适用于等式约束[4]和不等式约束[5]:在Li等人说明的例子[5]中,rank(BA)=rank(A)是能被计算出来,从而这两个参与者都可以推断出m=3, m1=2, m2=1).因此,在文献[4-5]中,通过rank(BA)来推断出约束条件个数的风险仍然很高.

2 防推理的协议

本文提出一个防推理的安全两方协议来解决在两方参与下的PPHPLP问题.

2.1 问题定义

Alice掌握m1个约束条件${\mathit{\boldsymbol{\bar M}}_1}\mathit{\boldsymbol{x}} \le {\mathit{\boldsymbol{\bar b}}_1}$,Bob掌握m2个约束条件${\mathit{\boldsymbol{\bar M}}_2}\mathit{\boldsymbol{x}} \le {\mathit{\boldsymbol{\bar b}}_2}$,且xRn×1.Alice和Bob共同求解以下问题:

$ \begin{array}{l} \min {\mathit{\boldsymbol{c}}^{\rm{T}}}\mathit{\boldsymbol{x}}\mathit{\boldsymbol{.}}\\ {\rm{s}}{\rm{.t}}{\rm{.}}\left\{ \begin{array}{l} \left( {{\mathit{\boldsymbol{M}}_1}{\bf{+}}{\mathit{\boldsymbol{M}}_2}} \right)\mathit{\boldsymbol{x}} \le {\mathit{\boldsymbol{b}}_1}{\bf{+}}{\mathit{\boldsymbol{b}}_2}, \\ \mathit{\boldsymbol{x}} \ge {\rm{0}}{\rm{.}} \end{array} \right. \end{array} $ (6)

该问题共有m=m1+m2个约束条件,其中Alice掌握$ {\mathit{\boldsymbol{M}}_1}=\left( \begin{array}{l} {{\mathit{\boldsymbol{\bar M}}}_1}\\ \;\;0 \end{array} \right)\in {{\bf{R}}^{m \times n}}, {\mathit{\boldsymbol{b}}_1}=\left( \begin{array}{l} {{\mathit{\boldsymbol{\bar b}}}_1}\\ \;0 \end{array} \right)\in {{\bf{R}}^{n \times 1}} $,Bob掌握$ {\mathit{\boldsymbol{M}}_2}=\left( \begin{array}{l} \;\;0\\ {{\mathit{\boldsymbol{\bar M}}}_2} \end{array} \right)\in {{\bf{R}}^{m \times n}}, {\mathit{\boldsymbol{b}}_2}=\left( \begin{array}{l} \;0\\ {{\mathit{\boldsymbol{\bar b}}}_2} \end{array} \right)\in {{\bf{R}}^{n \times 1}} $以及目标函数的参数cRn×1.

2.2 解决方案

为了求解问题(6),本文在Du[1]和Yang[16]等人的研究基础上,提出一个防推理的安全两方算法.这些学者都是用基于转换的方法来安全地解决线性方程组问题.如果想把其应用到LP问题中,那么问题(6) 必须通过添加m个松弛变量转换成标准形式:

$ \begin{array}{l} \min \left( {{\mathit{\boldsymbol{c}}^{\rm{T}}} \vdots {{\bf{0}}^{\rm{T}}}} \right)\left( \begin{array}{l} \mathit{\boldsymbol{x}}\\ {\mathit{\boldsymbol{x}}_s} \end{array} \right)\\ {\rm{s}}{\rm{.t}}{\rm{.}}\left\{ \begin{array}{l} \left( {\mathit{\boldsymbol{M}}_1+\mathit{\boldsymbol{M}}_2 \vdots \mathit{\boldsymbol{I}}} \right)\left( \begin{array}{l} \mathit{\boldsymbol{x}}\\ {\mathit{\boldsymbol{x}}_s} \end{array} \right)=\mathit{\boldsymbol{b}}_1+\mathit{\boldsymbol{b}}_2, \\ \left( \begin{array}{l} \mathit{\boldsymbol{x}}\\ {\mathit{\boldsymbol{x}}_s} \end{array} \right)\ge 0 \cdot \end{array} \right. \end{array} $ (7)

这里用新符号来表示标准形式中的变量:

$ \begin{array}{l} {\mathit{\boldsymbol{C}}^{\rm{T}}}=\left( {{\mathit{\boldsymbol{c}}^{\rm{T}}}\vdots{{\bf{0}}^{\rm{T}}}} \right)\in {{\bf{R}}^{l+\left( {m+n} \right)}}, \mathit{\boldsymbol{X}}=\left( \begin{array}{l} \mathit{\boldsymbol{x}}\\ {\mathit{\boldsymbol{x}}_s} \end{array} \right)\in {{\bf{R}}^{\left( {n+m} \right)\times 1}}, {\mathit{\boldsymbol{N}}_1}+{\mathit{\boldsymbol{N}}_2}=\left( {{\mathit{\boldsymbol{M}}_1}+{\mathit{\boldsymbol{M}}_2} \vdots \mathit{\boldsymbol{I}}} \right), 其中{\mathit{\boldsymbol{N}}_1}=\left( \begin{array}{l} \begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\bar M}}}_1}}&{{\mathit{\boldsymbol{I}}_{{m_1}}}}&0 \end{array}\\ \begin{array}{*{20}{c}} \;\;0&\;\;\;\;0&\;\;0 \end{array} \end{array} \right), \\ {\mathit{\boldsymbol{N}}_2}=\left( \begin{array}{l} \begin{array}{*{20}{c}} \;\;0&\;\;0&\;0 \end{array}\\ \begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\bar M}}}_2}}&0&{{\mathit{\boldsymbol{I}}_{{m_2}}}} \end{array} \end{array} \right), \mathit{I}{\text{为}m\text{阶单位矩阵}}\mathit{.} \end{array} $.

本文进行一个等价的转换(N1+N2)X=b1+b2K(N1+N2)QQ-1X=K(b1+b2),将原LP问题转变成如下形式:

$ \begin{array}{l} \min {\mathit{\boldsymbol{C}}^{\rm{T}}}\mathit{\boldsymbol{Q}}{\mathit{\boldsymbol{Q}}^{ - 1}}\mathit{\boldsymbol{X}}\\ {\rm{s}}{\rm{.t}}{\rm{.}}\left\{ \begin{array}{l} \mathit{\boldsymbol{K}}\left( {{\mathit{\boldsymbol{N}}_1}+{\mathit{\boldsymbol{N}}_2}} \right)\mathit{\boldsymbol{Q}}{\mathit{\boldsymbol{Q}}^{ - 1}}\mathit{\boldsymbol{X}}=\mathit{\boldsymbol{K}}\left( {{\mathit{\boldsymbol{b}}_1}+{\mathit{\boldsymbol{b}}_2}} \right), \\ \mathit{\boldsymbol{X}} \ge 0 \cdot \end{array} \right. \end{array} $ (8)

Bob随机选择可逆矩阵KRm×m和广义置换矩阵QR(m+n)×(m+n)(QQ-1中所有元素均为非负数).Alice知道$ \mathit{\boldsymbol{\hat N}}=\mathit{\boldsymbol{K}}\left( {{\mathit{\boldsymbol{N}}_1}+{\mathit{\boldsymbol{N}}_2}} \right)\mathit{\boldsymbol{Q}}, \mathit{\boldsymbol{\hat b}}=\mathit{\boldsymbol{K}}\left( {{\mathit{\boldsymbol{b}}_1}+{\mathit{\boldsymbol{b}}_2}} \right){\rm{和}}{{\mathit{\boldsymbol{\hat C}}}^{\rm{T}}}={\mathit{\boldsymbol{C}}^{\rm{T}}}\mathit{\boldsymbol{Q}}, $这样,就可以求解LP问题:$ \left\{ {\min :{{\mathit{\boldsymbol{\hat C}}}^{\rm{T}}}\mathit{\boldsymbol{\hat X}}{\rm{s}}{\rm{.t}}{\rm{.}}\mathit{\boldsymbol{\hat N\hat X=\hat b, \hat X}} \ge \mathit{\boldsymbol{0}}} \right\}, $得出最优解$ {{\mathit{\boldsymbol{\hat X}}}^\mathit{\boldsymbol{*}}} $和最优值$ {{\mathit{\boldsymbol{\hat f}}}^\mathit{\boldsymbol{*}}} $.Alice将$ {{\mathit{\boldsymbol{\hat X}}}^\mathit{\boldsymbol{*}}} $$ {{\mathit{\boldsymbol{\hat f}}}^\mathit{\boldsymbol{*}}} $都发送给Bob,Bob计算X*=Q$ {{\mathit{\boldsymbol{\hat X}}}^\mathit{\boldsymbol{*}}} $v=N2X-b2,并将结果发送给Alice.该协议的详细过程如下.

协议:Alice掌握矩阵N1和向量b1,Bob掌握矩阵N2和向量b2N1, N2Rm×(m+n)b1, b2Rn×1.(1) Alice和Bob通过添加松弛变量将他们的约束转换成等式形式:

$ {\mathit{\boldsymbol{N}}_1}+{\mathit{\boldsymbol{N}}_2}=\left( \begin{array}{l} \begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\bar M}}}_1}}&{{\mathit{\boldsymbol{I}}_{{\mathit{m}_1}}}}&0 \end{array}\\ \begin{array}{*{20}{c}} \;\;0&\;\;\;\;0&\;\;0 \end{array} \end{array} \right)+\left( \begin{array}{l} \begin{array}{*{20}{c}} \;\;0&\;\;0&\;0 \end{array}\\ \begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\bar M}}}_{\rm{2}}}}&0&{{\mathit{\boldsymbol{I}}_{{\mathit{m}_2}}}} \end{array} \end{array} \right); $

(2) Bob生成随机可逆矩阵KRm×m和广义置换矩阵QR(m+n)×(m+n)(QQ-1中所有元素均为非负数);

(3) 利用协议1(章节2.2.2),Alice和Bob计算$ \mathit{\boldsymbol{\hat N}} $=K(N1+N2)Q,且只有Alice得到$ \mathit{\boldsymbol{\hat N}} $

(4) 利用协议2(章节2.2.2),Alice和Bob计算$ \mathit{\boldsymbol{\hat b}} $=K(b1+b2),且只有Alice得到$ \mathit{\boldsymbol{\hat b}} $

(5) Bob本地计算$ \mathit{\boldsymbol{\hat C}} $ T=CTQ,并发送给Alice;

(6) Alice掌握了求解{min:$ \mathit{\boldsymbol{\hat C}} $T$ \mathit{\boldsymbol{\hat X}} $s.t.$ \mathit{\boldsymbol{\hat N}}\mathit{\boldsymbol{\hat X}} $=$ \mathit{\boldsymbol{\hat b}} $, $ \mathit{\boldsymbol{\hat X}} $≥0}的所有条件,这样他就能得出最优解$ {{\mathit{\boldsymbol{\hat X}}}^\mathit{\boldsymbol{*}}} $和最优值$ {{\mathit{\boldsymbol{\hat f}}}^\mathit{\boldsymbol{*}}} $.Alice将$ {{\mathit{\boldsymbol{\hat X}}}^\mathit{\boldsymbol{*}}} $$ {{\mathit{\boldsymbol{\hat f}}}^\mathit{\boldsymbol{*}}} $都发送给Bob.注意$ {{\mathit{\boldsymbol{\hat f}}}^\mathit{\boldsymbol{*}}} $=f*,因为$ \mathit{\boldsymbol{\hat C}} $T$ \mathit{\boldsymbol{\hat X}} $=CTQQ-1X=CTX

(7) Bob计算X*=Q$ {{\mathit{\boldsymbol{\hat X}}}^\mathit{\boldsymbol{*}}} $v=N2X-b2,并将结果发送给Alice.

(8) Alice通过(N1X-b1)+v是否等于0, 或是否在可接受范围内趋近于0(如果存在不可避免的计算误差),来验证X*是否真实的最优解.

2.2.1 算例分析

为了展现完整的算法,考虑下面的优化问题,其中n=3, m=3:

$ \begin{array}{l} \min \;\;\;f\left( x \right)=- 3{x_1}+{x_2}+{x_3}\\ {\rm{s}}{\rm{.t}}{\rm{.}}\left\{ \begin{array}{l} {x_1} - 2{x_2}+{x_3} \le 11, \\ 5{x_1} - {x_2}+2{x_3} \le 1, \\ - 2x+{x_2}+{x_3} \le 0, \\ {x_1}, {x_2}, {x_3} \ge 0 \cdot \end{array} \right. \end{array} $ (9)

在上述问题的约束条件中加入松弛变量x4, x5, x6,得到:

$ \begin{array}{l} \min \;\;\;{\mathit{\boldsymbol{C}}^{\rm{T}}}\mathit{\boldsymbol{X}}=\left( {\begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} { - 3}&1 \end{array}}&1&0 \end{array}}&0&0 \end{array}} \right)\mathit{\boldsymbol{X}}\\ {\rm{s}}{\rm{.t}}{\rm{.}}\left\{ \begin{array}{l} \left( \begin{array}{l} \begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {\;1}&{ - 2}&{\;1} \end{array}}&{\;\;1}&0&0 \end{array}\\ \begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {\;5}&{ - 1}&{ - 2}&0 \end{array}}&1&0 \end{array}\\ \begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} { - 2}&1&{\;\;1} \end{array}}&{\;\;0}&0&1 \end{array} \end{array} \right)\mathit{\boldsymbol{X}}=\\ \mathit{\boldsymbol{X}} \ge 0 \cdot \end{array} \right.\left( {\begin{array}{*{20}{c}} {11}\\ 1\\ 0 \end{array}} \right), \end{array} $ (10)

其中Alice掌握

$ {\mathit{\boldsymbol{N}}_1}=\left( \begin{array}{l} \begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {\;1}&{ - 2}&{\;1} \end{array}}&{\;\;1}&\;0&0 \end{array}\\ \begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {\;5}&{ - 1}&{ - 2}&\;0 \end{array}}&1&0 \end{array}\\ \begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {\;\;\;0}&0&{\;\;0} \end{array}}&{\;\;0}&\;0&0 \end{array} \end{array} \right), {\mathit{\boldsymbol{b}}_1}=\left( {\begin{array}{*{20}{c}} {11}\\ 1\\ 0 \end{array}} \right);\\ {\rm{Bob}}掌握 {\mathit{\boldsymbol{N}}_2}=\left( \begin{array}{l} \begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {\;\;0}&{\;0}&0 \end{array}}&0&\;0&0 \end{array}\\ \begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {\;\;0}&{\;0}&0&\;0 \end{array}}&0&0 \end{array}\\ \begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} { - 2}&1&1 \end{array}}&{\;0}&0&1 \end{array} \end{array} \right), {\mathit{\boldsymbol{b}}_2}=\left( {\begin{array}{*{20}{c}} 0\\ 0\\ 0 \end{array}} \right);和{\mathit{\boldsymbol{C}}^{\rm{T}}}=\left( {\begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} { - 3}&1&1 \end{array}}&0&0&0 \end{array}} \right)\cdot $

该LP问题的最优解是X*=(1 0 2 8 0 0)T,最优值是f*=-1.

根据协议,Bob生成随机可逆矩阵KRm×m和严格正定矩阵QR(m+n)×(m+n)$ \begin{array}{l} \mathit{\boldsymbol{K}}=\left( \begin{array}{l} \begin{array}{*{20}{c}} 8&9&3 \end{array}\\ \begin{array}{*{20}{c}} 9&6&5 \end{array}\\ \begin{array}{*{20}{c}} 1&1&{10} \end{array} \end{array} \right) \mathit{\boldsymbol{Q=}}\left( \begin{array}{l} \begin{array}{*{20}{c}} 6&0&0&{\begin{array}{*{20}{c}} 0&0&0 \end{array}} \end{array}\\ \begin{array}{*{20}{c}} 0&0&0&{\begin{array}{*{20}{c}} 0&5&0 \end{array}} \end{array}\\ \begin{array}{*{20}{c}} 0&0&0&{\begin{array}{*{20}{c}} 0&0&3 \end{array}} \end{array}\\ \begin{array}{*{20}{c}} 0&0&0&{\begin{array}{*{20}{c}} 2&0&0 \end{array}} \end{array}\\ \begin{array}{*{20}{c}} 0&0&8&{\begin{array}{*{20}{c}} 0&0&0 \end{array}} \end{array}\\ \begin{array}{*{20}{c}} 0&1&0&{\begin{array}{*{20}{c}} 0&0&0 \end{array}} \end{array} \end{array} \right)\cdot {\rm{Bob计算}}{{\mathit{\boldsymbol{\hat C}}}^{\rm{T}}}={\mathit{\boldsymbol{C}}^{\rm{T}}}\mathit{\boldsymbol{Q=}}\left( {\begin{array}{*{20}{c}} { - 18}&0&0&{\begin{array}{*{20}{c}} 0&5&3 \end{array}} \end{array}} \right), \end{array} $并发送给Alice.Alice和Bob共同计算K(N1+N2)QK(b1+b2),且只有Alice得到结果,并求解下面的LP问题:

$ \begin{array}{l} {\rm{min}}\mathit{\boldsymbol{=}}\left( {\begin{array}{*{20}{c}} { - 18}&0&0&{\begin{array}{*{20}{c}} 0&5&3 \end{array}} \end{array}} \right)\mathit{\boldsymbol{\hat X}}\\ {\rm{s}}{\rm{.t}}{\rm{.}}\\ \left\{ \begin{array}{l} \left( \begin{array}{l} \begin{array}{*{20}{c}} {282}&{\;3}&{72}&{\begin{array}{*{20}{c}} {16}&{ - 110}&{ - 21} \end{array}} \end{array}\\ \begin{array}{*{20}{c}} {174}&{\;5}&{48}&{\begin{array}{*{20}{c}} {18}&{\; - 95}&{\;\;\;6} \end{array}} \end{array}\\ \begin{array}{*{20}{c}} { - 84}&{10}&8&{\begin{array}{*{20}{c}} {\;\;2}&{\;\;35}&{\;\;\;\;27} \end{array}} \end{array} \end{array} \right)\mathit{\boldsymbol{\hat X}}=\left( \begin{array}{l} 97\\ 105\\ 12 \end{array} \right), \\ \mathit{\boldsymbol{\hat X}} \ge 0 \cdot \end{array} \right. \end{array} $ (11)

其最优解是$ {\mathit{\boldsymbol{\hat X}}^*}={\left( {\begin{array}{*{20}{c}} {\frac{1}{6}}&0&0&{\begin{array}{*{20}{c}} 4&0&{\frac{2}{3}} \end{array}} \end{array}} \right)^{\rm{T}}}, $最优值是$ {\mathit{\boldsymbol{\hat f}}^*} $=-1.

2.2.2 安全两方协议

本文所用到的协议是在Du[1]和Yang等人[16]的基础上提出的,并做了一个重要的修改以提高协议的效率.在原协议中,pd是安全参数,且pd要足够大以至于打破安全性所花费的成本在计算上不可行的.但是,这就使该算法的成本非常昂贵.因此,这里选择的pd只要让Bob推测到Alice的数据的概率$ {\frac{1}{p^d}} $是在可接受的低水平范围内即可.此外,本文也对协议进行了修改,使得Bob即便是估算出Alice矩阵的所有可能性(pd次),但在他看来这些矩阵都是一样的.而在原协议中,如果Alice的矩阵中有一个已知零结构,那么pd次可能性矩阵就很有可能不是相等的,即正确的矩阵将是显而易见的.

协议1:  安全求$ \mathit{\boldsymbol{\hat N}} $ =K(N1+N2)Q

本协议改编自Du[1]和Yang等人[16]的研究.因为本文研究的是水平分布的数据矩阵,所以本文要修改该协议,使得该结构无法轻易地被Bob利用.主要的改变是:在计算之前就将N1中的零矩阵截断.Alice将N1截断后的子秘密传送Bob,然后Bob在执行计算前,将其“填写”成已知的矩阵结构.

协议1  安全求$ \mathit{\boldsymbol{\hat N}} $ =K(N1+N2)Q

输入:  Alice拥有隐私矩阵$ {\mathit{\boldsymbol{\bar M}}_1} \in {{\bf{R}}^{{m_1} \times n}}, $储存在N1;Bob拥有隐私矩阵$ {\mathit{\boldsymbol{\bar M}}_2} \in {{\bf{R}}^{{m_2} \times n}}, $储存在N2,随机矩阵KRm×m以及非负广义置换矩阵QR(n+m)×(n+m).矩阵N1, N2的结构如下:

$ {\mathit{\boldsymbol{N}}_{\rm{1}}}\mathit{\boldsymbol{=}}\left( \begin{array}{l} \begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\bar M}}}_1}}&{{\mathit{\boldsymbol{I}}_{{m_1}}}}&0 \end{array}\\ \begin{array}{*{20}{c}} {\;0}&{\;\;\;\;\;0}&{\;\;0} \end{array} \end{array} \right), {N_2}=\left( \begin{array}{l} \begin{array}{*{20}{c}} {\;0}&{\;\;\;\;0}&{\;0} \end{array}\\ \begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\bar M}}}_2}}&0&{{\mathit{\boldsymbol{I}}_{{m_2}}}} \end{array} \end{array} \right)\cdot $N1的子秘密将表示成$ {{\mathit{\boldsymbol{\bar X}}}_{i}} $, i=1, 2, …, d.

输出:  Alice获得$ \mathit{\boldsymbol{\hat N}} $ =K(N1+N2)Q,而Bob得不到任何输出.

协议:

(1) Alice和Bob约定两个数pd,使得Bob推测到Alice的数据的概率$ {\frac{1}{p^d}} $在可接受的低水平范围内.

(2) Alice生成随机矩阵X1, X2, …, Xd-1Rm1×n,使$ {\mathit{\boldsymbol{\bar X}}_d}={\mathit{\boldsymbol{\bar M}}_1} - \sum\limits_{\mathit{\boldsymbol{i}}{\bf{=1}}}^{\mathit{\boldsymbol{d}}{\bf{ - 1}}} {{{\mathit{\boldsymbol{\bar X}}}_i}} ; $

(3) Bob生成随机矩阵Y1, Y2, …, Yd-1Rm2×n,使$ {\mathit{\boldsymbol{Y}}_d}={\mathit{\boldsymbol{N}}_2} - \sum\limits_{\mathit{i}{\rm{=1}}}^{\mathit{d}{\rm{ - 1}}} {{{\mathit{\boldsymbol{Y}}}_\mathit{i}}} ; $

(4) 对每一个j=1, 2, …, d,Alice和Bob执行下面的子步骤:

① Alice生成p-1个随机矩阵Gi(j)Rm1×n,并将下面的序列发送给Bob:

$ \left( {\mathit{\boldsymbol{\bar H}}_1^{\left( j \right)}, \mathit{\boldsymbol{\bar H}}_2^{\left( j \right)}, \cdot \cdot \cdot, \mathit{\boldsymbol{\bar H}}_p^{\left( j \right)}} \right), $其中Hk(j)=xj,秘密数k∈[1, p]是Alice随机产生的,且只有她自己知道,Gi(j)被分配到剩余的p-1个Hi(j), ik.

② Bob“填写”Hi(j)生成Hi(j).

“填写”过程:Bob添加一个m1×m1阶的$ {\frac{1}{d}} $单位矩阵和一个m1×m2的零矩阵到Hi(j),并在Hi(j)下面插入一个m2×(m+n)的零矩阵,即

$ \mathit{\boldsymbol{H}}_i^{\left( j \right)}=\left( \begin{array}{l} \begin{array}{*{20}{c}} {\mathit{\boldsymbol{\bar H}}_i^{\left( j \right)}}&{\frac{{{\mathit{\boldsymbol{I}}_{{\mathit{m}_{\rm{1}}}}}}}{d}}&0 \end{array}\\ \begin{array}{*{20}{c}} {\;\;0}&{\;\;\;\;0}&{\;0} \end{array} \end{array} \right)\cdot $

对所有的i=1, 2, …, p,Bob计算Zi(j)=K(Hi(j)+Yj)Q+Rj,其中RjRm×(m+n)是Bob生产的随机矩阵.

③ 利用不经意传输协议OT1N,Alice取回计算结果:

Zk(j)=K(Hk(j)+Yj)Q+Rj=K(Xj+Yj)Q+Rj.

(5) Bob计算$ \sum\limits_{j=1}^d {{\mathit{\boldsymbol{R}}_j}} $,并发送给Alice.

(6) Alice计算

$ \begin{array}{l} {{\mathit{\boldsymbol{\hat N}}}^ = }\sum\limits_{j = 1}^d {Z_k^{(j)}} - \sum\limits_{j = 1}^d {{{\bf{R}}_j}} = \\ \sum\limits_{j = 1}^d {\left( {\mathit{\boldsymbol{K}}\left( {{\mathit{\boldsymbol{X}}_j} + {\mathit{\boldsymbol{Y}}_j}} \right)\mathit{\boldsymbol{Q}} + {{\bf{R}}_j}} \right)} - \sum\limits_{j = 1}^d {{{\bf{R}}_j}} = \mathit{\boldsymbol{K}}\left( {{\mathit{\boldsymbol{N}}_1} + {\mathit{\boldsymbol{N}}_2}} \right)\mathit{\boldsymbol{Q}} \cdot \end{array} $

协议2  安全求$ \mathit{\boldsymbol{\hat b}}=\mathit{\boldsymbol{K}}\left( {{\mathit{\boldsymbol{b}}_1}+{\mathit{\boldsymbol{b}}_2}} \right)$

输入:  Alice拥有m1维隐私向量b1;Bob拥有m2维隐私向量b2和随机矩阵KRm×m,且

$ {\mathit{\boldsymbol{b}}_1}+{\mathit{\boldsymbol{b}}_2}=\left( \begin{array}{l} {{\mathit{\boldsymbol{\bar b}}}_1}\\ 0 \end{array} \right)+\left( \begin{array}{l} 0\\ {{\mathit{\boldsymbol{\bar b}}}_2} \end{array} \right)\cdot $

输出:  Alice获得$ \mathit{\boldsymbol{\hat b}}=\mathit{\boldsymbol{K}}\left( {{\mathit{\boldsymbol{b}}_1}+{\mathit{\boldsymbol{b}}_2}} \right)$,而Bob得不到任何输出.

协议:  该协议是协议1的一种特殊情况,即Q=I.同时,“填写”过程也更加简单,因为不需要向向量中添加单位矩阵.Bob只需要将m2维的零向量添加到b1.

2.3 安全性和计算复杂性

在隐藏两方的隐私信息时,特别地让Bob掌握可逆矩阵K和广义置换矩阵Q,然后Alice和Bob使用上述的安全协议来交换数据,从而Alice得到K(N1+N2)QK(b1+b2),但是Alice不知道Bob的隐私数据,也推测不出来.同样地,Bob也无法推测出Alice的隐私数据.

整个算法的计算复杂度主要取决于我们解决转换LP问题所选择的方法(单纯形法、内点法等).用户自主选择最有效的方法来解决这特定的转换LP问题,因此,本文的关注点是基于转换所产生的成本.

与文献[8, 10, 15]的加密算法相比,转换协议只需要在算法开始的时候运行一次,而不是每一次迭代中,这大大地减少了计算和通信成本.

转换阶段只需要两个子协议.在每个子协议中,pd是安全参数,而$ {\frac{1}{p^d}} $是Bob推测到Alice隐私数据的概率,选择的pd只要让这个概率在可接受的低水平范围内即可.每个协议都有一个线性代数的开销和一个基于不经意传输协议OT1N的加密算法(在本文的协议中N=p).所有值的位长度k是一个常数,因此可以忽略.Naor和Pinkas[17]的研究中指出不经意传输协议OT1N的计算成本是logN,通信成本是O(N).

每个子协议需要进行d轮;在每轮中都要执行一次不经意传输协议OT1N.下面依次来说明每个子协议的计算复杂度.

协议1  安全求$ \mathit{\boldsymbol{\hat N}}=\mathit{\boldsymbol{K}}\left( {{\mathit{\boldsymbol{N}}_1}{\bf{+}}{\mathit{\boldsymbol{N}}_2}} \right)\mathit{\boldsymbol{Q}} $.总共需要pd(m2(n+m)+m(n+m)2)次乘法.在d轮通信中,每一轮都要用一次不经意传输协议OT1N来传送一个m×(n+m)阶的矩阵.

协议2  安全求$ \mathit{\boldsymbol{\hat b}}=\mathit{\boldsymbol{K}}\left( {{\mathit{\boldsymbol{b}}_1}+{\mathit{\boldsymbol{b}}_2}} \right)$.该算法需要pdm2次乘法.在d轮通信中,每一轮都要用一次不经意传输协议OT1N来传送一个m维的向量.

通过比较,Toft的安全单纯形法[10]需要O(m(m+n))次安全乘法和在每一次主元转换中执行O(m)次安全比较.在最坏的情况下,单纯形法的计算成本是主元的指数级数量[18],因此Toft的算法是不切实际的.

3 结束语

本文对前人的水平分区隐私保护LP问题[4-5]存在的潜在推理攻击进行了分析,即在两方的情况下,参与者的隐私信息能够被对手推断出来.因此,本文提出了一个防推理的安全两方算法来解决水平分区保护隐私LP问题.同时,还对该算法的安全性和计算复杂性进行了分析.

实际应用时,还要讲究计算的效率问题,目前多数SMC方法的计算复杂度比较高,如何提高实际协同决策时的SMC方法的计算效率,还是一个非常广阔的研究方向.在以后的研究中,将继续研究如何安全高效地解决现实世界中的协同优化问题.

参考文献
[1] DU W, ATALLAH M J. Privacy-preserving cooperative scientific computations[C] // Smith G: Proceedings of the 14th IEEE Computer Security Foundations Workshop. Washington: IEEE Compucter Society, 2001: 0273-0273.
[2] VAIDYA J. Privacy-preserving linear programming[C] // Shin S Y: Proceedings of the 2009 ACM symposium on Applied Computing. New York: ACM, 2009: 2002-2007.
[3] MANGASARIAN O L. Privacy-preserving linear programming[J]. Optimization Letters, 2010, 5(1): 165-172.
[4] MANGASARIAN O L. Privacy-preserving horizontally partitioned linear programs[J]. Optimization Letters, 2012, 6(3): 431-436. DOI: 10.1007/s11590-010-0268-9.
[5] LI W, DENG C Y. Privacy-preserving horizontally partitioned linear programs with inequality constraints[J]. Optimization Letters, 2013, 2013, 7(1): 137-144.
[6] 陆涛, 刘洪伟, 刘智慧, 等. 跨组织间隐私数据水平分布线性规划协同优化算法研究[J]. 广东工业大学学报, 2015, 32(2): 43-47.
LU T, LIU H W, LIU Z H, et al. Collaborative optimization algorithm research on cross-organization's privacy data horizontally partitioned linear programing[J]. Journal of Guangdong University of Technology, 2015, 32(2): 43-47.
[7] VAIDYA J. A secure revised simplex algorithm for privacy-preserving linear programming[C] // Gelenbe E: AINA ′09 Proceedings of the 2009 International Conference on Advanced Information Networking and Applications. Washington: IEEE Computer Society, 2009: 347-354.
[8] LI J, ATALLAH M J. Secure and private collaborative linear programming[C] // Cheng-Jia L: International Conference on Collaborative Computing: Networking, Applications and Worksharing (2006). Washington: IEEE Computer Society, 2006: 1-8.
[9] TOFT T. Primitives and applications for multi-party computation[D]. Aarhus: Department of Computer Science, University of Aarhus, 2007.
[10] TOFT T: Solving linear programs using multiparty computation[C] // Roger D: Financial Cryptography and Data Security. Berlin: Springer Berlin Heidelberg, 2009: 90-107.
[11] HONG Y. Privacy-preserving collaborative optimization[D]. New Jersey: Graduate School-Newark, Rutgers, The State University of New Jersey, 2013.
[12] HONG Y, Vaidya J. Secure transformation for multiparty linear programming[R]. New Jersey: Rutgers Technical Report, 2013.
[13] BEDNARZ A, BEAN N, ROUGHAN M. Hiccups on the road to privacy-preserving linear programming[C] // Ehab Al-Shaer: Proceedings of the 8th ACM Workshop on Privacy in the Electronic Society. New York: ACM, 2009: 117-120.
[14] 刘洪伟, 刘智慧, 朱慧, 等. 大数据环境下跨组织间协同优化决策的隐私保护算法[J]. 广东工业大学学报, 2014, 31(3): 21-26.
LIU H W, LIU Z H, ZHU H, et al. Privacy-preserving Algorithm for cross-organizational collaborative optimization decision based on big data[J]. Journal of Guangdong University of Technology, 2014, 31(3): 21-26.
[15] CATRINA O, HOOGH S D. Secure multiparty linear programming using fixed-point arithmetic[J]. Lecture Notes in Computer Science, 2010, 6345: 134-150. DOI: 10.1007/978-3-642-15497-3.
[16] YANG X, YU Z, KANG B. Privacy-preserving cooperative linear system of equations protocol and its application[C] // Hu Y: The 4th International Conference on Wireless Communications, Networking and Mobile Computing. Washington: IEEE Computer Society, 2008: 1-4.
[17] NAOR M, PINKAS B. Oblivious transfer and polynomial evaluation[C] // Jeffrey S: Proceedings of the thirty-first annual ACM symposium on Theory of computing. New York : ACM, 1999: 245-254.
[18] KLEE V, MINTY G J. How good is the simplex algorithm[R]. Washington: Washington Univ Seattle Dept of Mathematics, 1970.