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