Skip to content

Sequre features

Haris Smajlović edited this page Dec 14, 2022 · 1 revision

Sequre operates on top of tensors of arbitrary dimension. Specifically, the SharedTensor class stores the secret additive share and auxiliary data, such as Beaver partitions, as n-dimensional arrays at each computing party. Furthermore, the compile-time optimizations apply only to SharedTensor expressions. The table below presents all secure operations supported for SharedTensor operands.

Secure operation Example usage (x and y are SharedTensors)
Addition / Subtraction x + y; x - y
Element-wise multiplication x * y
Exponentiation by a constant x ** c (c is a constant)
Element-wise division x / y
Comparisons x == y; x != y; x > y; x < y; x >= y; x <= y;
Square root sqrt(x)
Dot product / Matrix multiplication dot(x, y); matmul(x, y)
Element-wise absolute value abs(x)
Max/min element (vector only) max(x); min(x)
Argmax/argmin element (vector only) argmax(x); argmin(x)
Householder transformation (matrix only) householder(x)
QR factorization (matrix only) qr_fact_square(x)
Tridiagonalization (matrix only) tridiag(x)
Eigen decomposition (matrix only) eigen_decomp(x)
Orthonormal basis (matrix only) orthonormal_basis(x)
Linear SVM training, predicting, scoring lsvm_train(x, y, …), lsvm_predict(x, …), lsvm_score(x, y, …)
Element-wise bit decomposition bit_decomposition(x, …)
Element-wise bit-wise addition bit_add(x, y)
Clone this wiki locally