emp-toolkit
MOTExtension_KOS Class Reference

#include <mextension_kos.h>

Inheritance diagram for MOTExtension_KOS:
OT< MOTExtension_KOS >

Public Member Functions

 MOTExtension_KOS (NetIO *io, bool committing=false, int ssp=40)
 
 ~MOTExtension_KOS ()
 
void setup_send (block *in_k0=nullptr, bool *in_s=nullptr)
 
void setup_recv (block *in_k0=nullptr, block *in_k1=nullptr)
 
void send_pre (int length)
 
void recv_pre (const bool *r, int length)
 
bool send_check (int length)
 
void recv_check (const bool *r, int length)
 
void got_send_post (const block *data0, const block *data1, int length)
 
void got_recv_post (block *data, const bool *r, int length)
 
void send_impl (const block *data0, const block *data1, int length)
 
void recv_impl (block *data, const bool *b, int length)
 
void send_rot (block *data0, block *data1, int length)
 
void recv_rot (block *data, const bool *b, int length)
 
void rot_send_post (block *data0, block *data1, int length)
 
void rot_recv_post (block *data, const bool *r, int length)
 
void open ()
 
void open (block *data, const bool *r, int length)
 
void mul128 (__m128i a, __m128i b, __m128i *res1, __m128i *res2)
 
- Public Member Functions inherited from OT< MOTExtension_KOS >
 OT (NetIO *nio)
 
void send (const block *data0, const block *data1, int length)
 
void recv (block *data, const bool *b, int length)
 

Public Attributes

OTCObase_ot
 
PRG prg
 
PRP pi
 
const int l = 128
 
blockk0 = nullptr
 
blockk1 = nullptr
 
bool * s = nullptr
 
blockqT = nullptr
 
block block_s
 
blocktT = nullptr
 
blockopen_data = nullptr
 
bool setup = false
 
int ssp
 
bool * extended_r = nullptr
 
bool committing = false
 
char dgst [Hash::DIGEST_SIZE]
 
- Public Attributes inherited from OT< MOTExtension_KOS >
NetIOio
 

Constructor & Destructor Documentation

§ MOTExtension_KOS()

MOTExtension_KOS::MOTExtension_KOS ( NetIO io,
bool  committing = false,
int  ssp = 40 
)
inline

§ ~MOTExtension_KOS()

MOTExtension_KOS::~MOTExtension_KOS ( )
inline

Member Function Documentation

§ got_recv_post()

void MOTExtension_KOS::got_recv_post ( block data,
const bool *  r,
int  length 
)
inline

§ got_send_post()

void MOTExtension_KOS::got_send_post ( const block data0,
const block data1,
int  length 
)
inline

§ mul128()

void MOTExtension_KOS::mul128 ( __m128i  a,
__m128i  b,
__m128i *  res1,
__m128i *  res2 
)
inline

University of Bristol : Open Access Software Licence

Copyright (c) 2016, The University of Bristol, a chartered corporation having Royal Charter number RC000648 and a charity (number X1121) and its place of administration being at Senate House, Tyndall Avenue, Bristol, BS8 1TH, United Kingdom.

All rights reserved

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Any use of the software for scientific publications or commercial purposes should be reported to the University of Bristol (OSI-n.nosp@m.otif.nosp@m.icati.nosp@m.ons@.nosp@m.brist.nosp@m.ol.a.nosp@m.c.uk and quote reference 1914). This is for impact and usage monitoring purposes only.

Enquiries about further applications and development opportunities are welcome. Please contact nigel.nosp@m.@cs..nosp@m.bris..nosp@m.ac.u.nosp@m.k

Contact GitHub API Training Shop Blog About

§ open() [1/2]

void MOTExtension_KOS::open ( )
inline

§ open() [2/2]

void MOTExtension_KOS::open ( block data,
const bool *  r,
int  length 
)
inline

§ recv_check()

void MOTExtension_KOS::recv_check ( const bool *  r,
int  length 
)
inline

§ recv_impl()

void MOTExtension_KOS::recv_impl ( block data,
const bool *  b,
int  length 
)
inline

§ recv_pre()

void MOTExtension_KOS::recv_pre ( const bool *  r,
int  length 
)
inline

§ recv_rot()

void MOTExtension_KOS::recv_rot ( block data,
const bool *  b,
int  length 
)
inline

§ rot_recv_post()

void MOTExtension_KOS::rot_recv_post ( block data,
const bool *  r,
int  length 
)
inline

§ rot_send_post()

void MOTExtension_KOS::rot_send_post ( block data0,
block data1,
int  length 
)
inline

§ send_check()

bool MOTExtension_KOS::send_check ( int  length)
inline

§ send_impl()

void MOTExtension_KOS::send_impl ( const block data0,
const block data1,
int  length 
)
inline

§ send_pre()

void MOTExtension_KOS::send_pre ( int  length)
inline

§ send_rot()

void MOTExtension_KOS::send_rot ( block data0,
block data1,
int  length 
)
inline

§ setup_recv()

void MOTExtension_KOS::setup_recv ( block in_k0 = nullptr,
block in_k1 = nullptr 
)
inline

§ setup_send()

void MOTExtension_KOS::setup_send ( block in_k0 = nullptr,
bool *  in_s = nullptr 
)
inline

Member Data Documentation

§ base_ot

OTCO* MOTExtension_KOS::base_ot

§ block_s

block MOTExtension_KOS::block_s

§ committing

bool MOTExtension_KOS::committing = false

§ dgst

char MOTExtension_KOS::dgst[Hash::DIGEST_SIZE]

§ extended_r

bool* MOTExtension_KOS::extended_r = nullptr

§ k0

block* MOTExtension_KOS::k0 = nullptr

§ k1

block * MOTExtension_KOS::k1 = nullptr

§ l

const int MOTExtension_KOS::l = 128

§ open_data

block * MOTExtension_KOS::open_data = nullptr

§ pi

PRP MOTExtension_KOS::pi

§ prg

PRG MOTExtension_KOS::prg

§ qT

block* MOTExtension_KOS::qT = nullptr

§ s

bool* MOTExtension_KOS::s = nullptr

§ setup

bool MOTExtension_KOS::setup = false

§ ssp

int MOTExtension_KOS::ssp

§ tT

block * MOTExtension_KOS::tT = nullptr

The documentation for this class was generated from the following file: