#oblivious-transfer #ot-multiplication #simplest-ot

no-std oblivious_transfer_protocols

Oblivious Transfer (OT), Oblivious Transfer Extensions (OTE) and multiplication protocol using them

10 breaking releases

0.11.0 Feb 24, 2025
0.10.0 Dec 19, 2024
0.9.0 Jul 18, 2024
0.6.0 Mar 4, 2024
0.2.0 Jun 23, 2023

#774 in Cryptography

Download history 49/week @ 2024-11-18 22/week @ 2024-11-25 6/week @ 2024-12-02 52/week @ 2024-12-09 145/week @ 2024-12-16 28/week @ 2024-12-23 8/week @ 2024-12-30 12/week @ 2025-01-06 5/week @ 2025-01-13 8/week @ 2025-01-20 3/week @ 2025-02-03 18/week @ 2025-02-10 13/week @ 2025-02-17 154/week @ 2025-02-24 19/week @ 2025-03-03

204 downloads per month
Used in 7 crates (3 directly)

Apache-2.0

515KB
12K SLoC

Oblivious Transfer (OT), Oblivious Transfer Extensions (OTE) and multi-party protocols based on that.

Oblivious Transfer protocols

  1. Simplest OT protocol
  2. Naor Pinkas OT
  3. Endemic OT

Oblivious Transfer Extensions

  1. ALSZ
  2. KOS

Oblivious Transfer based multiplication

  1. DKLS18 - 2 party multiplication of where each party has a single input
  2. DKLS19 - 2 party batch-multiplication of where each party has multiple inputs, say n inputs and those inputs will be multiplied, i.e. a total of 2*n multiplications will be done with each being between 2 inputs

lib.rs:

Oblivious Transfer (OT), Oblivious Transfer Extensions (OTE) and multi-party protocols based on that.

Oblivious Transfer protocols

  1. Simplest OT protocol
  2. Naor Pinkas OT
  3. Endemic OT

Oblivious Transfer Extensions

  1. ALSZ
  2. KOS

Oblivious Transfer based multiplication

  1. DKLS18 - 2 party multiplication of where each party has a single input
  2. DKLS19 - 2 party batch-multiplication of where each party has multiple inputs, say n inputs and those inputs will be multiplied, i.e. a total of 2*n multiplications will be done with each being between 2 inputs

Dependencies

~9MB
~182K SLoC