-
Notifications
You must be signed in to change notification settings - Fork 3
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