Rough API layout
This commit is contained in:
commit
3886aa7fcc
23
include/bfv.hpp
Normal file
23
include/bfv.hpp
Normal file
@ -0,0 +1,23 @@
|
||||
#pragma once
|
||||
|
||||
namespace homcert::bfv {
|
||||
|
||||
/*
|
||||
Note -> Ciphertexts track what parts of them are actually utilized!
|
||||
*/
|
||||
|
||||
class handle {
|
||||
// handles reference counting and garbage collection
|
||||
};
|
||||
|
||||
class device {
|
||||
// ...
|
||||
public:
|
||||
virtual handle make_context() = 0;
|
||||
virtual handle allocate_plaintext() = 0;
|
||||
virtual handle allocate_ciphertext() = 0;
|
||||
virtual void enqueue_op() = 0;
|
||||
virtual void process_queue() = 0;
|
||||
};
|
||||
|
||||
}
|
||||
30
include/homcert.hpp
Normal file
30
include/homcert.hpp
Normal file
@ -0,0 +1,30 @@
|
||||
#pragma once
|
||||
#include <bfv.hpp>
|
||||
|
||||
/*
|
||||
Homcert provides certificates that can be verified confidentially.
|
||||
After verification, the verifyer holds BFV encrypted certificate attributes.
|
||||
*/
|
||||
|
||||
namespace homcert {
|
||||
|
||||
class Certificate {
|
||||
// Bound to an owner pubkey (anonymously checked during verification)
|
||||
// Expiration timestamp is checked during verification
|
||||
// Arbitrary attributes (BFV slot vectors) are available as ciphertexts to verifier
|
||||
};
|
||||
|
||||
class Issuer {
|
||||
|
||||
};
|
||||
|
||||
class Prover {
|
||||
|
||||
};
|
||||
|
||||
class Verifier {
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user