15 Commits

Author SHA1 Message Date
agureev
a815b50275 doc: update encapsulation documentation 2026-06-24 21:34:59 +04:00
agureev
b31fe5e4a7 refactor: change message_hash to esk for encapsulation 2026-06-24 21:24:12 +04:00
agureev
01accb788c feat: add prefix to the ML KEM kdf 2026-06-24 21:17:43 +04:00
agureev
f2778ea5d0 test: regenerate hardcoded values 2026-06-23 18:02:48 +04:00
agureev
090c368c14 tests: test and flow updates 2026-06-23 15:51:58 +04:00
agureev
526f9ccb32 feat(ppc)!: introduce protocol-level changes for vpk binding
BREAKING:

Before: The epk and the vpk of the receiver were not bound to the ss
that was directly fed to the circuit.

After: The ss, epk, tag fields are removed as explicit arguments
per-account and instead replaced by supplying a vpk, esk per
account. The ss, epk, tag all constructed in-circuit. Account ID
generation now uses vpk as additional argument.

Mitigation: Change Account ID generation to include the vpk, change
proving inputs.
2026-06-23 15:46:23 +04:00
agureev
10066be8e3 feat: optimize encryption computation by using slices 2026-06-23 14:54:24 +04:00
agureev
2fd8c1b157 refactor: expose ML KEM and esk in-guest 2026-06-23 14:54:03 +04:00
Daniil Polyakov
d6e68a52ca feat(state): forbid private bridge withdrawals 2026-06-16 22:10:11 +03:00
agureev
31f1268365 refactor: use exlicit ViewTag type 2026-06-11 16:33:13 +04:00
agureev
64b3113ac9 chore: lint changes 2026-06-11 16:04:49 +04:00
agureev
70efcdc59d feat(lee): push full encryption data to circuit output 2026-06-10 22:06:42 +04:00
agureev
6c9ee8896a feat(lee): make EncryptedAccountData guest-availiable
Likewise moves the epk definition outside of host-gated module
2026-06-10 21:59:55 +04:00
jonesmarvin8
2104f71e39
feat(key-protocol/nssa)!: PQ resistance primitives for vsk/vpk for shared key agreement (#474)
* initialize pq encryption changes

* key agreement update

* add test and other fixes

* ci fixes

* fix unit tests

* updates from main and ci

* added updated specs for pq encryption

* addressing comments

* addressed comments

* fix clippy errors from main merge

* Rebased to main
2026-06-03 14:40:06 -04:00
Sergio Chouhy
4bcffafe27 refactor!: rename nssa crate to lee
BREAKING CHANGE:
- Crate `nssa` renamed to `lee`; update `Cargo.toml` dependencies from `nssa = { workspace = true }` to `lee = { workspace = true }`.
- Crate `nssa_core` renamed to `lee_core`; update similarly.
- Crate `key_protocol` moved under `lee`; update `Cargo.toml` dependencies from `key_protocol = { workspace = true }` to `lee_key_protocol = { workspace = true }`.
- Type `NSSATransaction` (in `common`) renamed to `LeeTransaction`.
- Error type `nssa::error::NssaError` renamed to `lee::error::LeeError`.
- Error type `nssa_core::error::NssaCoreError` renamed to `lee_core::error::LeeCoreError`.
- All `use nssa::` and `use nssa_core::` import paths must be updated to `use lee::` and `use lee_core::` respectively.
- Guest programs must replace `write_nssa_outputs` with `write_lee_outputs`.
- The sequencer RocksDB column family for the chain state was renamed. Existing databases are incompatible and must be wiped before running the new version.
- Domain separators updated: `"NSSA_seed"` → `"LEE_seed"` (key derivation), `"NSSA/v0.2/KDF-SHA256/"` → `"LEE/v0.2/KDF-SHA256/"` (encryption KDF), `"/NSSA/v0.2/AccountId/PDA/"` →
  `"/LEE/v0.2/AccountId/PDA/"` (public PDA address derivation). All previously derived keys, encrypted outputs, and public PDA addresses are invalidated.
2026-06-01 17:11:42 -03:00