Celebrating Six Years of Post-Quantum Security: The Journey of QRL

Read More

Last Month at QRL March 2023

Geometry Labs has developed highly aggregatable Fusion digital signatures for the QRL ecosystem with funding from the QRL Foundation’s grants programme. Crypto.js Dilithium5 is in devnet and Neven’s law, explained!

technical

21st April 2023

Table of Contents

Highlights

Geometry Labs have been awarded a grant regarding: Fusion signatures submission package for NIST standardization

Geometry Labs has developed highly aggregatable Fusion digital signatures for the QRL ecosystem with funding from the QRL Foundation’s grants programme.

Lattice cryptography, which provides post-quantum security, is the foundation for these very secure signatures. Fusion signatures were developed specifically for use in proof-of-stake systems that involve a large number of validators. The approach taken offers several benefits, including the simplification of the architecture, an increase in capacity, and smaller signatures and keys.

A formal specification and parameterization of the Fusion signature scheme is currently being developed by Geometry Labs; once complete, these algorithms will be made available to the public as open source software and shared with NIST for consideration as a possible standard.

To learn more, read our Fusion grant announcement blog and if you have any questions, you’ll want to get them prepared and stay tuned for an upcoming AMA!

Neven’s Law Explained - What It Means for the Future of Quantum Computing

We examine Moore’s Law, Neven’s Law, and the implications for quantum computing in our most recent episode.

Nevin’s Law has the potential to transform our perception of technology. It asserts that the processing capacity of quantum computers is increasing twice exponentially, i.e., the computer’s processing capability doubles for every additional qubit as the number of qubits increases. Neven’s Law has far-reaching implications since it predicts that in terms of processing power, quantum computers would eventually beat even the most powerful classical computers.

Be sure to check out the video to learn more.

Development Updates

crypto.js

  • qrypto.js dilithium5 library working on node and browser
  • qrypto.js node unit tests being replicated browser-side
  • qrypto.js demo usage via a web-based UI ongoing development and previewed internally
  • Fixes for browser implementation of qrypto.js

Cryptography

  • Account module is now using Dilithium cryptography
  • Functionality added to import dilithium wallet to the node from the hexseed
  • Javascript implementation of Dilithium5 wallet with unit tests
  • Integrated wallet.js library with @theQRL/web3 and zond-chrome-extension, replacing the older dilithium wallet library generated from go code
  • wallet.js CI testing implemented

Progressive Web App (PWA) wallet

  • Progressive Web App (PWA) wallet system design commenced
  • @theqrl/wallet.js NPM prerelease package published
  • Worked on deploy, mint, approve, revoke and transfer nft using Chrome Extension Wallet
  • Signing/Verification in browser UI demo work-in-progress deployed
  • Bug fixes for token transfer and token approve for the Chrome Extension Wallet

Zond

  • Web3 API being upgraded with the latest Dilithium 5 javascript library.
  • Looked into how the data of all the fields in the Genesis Block being calculated in the consensus engine.
  • Tools to auto-generate Genesis Block for different types of network in progress.
  • Reviewed the Genesis Block & state processing as well as the Block processing in the Consensus Engine
  • Going through the batchBlock downloading during syncing and processing in Zond Consensus Engine

Other

  • Legacy mobile wallet Android dependency deep-dive
  • We’ve identified an API targeting issue affecting the legacy mobile wallet app. A short-term fix is in place and the app is now downloadable again from the Google Play store. We’re working on a both a medium term redeployment fix and the longer term mobile wallet development roadmap.

Quantum News

Changelog

theQRL/go-qrllib

Added NewDilithiumFromHexSeed

  • [42143] Added NewDilithiumFromHexSeed

Added NewDilithiumFromMnemonic

  • [7fea7] Added NewDilithiumFromMnemonic

Replaced all Dilithium panic with error

  • [76f29] Replaced all Dilithium panic with error

theQRL/qrypto.js

Add codecov yml file

  • [f4e47] Add codecov yml file
  • [3e36c] Merge branch ’theQRL:main’ into main

Tests for missing coverage in polyvec and symmetric-shake

  • [1bd19] Tests for missing coverage in polyvec and symmetric-shake
  • [e1d51] Merge remote-tracking branch ‘origin/main’

Refactor to CJS for web3-based module compatibility

  • [b2494] Refactor to CJS for web3-based module compatibility

Fix for randomBytes call

  • [b4e88] Fix for randomBytes call

randombytes using appropriate node/browser source calls

  • [61c78] randombytes using appropriate node/browser source calls
  • [d5b8c] Merge remote-tracking branch ‘origin/main’
  • [74bd8] Merge branch ‘main’ into main
  • [57454] fix for cjs import
  • [02791] Merge remote-tracking branch ‘origin/main’
  • [6d7c0] version bump

Refactor SHAKE256 hashing for better browser compatibility

  • [b5c03] Refactor SHAKE256 hashing for better browser compatibility
  • [9f6cc] Merge branch ‘main’ into main

theQRL/theqrl.org

Fix menu on mobile

theQRL/wallet.js

Add coverage and README badges

  • [da616] Setup codecov
  • [a1f5d] Merge remote-tracking branch ‘origin/main’
  • [9dd2a] Generate coverage report
  • [99d34] Add README

Refactor to CJS for web3-based module compatibility

  • [37df6] Refactor to CJS for web3-based module compatibility

Additional unit test for 100% coverage

  • [2d6b7] Additional unit test for 100% coverage

[breaking] rewrite as class

  • [df49d] Add linting packages in case not installed globally
  • [534b2] Rewrite as class

Bug fix, new unit tests and dev setup

  • [3665e] Linting & testing setup
  • [fbe70] Refactor imports
  • [c7f40] Fix byte count check and throw on binToMnemonic()
  • [35399] Linting refactor
  • [61ec2] Unit tests for mnemonic for byte count check fixed in earlier commit

Add GH workflow

technical

21st April 2023


Jack Matier

WRITTEN BY

Jack Matier