Author details

5.1 Basic techniques

how to choose K in order to have A^ invertible.

Modern Cryptography – Current Challenges and Solutions

determinant and singular values are preserved.

both) by a matrix R such that R<sup>t</sup>

minant are preserved.

decomposition [16].

6. Conclusions

72

5.2 Brief literature review

both) by a permutation matrix P. This grants that cond A^

There are few basic techniques used in the literature to encrypt matrices and vectors. Addition: To matrix <sup>A</sup> a matrix <sup>K</sup> is added to obtain <sup>A</sup>^ <sup>¼</sup> <sup>A</sup> <sup>þ</sup> <sup>K</sup>. This approach is not widely used, probably because sum does not "propagate" nicely in usual linear algebra operations (e.g., linear systems, eigenvalue problems, determinants, singular value decomposition). Moreover, in the case of linear systems, it is not obvious

Product by a diagonal matrix: Matrix A is multiplied (on the left, on the right, or both) by a diagonal matrix D. The effect on problems like linear systems is quite easy to describe, and it suffices that all the diagonal entries are not zero in order to guarantee the invertibility of A^ , but, as shown in Section 3.1, if D is randomly chosen, the condition number of A can increase by several orders of magnitude. Product by a permutation: Matrix A is multiplied (on the left, on the right, or

also invertibility is preserved). A product by a permutation requires no floating point multiplications, although the cost of data movement (especially if A is very large) is not necessarily small. Sparsity is preserved, and this can be seen either as an advantage or as a drawback (see Section 4.1.1). Some characteristic values such as

Product by a unitary matrix: Matrix A is multiplied (on the left, on the right, or

Product by R does not necessarily preserve sparsity. If R is generated as a sequence of planar rotations, product by R (stored as sequence of rotation, not as a full matrix) can be more efficient than usual matrix product. Singular values and deter-

Maybe the numerical problem most frequently addressed is the problem of solving linear systems. Lei et al. [7] proposed a scheme similar to (2) where A is both left and right multiplied by a diagonal matrix and a permutation. The proposal of Wang et al. [10] is one of the few that proposes to use classical homomorphic encryption together with an iterative algorithm; the approach of Wang et al. requires to use matrices with integer entries (eventually by rescaling the system) and a continuous exchange between the cloud and the user. Chen et al. in [11] pointed out a weakness of [10] and proposed a variation to solve the problem. Another solution based on matrix pre- and post-multiplication is suggested in [8]. A problem similar to linear system is linear regression. Chen et al. in [9] used pre- and post-multiplication approaches with two diagonal matrices. Zhou et al. in [12] pointed out a possible weakness (in the hypothesis of an integer problem). Similar approaches, still based on matrix pre- and post-multiplication, can be found also for matrix product [13, 14], determinant computation [15], and singular value

We analyzed the problem of outsourcing safely numerical and engineering problems to the cloud. It turns out that the field is still in an evolving phase. Many

approaches are different instances of pre- and post-multiplication masking

<sup>R</sup> <sup>¼</sup> <sup>I</sup>. This grants that cond <sup>A</sup>^

¼ condð Þ A (therefore

¼ condð Þ A .

Riccardo Bernardini University of Udine, Udine, Italy

\*Address all correspondence to: riccardo.bernardin@uniud.it

© 2019 The Author(s). Licensee IntechOpen. This chapter is distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/ by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
