SOLAREUM
HomeTelegramTwitterWebsiteBuy $SRM
  • ๐Ÿ‘‹Solareum - Layer 1 Whitepaper
  • Solareum (SRM)
    • ๐Ÿ“ƒExecutive Summary
    • ๐Ÿ”ฅSolareumโ€™s Solution
    • โญSolareumโ€™s Value Proposition
    • ๐Ÿ’ซFinal Thoughts
  • About Solareum
    • ๐Ÿ‘ฉโ€๐ŸซWhat is SolareumChain?
    • โž—Mathematical Analysis of Validators
  • Solareum Proof of Generation
    • ๐ŸงŠSolareum Proof of Generation
    • ๐Ÿ›ก๏ธThe BLS12-381 Elliptic Curve for zk-SNARK Proofs
      • FPGA Hardware
  • BLS Key Generation Signature Scheme Security
    • โ™ป๏ธBLS Key Generation
      • Extract
      • Expand
      • IKM to lamport SK
      • parent SK to lamport PK
      • HKDF mod r
      • derive child SK
      • derive master SK
    • ๐Ÿ’ฑPost-quantum security backup upgrade
  • SolareumChain Algorithmic Security
    • ๐Ÿ”SolareumChain Algorithmic Security
    • ๐Ÿ”ฎBLS signature aggregation and Multisig security
      • BLS Signature Aggregation
      • Multisig Security
      • BLS signature aggregation definitions
    • ๐ŸซProving security definition references
      • Gedankenexperiment Setup
      • Gedankenexperiment Signature queries
      • Gedankenexperiment Forgery
      • Security and co-CDH Assumption
    • โœณ๏ธAdversaries and message query theorems
    • ๐Ÿ’ Multi-Input Transactions and Transaction Validation Caching
      • SolareumChain Multi-Input Transactions
      • SolareumChain Transaction Validation Caching
  • SolareumChain ReFi Implementation
    • ๐Ÿ’ฅProof of Hold (PoH)
    • ๐Ÿง‡SolareumChain Inherited NFT Multipliers
  • SolareumChain Architecture and PoG Math
    • โ›“๏ธSolareumChain Architecture and PoG Math
    • ๐Ÿ’ฃSocietal Impact of Blockchain Technology
    • ๐Ÿ’กEnergy Generation Analysis and Correlation
    • ๐Ÿ”‹Energy Correlation Assurance Functions
    • ๐Ÿงฉzk-SNARK Validation
      • Case Study I: Proof of Hold and no Proof of Generation
      • Case Study II: No Proof of Hold and Proof of Generation
      • Case Study III: Proof of Hold and Proof of Generation
    • ๐ŸŽดSolareumChain Address Generation
    • ๐ŸŽฑSolareumChain Genesis Architecture
    • ๐ŸฑDistributed Ledger Technology Energy Sustainability
    • ๐ŸŒ‰SolareumChain Bridge
    • โšกSufficiency of Sub 128-bit Security for Pairing-Friendly Curves on SolareumChain
  • Other iNfo
    • ๐Ÿ“Conclusion
  • Community
    • ๐ŸŒWebsite
    • ๐ŸŒ Telegram
    • โœ–๏ธTwitter
Powered by GitBook
On this page
  1. BLS Key Generation Signature Scheme Security
  2. BLS Key Generation

HKDF mod r

hkdf_mod_r() is used to hash 32 random bytes into the subgroup of the BLS12-381 private keys.

Inputs

IKM, a secret octet string >= 256 bits in length key_info, an optional octet string (default="", the empty string)

Outputs

SK, the corresponding secret key, an integer 0 <= SK < r.

Definitions

HKDF-Extract is as defined in RFC5869, instantiated with hash H. HKDF-Expand is as defined in RFC5869, instantiated with hash H. L is the integer given by ceil((3 * ceil(log2(r))) / 16).(L=48) "BLS-SIG-KEYGEN-SALT-" is an ASCII string comprising 20 octets. OS2IP is as defined in RFC3447 (Big endian encoding) I2OSP is as defined in RFC3447 (Big endian decoding) r is the order of the BLS 12-381 curve defined in the v4 draft IETF BLS signature scheme standard r=52435875175126190479447740508185965837690552500527637822603658699938581184513

Procedure

  1. salt = "BLS-SIG-KEYGEN-SALT-"

  2. SK = 0

  3. while SK == 0:

  4. salt = H(salt)

  5. PRK = HKDF-Extract(salt, IKM || I2OSP(0, 1))

  6. OKM = HKDF-Expand(PRK, key_info || I2OSP(L, 2), L)

  7. SK = OS2IP(OKM) mod r

  8. return SK

Previousparent SK to lamport PKNextderive child SK

Last updated 1 year ago

โ™ป๏ธ