Description
Introduction
KCAL is applicable to two-party or three-party operations. It includes arithmetic operators, the private set intersection (PSI) operator, the private set union (PSU) operator, the private information retrieval (PIR) operator, the private set matching (PSM) operator, and matrix arithmetic operators.
- Arithmetic operators include the cryptographic addition, subtraction, maximum, minimum, multiplication, comparison, division, sorting, summation, and averaging operators. These operators are used with the secret sharing and revealing features. The cryptographic multiplication, comparison, and division operators are two-variable operators that require input data shares of two parties for operations. The cryptographic sorting, summation, and averaging operators are one-variable operators that perform operations on data shares in the single-vector format. In addition, the cryptographic multiplication and comparison operators support three-party operations, which require input data shares of any two parties.
- The PSI operator does not require the use of the secret sharing and revealing features. It returns either intersecting string data or the indices of the intersecting string data within the original datasets.
- The PSU operator does not require the use of the secret sharing and revealing features. It returns a union of string type.
- The PIR operator does not require the use of the secret sharing and revealing features. It involves a server (node 0) and a client (node 1). The server provides the query feature for the client. The server first performs offline calculations, and then collaborates with the client in the online phase to return the query output.
- The PSM operator does not require the use of the secret sharing and revealing features. It involves a server (node 0) and a client (node 1). The server provides the query feature for the client. The server first performs offline calculations, and then collaborates with the client in the online phase to return the query output.
- Matrix arithmetic operators include the cryptographic matrix addition, subtraction, and multiplication operators, and are used with the secret sharing and revealing features. They are two-variable operators that require input data shares of two parties for operations.
Integrating KCAL
KCAL is integrated into UNIX-like platforms as a linked library.
Parent topic: Using KCAL