12
vendor/github.com/status-im/status-go/protocol/encryption/README.md
generated
vendored
Normal file
12
vendor/github.com/status-im/status-go/protocol/encryption/README.md
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
# protocol/encryption package
|
||||
|
||||
## Hash ratchet encryption
|
||||
`encryptor.GenerateHashRatchetKey()` generates a hash ratchet key and stores it in in the DB.
|
||||
There, 2 new tables are created: `hash_ratchet_encryption` and `hash_ratchet_encryption_cache`.
|
||||
Each hash ratchet key is uniquely identified by the `(groupId, keyId)` pair, where `keyId` is derived from a clock value.
|
||||
|
||||
`protocol.BuildHashRatchetKeyExchangeMessage` builds an 1-on-1 message containing the hash ratchet key, given it's ID.
|
||||
|
||||
`protocol.BuildHashRatchetMessage` builds a hash ratchet message with arbitrary payload, given `groupId`. It will use the latest hash ratchet key available. `encryptor.encryptWithHR` encrypts the payload using Hash Ratchet algorithms. Intermediate hashes are stored in `hash_ratchet_encryption_cache` table.
|
||||
|
||||
`protocol.HandleMessage` uses `encryptor.decryptWithHR` fn for decryption.
|
||||
Reference in New Issue
Block a user