[src/crypto] crypto spec keypair, note

This commit is contained in:
ertosns
2023-10-19 18:27:39 +03:00
parent bb56cd7439
commit 6ef6f107fb
2 changed files with 29 additions and 0 deletions

View 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$

View 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 |