密码学

Created
Sep 9, 2022 06:59 AM
Tags
Signature
GenerateKeys()⇒ (PrivateKey, PublicKey)
Sign(PrivateKey, message) ⇒ signature
Verify(publicKey, message, signature) ⇒ true / false
Lamport Signatures
A signature scheme using only hash functions → quantum resistant
private key is the one-off
PKH: public key hash
send a commitment of a public key
ECDSA
Chaumian blinded cash
RSA
  • one way function: p, q → n
  • Sign
  • Security
    • 1024bits (256 bytes)
    • p-1 & q-1 can’t be too unprime
ECC: Elliptic Curve Cryptography
Elliptic Curve
  • a line will intersect with Elliptic curve on 3 points
  • A + B, A * b, A / b ✅
  • A * B, A + b ❌
  • traits of elliptic curve remain when modulo
Secp256k1
Where the name comes from
  • Sec: Standards For Efficient Cryptography
  • 256: length of p
  • p: the mod factor
  • k: inventor of ECC Koblitz, here meaning a selected set of curves
  • 1:
  • is a prime number
  • 30% more performant than unoptimized curves
PKC
: generator point, 32 byte x coord, 32 byte y coord = 64 B ⇒ 32B x coord + 1 bit
: private key. 256 bit scalar
: public key.
Signature
  • Signing:
    • user has private key , now generate random secret (32 bytes)
  • Verify: Verifier receives (message), (public key which eq ), &
  • Security:
    • can’t calculate because R is one-way
BLS Signature aggregation
Chia Blockchain
Diffie-Hellman Key Exchange
is the “Diffie Hellman” point
  • Proof of knowledge with point C