![]() |
Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
|


Public Member Functions | |
| void | AddKey (const string &key_name, data_ptr_t key) |
| bool | HasKey (const string &key_name) const |
| void | DeleteKey (const string &key_name) |
| void | ClearKey (const string &key_name) |
| void | EraseKey (const string &key_name) |
| const_data_ptr_t | GetKey (const string &key_name) const |
| string | GetObjectType () override |
| optional_idx | GetEstimatedCacheMemory () const override |
Static Public Member Functions | |
| static EncryptionKeyManager & | GetInternal (ObjectCache &cache) |
| static EncryptionKeyManager & | Get (ClientContext &context) |
| static EncryptionKeyManager & | Get (DatabaseInstance &db) |
| static string | ObjectType () |
| static void | DeriveKey (string &user_key, data_ptr_t salt, data_ptr_t derived_key) |
| static void | KeyDerivationFunctionSHA256 (const_data_ptr_t user_key, idx_t user_key_size, data_ptr_t salt, data_ptr_t derived_key) |
| static void | KeyDerivationFunctionSHA256 (data_ptr_t user_key, idx_t user_key_size, data_ptr_t salt, data_ptr_t derived_key) |
| static string | Base64Decode (const string &key) |
| static string | GenerateRandomKeyID () |
| Generate a (non-cryptographically secure) random key ID. | |
Static Public Attributes | |
| static constexpr idx_t | KEY_ID_BYTES = 8 |
| constants | |
| static constexpr idx_t | DERIVED_KEY_LENGTH = 32 |
Private Attributes | |
| mutex | lock |
| std::unordered_map< std::string, EncryptionKey > | derived_keys |
|
static |
|
static |
|
static |
| bool duckdb::EncryptionKeyManager::HasKey | ( | const string & | key_name | ) | const |
| const_data_ptr_t duckdb::EncryptionKeyManager::GetKey | ( | const string & | key_name | ) | const |
|
static |
|
overridevirtual |
Implements duckdb::ObjectCacheEntry.
|
inlineoverridevirtual |
Get the rough cache memory usage in bytes for this entry. Used for eviction decisions. Return invalid index to prevent eviction.
Implements duckdb::ObjectCacheEntry.
|
static |
Key is base64 encoded
Todo; check if valid utf-8

|
static |
For now, we are only using SHA256 for key derivation

|
static |
|
static |
|
static |
Generate a (non-cryptographically secure) random key ID.