1.0.0 • Published 7 months ago

@futuretense/ot v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

@futuretense/ot

A TypeScript library for Oblivious Transfer (OT) primitives, featuring Random OT (ROT) as a base and KOS15 as an efficient OT extension. Built for cryptographic developers, this package provides flexible OT implementations for secure protocols like multi-party computation (MPC), private set intersection (PSI), and more.

Features

  • Base OT (ROT): Random Oblivious Transfer with elliptic curve cryptography for small-scale OT generation.
  • OT Extension (KOS15): Scales base OTs to large (n).
  • Class-Based: Sender/receiver classes for clean, stateful OT workflows.

Installation

npm install @futuretense/ot

Usage

Random OT (ROT)

Generate and process (n) random OT pairs:

import { ROTSender, ROTReceiver } from '@futuretense/ot';

// Sender
const sender = new ROTSender(128); // 128 OTs
const A = sender.send1(); // Initial message

// Receiver
const receiver = new ROTReceiver(128);
const B = receiver.recv(A); // Receiver's response
sender.send2(B); // Finalize OT

console.log(sender.e); // Sender's OT outputs (Uint8Array[][])
console.log(receiver.ec); // Receiver's OT outputs (Uint8Array[])
console.log(receiver.choice); // Receiver's choice bits (Uint8Array)

OT Extension (KOS15)

Extend base OTs to (n) correlated OTs:

import { ROTSender, ROTReceiver, OTESender, OTEReceiver } from '@futuretense/ot';

// Base OT
const rotSender = new ROTSender(128);
const rotReceiver = new ROTReceiver(128);
const A = rotSender.send1();
const B = rotReceiver.recv(A);
rotSender.send2(B);

// Extend
const oteSender = new OTESender(rotSender, 256); // 256 OTs
const oteReceiver = new OTEReceiver(rotReceiver, 256);
const m = oteSender.send();
oteReceiver.recv(m);

console.log(oteSender.ec); // Sender's extended outputs (Uint8Array[])
console.log(oteReceiver.e); // Receiver's extended outputs (Uint8Array[][])
console.log(oteReceiver.choice); // Receiver's extended choice bits (Uint8Array)

Notes

ROT is a Simplest OT, with collision resistant hashing. OTE implements the 2022 update of the KOS15 protocol, making it actively secure.

Copyright © 2025 Future Tense, LLC

1.0.0

7 months ago

0.2.0

7 months ago

0.1.0

1 year ago