diff --git a/nearby/Dockerfile b/nearby/Dockerfile
index 331e8e6..7a32b21 100644
--- a/nearby/Dockerfile
+++ b/nearby/Dockerfile
@@ -16,7 +16,7 @@
 
 # install system deps
 RUN apt-get update && apt-get install -y build-essential cmake gcc wget vim \
-clang git checkinstall zlib1g-dev rapidjson-dev libbenchmark-dev curl \
+clang git checkinstall zlib1g-dev libjsoncpp-dev libbenchmark-dev curl \
 protobuf-compiler pkg-config libdbus-1-dev libssl-dev ninja-build
 RUN apt upgrade -y
 
diff --git a/nearby/connections/ukey2/ukey2_connections/fuzz/Cargo.lock b/nearby/connections/ukey2/ukey2_connections/fuzz/Cargo.lock
index 8320405..8f42dbe 100644
--- a/nearby/connections/ukey2/ukey2_connections/fuzz/Cargo.lock
+++ b/nearby/connections/ukey2/ukey2_connections/fuzz/Cargo.lock
@@ -71,9 +71,9 @@
 
 [[package]]
 name = "base16ct"
-version = "0.1.1"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce"
+checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
 
 [[package]]
 name = "bitflags"
@@ -156,9 +156,9 @@
 
 [[package]]
 name = "crypto-bigint"
-version = "0.4.9"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef"
+checksum = "7c2538c4e68e52548bacb3e83ac549f903d44f011ac9d5abb5e132e67d0808f7"
 dependencies = [
  "generic-array",
  "rand_core",
@@ -180,6 +180,9 @@
 [[package]]
 name = "crypto_provider"
 version = "0.1.0"
+dependencies = [
+ "bytes",
+]
 
 [[package]]
 name = "crypto_provider_rustcrypto"
@@ -230,11 +233,12 @@
 
 [[package]]
 name = "der"
-version = "0.6.1"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de"
+checksum = "bc906908ea6458456e5eaa160a9c08543ec3d1e6f71e2235cedd660cb65f9df0"
 dependencies = [
  "const-oid",
+ "zeroize",
 ]
 
 [[package]]
@@ -299,13 +303,12 @@
 
 [[package]]
 name = "elliptic-curve"
-version = "0.12.3"
+version = "0.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3"
+checksum = "6ea5a92946e8614bb585254898bb7dd1ddad241ace60c52149e3765e34cc039d"
 dependencies = [
  "base16ct",
  "crypto-bigint",
- "der",
  "digest",
  "ff",
  "generic-array",
@@ -349,9 +352,9 @@
 
 [[package]]
 name = "ff"
-version = "0.12.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160"
+checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
 dependencies = [
  "rand_core",
  "subtle",
@@ -371,6 +374,7 @@
 dependencies = [
  "typenum",
  "version_check",
+ "zeroize",
 ]
 
 [[package]]
@@ -386,9 +390,9 @@
 
 [[package]]
 name = "group"
-version = "0.12.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7"
+checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
 dependencies = [
  "ff",
  "rand_core",
@@ -578,9 +582,9 @@
 
 [[package]]
 name = "p256"
-version = "0.12.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49c124b3cbce43bcbac68c58ec181d98ed6cc7e6d0aa7c3ba97b2563410b0e55"
+checksum = "7270da3e5caa82afd3deb054cc237905853813aea3859544bc082c3fe55b8d47"
 dependencies = [
  "elliptic-curve",
  "primeorder",
@@ -622,9 +626,9 @@
 
 [[package]]
 name = "primeorder"
-version = "0.12.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b54f7131b3dba65a2f414cf5bd25b66d4682e4608610668eae785750ba4c5b2"
+checksum = "7613fdcc0831c10060fa69833ea8fa2caa94b6456f51e25356a885b530a2e3d0"
 dependencies = [
  "elliptic-curve",
 ]
@@ -770,9 +774,9 @@
 
 [[package]]
 name = "sec1"
-version = "0.3.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928"
+checksum = "48518a2b5775ba8ca5b46596aae011caa431e6ce7e4a67ead66d92f08884220e"
 dependencies = [
  "base16ct",
  "der",
diff --git a/nearby/crypto/crypto_provider/src/lib.rs b/nearby/crypto/crypto_provider/src/lib.rs
index bc6d4d2..4eb5563 100644
--- a/nearby/crypto/crypto_provider/src/lib.rs
+++ b/nearby/crypto/crypto_provider/src/lib.rs
@@ -19,6 +19,11 @@
 
 use core::fmt::Debug;
 
+#[cfg(feature = "testing")]
+pub use rstest_reuse;
+
+use crate::aes::{Aes128Key, Aes256Key};
+
 /// mod containing hmac trait
 pub mod hkdf;
 
@@ -74,6 +79,12 @@
     /// The trait defining ed25519, a Edwards-curve Digital Signature Algorithm signature scheme
     /// using SHA-512 (SHA-2) and Curve25519
     type Ed25519: ed25519::Ed25519Provider;
+    /// The trait defining AES-128-GCM-SIV, a nonce-misuse resistant AEAD with a key size of 16 bytes.
+    #[cfg(feature = "gcm_siv")]
+    type Aes128GcmSiv: aes::gcm_siv::AesGcmSiv<Key = Aes128Key>;
+    /// The trait defining AES-256-GCM-SIV, a nonce-misuse resistant AEAD with a key size of 32 bytes.
+    #[cfg(feature = "gcm_siv")]
+    type Aes256GcmSiv: aes::gcm_siv::AesGcmSiv<Key = Aes256Key>;
 
     /// The cryptographically secure random number generator
     type CryptoRng: CryptoRng;
@@ -114,27 +125,27 @@
     }
 }
 
-use crate::aes::{Aes128Key, Aes256Key};
-#[cfg(feature = "testing")]
-pub use rstest_reuse;
-
 /// Utilities for testing implementations of this crate.
 #[cfg(feature = "testing")]
 pub mod testing {
     extern crate alloc;
-    use crate::CryptoProvider;
+
     use alloc::{format, string::String};
     use core::marker::PhantomData;
+
     use hex_literal::hex;
     use rand::{Rng, RngCore};
     use rstest_reuse::template;
 
+    use crate::CryptoProvider;
+
     /// Common items that needs to be imported to use these test cases
     pub mod prelude {
-        pub use super::CryptoProviderTestCase;
         pub use rstest::rstest;
         pub use rstest_reuse;
         pub use rstest_reuse::apply;
+
+        pub use super::CryptoProviderTestCase;
     }
 
     /// A test case for Crypto Provider. A test case is a function that panics if the test fails.
diff --git a/nearby/crypto/crypto_provider_boringssl/src/lib.rs b/nearby/crypto/crypto_provider_boringssl/src/lib.rs
index c8c466d..6618bab 100644
--- a/nearby/crypto/crypto_provider_boringssl/src/lib.rs
+++ b/nearby/crypto/crypto_provider_boringssl/src/lib.rs
@@ -56,6 +56,8 @@
     type AesCtr128 = Aes128Stubs;
     type AesCtr256 = Aes256Stubs;
     type Ed25519 = Ed25519Stubs;
+    type Aes128GcmSiv = Aes128Stubs;
+    type Aes256GcmSiv = Aes256Stubs;
     type CryptoRng = BoringSslRng;
 
     fn constant_time_eq(_a: &[u8], _b: &[u8]) -> bool {
diff --git a/nearby/crypto/crypto_provider_openssl/Cargo.toml b/nearby/crypto/crypto_provider_openssl/Cargo.toml
index 92d66a7..78c6cf3 100644
--- a/nearby/crypto/crypto_provider_openssl/Cargo.toml
+++ b/nearby/crypto/crypto_provider_openssl/Cargo.toml
@@ -5,7 +5,7 @@
 publish.workspace = true
 
 [dependencies]
-crypto_provider = { path = "../crypto_provider", features = ["alloc", "std"] }
+crypto_provider = { path = "../crypto_provider", default-features = false, features = ["alloc", "std"] }
 openssl.workspace = true
 cfg-if.workspace = true
 
@@ -13,9 +13,9 @@
 
 [features]
 default = []
-boringssl = ["openssl/unstable_boringssl"]
+boringssl = ["openssl/unstable_boringssl", "crypto_provider/gcm_siv"]
 
 [dev-dependencies]
-crypto_provider = { path = "../crypto_provider", features = ["testing"] }
+crypto_provider = { path = "../crypto_provider", default-features = false, features = ["testing"] }
 rstest = "0.16.0"
 hex-literal.workspace = true
diff --git a/nearby/crypto/crypto_provider_openssl/src/aes.rs b/nearby/crypto/crypto_provider_openssl/src/aes.rs
index 742560a..ded187f 100644
--- a/nearby/crypto/crypto_provider_openssl/src/aes.rs
+++ b/nearby/crypto/crypto_provider_openssl/src/aes.rs
@@ -24,14 +24,17 @@
 
 //! Implementation of `crypto_provider::aes` types using openssl's `symm` module.
 
+use openssl::symm::{Cipher, Crypter, Mode};
+
 use crypto_provider::aes::cbc::{AesCbcIv, DecryptionError};
+use crypto_provider::aes::gcm_siv::{AesGcmSiv, GcmSivError};
 use crypto_provider::aes::{
     Aes, Aes128Key, Aes256Key, AesBlock, AesCipher, AesDecryptCipher, AesEncryptCipher, AesKey,
 };
-use openssl::symm::{Cipher, Crypter, Mode};
 
 /// Uber struct which contains impls for AES-128 fns
 pub struct Aes128;
+
 impl Aes for Aes128 {
     type Key = Aes128Key;
     type EncryptCipher = Aes128Cipher;
@@ -40,6 +43,7 @@
 
 /// Uber struct which contains impls for AES-256 fns
 pub struct Aes256;
+
 impl Aes for Aes256 {
     type Key = Aes256Key;
     type EncryptCipher = Aes256Cipher;
@@ -245,14 +249,53 @@
     }
 }
 
+/// Unimplemented AES-GCM-SIV implementation.
+pub struct OpenSslAesGcmSiv128;
+
+impl AesGcmSiv for OpenSslAesGcmSiv128 {
+    type Key = Aes128Key;
+
+    fn new(_key: &Self::Key) -> Self {
+        todo!()
+    }
+
+    fn encrypt(&self, _data: &mut Vec<u8>, _aad: &[u8], _nonce: &[u8]) -> Result<(), GcmSivError> {
+        todo!()
+    }
+
+    fn decrypt(&self, _data: &mut Vec<u8>, _aad: &[u8], _nonce: &[u8]) -> Result<(), GcmSivError> {
+        todo!()
+    }
+}
+
+pub struct OpenSslAesGcmSiv256;
+
+impl AesGcmSiv for OpenSslAesGcmSiv256 {
+    type Key = Aes256Key;
+
+    fn new(_key: &Self::Key) -> Self {
+        todo!()
+    }
+
+    fn encrypt(&self, _data: &mut Vec<u8>, _aad: &[u8], _nonce: &[u8]) -> Result<(), GcmSivError> {
+        todo!()
+    }
+
+    fn decrypt(&self, _data: &mut Vec<u8>, _aad: &[u8], _nonce: &[u8]) -> Result<(), GcmSivError> {
+        todo!()
+    }
+}
+
 #[cfg(test)]
 mod tests {
-    use super::*;
     use core::marker::PhantomData;
+
     use crypto_provider::aes::cbc::testing::*;
     use crypto_provider::aes::ctr::testing::*;
     use crypto_provider::aes::testing::*;
 
+    use super::*;
+
     #[apply(aes_128_ctr_test_cases)]
     fn aes_128_ctr_test(testcase: CryptoProviderTestCase<OpenSslAesCtr128>) {
         testcase(PhantomData);
diff --git a/nearby/crypto/crypto_provider_openssl/src/lib.rs b/nearby/crypto/crypto_provider_openssl/src/lib.rs
index 8930199..db926f0 100644
--- a/nearby/crypto/crypto_provider_openssl/src/lib.rs
+++ b/nearby/crypto/crypto_provider_openssl/src/lib.rs
@@ -17,12 +17,13 @@
 //! Crate which provides impls for CryptoProvider backed by openssl
 
 use cfg_if::cfg_if;
-use crypto_provider::CryptoRng;
 pub use openssl;
 use openssl::hash::MessageDigest;
 use openssl::md::MdRef;
 use openssl::rand::rand_bytes;
 
+use crypto_provider::CryptoRng;
+
 /// Contains the openssl backed AES implementations for CryptoProvider
 mod aes;
 /// Contains the openssl backed ed25519 impl for key generation, verification, and signing
@@ -79,6 +80,8 @@
     type AesCtr128 = aes::OpenSslAesCtr128;
     type AesCtr256 = aes::OpenSslAesCtr256;
     type Ed25519 = ed25519::Ed25519;
+    type Aes128GcmSiv = aes::OpenSslAesGcmSiv128;
+    type Aes256GcmSiv = aes::OpenSslAesGcmSiv256;
     type CryptoRng = OpenSslRng;
 
     fn constant_time_eq(a: &[u8], b: &[u8]) -> bool {
@@ -107,11 +110,13 @@
 
 #[cfg(test)]
 mod tests {
-    use crate::Openssl;
     use core::marker::PhantomData;
+
     use crypto_provider::sha2::testing::*;
     use crypto_provider::testing::*;
 
+    use crate::Openssl;
+
     #[apply(sha2_test_cases)]
     fn sha2_tests(testcase: CryptoProviderTestCase<Openssl>) {
         testcase(PhantomData);
diff --git a/nearby/crypto/crypto_provider_rustcrypto/src/lib.rs b/nearby/crypto/crypto_provider_rustcrypto/src/lib.rs
index 72ca033..e73ea11 100644
--- a/nearby/crypto/crypto_provider_rustcrypto/src/lib.rs
+++ b/nearby/crypto/crypto_provider_rustcrypto/src/lib.rs
@@ -23,6 +23,15 @@
 
 //! Crate which provides impls for CryptoProvider backed by RustCrypto crates
 
+use core::{fmt::Debug, marker::PhantomData};
+
+use cfg_if::cfg_if;
+pub use hkdf;
+pub use hmac;
+use rand::{Rng, RngCore, SeedableRng};
+use rand_core::CryptoRng;
+use subtle::ConstantTimeEq;
+
 /// Contains the RustCrypto backed AES impl for CryptoProvider
 pub mod aes;
 /// Contains the RustCrypto backed impl for ed25519 key generation, signing, and verification
@@ -38,15 +47,6 @@
 /// Contains the RustCrypto backed X25519 impl for CryptoProvider
 mod x25519;
 
-pub use hkdf;
-pub use hmac;
-
-use cfg_if::cfg_if;
-use core::{fmt::Debug, marker::PhantomData};
-use rand::{Rng, RngCore, SeedableRng};
-use rand_core::CryptoRng;
-use subtle::ConstantTimeEq;
-
 cfg_if! {
     if #[cfg(feature = "std")] {
         /// Providing a type alias for compatibility with existing usage of RustCrypto
@@ -91,6 +91,10 @@
     type AesCtr128 = aes::AesCtr128;
     type AesCtr256 = aes::AesCtr256;
     type Ed25519 = ed25519::Ed25519;
+    #[cfg(feature = "gcm_siv")]
+    type Aes128GcmSiv = aes::gcm_siv::AesGcmSiv128;
+    #[cfg(feature = "gcm_siv")]
+    type Aes256GcmSiv = aes::gcm_siv::AesGcmSiv256;
     type CryptoRng = RcRng<R>;
 
     fn constant_time_eq(a: &[u8], b: &[u8]) -> bool {
@@ -120,10 +124,12 @@
 
 #[cfg(test)]
 mod tests {
-    use crate::RustCrypto;
     use core::marker::PhantomData;
+
     use crypto_provider::sha2::testing::*;
 
+    use crate::RustCrypto;
+
     #[apply(sha2_test_cases)]
     fn sha2_tests(testcase: CryptoProviderTestCase<RustCrypto>) {
         testcase(PhantomData::<RustCrypto>);
diff --git a/nearby/crypto/crypto_provider_stubs/src/lib.rs b/nearby/crypto/crypto_provider_stubs/src/lib.rs
index c7c4876..fcfec39 100644
--- a/nearby/crypto/crypto_provider_stubs/src/lib.rs
+++ b/nearby/crypto/crypto_provider_stubs/src/lib.rs
@@ -17,8 +17,12 @@
 //! Can be removed once no one else is depending on it.
 
 #![allow(unused_variables)]
+
+use std::fmt::Debug;
+
 use crypto_provider::aes::cbc::{AesCbcIv, AesCbcPkcs7Padded, DecryptionError};
 use crypto_provider::aes::ctr::AesCtr;
+use crypto_provider::aes::gcm_siv::{AesGcmSiv, GcmSivError};
 use crypto_provider::aes::{
     Aes, Aes128Key, Aes256Key, AesBlock, AesCipher, AesDecryptCipher, AesEncryptCipher,
 };
@@ -31,9 +35,7 @@
 use crypto_provider::hkdf::{Hkdf, InvalidLength};
 use crypto_provider::hmac::{Hmac, MacError};
 use crypto_provider::p256::{P256PublicKey, P256};
-
 use crypto_provider::x25519::X25519;
-use std::fmt::Debug;
 
 #[derive(Default, Clone, Debug, PartialEq, Eq)]
 pub struct CryptoProviderStubs;
@@ -53,6 +55,8 @@
     type AesCtr128 = Aes128Stubs;
     type AesCtr256 = Aes256Stubs;
     type Ed25519 = Ed25519Stubs;
+    type Aes128GcmSiv = Aes128Stubs;
+    type Aes256GcmSiv = Aes256Stubs;
     type CryptoRng = ();
 
     fn constant_time_eq(_a: &[u8], _b: &[u8]) -> bool {
@@ -61,6 +65,7 @@
 }
 
 pub struct Aes128Impl;
+
 impl Aes for Aes128Impl {
     type Key = Aes128Key;
     type EncryptCipher = Aes128Stubs;
@@ -68,6 +73,7 @@
 }
 
 pub struct Aes256Impl;
+
 impl Aes for Aes256Impl {
     type Key = Aes256Key;
     type EncryptCipher = Aes256Stubs;
@@ -76,6 +82,7 @@
 
 #[derive(Clone)]
 pub struct HkdfStubs;
+
 impl Hkdf for HkdfStubs {
     fn new(_salt: Option<&[u8]>, _ikm: &[u8]) -> Self {
         unimplemented!()
@@ -95,6 +102,7 @@
 }
 
 pub struct HmacStubs;
+
 impl Hmac<32> for HmacStubs {
     fn new_from_key(_key: [u8; 32]) -> Self {
         unimplemented!()
@@ -156,6 +164,7 @@
 }
 
 pub struct AesCbcPkcs7PaddedStubs;
+
 impl AesCbcPkcs7Padded for AesCbcPkcs7PaddedStubs {
     fn encrypt(_key: &Aes256Key, _iv: &AesCbcIv, _message: &[u8]) -> Vec<u8> {
         unimplemented!()
@@ -171,6 +180,7 @@
 }
 
 pub struct X25519Stubs;
+
 impl EcdhProvider<X25519> for X25519Stubs {
     type PublicKey = EcdhPubKey;
     type EphemeralSecret = EphSecretStubs;
@@ -178,6 +188,7 @@
 }
 
 pub struct EphSecretStubs;
+
 impl EphemeralSecret<X25519> for EphSecretStubs {
     type Impl = X25519Stubs;
     type Error = ();
@@ -222,6 +233,7 @@
 
 #[derive(Debug, PartialEq)]
 pub struct EcdhPubKey;
+
 impl PublicKey<X25519> for EcdhPubKey {
     type Error = ();
 
@@ -236,6 +248,7 @@
 
 #[derive(Debug, PartialEq, Eq)]
 pub struct PublicKeyStubs;
+
 impl P256PublicKey for PublicKeyStubs {
     type Error = ();
 
@@ -257,6 +270,7 @@
 }
 
 pub struct P256Stubs;
+
 impl EcdhProvider<P256> for P256Stubs {
     type PublicKey = PublicKeyStubs;
     type EphemeralSecret = EphSecretStubs;
@@ -264,6 +278,7 @@
 }
 
 pub struct Sha2Stubs;
+
 impl crypto_provider::sha2::Sha256 for Sha2Stubs {
     fn sha256(_input: &[u8]) -> [u8; 32] {
         unimplemented!()
@@ -314,6 +329,22 @@
     }
 }
 
+impl AesGcmSiv for Aes128Stubs {
+    type Key = Aes128Key;
+
+    fn new(key: &Self::Key) -> Self {
+        unimplemented!()
+    }
+
+    fn encrypt(&self, data: &mut Vec<u8>, aad: &[u8], nonce: &[u8]) -> Result<(), GcmSivError> {
+        unimplemented!()
+    }
+
+    fn decrypt(&self, data: &mut Vec<u8>, aad: &[u8], nonce: &[u8]) -> Result<(), GcmSivError> {
+        unimplemented!()
+    }
+}
+
 pub struct Aes256Stubs;
 
 impl AesCipher for Aes256Stubs {
@@ -351,7 +382,25 @@
         unimplemented!()
     }
 }
+
+impl AesGcmSiv for Aes256Stubs {
+    type Key = Aes256Key;
+
+    fn new(key: &Self::Key) -> Self {
+        unimplemented!()
+    }
+
+    fn encrypt(&self, data: &mut Vec<u8>, aad: &[u8], nonce: &[u8]) -> Result<(), GcmSivError> {
+        unimplemented!()
+    }
+
+    fn decrypt(&self, data: &mut Vec<u8>, aad: &[u8], nonce: &[u8]) -> Result<(), GcmSivError> {
+        unimplemented!()
+    }
+}
+
 pub struct Ed25519Stubs;
+
 impl Ed25519Provider for Ed25519Stubs {
     type KeyPair = KeyPairStubs;
     type PublicKey = PublicKeyStubs;
@@ -382,6 +431,7 @@
 }
 
 pub struct SignatureStubs;
+
 impl Signature for SignatureStubs {
     fn from_bytes(_bytes: &[u8]) -> Result<Self, InvalidSignature> {
         unimplemented!()
@@ -393,6 +443,7 @@
 }
 
 pub struct KeyPairStubs;
+
 impl KeyPair for KeyPairStubs {
     type PublicKey = PublicKeyStubs;
     type Signature = SignatureStubs;
diff --git a/nearby/presence/ldt/fuzz/Cargo.lock b/nearby/presence/ldt/fuzz/Cargo.lock
index a007fe8..2f38bca 100644
--- a/nearby/presence/ldt/fuzz/Cargo.lock
+++ b/nearby/presence/ldt/fuzz/Cargo.lock
@@ -54,9 +54,9 @@
 
 [[package]]
 name = "base16ct"
-version = "0.1.1"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce"
+checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
 
 [[package]]
 name = "block-buffer"
@@ -133,9 +133,9 @@
 
 [[package]]
 name = "crypto-bigint"
-version = "0.4.9"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef"
+checksum = "7c2538c4e68e52548bacb3e83ac549f903d44f011ac9d5abb5e132e67d0808f7"
 dependencies = [
  "generic-array",
  "rand_core",
@@ -157,6 +157,9 @@
 [[package]]
 name = "crypto_provider"
 version = "0.1.0"
+dependencies = [
+ "bytes",
+]
 
 [[package]]
 name = "crypto_provider_rustcrypto"
@@ -207,11 +210,12 @@
 
 [[package]]
 name = "der"
-version = "0.6.1"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de"
+checksum = "bc906908ea6458456e5eaa160a9c08543ec3d1e6f71e2235cedd660cb65f9df0"
 dependencies = [
  "const-oid",
+ "zeroize",
 ]
 
 [[package]]
@@ -259,13 +263,12 @@
 
 [[package]]
 name = "elliptic-curve"
-version = "0.12.3"
+version = "0.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3"
+checksum = "6ea5a92946e8614bb585254898bb7dd1ddad241ace60c52149e3765e34cc039d"
 dependencies = [
  "base16ct",
  "crypto-bigint",
- "der",
  "digest",
  "ff",
  "generic-array",
@@ -279,9 +282,9 @@
 
 [[package]]
 name = "ff"
-version = "0.12.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160"
+checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
 dependencies = [
  "rand_core",
  "subtle",
@@ -301,6 +304,7 @@
 dependencies = [
  "typenum",
  "version_check",
+ "zeroize",
 ]
 
 [[package]]
@@ -316,9 +320,9 @@
 
 [[package]]
 name = "group"
-version = "0.12.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7"
+checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
 dependencies = [
  "ff",
  "rand_core",
@@ -425,9 +429,9 @@
 
 [[package]]
 name = "p256"
-version = "0.12.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49c124b3cbce43bcbac68c58ec181d98ed6cc7e6d0aa7c3ba97b2563410b0e55"
+checksum = "7270da3e5caa82afd3deb054cc237905853813aea3859544bc082c3fe55b8d47"
 dependencies = [
  "elliptic-curve",
  "primeorder",
@@ -469,9 +473,9 @@
 
 [[package]]
 name = "primeorder"
-version = "0.12.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b54f7131b3dba65a2f414cf5bd25b66d4682e4608610668eae785750ba4c5b2"
+checksum = "7613fdcc0831c10060fa69833ea8fa2caa94b6456f51e25356a885b530a2e3d0"
 dependencies = [
  "elliptic-curve",
 ]
@@ -524,9 +528,9 @@
 
 [[package]]
 name = "sec1"
-version = "0.3.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928"
+checksum = "48518a2b5775ba8ca5b46596aae011caa431e6ce7e4a67ead66d92f08884220e"
 dependencies = [
  "base16ct",
  "der",
diff --git a/nearby/presence/ldt_np_adv/fuzz/Cargo.lock b/nearby/presence/ldt_np_adv/fuzz/Cargo.lock
index 3bfc3fd..4922fc2 100644
--- a/nearby/presence/ldt_np_adv/fuzz/Cargo.lock
+++ b/nearby/presence/ldt_np_adv/fuzz/Cargo.lock
@@ -58,9 +58,9 @@
 
 [[package]]
 name = "base16ct"
-version = "0.1.1"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce"
+checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
 
 [[package]]
 name = "block-buffer"
@@ -137,9 +137,9 @@
 
 [[package]]
 name = "crypto-bigint"
-version = "0.4.9"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef"
+checksum = "7c2538c4e68e52548bacb3e83ac549f903d44f011ac9d5abb5e132e67d0808f7"
 dependencies = [
  "generic-array",
  "rand_core",
@@ -161,6 +161,9 @@
 [[package]]
 name = "crypto_provider"
 version = "0.1.0"
+dependencies = [
+ "bytes",
+]
 
 [[package]]
 name = "crypto_provider_rustcrypto"
@@ -211,11 +214,12 @@
 
 [[package]]
 name = "der"
-version = "0.6.1"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de"
+checksum = "bc906908ea6458456e5eaa160a9c08543ec3d1e6f71e2235cedd660cb65f9df0"
 dependencies = [
  "const-oid",
+ "zeroize",
 ]
 
 [[package]]
@@ -263,13 +267,12 @@
 
 [[package]]
 name = "elliptic-curve"
-version = "0.12.3"
+version = "0.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3"
+checksum = "6ea5a92946e8614bb585254898bb7dd1ddad241ace60c52149e3765e34cc039d"
 dependencies = [
  "base16ct",
  "crypto-bigint",
- "der",
  "digest",
  "ff",
  "generic-array",
@@ -283,9 +286,9 @@
 
 [[package]]
 name = "ff"
-version = "0.12.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160"
+checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
 dependencies = [
  "rand_core",
  "subtle",
@@ -305,6 +308,7 @@
 dependencies = [
  "typenum",
  "version_check",
+ "zeroize",
 ]
 
 [[package]]
@@ -320,9 +324,9 @@
 
 [[package]]
 name = "group"
-version = "0.12.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7"
+checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
 dependencies = [
  "ff",
  "rand_core",
@@ -452,9 +456,9 @@
 
 [[package]]
 name = "p256"
-version = "0.12.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49c124b3cbce43bcbac68c58ec181d98ed6cc7e6d0aa7c3ba97b2563410b0e55"
+checksum = "7270da3e5caa82afd3deb054cc237905853813aea3859544bc082c3fe55b8d47"
 dependencies = [
  "elliptic-curve",
  "primeorder",
@@ -496,9 +500,9 @@
 
 [[package]]
 name = "primeorder"
-version = "0.12.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b54f7131b3dba65a2f414cf5bd25b66d4682e4608610668eae785750ba4c5b2"
+checksum = "7613fdcc0831c10060fa69833ea8fa2caa94b6456f51e25356a885b530a2e3d0"
 dependencies = [
  "elliptic-curve",
 ]
@@ -551,9 +555,9 @@
 
 [[package]]
 name = "sec1"
-version = "0.3.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928"
+checksum = "48518a2b5775ba8ca5b46596aae011caa431e6ce7e4a67ead66d92f08884220e"
 dependencies = [
  "base16ct",
  "der",
diff --git a/nearby/presence/ldt_np_adv_ffi/Cargo.lock b/nearby/presence/ldt_np_adv_ffi/Cargo.lock
index 3a16c56..075e658 100644
--- a/nearby/presence/ldt_np_adv_ffi/Cargo.lock
+++ b/nearby/presence/ldt_np_adv_ffi/Cargo.lock
@@ -67,9 +67,9 @@
 
 [[package]]
 name = "base16ct"
-version = "0.1.1"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce"
+checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
 
 [[package]]
 name = "base64ct"
@@ -166,9 +166,9 @@
 
 [[package]]
 name = "crypto-bigint"
-version = "0.4.9"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef"
+checksum = "7c2538c4e68e52548bacb3e83ac549f903d44f011ac9d5abb5e132e67d0808f7"
 dependencies = [
  "generic-array",
  "rand_core",
@@ -267,15 +267,6 @@
 
 [[package]]
 name = "der"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de"
-dependencies = [
- "const-oid",
-]
-
-[[package]]
-name = "der"
 version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bc906908ea6458456e5eaa160a9c08543ec3d1e6f71e2235cedd660cb65f9df0"
@@ -321,13 +312,12 @@
 
 [[package]]
 name = "elliptic-curve"
-version = "0.12.3"
+version = "0.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3"
+checksum = "6ea5a92946e8614bb585254898bb7dd1ddad241ace60c52149e3765e34cc039d"
 dependencies = [
  "base16ct",
  "crypto-bigint",
- "der 0.6.1",
  "digest",
  "ff",
  "generic-array",
@@ -341,9 +331,9 @@
 
 [[package]]
 name = "ff"
-version = "0.12.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160"
+checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
 dependencies = [
  "rand_core",
  "subtle",
@@ -378,6 +368,7 @@
 dependencies = [
  "typenum",
  "version_check",
+ "zeroize",
 ]
 
 [[package]]
@@ -393,9 +384,9 @@
 
 [[package]]
 name = "group"
-version = "0.12.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7"
+checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
 dependencies = [
  "ff",
  "rand_core",
@@ -597,9 +588,9 @@
 
 [[package]]
 name = "p256"
-version = "0.12.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49c124b3cbce43bcbac68c58ec181d98ed6cc7e6d0aa7c3ba97b2563410b0e55"
+checksum = "7270da3e5caa82afd3deb054cc237905853813aea3859544bc082c3fe55b8d47"
 dependencies = [
  "elliptic-curve",
  "primeorder",
@@ -627,7 +618,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3d2820d87d2b008616e5c27212dd9e0e694fb4c6b522de06094106813328cb49"
 dependencies = [
- "der 0.7.1",
+ "der",
  "spki",
 ]
 
@@ -663,9 +654,9 @@
 
 [[package]]
 name = "primeorder"
-version = "0.12.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b54f7131b3dba65a2f414cf5bd25b66d4682e4608610668eae785750ba4c5b2"
+checksum = "7613fdcc0831c10060fa69833ea8fa2caa94b6456f51e25356a885b530a2e3d0"
 dependencies = [
  "elliptic-curve",
 ]
@@ -750,12 +741,12 @@
 
 [[package]]
 name = "sec1"
-version = "0.3.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928"
+checksum = "48518a2b5775ba8ca5b46596aae011caa431e6ce7e4a67ead66d92f08884220e"
 dependencies = [
  "base16ct",
- "der 0.6.1",
+ "der",
  "generic-array",
  "subtle",
  "zeroize",
@@ -806,7 +797,7 @@
 checksum = "c0445c905640145c7ea8c1993555957f65e7c46d0535b91ba501bc9bfc85522f"
 dependencies = [
  "base64ct",
- "der 0.7.1",
+ "der",
 ]
 
 [[package]]
diff --git a/nearby/presence/ldt_np_c_sample/tests/CMakeLists.txt b/nearby/presence/ldt_np_c_sample/tests/CMakeLists.txt
index a4c4b37..c7a39f4 100644
--- a/nearby/presence/ldt_np_c_sample/tests/CMakeLists.txt
+++ b/nearby/presence/ldt_np_c_sample/tests/CMakeLists.txt
@@ -16,6 +16,13 @@
 
 # GoogleTest requires at least C++14
 set(CMAKE_CXX_STANDARD 14)
+add_compile_options(-Wall -Werror -Wextra -Wimplicit-fallthrough -Wextra-semi
+        -Wunreachable-code-aggressive -Wthread-safety
+        -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi
+        -Wloop-analysis -Wno-unneeded-internal-declaration
+        -Wenum-compare-conditional -Wno-ignored-pragma-optimize
+        -Wno-bitfield-constant-conversion -Wno-deprecated-this-capture -Wshadow
+        -Wsign-compare)
 
 include(FetchContent)
 FetchContent_Declare(
@@ -26,13 +33,17 @@
 FetchContent_MakeAvailable(googletest)
 enable_testing()
 
-find_package(RapidJSON REQUIRED)
-message(STATUS "RapidJson include directories: ${RAPIDJSON_INCLUDE_DIRS}${RapidJSON_INCLUDE_DIRS}")
-include_directories("${RAPIDJSON_INCLUDE_DIRS}${RapidJSON_INCLUDE_DIRS}")
 
 find_package(benchmark REQUIRED)
 add_compile_options(-fsanitize=address)
 
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(JSONCPP jsoncpp)
+include_directories("${JSONCPP_INCLUDEDIR}")
+
+file(COPY ${CMAKE_SOURCE_DIR}/ldt_np_adv/resources/test/np_adv_test_vectors.json
+     DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+
 add_executable(
   np_ffi_tests
   np_ffi_tests.cc
@@ -54,6 +65,7 @@
 target_link_libraries(
   np_ffi_tests
   "${CMAKE_SOURCE_DIR}/ldt_np_adv_ffi/target/release/libldt_np_adv_ffi.a"
+  ${pkgcfg_lib_JSONCPP_jsoncpp}
   GTest::gtest_main
   OpenSSL::SSL
   dl pthread -fsanitize=address
diff --git a/nearby/presence/ldt_np_c_sample/tests/benchmarks.cc b/nearby/presence/ldt_np_c_sample/tests/benchmarks.cc
index fbd20a8..d0cfb67 100644
--- a/nearby/presence/ldt_np_c_sample/tests/benchmarks.cc
+++ b/nearby/presence/ldt_np_c_sample/tests/benchmarks.cc
@@ -50,6 +50,7 @@
 
     void TearDown(const ::benchmark::State& state)
     {
+        (void) state;
         free(salt);
         free(payload);
         freeCiphers();
@@ -127,7 +128,7 @@
             NpLdtDecryptAndVerify(dec_handle, payload, payload_len, *salt);
         }
     }
-};
+}
 
 BENCHMARK_REGISTER_F(NpLdtFfiBenchmark, DecryptExistingCiphers)->RangeMultiplier(10)->Range(1, 1000);
 
@@ -141,7 +142,7 @@
             NpLdtDecryptAndVerify(handle, payload, payload_len, *salt);
         }
     }
-};
+}
 
 BENCHMARK_REGISTER_F(NpLdtFfiBenchmark, DecryptFreshCiphers)->RangeMultiplier(10)->Range(1, 1000);
 
diff --git a/nearby/presence/ldt_np_c_sample/tests/np_ffi_tests.cc b/nearby/presence/ldt_np_c_sample/tests/np_ffi_tests.cc
index fbb0db4..1cc2ae2 100644
--- a/nearby/presence/ldt_np_c_sample/tests/np_ffi_tests.cc
+++ b/nearby/presence/ldt_np_c_sample/tests/np_ffi_tests.cc
@@ -13,25 +13,27 @@
 // limitations under the License.
 
 #include <gtest/gtest.h>
+#include <json/json.h>
+#include <fstream>
 
 extern "C" {
 #include "np_ldt.h"
 }
 
 #include <algorithm>
-#include <rapidjson/document.h>
-#include <rapidjson/filereadstream.h>
 
 // TODO: get multi threaded tests working on windows
 #ifndef _WIN32
 #include <pthread.h>
 #endif
 
-using namespace rapidjson;
 using namespace std;
 
-static const char* PATH_TO_DATA_FILE = "../../../ldt_np_adv/resources/test/np_adv_test_vectors.json";
-
+#ifdef LDT_TEST_VECTORS
+static const char* PATH_TO_DATA_FILE = LDT_TEST_VECTORS;
+#else
+static const char* PATH_TO_DATA_FILE = "np_adv_test_vectors.json";
+#endif
 static const uint8_t KEY_SEED_BYTES[] = {204, 219, 36, 137, 233, 252, 172, 66, 179, 147, 72, 184, 148, 30, 209, 154, 29, 54, 14, 117, 224, 152, 200, 193, 94, 107, 28, 194, 182, 32, 205, 57};
 static const uint8_t KNOWN_HMAC_BYTES[] = {223, 185, 10, 31, 155, 31, 226, 141, 24, 187, 204, 165, 34, 64, 181, 204, 44, 203, 95, 141, 82, 137, 163, 203, 100, 235, 53, 65, 202, 97, 75, 180};
 static const uint8_t TEST_DATA_BYTES[] = {205, 104, 63, 225, 161, 209, 248, 70, 84, 61, 10, 19, 212, 174, 164, 0, 64, 200, 214, 123};
@@ -84,24 +86,24 @@
 // to generate the ldt_key and hmac_key from a key_seed, this is an implementation
 // detail of the rust ldt library
 TEST(NpFfiTests, TestJsonData) {
-    FILE* fp = fopen(PATH_TO_DATA_FILE, "r");
-    ASSERT_FALSE(fp == NULL);
+    Json::Value root;
+    Json::Reader reader;
+    std::ifstream test(PATH_TO_DATA_FILE);
+    bool parsingSuccessful = reader.parse( test, root, false );
+    if ( !parsingSuccessful )
+    {
+        std::cout  << reader.getFormattedErrorMessages()
+               << "\n";
+    }
+    ASSERT_TRUE(root.size() == 1000);
 
-    char readBuffer[65536];
-    FileReadStream is(fp, readBuffer, sizeof(readBuffer));
-    Document d;
-    d.ParseStream(is);
-
-    ASSERT_TRUE(d.IsArray());
-    ASSERT_EQ(d.Size(), 1000);
-
-    for (SizeType i = 0; i < d.Size(); i++) {
-        const Value& v = d[i];
-        const char * key_seed = v["key_seed"].GetString();
-        const char * metadata_key_hmac = v["metadata_key_hmac"].GetString();
-        const char * adv_salt = v["adv_salt"].GetString();
-        const char * plaintext = v["plaintext"].GetString();
-        const char * ciphertext = v["ciphertext"].GetString();
+    for (Json::Value::ArrayIndex i = 0; i < root.size(); i++) {
+        const Json::Value& v = root[i];
+        auto key_seed = v["key_seed"].asCString();
+        auto metadata_key_hmac = v["metadata_key_hmac"].asCString();
+        auto adv_salt = v["adv_salt"].asCString();
+        auto plaintext = v["plaintext"].asCString();
+        auto ciphertext = v["ciphertext"].asCString();
 
         NpLdtKeySeed np_key_seed;
         int len = strlen(key_seed)/2;
@@ -114,17 +116,17 @@
         ASSERT_EQ(len, 32);
 
         NpLdtEncryptHandle enc_handle = NpLdtEncryptCreate(np_key_seed);
-        ASSERT_NE(enc_handle.handle, 0);
+        ASSERT_TRUE(enc_handle.handle != 0);
 
-        NpLdtSalt salt;
+        NpLdtSalt saltdata;
         len = strlen(adv_salt)/2;
-        hex_string_to_bytes(adv_salt, salt.bytes, len);
+        hex_string_to_bytes(adv_salt, saltdata.bytes, len);
         ASSERT_TRUE(len == 2);
 
         len = strlen(plaintext)/2;
         uint8_t* buffer = (uint8_t*)malloc(len);
         hex_string_to_bytes(plaintext, buffer, len);
-        NP_LDT_RESULT result = NpLdtEncrypt(enc_handle, buffer, len, salt);
+        NP_LDT_RESULT result = NpLdtEncrypt(enc_handle, buffer, len, saltdata);
         ASSERT_EQ(result, NP_LDT_SUCCESS);
 
         char output[strlen(plaintext) + 1];
@@ -132,17 +134,22 @@
         ASSERT_EQ(strcmp(output, ciphertext), 0);
 
         NpLdtDecryptHandle dec_handle = NpLdtDecryptCreate(np_key_seed, known_hmac);
-        ASSERT_NE(dec_handle.handle, 0);
+        ASSERT_TRUE(dec_handle.handle != 0);
 
-        result = NpLdtDecryptAndVerify(dec_handle, buffer, len, salt);
+        result = NpLdtDecryptAndVerify(dec_handle, buffer, len, saltdata);
+        ASSERT_EQ(result, NP_LDT_SUCCESS);
+
+        result = NpLdtEncryptClose(enc_handle);
+        ASSERT_EQ(result, NP_LDT_SUCCESS);
+
+        result = NpLdtDecryptClose(dec_handle);
         ASSERT_EQ(result, NP_LDT_SUCCESS);
 
         bytes_to_hex_string(buffer, output, len);
-        printf("output: %s\n", output);
         ASSERT_EQ( strcmp(output, plaintext), 0);
         free(buffer);
     }
-    fclose(fp);
+    test.close();
 }
 
 TEST(NpFfiTests, TestValidLength)
@@ -151,7 +158,7 @@
     memcpy(plaintext, TEST_DATA_BYTES, 20);
 
     NpLdtEncryptHandle enc_handle = create_enc_handle_from_test_key();
-    ASSERT_NE(enc_handle.handle, 0);
+    ASSERT_TRUE(enc_handle.handle != 0);
 
     NP_LDT_RESULT result = NpLdtEncrypt(enc_handle, plaintext, 20, salt);
     ASSERT_EQ(result, NP_LDT_SUCCESS);
@@ -169,7 +176,7 @@
     memcpy(plaintext, TEST_DATA_BYTES, 20);
 
     NpLdtEncryptHandle enc_handle = create_enc_handle_from_test_key();
-    ASSERT_NE(enc_handle.handle, 0);
+    ASSERT_TRUE(enc_handle.handle != 0);
 
     NP_LDT_RESULT result = NpLdtEncrypt(enc_handle, plaintext, 32, salt);
     ASSERT_EQ(result, NP_LDT_ERROR_INVALID_LENGTH);
@@ -185,7 +192,7 @@
     memcpy(plaintext, TEST_DATA_BYTES, 20);
 
     NpLdtDecryptHandle dec_handle = create_dec_handle_from_test_key();
-    ASSERT_NE(dec_handle.handle, 0);
+    ASSERT_TRUE(dec_handle.handle != 0);
 
     NP_LDT_RESULT result = NpLdtDecryptAndVerify(dec_handle, plaintext, 32, salt);
     ASSERT_EQ(result, NP_LDT_ERROR_INVALID_LENGTH);
@@ -203,7 +210,7 @@
     memcpy(plaintext, test_text, 29);
 
     NpLdtDecryptHandle dec_handle = create_dec_handle_from_test_key();
-    ASSERT_NE(dec_handle.handle, 0);
+    ASSERT_TRUE(dec_handle.handle != 0);
 
     NP_LDT_RESULT result = NpLdtDecryptAndVerify(dec_handle, plaintext, 24, salt);
     ASSERT_EQ(result, NP_LDT_ERROR_MAC_MISMATCH);
@@ -237,14 +244,12 @@
 
 void *worker_thread(void *arg)
 {
-    int *my_id = (int *)arg;
+    (void) arg;
     pthread_mutex_lock(&my_mutex);
-    printf("Thread %d: waiting for release\n", *my_id);
 
     pthread_cond_wait(&cond, &my_mutex);
     pthread_mutex_unlock(&my_mutex);
 
-    printf("Thread %d: doing ldt stuff!\n", *my_id);
     uint8_t* plaintext = (uint8_t*) malloc(20 * sizeof(uint8_t));
     memcpy(plaintext, TEST_DATA_BYTES, 20);
 
@@ -292,7 +297,6 @@
 
     // give time for all threads to lock
     sleep(1);
-    printf("Main: Now releasing the condition\n");
 
     // unleash the threads!
     pthread_cond_broadcast(&cond);
diff --git a/nearby/presence/xts_aes/fuzz/Cargo.lock b/nearby/presence/xts_aes/fuzz/Cargo.lock
index 5408688..2bdaef3 100644
--- a/nearby/presence/xts_aes/fuzz/Cargo.lock
+++ b/nearby/presence/xts_aes/fuzz/Cargo.lock
@@ -54,9 +54,9 @@
 
 [[package]]
 name = "base16ct"
-version = "0.1.1"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce"
+checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
 
 [[package]]
 name = "block-buffer"
@@ -133,9 +133,9 @@
 
 [[package]]
 name = "crypto-bigint"
-version = "0.4.9"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef"
+checksum = "7c2538c4e68e52548bacb3e83ac549f903d44f011ac9d5abb5e132e67d0808f7"
 dependencies = [
  "generic-array",
  "rand_core",
@@ -207,11 +207,12 @@
 
 [[package]]
 name = "der"
-version = "0.6.1"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de"
+checksum = "bc906908ea6458456e5eaa160a9c08543ec3d1e6f71e2235cedd660cb65f9df0"
 dependencies = [
  "const-oid",
+ "zeroize",
 ]
 
 [[package]]
@@ -259,13 +260,12 @@
 
 [[package]]
 name = "elliptic-curve"
-version = "0.12.3"
+version = "0.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3"
+checksum = "6ea5a92946e8614bb585254898bb7dd1ddad241ace60c52149e3765e34cc039d"
 dependencies = [
  "base16ct",
  "crypto-bigint",
- "der",
  "digest",
  "ff",
  "generic-array",
@@ -279,9 +279,9 @@
 
 [[package]]
 name = "ff"
-version = "0.12.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160"
+checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
 dependencies = [
  "rand_core",
  "subtle",
@@ -301,6 +301,7 @@
 dependencies = [
  "typenum",
  "version_check",
+ "zeroize",
 ]
 
 [[package]]
@@ -316,9 +317,9 @@
 
 [[package]]
 name = "group"
-version = "0.12.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7"
+checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
 dependencies = [
  "ff",
  "rand_core",
@@ -406,9 +407,9 @@
 
 [[package]]
 name = "p256"
-version = "0.12.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49c124b3cbce43bcbac68c58ec181d98ed6cc7e6d0aa7c3ba97b2563410b0e55"
+checksum = "7270da3e5caa82afd3deb054cc237905853813aea3859544bc082c3fe55b8d47"
 dependencies = [
  "elliptic-curve",
  "primeorder",
@@ -450,9 +451,9 @@
 
 [[package]]
 name = "primeorder"
-version = "0.12.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b54f7131b3dba65a2f414cf5bd25b66d4682e4608610668eae785750ba4c5b2"
+checksum = "7613fdcc0831c10060fa69833ea8fa2caa94b6456f51e25356a885b530a2e3d0"
 dependencies = [
  "elliptic-curve",
 ]
@@ -505,9 +506,9 @@
 
 [[package]]
 name = "sec1"
-version = "0.3.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928"
+checksum = "48518a2b5775ba8ca5b46596aae011caa431e6ce7e4a67ead66d92f08884220e"
 dependencies = [
  "base16ct",
  "der",
diff --git a/nearby/scripts/build-script.sh b/nearby/scripts/build-script.sh
index f559167..c117a5c 100755
--- a/nearby/scripts/build-script.sh
+++ b/nearby/scripts/build-script.sh
@@ -236,9 +236,12 @@
   go install github.com/google/addlicense@latest
   curl https://sh.rustup.rs -sSf | sh -s -- -y --no-modify-path --default-toolchain 1.68.0
   cargo install --locked cargo-deny --color never 2>&1
+  # Must use this version, as version >= 0.65.0 removes the option "--size_t-is-usize", an option
+  # used by boringssl when generating rust bindings
+  cargo install --version 0.64.0 bindgen-cli
   source "$HOME/.cargo/env"
   rustup install nightly
-  brew install rapidjson google-benchmark ninja bindgen
+  brew install google-benchmark ninja jsoncpp
 
   # Unfortunately CMake is not smart enough to find this on its own, even though
   # it is in fact there by default on the build machines
