-
Notifications
You must be signed in to change notification settings - Fork 1
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) |
Sequre v0.0.1-alpha