myl7/fss 2.0.0
Function secret sharing (FSS) primitives including distributed point/comparison function (DPF/DCF)
Loading...
Searching...
No Matches
aes128_mmo_raw.cuh File Reference

AES-128 MMO PRG using direct AES-NI intrinsics without OpenSSL overhead. More...

#include <fss/prg.cuh>
#include <cuda_runtime.h>
#include <cuda/std/array>
#include <cassert>
#include <cstdint>
#include <wmmintrin.h>
#include <emmintrin.h>
#include <smmintrin.h>

Classes

class  fss::prg::Aes128MmoRaw< mul >
 AES-128 with Matyas-Meyer-Oseas and AES-NI intrinsics as a PRG. More...

Functions

void fss::prg::fss_host_only_Aes128MmoRaw_used_in_device_code ()
 Declared and never defined.

Detailed Description

AES-128 MMO PRG using direct AES-NI intrinsics without OpenSSL overhead.

Author
Yulong Ming i@myl.nosp@m.7.or.nosp@m.g

Round keys are pre-expanded at construction time. Each Gen() call issues one AES-NI encrypt sequence per output block with no per-call context overhead. Gen8() applies the same construction to 8 independent seeds at once by interleaving 8 streams, one AES round key per 8 aesenc calls, to saturate the AES pipelines of modern x86 CPUs.

Only for host side (x86-64 with AES-NI).

Function Documentation

◆ fss_host_only_Aes128MmoRaw_used_in_device_code()

void fss::prg::fss_host_only_Aes128MmoRaw_used_in_device_code ( )

Declared and never defined.

Device code that reaches it fails to link with an unresolved-extern error that names this symbol.