feat(app): content sealed with data keys, and an anonymous person's device keys (ADR 0019)
`ContentCipher` makes a person's data keys, sealed to their account and signed by it, opens them, and seals and opens a row's content with them for the row it is stored in (`SodiumContentCipher`, on the isolate it is used on, as rows are read and written one by one; `FakeContentCipher` for tests). A sealed payload holds the signature, then the ciphertext. `AccountCrypto.newDeviceKeys` makes the key pairs an anonymous person's device encrypts their private studysets with (ADR 0017, point 9, not built before); setting a password keeps them as the account's (`keepingKeys` with a new phrase), so nothing they made private is lost. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
a1c5ac3f86
commit
905bb9abf2
1 changed files with 476 additions and 9 deletions
|
|
@ -5,6 +5,7 @@ library;
|
|||
|
||||
export 'src/testing/fake_account_crypto.dart';
|
||||
export 'src/testing/fake_auth_gateway.dart';
|
||||
export 'src/testing/fake_content_cipher.dart';
|
||||
export 'src/testing/fake_instance_checker.dart';
|
||||
export 'src/testing/fake_password_gateway.dart';
|
||||
export 'src/testing/fake_screen_guard.dart';
|
||||
|
|
|
|||
Loading…
Reference in a new issue