fhel 0.0.3 copy "fhel: ^0.0.3" to clipboard
fhel: ^0.0.3 copied to clipboard

Dart library for Fully Homomorphic Encryption

FHEL #

A Fully Homomorphic Encryption Library (FHEL) interface that exposes the basic functionalities of Microsoft SEAL. Supports Android and Linux.

Usage #

To use this plugin, add fhel as a dependency in your pubspec.yaml


// SEALContext with BFV Scheme
final fhe = FHE.withScheme('seal', 'bfv');

// Generate context w/ parameters
Map<String, int> ctx = {
      'polyModDegree': 4096,
      'ptMod': 1024,
      'secLevel': 128
};
String status = fhe.genContext(context);
assert(status == 'success: valid', status)

// Generate public/private keys
fhe.genKeys();

// Create Plaintext obj, contain pointer SEALPlaintext
final pt_x = Plaintext.withValue(fhe.backend, '1');
final pt_add = Plaintext.withValue(fhe.backend, '2');

// Create Ciphertext obj, contain pointer to SEALCiphertext
final ct_x = fhe.encrypt(pt_x);
final ct_add = fhe.encrypt(pt_add);

// Add Ciphertexts, enc(1) + enc(2) = enc(3)
final ct_res = fhe.add(ct_x, ct_add);
final pt_res = fhe.decrypt(ct_res);

assert(pt_res.text == '3', 'Addition Failed')

1
likes
0
pub points
26%
popularity

Publisher

verified publisherjeffmur.dev

Dart library for Fully Homomorphic Encryption

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

ffi, flutter, path

More

Packages that depend on fhel