mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-04-28 03:00:18 -04:00
[src/crypto] crypto spec keypair, note
This commit is contained in:
11
doc/src/architecture/crypto/keypair.md
Normal file
11
doc/src/architecture/crypto/keypair.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# keypair
|
||||
|
||||
key pair over the elliptic curve finite field with generator `g`
|
||||
|
||||
## secret key
|
||||
|
||||
secret key `sk` is a finite field element over the elliptic curve.
|
||||
|
||||
## public key
|
||||
|
||||
public key `pk` is a finite field element over the elliptic curve $g*sk$
|
||||
18
doc/src/architecture/crypto/note.md
Normal file
18
doc/src/architecture/crypto/note.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# note
|
||||
coin is stream cipher encrypted with symmetric key `key` derived from shared key[^1].
|
||||
`key` = hash(sharedSecret, ephemeralKey)
|
||||
$sharedSecret = ephemeralSecret \mul publicKey$ where `publicKey` is recipient public key. based off diffie-hellman shared secret.
|
||||
|
||||
## payment note
|
||||
Note = (sn, value, tokenId, spendHook, data, blind^{value}, blind^{token}, memo)
|
||||
|
||||
| note | description |
|
||||
|-----------------|--------------------------------|
|
||||
| sn | serial number sampled at random|
|
||||
| value | payment value |
|
||||
| tokenId | token id |
|
||||
| spendHook | coin related contract |
|
||||
| data | data used by the coin contract |
|
||||
| $blind^{value}$ | value commitment blinding term |
|
||||
| $blind^{token}$ | token commitment blinding term |
|
||||
| memo | arbitrary data |
|
||||
Reference in New Issue
Block a user