18 Exploring BLS multi-signatures

 

This chapter covers

  • Aggregate signature of multiple users
  • Subgroups using membership keys
  • Pairing mathematics for verification

In this chapter, I’ll dive into an advanced signature system that takes advantage of elliptic curve pairings. The method is an extension of BLS signatures that use pairings to accomplish the same digital signature task described in chapter 5. The advantage of this method is the ability to combine multiple signatures into one verification step.

Chapters 18 and 19 include a lot of mathematical variables. To help keep track of them, you will find a list of all the variables used throughout the entire book in appendix C.

18.1 Introduction to multi-signatures

The initials BLS show up in two places within the pairing literature. In chapter 14, I mentioned BLS curves, associated with the authors Barreto, Lynn, and Scott. BLS signatures are associated with the authors Boneh, Lynn, and Shacham. Lynn is the same in both, but everyone else is different. The theory of digital signatures using pairings presented in this chapter follows the BLS signature scheme. It is an extension from BLS short signature to multiple signers.

18.2 Multi-signatures with key aggregation

18.2.1 The hash functions used in key aggregation algorithms

18.2.2 Key aggregation algorithm for multi-signatures

18.2.3 Digital multi-signature mathematics and verification algorithm

18.3 Multi-signatures code description

18.3.1 Key generation code explained

18.3.2 Hash functions code description

18.3.3 Computing the public key hash \(a_j\)

18.3.4 Multi-signature and verification subroutines

18.4 Accountable subgroup multi-signatures

18.5 Description of the subgroup multi-signatures code

18.6 Aggregate BLS signatures example program

18.6.1 Initial test parameters

18.6.2 Multi-signatures simulated key generation test program

18.6.3 Multi-signatures signing and verifying simulation

18.6.4 Creating subgroup multi-signatures simulation program