├── .editorconfig ├── .github ├── CODEOWNERS └── workflows │ ├── archive.yml │ ├── ghpages.yml │ ├── publish.yml │ └── update.yml ├── .gitignore ├── .note.xml ├── LICENSE ├── Makefile ├── README.md ├── agenda.md ├── draft-bbs-signatures.html ├── draft-blind-bbs-signatures.md ├── draft-irtf-cfrg-bbs-signatures.md ├── meetings ├── 2021-01-24 │ └── agenda.md ├── 2021-08-13 │ └── agenda.md ├── 2021-08-27 │ └── agenda.md ├── 2021-11-15 │ └── agenda.md ├── 2022-01-10 │ └── agenda.md ├── 2022-02-08 │ └── agenda.md ├── 2022-02-21 │ └── agenda.md ├── 2022-03-07 │ └── agenda.md ├── 2022-03-21 │ └── agenda.md ├── 2022-04-05 │ └── agenda.md ├── 2022-04-18 │ └── agenda.md ├── 2022-05-02 │ └── agenda.md ├── 2022-05-09 │ └── agenda.md ├── 2022-05-16 │ └── agenda.md ├── 2022-05-23 │ └── agenda.md ├── 2022-05-30 │ └── agenda.md ├── 2022-06-06 │ └── agenda.md ├── 2022-06-13 │ └── agenda.md ├── 2022-06-20 │ └── agenda.md ├── 2022-06-27 │ └── agenda.md ├── 2022-07-04 │ └── agenda.md ├── 2022-07-11 │ └── agenda.md ├── 2022-08-08 │ └── agenda.md ├── 2022-08-15 │ └── agenda.md └── 2022-08-22 │ └── agenda.md └── tooling ├── fixtures ├── fetchFixtures.ts ├── fixture_data │ ├── bls12-381-sha-256 │ │ ├── MapMessageToScalarAsHash.json │ │ ├── generators.json │ │ ├── h2s.json │ │ ├── keypair.json │ │ ├── mockedRng.json │ │ ├── proof │ │ │ ├── proof001.json │ │ │ ├── proof002.json │ │ │ ├── proof003.json │ │ │ ├── proof004.json │ │ │ ├── proof005.json │ │ │ ├── proof006.json │ │ │ ├── proof007.json │ │ │ ├── proof008.json │ │ │ ├── proof009.json │ │ │ ├── proof010.json │ │ │ ├── proof011.json │ │ │ ├── proof012.json │ │ │ ├── proof013.json │ │ │ ├── proof014.json │ │ │ └── proof015.json │ │ └── signature │ │ │ ├── signature001.json │ │ │ ├── signature002.json │ │ │ ├── signature003.json │ │ │ ├── signature004.json │ │ │ ├── signature005.json │ │ │ ├── signature006.json │ │ │ ├── signature007.json │ │ │ ├── signature008.json │ │ │ ├── signature009.json │ │ │ └── signature010.json │ ├── bls12-381-shake-256 │ │ ├── MapMessageToScalarAsHash.json │ │ ├── generators.json │ │ ├── h2s.json │ │ ├── keypair.json │ │ ├── mockedRng.json │ │ ├── proof │ │ │ ├── proof001.json │ │ │ ├── proof002.json │ │ │ ├── proof003.json │ │ │ ├── proof004.json │ │ │ ├── proof005.json │ │ │ ├── proof006.json │ │ │ ├── proof007.json │ │ │ ├── proof008.json │ │ │ ├── proof009.json │ │ │ ├── proof010.json │ │ │ ├── proof011.json │ │ │ ├── proof012.json │ │ │ ├── proof013.json │ │ │ ├── proof014.json │ │ │ └── proof015.json │ │ └── signature │ │ │ ├── signature001.json │ │ │ ├── signature002.json │ │ │ ├── signature003.json │ │ │ ├── signature004.json │ │ │ ├── signature005.json │ │ │ ├── signature006.json │ │ │ ├── signature007.json │ │ │ ├── signature008.json │ │ │ ├── signature009.json │ │ │ └── signature010.json │ └── messages.json ├── index.ts ├── package.json ├── tsconfig.json └── yarn.lock ├── keygen ├── .gitignore ├── Cargo.toml ├── README.md └── src │ └── main.rs └── message-generators ├── .gitignore ├── Cargo.toml ├── README.md ├── rust-toolchain └── src ├── ciphersuites.rs └── main.rs /.editorconfig: -------------------------------------------------------------------------------- 1 | # See http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*.{md,xml,org}] 6 | charset = utf-8 7 | insert_final_newline = true 8 | trim_trailing_whitespace = true 9 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @mikelodder7 2 | * @tplooker 3 | * @andrewwhitehead 4 | * @BasileiosKal -------------------------------------------------------------------------------- /.github/workflows/archive.yml: -------------------------------------------------------------------------------- 1 | name: "Archive Issues and Pull Requests" 2 | 3 | on: 4 | schedule: 5 | - cron: "0 0 * * 0,2,4" 6 | repository_dispatch: 7 | types: [archive] 8 | workflow_dispatch: 9 | 10 | jobs: 11 | build: 12 | name: "Archive Issues and Pull Requests" 13 | runs-on: ubuntu-latest 14 | steps: 15 | - name: "Checkout" 16 | uses: actions/checkout@v4 17 | 18 | - name: "Update Archive" 19 | uses: martinthomson/i-d-template@v1 20 | with: 21 | make: archive 22 | token: ${{ github.token }} 23 | 24 | - name: "Update GitHub Pages" 25 | uses: martinthomson/i-d-template@v1 26 | with: 27 | make: gh-archive 28 | token: ${{ github.token }} 29 | 30 | - name: "Save Archive" 31 | uses: actions/upload-artifact@v4 32 | with: 33 | name: archive 34 | path: archive.json 35 | -------------------------------------------------------------------------------- /.github/workflows/ghpages.yml: -------------------------------------------------------------------------------- 1 | name: "Update Editor's Copy" 2 | 3 | on: 4 | push: 5 | paths-ignore: 6 | - README.md 7 | - CONTRIBUTING.md 8 | - LICENSE.md 9 | - .gitignore 10 | pull_request: 11 | paths-ignore: 12 | - README.md 13 | - CONTRIBUTING.md 14 | - LICENSE.md 15 | - .gitignore 16 | 17 | jobs: 18 | build: 19 | name: "Update Editor's Copy" 20 | runs-on: ubuntu-latest 21 | steps: 22 | - name: "Checkout" 23 | uses: actions/checkout@v4 24 | 25 | # Temporarily disabled until the tool is updated to the latest spec 26 | # - name: "Install and build message generator CLI" 27 | # run: cargo build 28 | # working-directory: ./tooling/message-generators 29 | 30 | # - name: "Update the message generators in the fixtures folder" 31 | # run: ./target/debug/bbs-signature-generator-demo -o file ../fixtures/generators.json 32 | # working-directory: ./tooling/message-generators 33 | 34 | - name: "Install yarn dependencies" 35 | run: yarn install --frozen-lockfile 36 | working-directory: ./tooling/fixtures 37 | 38 | - name: "Populate fixtures Yarn" 39 | run: yarn populate-fixtures 40 | working-directory: ./tooling/fixtures 41 | 42 | - name: "Cache Setup" 43 | id: cache-setup 44 | run: | 45 | mkdir -p "$HOME"/.cache/xml2rfc 46 | echo "::set-output name=path::$HOME/.cache/xml2rfc" 47 | date -u "+::set-output name=date::%FT%T" 48 | 49 | - name: "Cache References" 50 | uses: actions/cache@v4 51 | with: 52 | path: | 53 | ${{ steps.cache-setup.outputs.path }} 54 | .targets.mk 55 | key: refcache-${{ steps.cache-setup.outputs.date }} 56 | restore-keys: | 57 | refcache-${{ steps.cache-setup.outputs.date }} 58 | refcache- 59 | 60 | - name: "Build Drafts" 61 | uses: martinthomson/i-d-template@v1 62 | with: 63 | token: ${{ github.token }} 64 | 65 | - name: "Update GitHub Pages" 66 | uses: martinthomson/i-d-template@v1 67 | if: (github.event_name == 'push' && github.ref == 'refs/heads/main') 68 | with: 69 | make: gh-pages 70 | token: ${{ github.token }} 71 | 72 | - name: "Archive Built Drafts" 73 | uses: actions/upload-artifact@v4 74 | with: 75 | name: drafts 76 | path: | 77 | draft-*.html 78 | draft-*.txt 79 | -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | name: "Publish New Draft Version" 2 | 3 | on: 4 | push: 5 | tags: 6 | - "draft-*" 7 | 8 | jobs: 9 | build: 10 | name: "Publish New Draft Version" 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: "Checkout" 14 | uses: actions/checkout@v4 15 | 16 | # See https://github.com/actions/checkout/issues/290 17 | - name: "Get Tag Annotations" 18 | run: git fetch -f origin ${{ github.ref }}:${{ github.ref }} 19 | 20 | # Temporarily disabled until the tool is updated to the latest spec 21 | # - name: "Install and build message generator CLI" 22 | # run: cargo build 23 | # working-directory: ./tooling/message-generators 24 | 25 | # - name: "Update the message generators in the fixtures folder" 26 | # run: ./target/debug/bbs-signature-generator-demo -o file ../fixtures/generators.json 27 | # working-directory: ./tooling/message-generators 28 | 29 | - name: "Install yarn dependencies" 30 | run: yarn install --frozen-lockfile 31 | working-directory: ./tooling/fixtures 32 | 33 | - name: "Populate fixtures Yarn" 34 | run: yarn populate-fixtures 35 | working-directory: ./tooling/fixtures 36 | 37 | - name: "Cache Setup" 38 | id: cache-setup 39 | run: | 40 | mkdir -p "$HOME"/.cache/xml2rfc 41 | echo "::set-output name=path::$HOME/.cache/xml2rfc" 42 | date -u "+::set-output name=date::%FT%T" 43 | 44 | - name: "Cache References" 45 | uses: actions/cache@v4 46 | with: 47 | path: | 48 | ${{ steps.cache-setup.outputs.path }} 49 | .targets.mk 50 | key: refcache-${{ steps.date.outputs.date }} 51 | restore-keys: | 52 | refcache-${{ steps.date.outputs.date }} 53 | refcache- 54 | - name: "Build Drafts" 55 | uses: martinthomson/i-d-template@v1 56 | with: 57 | token: ${{ github.token }} 58 | 59 | # Build the draft with the test vectors included. 60 | # 61 | # NOTE: this is a "hack" to go around uploaded draft not containing fixtures 62 | # 63 | # Use "make next" to build the draft w/ fixtures and the tag 64 | # to give it the correct name. Later, "make upload" will use 65 | # that instead of building a new one from the tagged draft 66 | # (which does not contain the test vectors) 67 | - name: "Create Draft w/ Fixtures" 68 | uses: martinthomson/i-d-template@v1 69 | with: 70 | make: next 71 | 72 | - name: "Re-name File with Correct Version" 73 | run: | 74 | sudo mv -v $(basename draft-irtf-cfrg-*-[0-9][0-9].xml) ${{ github.ref_name }}.xml 75 | ls . 76 | working-directory: ./versioned 77 | 78 | - name: "Upload to Datatracker" 79 | uses: martinthomson/i-d-template@v1 80 | with: 81 | make: upload 82 | 83 | - name: "Archive Submitted Drafts" 84 | uses: actions/upload-artifact@v4 85 | with: 86 | name: published-draft 87 | path: "draft-*-[0-9][0-9].xml" 88 | -------------------------------------------------------------------------------- /.github/workflows/update.yml: -------------------------------------------------------------------------------- 1 | name: "Update generated files" 2 | # This rule is not run automatically. 3 | # It can be run manually to update all of the files that are part 4 | # of the template, specifically: 5 | # - README.md 6 | # - CONTRIBUTING.md 7 | # - .note.xml 8 | # - .github/CODEOWNERS 9 | # - Makefile 10 | # 11 | # 12 | # This might be useful if you have: 13 | # - added, removed, or renamed drafts (including after adoption) 14 | # - added, removed, or changed draft editors 15 | # - changed the title of drafts 16 | # 17 | # Note that this removes any customizations you have made to 18 | # the affected files. 19 | on: workflow_dispatch 20 | 21 | jobs: 22 | build: 23 | name: "Update files" 24 | runs-on: ubuntu-latest 25 | steps: 26 | - name: "Checkout" 27 | uses: actions/checkout@v4 28 | 29 | - name: "Update generated files" 30 | uses: martinthomson/i-d-template@v1 31 | with: 32 | make: update-files 33 | token: ${{ github.token }} 34 | 35 | - name: "Push Update" 36 | run: git push 37 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.pdf 2 | *.redxml 3 | *.swp 4 | *.txt 5 | *.upload 6 | *~ 7 | .refcache 8 | .tags 9 | .targets.mk 10 | /*-[0-9][0-9].xml 11 | archive.json 12 | draft-irtf-cfrg-bbs-signatures.xml 13 | lib 14 | report.xml 15 | venv/ 16 | **/node_modules 17 | /versioned/ 18 | *.DS_Store 19 | -------------------------------------------------------------------------------- /.note.xml: -------------------------------------------------------------------------------- 1 | 2 | Source for this draft and an issue tracker can be found at 3 | . 4 | 5 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | LIBDIR := lib 2 | include $(LIBDIR)/main.mk 3 | 4 | $(LIBDIR)/main.mk: 5 | ifneq (,$(shell grep "path *= *$(LIBDIR)" .gitmodules 2>/dev/null)) 6 | git submodule sync 7 | git submodule update $(CLONE_ARGS) --init 8 | else 9 | git clone -q --depth 10 $(CLONE_ARGS) \ 10 | -b main https://github.com/martinthomson/i-d-template $(LIBDIR) 11 | endif 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # The BBS Signature Scheme 2 | 3 | This repository is home to multiple internet drafts around the BBS Signature scheme, detailed below: 4 | 5 | ## BBS Signature Scheme (Core Draft) 6 | 7 | This draft defines the core operations, cryptographic structures and overall protocol for the BBS Signature scheme 8 | 9 | * [Latest Draft](https://decentralized-identity.github.io/bbs-signature/#go.draft-irtf-cfrg-bbs-signatures.html) 10 | * [Compare Drafts](https://decentralized-identity.github.io/bbs-signature) 11 | 12 | ## Blind Sign BBS Signature Scheme Extension 13 | 14 | This draft defines an extension to core draft enabling the ability for blind bbs signatures, including describing the required operations, cryptographic structures and sub-protocol. 15 | 16 | * [Latest Draft](https://decentralized-identity.github.io/bbs-signature/#go.draft-blind-bbs-signatures.html) 17 | * [Compare Drafts](https://decentralized-identity.github.io/bbs-signature) 18 | 19 | ## Meetings 20 | 21 | Regular meetings are held bi-weekly on Mondays, on the same weeks as the Applied Crypto Working Group call is held. 22 | 23 | - [Meeting details](https://calendar.google.com/calendar/event?eid=NXJ2Z29jaGJwcTlraXZnbGNxOHZudWc4YXRfMjAyMTEwMDRUMTgwMDAwWiBkZWNlbnRyYWxpemVkLmlkZW50aXR5QG0) 24 | - [Direct Zoom link](https://us02web.zoom.us/j/87409761657?pwd=SXVSUGtVQXUyYzdxbnVvQkNJcXdGQT09) 25 | 26 | Meeting agendas and minutes can be found in [/meetings](https://github.com/decentralized-identity/bbs-signature/tree/main/meetings), the next up and coming meetings agenda can be found in [here](agenda.md). 27 | 28 | ## Tooling 29 | 30 | To assist the development of the specification a set of tooling is co-located in this repository and can be found [here](https://github.com/decentralized-identity/bbs-signature/tree/main/tooling). 31 | 32 | ### Generating the output documents 33 | 34 | The text and HTML versions of the specifications can be generated by running `make`; this requires having the [xml2rfc](https://xml2rfc.tools.ietf.org/) and [mmark](https://github.com/mmarkdown/mmark) packages installed. 35 | -------------------------------------------------------------------------------- /agenda.md: -------------------------------------------------------------------------------- 1 | # DIF Applied Cryptography BBS Signature Work Item – Rolling Agenda & Minutes 2 | 3 | [![hackmd-github-sync-badge](https://hackmd.io/gM7CE-Q-S5CPoSEIg086Kw/badge)](https://hackmd.io/gM7CE-Q-S5CPoSEIg086Kw) 4 | 5 | 6 | [WG projects](https://github.com/topics/wg-crypto) | [DIF page](https://identity.foundation/working-groups/crypto.html) | [Recordings](https://docs.google.com/spreadsheets/d/1wgccmMvIImx30qVE9GhRKWWv3vmL2ZyUauuKx3IfRmA/edit#gid=339046779) 7 | 8 |
9 | Meeting information - 6pm UTC every-other Monday 10 | 11 | - Before your contribute - [**join DIF**](https://identity.foundation/join) and [sign the WG charter](https://bit.ly/DIF-WG-select1) (both are required!) 12 | - Time: 6pm UTC, 2pm EDT, 11am PDT 13 | - [Zoom room](https://us02web.zoom.us/j/81664389075?pwd=QXVRK0tVZmdsUmVMREdsK21TR2xGZz09), Meeting ID: 843 0611 0644 , Password: 799969 14 |
15 | 16 | ## Meeting Template 17 | - PR review 18 | - Issue Review 19 | - Additional Topics 20 | 21 | ## Meeting - Monday 15th August 2022 - (6pm UTC) 22 | 23 | ### Chair 24 | 25 | Tobias Looker 26 | 27 | ### Agenda 28 | 29 | - IPR reminder, and Introductions 30 | - Agenda bashing 31 | - Other items 32 | - PR review 33 | - Issue Review 34 | 35 | ### Attendees 36 | 37 | ### Notes 38 | 39 | ## Previous Meetings 40 | 41 | - [8th August 2022](./meetings/2022-08-08/agenda.md) 42 | - [11th July 2022](./meetings/2022-07-11/agenda.md) 43 | - [4th July 2022](./meetings/2022-07-04/agenda.md) 44 | - [27th June 2022](./meetings/2022-06-27/agenda.md) 45 | - [20th June 2022](./meetings/2022-06-20/agenda.md) 46 | - [13th June 2022](./meetings/2022-06-13/agenda.md) 47 | - [6th June 2022](./meetings/2022-06-06/agenda.md) 48 | - [30th May 2022](./meetings/2022-05-23/agenda.md) 49 | - [23rd May 2022](./meetings/2022-05-23/agenda.md) 50 | - [16th May 2022](./meetings/2022-05-16/agenda.md) 51 | - [9th May 2022](./meetings/2022-05-09/agenda.md) 52 | - [2nd May 2022](./meetings/2022-05-02/agenda.md) 53 | - [18th April 2022](./meetings/2022-04-18/agenda.md) 54 | - [5th April 2022](./meetings/2022-04-05/agenda.md) 55 | - [21st March 2022](./meetings/2022-03-21/agenda.md) 56 | - [7th March 2022](./meetings/2022-03-07/agenda.md) 57 | - [21st February 2022](./meetings/2022-02-21/agenda.md) 58 | - [2nd February 2022](./meetings/2022-02-08/agenda.md) 59 | - [24th January 2022](./meetings/2022-01-24/agenda.md) 60 | - [10th January 2022](./meetings/2022-01-01/agenda.md) 61 | - [15th November 2021](./meetings/2021-11-15/agenda.md) 62 | - [27th September 2021](./meetings/2021-08-27/agenda.md) 63 | - [13th September 2021](./meetings/2021-08-13/agenda.md) 64 | -------------------------------------------------------------------------------- /draft-bbs-signatures.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 9 | Redirecting... 10 | 11 | This document has been moved to the 12 | The BBS Signature Scheme. -------------------------------------------------------------------------------- /meetings/2021-01-24/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 24th January 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Annoucments 11 | - Request to present at interoperability WG (DW) 12 | - Agenda bashing 13 | - PR review 14 | - https://github.com/decentralized-identity/bbs-signature/pull/17 15 | - Issue Review 16 | - Data encoding 17 | - Default generators 18 | - 19 | 20 | ### Attendees 21 | 22 | * Jeremie Miller 23 | * Mike Lodder 24 | * Martin Schanzenbach 25 | * Vasileios Kalos 26 | * Brian Ritcher 27 | * Christian Paquin 28 | * David Waite 29 | * Jeremie Miller 30 | * Juan Caballero 31 | * Seth Back 32 | * Tomislav Markovski 33 | 34 | ### Notes 35 | 36 | - Discussed the nonce PR, suggestion is to rename this to presentation message instead to reduce confusion 37 | - Mikes proposal for flexible message encoding (https://hackmd.io/Q587Q9p7T5ab30NTn4MvTA#Data-Encoding) 38 | -------------------------------------------------------------------------------- /meetings/2021-08-13/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 13th September 2021 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, Agenda Review, and Introductions 10 | - Agenda bashing 11 | - Agree meeting cadence 12 | - Brief review of current draft 13 | - Agree ways of working 14 | 15 | ### Attendees 16 | 17 | - Mike Lodder 18 | - Tobias Looker 19 | - Andrew Whitehead 20 | 21 | ### Notes 22 | 23 | Opened issues 24 | - https://github.com/decentralized-identity/bbs-signature/issues/1 25 | - https://github.com/decentralized-identity/bbs-signature/issues/2 26 | - https://github.com/decentralized-identity/bbs-signature/issues/3 27 | - https://github.com/decentralized-identity/bbs-signature/issues/4 28 | - https://github.com/decentralized-identity/bbs-signature/issues/5 29 | - https://github.com/decentralized-identity/bbs-signature/issues/6 -------------------------------------------------------------------------------- /meetings/2021-08-27/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 27th September 2021 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, Agenda Review, and Introductions 10 | - Agenda bashing 11 | - Formal steps of the BBS methods 12 | - How the `e` and `s` values are calculated for deterministic signatures 13 | 14 | ### Attendees 15 | 16 | - Mike Lodder 17 | - Tobias Looker 18 | - Andrew Whitehead 19 | - Martin 20 | 21 | ### Notes 22 | 23 | Opened issues 24 | 25 | - https://github.com/decentralized-identity/bbs-signature/issues/7 26 | - https://github.com/decentralized-identity/bbs-signature/issues/8 -------------------------------------------------------------------------------- /meetings/2021-11-15/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 15th November 2021 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, Agenda Review, and Introductions 10 | - Agenda bashing 11 | - Issue Review 12 | - PR Review 13 | - Additional Topics 14 | 15 | ### Attendees 16 | 17 | - Tobias Looker 18 | - Vasileios Kalos 19 | - Juan Caballero 20 | - Christian Paquin 21 | 22 | ### Notes 23 | 24 | - PR review - None! 25 | - Issue Review 26 | - #10 - [at a crossroads approach-wise](https://github.com/decentralized-identity/bbs-signature/issues/10#issuecomment-939546272) 27 | 28 | Presentation from Vasileios Kalos on Message Indexes -------------------------------------------------------------------------------- /meetings/2022-01-10/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 10th January 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - PR review 12 | - [Checks for the blind message generators and PoK during signing](https://github.com/decentralized-identity/bbs-signature/pull/17) 13 | - [Clarified nonce requirements](https://github.com/decentralized-identity/bbs-signature/pull/21) 14 | - [Add various comments as FIXMEs](https://github.com/decentralized-identity/bbs-signature/pull/22) 15 | - [Check the hash for the challenge of the Fiat-Shamir heuristic](https://github.com/decentralized-identity/bbs-signature/pull/23) 16 | - Issue Review 17 | 18 | ### Attendees 19 | 20 | - Andrew Whitehead 21 | - Tobias Looker 22 | - Vasileios Kalos 23 | - Tomislav Markovski (Trinsic) 24 | - Christian Paquin (MSR) 25 | 26 | ### Notes 27 | 28 | Reviewed the above PR's and associated issues, commentary captured in the discussed issues and PR's -------------------------------------------------------------------------------- /meetings/2022-02-08/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 8th February 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - PR review 12 | - Issue Review 13 | - [Supporting deterministic signatures](https://github.com/decentralized-identity/bbs-signature/issues/43) 14 | - [Interop profile for use with BLS12-381](https://github.com/decentralized-identity/bbs-signature/issues/46) 15 | - [Message Generator Creation Method](https://github.com/decentralized-identity/bbs-signature/issues/38) 16 | - [Holder binding](https://github.com/decentralized-identity/bbs-signature/issues/37) 17 | - [Variable and function naming](https://github.com/decentralized-identity/bbs-signature/issues/25) 18 | 19 | ### Attendees 20 | 21 | - Andrew Whitehead 22 | - Vasileios Kalos 23 | - Christian Paquin 24 | - Jeremie Miller 25 | - David Waite 26 | - Mike Lodder 27 | 28 | ### Notes 29 | 30 | Reviewed the above PR's 31 | -------------------------------------------------------------------------------- /meetings/2022-02-21/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 21th February 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - PR review 12 | - Issue Review 13 | 14 | ### Attendees 15 | - Jo Vercammen 16 | - Jeremie Miller 17 | - Andrew Whitehead 18 | - Vasileios Kalos 19 | 20 | ### Notes 21 | 22 | Reviewed open issues and PR's 23 | -------------------------------------------------------------------------------- /meetings/2022-03-07/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 7th March 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - PR review 12 | - [Add message mapping to scalar](https://github.com/decentralized-identity/bbs-signature/pull/61) 13 | - [Document generator creation procedure](https://github.com/decentralized-identity/bbs-signature/pull/71) 14 | - [Auto create message generators](https://github.com/decentralized-identity/bbs-signature/pull/72) 15 | - Issue Review 16 | - [Adding the revealed messages to the challenge to avoid forgery](https://github.com/decentralized-identity/bbs-signature/issues/74) 17 | - [Deterministic SPK](https://github.com/decentralized-identity/bbs-signature/issues/73) 18 | - [Simpler SpkGen option](https://github.com/decentralized-identity/bbs-signature/issues/70) 19 | - [Named message generators](https://github.com/decentralized-identity/bbs-signature/issues/68) 20 | 21 | ### Attendees 22 | 23 | - David Waite 24 | - Vasileios Kalos 25 | - Christian Paquin 26 | - Andrew Whitehead 27 | 28 | ### Notes 29 | 30 | [Add message mapping to scalar](https://github.com/decentralized-identity/bbs-signature/pull/61) 31 | 32 | - Needs to be extendable 33 | - Mapping procedure tied to a protocol identifier? 34 | -------------------------------------------------------------------------------- /meetings/2022-03-21/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 21st March 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - PR review 12 | - [BBS spk security against the issuer](https://github.com/decentralized-identity/bbs-signature/pull/86) 13 | - [Change usages of HASH function to use XOF](https://github.com/decentralized-identity/bbs-signature/pull/84) 14 | - [Add message mapping to scalar](https://github.com/decentralized-identity/bbs-signature/pull/61) 15 | - Issue Review 16 | 17 | ### Attendees 18 | 19 | - Christian Paquin (MSR) 20 | - Seth Back (Trinsic) 21 | - Jeremie Miller (Ping) 22 | - Vasileios Kalos (MATTR) 23 | 24 | ### Notes 25 | 26 | https://github.com/decentralized-identity/bbs-signature/pull/86 27 | - Approved and merged 28 | 29 | https://github.com/decentralized-identity/bbs-signature/pull/84 30 | - Are there performance tradeoffs here by using XOF everywhere instead of other digest algorithms 31 | 32 | https://github.com/decentralized-identity/bbs-signature/pull/88 33 | - Resolved not to head in this direction, instead going to use hash_to_field in places throughout the draft where the input is not a message (e.g challenge) 34 | 35 | https://github.com/decentralized-identity/bbs-signature/issues/48 36 | - Resolved to close based on other upstream drafts filling this purpose 37 | -------------------------------------------------------------------------------- /meetings/2022-04-05/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 5th April 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - PR review 12 | - [Collapsing random element generation](https://github.com/decentralized-identity/bbs-signature/pull/92) 13 | - [[PROPOSAL] refactor key generation procedure](https://github.com/decentralized-identity/bbs-signature/pull/87) 14 | - [Change usages of HASH function to use XOF](https://github.com/decentralized-identity/bbs-signature/pull/84) 15 | - Issue Review 16 | 17 | ### Attendees 18 | 19 | - Christian Paquin (MSR) 20 | - Jeremie Miller (Ping Identity) 21 | - Andrew Whitehead 22 | - David Waite (Ping Identity) 23 | - Vasileios Kalos (MATTR) 24 | - Brian Richer 25 | 26 | ### Notes 27 | 28 | Merged [Collapsing random element generation](https://github.com/decentralized-identity/bbs-signature/pull/92) 29 | 30 | Discussed closing 31 | - [[PROPOSAL] refactor key generation procedure](https://github.com/decentralized-identity/bbs-signature/pull/87) 32 | - [Change usages of HASH function to use XOF](https://github.com/decentralized-identity/bbs-signature/pull/84) 33 | -------------------------------------------------------------------------------- /meetings/2022-04-18/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 18th April 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - PR review 12 | - [Add signature dst](https://github.com/decentralized-identity/bbs-signature/pull/95) 13 | - [Encoding for elements to be hashed](https://github.com/decentralized-identity/bbs-signature/pull/97) 14 | - [Adding hash-to-scalar function](https://github.com/decentralized-identity/bbs-signature/pull/101) 15 | - Issue Review 16 | - [Handling information that must always be revealed in signature proof](https://github.com/decentralized-identity/bbs-signature/issues/102) 17 | 18 | ### Attendees 19 | 20 | - Mike Lodder (CryptID) 21 | - Christian Paquin (MSR) 22 | - Vasileios Kalos (Mattr) 23 | - Jeremie Miller (Ping) 24 | - David Waite (Ping) 25 | 26 | ### Notes 27 | 28 | Discussed open PR's, feedback given during the call that will be incoperated into an update. 29 | 30 | Issue 102 was discussed at length, group agreed that we should proceed with a cryptographically enforce-able mechanism for this and PR 95 will be update to accomodate this. 31 | -------------------------------------------------------------------------------- /meetings/2022-05-02/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 2nd May 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - Other items 12 | - Request to move to weekly working group call 13 | - PR review 14 | - [Update KeyValidate procedure](https://github.com/decentralized-identity/bbs-signature/pull/115) 15 | - [More editorial tweaks](https://github.com/decentralized-identity/bbs-signature/pull/112/files) 16 | - [Adding hash-to-scalar function](https://github.com/decentralized-identity/bbs-signature/pull/101) 17 | - [Add signature DST](https://github.com/decentralized-identity/bbs-signature/pull/95) 18 | - Issue Review 19 | 20 | ### Attendees 21 | 22 | - Andrew Whitehead 23 | - David Waite 24 | - Vasilis Kalos 25 | - Christian Paquin 26 | 27 | ### Notes 28 | 29 | - Discussed moving to a weekly call, no objections 30 | - Reviewed all open PR's 31 | - Reviewed newly opened issues 32 | -------------------------------------------------------------------------------- /meetings/2022-05-09/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 9th May 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - Other items 12 | - BoF Session IETF 114 13 | - Prototype implementation (Christian?) 14 | - Agree timeline for implementers draft 15 | - Other implementation status 16 | - PR review 17 | - [Editorial pass](https://github.com/decentralized-identity/bbs-signature/pull/129) 18 | - [Adding revealed messages to challenge hash](https://github.com/decentralized-identity/bbs-signature/pull/128) 19 | - [Update KeyValidate Operation](https://github.com/decentralized-identity/bbs-signature/pull/115) 20 | - Issue Review 21 | 22 | ### Attendees 23 | 24 | - Andrew Whitehead 25 | - Vasileios Kalos 26 | 27 | ### Notes 28 | 29 | - Tobias has reached out to the security area director for the IETF about a BoF Session for IETF 114 (23rd-29th of July), unsure what day the session will be at this stage. Still waiting to hear back on this. Date of session likely confirmed by July 1st. 30 | - Andrew is working on an updated implementation of BBS in aries askar (https://github.com/hyperledger/aries-askar) 31 | - No other updates on implementation statuses 32 | 33 | - Reviewed https://github.com/decentralized-identity/bbs-signature/pull/115 and merged 34 | -------------------------------------------------------------------------------- /meetings/2022-05-16/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 16th May 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - Other items 12 | - IETF 114 Sec Dispatch Meeting 13 | - IETF Draft Submission (https://datatracker.ietf.org/meeting/114/important-dates/) 14 | - PR review 15 | - [Change q to r](https://github.com/decentralized-identity/bbs-signature/pull/140) 16 | - [API update](https://github.com/decentralized-identity/bbs-signature/pull/138) 17 | - [Ciphersuite ID definition](https://github.com/decentralized-identity/bbs-signature/pull/137) 18 | - [Update the sign procedure](https://github.com/decentralized-identity/bbs-signature/pull/135) 19 | - [Adding revelaed messages to challenge hash](https://github.com/decentralized-identity/bbs-signature/pull/128) 20 | - Issue Review 21 | 22 | ### Attendees 23 | 24 | - Andrew Whitehead 25 | - Vasileios Kalos 26 | - David Waite 27 | - Tomislav Markovski 28 | 29 | ### Notes 30 | 31 | - Discussed the Sec Dispatch meeting at IETF 114 32 | - Reviewed above PR's, merged #140 33 | -------------------------------------------------------------------------------- /meetings/2022-05-23/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 23th May 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - Other items 12 | - CFRG proposal progress, spoken with the chairs who have offered for us to present at IETF 114 13 | - Important reminder we must have an initial draft submitted into the IETF data tracker by 11th of July according to https://datatracker.ietf.org/meeting/114/important-dates/ 14 | - PR review 15 | - [Updates the sign procedure](https://github.com/decentralized-identity/bbs-signature/pull/135) 16 | - [Use of hash_to_scalar](https://github.com/decentralized-identity/bbs-signature/pull/142) 17 | - [API Update](https://github.com/decentralized-identity/bbs-signature/pull/138) 18 | - [Minor tweak to CreateGenerators](https://github.com/decentralized-identity/bbs-signature/pull/145) 19 | - [Editorial Updates](https://github.com/decentralized-identity/bbs-signature/pull/152) 20 | - [Alternative hash_to_scalar without xof](https://github.com/decentralized-identity/bbs-signature/pull/151) 21 | - Issue Review 22 | 23 | ### Attendees 24 | 25 | - Vasileios Kalos 26 | 27 | ### Notes 28 | 29 | Merged 30 | - [Updates the sign procedure](https://github.com/decentralized-identity/bbs-signature/pull/135) 31 | - [Use of hash_to_scalar](https://github.com/decentralized-identity/bbs-signature/pull/142) 32 | -------------------------------------------------------------------------------- /meetings/2022-05-30/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 30th May 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - Other items 12 | - CFRG proposal progress, spoken with the chairs who have offered for us to present at IETF 114 13 | - Important reminder we must have an initial draft submitted into the IETF data tracker by 11th of July according to https://datatracker.ietf.org/meeting/114/important-dates/ 14 | - Need to start preparing the presentation for the CFRG for IETF 15 | 16 | - PR review 17 | - [Proof serialization/de-serialization](https://github.com/decentralized-identity/bbs-signature/pull/155) 18 | - [Re-organizing the sections](https://github.com/decentralized-identity/bbs-signature/pull/154) 19 | - [API Update](https://github.com/decentralized-identity/bbs-signature/pull/138) 20 | - [Alternative hash_to_scalar without an xof](https://github.com/decentralized-identity/bbs-signature/pull/151) 21 | - [Minor tweak to CreateGenerators](https://github.com/decentralized-identity/bbs-signature/pull/145) 22 | - [Adding revealed messages to challenge hash](https://github.com/decentralized-identity/bbs-signature/pull/128) 23 | - Issue Review 24 | 25 | ### Attendees 26 | 27 | - Andrew Whitehead 28 | - Vasileios Kalos 29 | 30 | ### Notes 31 | 32 | Discussed open PR's and new issues 33 | -------------------------------------------------------------------------------- /meetings/2022-06-06/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 30th May 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - Other items 12 | - CFRG proposal progress, spoken with the chairs who have offered for us to present at IETF 114 13 | - Important reminder we must have an initial draft submitted into the IETF data tracker by 11th of July according to https://datatracker.ietf.org/meeting/114/important-dates/ 14 | - Need to start preparing the presentation for the CFRG for IETF 15 | 16 | - PR review 17 | - [Proof serialization/de-serialization](https://github.com/decentralized-identity/bbs-signature/pull/155) 18 | - [Re-organizing the sections](https://github.com/decentralized-identity/bbs-signature/pull/154) 19 | - [API Update](https://github.com/decentralized-identity/bbs-signature/pull/138) 20 | - [Alternative hash_to_scalar without an xof](https://github.com/decentralized-identity/bbs-signature/pull/151) 21 | - [Minor tweak to CreateGenerators](https://github.com/decentralized-identity/bbs-signature/pull/145) 22 | - [Adding revealed messages to challenge hash](https://github.com/decentralized-identity/bbs-signature/pull/128) 23 | - Issue Review 24 | 25 | ### Attendees 26 | 27 | - Andrew Whitehead 28 | - Vasileios Kalos 29 | 30 | ### Notes 31 | 32 | Discussed open PR's and new issues 33 | -------------------------------------------------------------------------------- /meetings/2022-06-13/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 13th June 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - Other items 12 | - Reminder IETF submission for CFRG due start of july 13 | - PR review 14 | - Issue Review 15 | 16 | ### Attendees 17 | 18 | - David Waite 19 | - Vasilis 20 | - Andrew Whitehead 21 | 22 | ### Notes 23 | 24 | Reviewed issues and PR's on the call 25 | -------------------------------------------------------------------------------- /meetings/2022-06-20/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 20th June 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - Other items 12 | - PR review 13 | - Issue Review 14 | 15 | ### Attendees 16 | 17 | - Christian Paquin 18 | - Vasilis 19 | - Mateo Manfredi 20 | 21 | ### Notes 22 | 23 | - Intro from Mateo 24 | - Merged PR #177 25 | - Reviewed open PR's 26 | - Reminder about IETF submission due date, agreed to merge all current PR's before submission 27 | -------------------------------------------------------------------------------- /meetings/2022-06-27/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 27th June 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - Other items 12 | - Reminder IETF submission for CFRG due start of july. 13 | - PR review 14 | - [Update KeyGen procedure to use hash_to_scalar](https://github.com/decentralized-identity/bbs-signature/pull/186) 15 | - [Editorial updates](https://github.com/decentralized-identity/bbs-signature/pull/187) 16 | - [Add the revealed messages to the challenge](https://github.com/decentralized-identity/bbs-signature/pull/188) 17 | - [encode for hash operation](https://github.com/decentralized-identity/bbs-signature/pull/190) 18 | - [Minor update to terminology](https://github.com/decentralized-identity/bbs-signature/pull/191) 19 | - [Consistency updates](https://github.com/decentralized-identity/bbs-signature/pull/192) 20 | - Issue Review 21 | - [Defintions of P1 and P2 in Ciphersuites](https://github.com/decentralized-identity/bbs-signature/issues/164) 22 | - [Integer endianness](https://github.com/decentralized-identity/bbs-signature/issues/157) 23 | 24 | ### Attendees 25 | 26 | - Andrew Whitehead 27 | - Vasilis Kalos 28 | - Christian Paquin 29 | 30 | ### Notes 31 | 32 | - Merged PRs #187, #188, #191 33 | - Closed Issue #74 as completed 34 | - Reviewed open PR's and Issues 35 | - For practical reasons, the spec no longer has concrete definitions for some variables (like the output length of the PRF etc.). Will address those in the operation descriptions (as examples) and or in the test vectors section (similar to the [H2C spec](https://www.ietf.org/archive/id/draft-irtf-cfrg-hash-to-curve-16.html#name-bls12-381-g1-2)). 36 | -------------------------------------------------------------------------------- /meetings/2022-07-04/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 4th July 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - Other items 12 | - PR review: 13 | - [ Update KeyGen procedure to use hash_to_scalar #186 ](https://github.com/decentralized-identity/bbs-signature/pull/186) 14 | - Issue review: 15 | - [ expand_message domain separation #194 ](https://github.com/decentralized-identity/bbs-signature/issues/194) 16 | - [ Handling subgroup checks #179 ](https://github.com/decentralized-identity/bbs-signature/issues/179) 17 | - [ H2C using SHA256 #143 ](https://github.com/decentralized-identity/bbs-signature/issues/143) 18 | 19 | ### Attendees 20 | 21 | - Andrew Whitehead 22 | - Vasilis Kalos 23 | 24 | ### Notes 25 | 26 | - Discussed and closed issues prior to the submision to the CFRG. 27 | - Closed issues: 28 | - [Update security considerations #196](https://github.com/decentralized-identity/bbs-signature/issues/196) 29 | - [Consider splitting operations into Core and Higher level definitions #131](https://github.com/decentralized-identity/bbs-signature/issues/131) 30 | - [ Add an IsValidPoint operation #126 ](https://github.com/decentralized-identity/bbs-signature/issues/126) 31 | - [ Consider making "messages" and therefore "message generators" optional to all operation APIs #117 ](https://github.com/decentralized-identity/bbs-signature/issues/117) 32 | - [ API Update #159 ](https://github.com/decentralized-identity/bbs-signature/issues/159) 33 | - [ Elements to be hashed update #185 ](https://github.com/decentralized-identity/bbs-signature/issues/185) 34 | - Merged PRs: 35 | - [ editorial updates #195 ](https://github.com/decentralized-identity/bbs-signature/pull/195) 36 | - [ encode for hash operation #190 ](https://github.com/decentralized-identity/bbs-signature/pull/190) 37 | - Will leave Issue #143 open until we decide if we will define a sha256-based suite. 38 | - Discussed Issue #179. The agreed direction is for the spec to assume that `octet_to_point_g*` will return VALID. Will keep open until this assumption is made explicit. -------------------------------------------------------------------------------- /meetings/2022-07-11/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 11th July 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - PR review 12 | - [ Update KeyGen procedure to use hash_to_scalar #186 ](https://github.com/decentralized-identity/bbs-signature/pull/186) 13 | - Issue Review: 14 | - [ H2C using SHA256 #143 ](https://github.com/decentralized-identity/bbs-signature/issues/143) 15 | - [ expand_message domain separation #194 ](https://github.com/decentralized-identity/bbs-signature/issues/194) 16 | 17 | ### Attendees 18 | 19 | - Vasilis Kalos 20 | - Mike Lodder 21 | 22 | ### Notes 23 | 24 | - Discussed open PRs and Issues. 25 | - Discussed the suitability of hash-to-scalar as an alternative of the HKDF based KeyGen operation. It was agreed that hash-to-scalar is most likely a good replacement for HKDF KeyGen. 26 | - Discussed alternative to hash-to-scalar that does not depend to exapnd_message from the hash to curve spec, and more specifically the approach from section 5 of [[CDMP07]](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.365.1590&rep=rep1&type=pdf). 27 | - Similarly, discussed alternative to hash-to-curve for creating generators and more specifically the approach from section 3.3 of [[BLS01]](https://link.springer.com/content/pdf/10.1007/3-540-45682-1_30.pdf). 28 | -------------------------------------------------------------------------------- /meetings/2022-08-08/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 8th August 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - IETF Recap 12 | - PR review 13 | - Issue Review 14 | 15 | ### Attendees 16 | 17 | - Christian Paquin 18 | - Vasilis 19 | - Andrew Whitehead 20 | 21 | ### Notes 22 | 23 | - Discussed IETF meeting 24 | - Issue review 25 | - PR review 26 | -------------------------------------------------------------------------------- /meetings/2022-08-15/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 15th August 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - IETF Recap 12 | - PR review 13 | - Issue Review 14 | 15 | ### Attendees 16 | 17 | - Christian Paquin 18 | - Vasilis Kalos 19 | - Andrew Whitehead 20 | 21 | ### Notes 22 | - Discussed CFRG/IETF updates, regarding the call for adoption of the draft. 23 | - Issues reviewd: [#76](https://github.com/decentralized-identity/bbs-signature/issues/76), [#111](https://github.com/decentralized-identity/bbs-signature/issues/111), [#125](https://github.com/decentralized-identity/bbs-signature/issues/125), [#143](https://github.com/decentralized-identity/bbs-signature/issues/143), [#148](https://github.com/decentralized-identity/bbs-signature/issues/148), [#194](https://github.com/decentralized-identity/bbs-signature/issues/194). 24 | - PRs reviewd: [#186](https://github.com/decentralized-identity/bbs-signature/pull/186). 25 | -------------------------------------------------------------------------------- /meetings/2022-08-22/agenda.md: -------------------------------------------------------------------------------- 1 | ## Meeting - Monday 22nd August 2022 - (6pm UTC) 2 | 3 | ### Chair 4 | 5 | Tobias Looker 6 | 7 | ### Agenda 8 | 9 | - IPR reminder, and Introductions 10 | - Agenda bashing 11 | - Other items 12 | - PR review 13 | - Issue Review 14 | 15 | ### Attendees 16 | 17 | - Vasilis Kalos 18 | - Andrew Whitehead 19 | 20 | ### Notes 21 | 22 | - Issues reviewd: [#212](https://github.com/decentralized-identity/bbs-signature/issues/212), [#207](https://github.com/decentralized-identity/bbs-signature/issues/207), [#206](https://github.com/decentralized-identity/bbs-signature/issues/206). 23 | - PRs reviewd: [#213](https://github.com/decentralized-identity/bbs-signature/pull/213), [#211](https://github.com/decentralized-identity/bbs-signature/pull/211), [#208](https://github.com/decentralized-identity/bbs-signature/pull/208). 24 | - PRs will be updated based on the reviews. For issue #212 the different options will be documented, and the issue will be revisited. Other issues will be closed with subsequent PRs with the proposed approaches. 25 | -------------------------------------------------------------------------------- /tooling/fixtures/fetchFixtures.ts: -------------------------------------------------------------------------------- 1 | import * as messages from "./fixture_data/messages.json"; 2 | import * as path from "path"; 3 | import { readdirSync } from 'fs'; 4 | 5 | const FIXTURES_FILE = "./fixture_data" 6 | 7 | const isObject = (value: unknown) => value && typeof value === "object"; 8 | 9 | // tslint:disable-next-line:no-var-requires 10 | const resolveFixtures = (subDirectory: string, filter: any) => 11 | require("require-all")({ 12 | dirname: `${__dirname}/${subDirectory}`, 13 | filter: filter, 14 | excludeDirs: [".github", "tests"], 15 | map: (__: unknown, path: unknown) => { 16 | return `${path}`; 17 | }, 18 | }); 19 | 20 | const suites = readdirSync(FIXTURES_FILE, { withFileTypes: true }) 21 | .filter(dirent => dirent.isDirectory()) 22 | .map(dirent => dirent.name); 23 | 24 | 25 | interface signatureTrace { 26 | readonly B: string; 27 | readonly domain: string; 28 | } 29 | 30 | export interface SignatureFixtureData { 31 | readonly caseName: string; 32 | readonly signature: string; 33 | readonly header: string; 34 | readonly messages: string[]; 35 | result: { valid: false; reason: string } | { valid: true }; 36 | readonly signerKeyPair: { 37 | readonly publicKey: string; 38 | readonly secretKey: string; 39 | }; 40 | trace: signatureTrace; 41 | } 42 | 43 | interface proofTrace { 44 | readonly A_bar: string; 45 | readonly B_bar: string; 46 | readonly T: string; 47 | readonly domain: string; 48 | readonly challenge: string; 49 | } 50 | 51 | export interface ProofFixtureData { 52 | readonly caseName: string; 53 | readonly signerPublicKey: string; 54 | readonly header: string; 55 | readonly signature: string; 56 | readonly presentationHeader: string; 57 | readonly revealedMessages: { [index: string]: string }; 58 | readonly totalMessageCount: number; 59 | readonly proof: string; 60 | readonly trace: proofTrace; 61 | result: { valid: false; reason: string } | { valid: true }; 62 | } 63 | 64 | export interface GeneratorFixtureData { 65 | readonly P1: string; 66 | readonly Q1: string; 67 | readonly Q2: string; 68 | readonly MsgGenerators: string[]; 69 | } 70 | 71 | export interface H2sFixtureData { 72 | readonly caseName: string; 73 | readonly message: string; 74 | readonly dst: string; 75 | readonly count: number; 76 | readonly scalars: string[]; 77 | } 78 | 79 | export interface MapMessageToScalarCase { 80 | message: string; 81 | scalar: string; 82 | } 83 | 84 | export interface MapMessageToScalarFixtureData { 85 | readonly caseName: string; 86 | readonly dst: string; 87 | readonly cases: ReadonlyArray 88 | } 89 | 90 | export interface MockRngFixtureData { 91 | readonly caseName: string, 92 | readonly seed: string, 93 | readonly dst: string, 94 | readonly count: number, 95 | readonly mockedScalars: string[]; 96 | } 97 | 98 | export interface KeyPairFixtureData { 99 | readonly caseName: string, 100 | readonly keyMaterial: string, 101 | readonly keyInfo: string, 102 | readonly keyPair: { 103 | readonly secretKey: string, 104 | readonly publicKey: string 105 | } 106 | } 107 | 108 | export interface Fixture { 109 | readonly name: string 110 | readonly value: T 111 | } 112 | 113 | const fetchNestedFixtures = (name: string, input: any): ReadonlyArray> => { 114 | if (input.caseName || input.MsgGenerators || input.mockedScalars) { 115 | return [ 116 | { 117 | name: path.basename(name).split(".")[0] as string, 118 | value: input, 119 | } as any, 120 | ]; 121 | } 122 | if (!isObject(input)) { 123 | return []; 124 | } 125 | 126 | const extractedFixtures = Object.keys(input).map((key) => 127 | fetchNestedFixtures(key, input[key]) 128 | ); 129 | return Array.prototype.concat.apply([], extractedFixtures); 130 | }; 131 | 132 | 133 | const fetchPerSuiteFixtures = (dir:string, filter = /.json$/) => { 134 | let fixtureMap = {} 135 | for (let suite of suites) { 136 | let suiteFixturesData = fetchNestedFixtures( 137 | "", resolveFixtures(FIXTURES_FILE+"/"+suite+dir, filter) 138 | ) 139 | .reduce((map, item: Fixture) => { 140 | map = { 141 | ...map, 142 | [item.name]: item.value 143 | } 144 | return map 145 | }, {}) 146 | 147 | fixtureMap = { 148 | ...fixtureMap, 149 | [suite]: suiteFixturesData 150 | } 151 | } 152 | 153 | return fixtureMap 154 | } 155 | 156 | export const signatureFixtures = fetchPerSuiteFixtures("/signature"); 157 | export const proofFixtures = fetchPerSuiteFixtures("/proof"); 158 | export const H2sFixture = fetchPerSuiteFixtures("", /h2s.json/) 159 | export const generatorFixtures = fetchPerSuiteFixtures("", /generators.json/); 160 | export const MapMessageToScalarFixtures = 161 | fetchPerSuiteFixtures("", /MapMessageToScalarAsHash.json/); 162 | export const MockRngFixtures = fetchPerSuiteFixtures("", /mockedRng.json/); 163 | export const KeyPairFixtures = fetchPerSuiteFixtures("", /keypair.json/); 164 | 165 | export { messages }; 166 | -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/MapMessageToScalarAsHash.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "MapMessageToScalar fixture", 3 | "dst": "4242535f424c53313233383147315f584d443a5348412d3235365f535357555f524f5f4832475f484d32535f4d41505f4d53475f544f5f5343414c41525f41535f484153485f", 4 | "cases": [ 5 | { 6 | "message": "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 7 | "scalar": "1cb5bb86114b34dc438a911617655a1db595abafac92f47c5001799cf624b430" 8 | }, 9 | { 10 | "message": "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 11 | "scalar": "154249d503c093ac2df516d4bb88b510d54fd97e8d7121aede420a25d9521952" 12 | }, 13 | { 14 | "message": "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 15 | "scalar": "0c7c4c85cdab32e6fdb0de267b16fa3212733d4e3a3f0d0f751657578b26fe22" 16 | }, 17 | { 18 | "message": "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 19 | "scalar": "4a196deafee5c23f630156ae13be3e46e53b7e39094d22877b8cba7f14640888" 20 | }, 21 | { 22 | "message": "496694774c5604ab1b2544eababcf0f53278ff50", 23 | "scalar": "34c5ea4f2ba49117015a02c711bb173c11b06b3f1571b88a2952b93d0ed4cf7e" 24 | }, 25 | { 26 | "message": "515ae153e22aae04ad16f759e07237b4", 27 | "scalar": "4045b39b83055cd57a4d0203e1660800fabe434004dbdc8730c21ce3f0048b08" 28 | }, 29 | { 30 | "message": "d183ddc6e2665aa4e2f088af", 31 | "scalar": "064621da4377b6b1d05ecc37cf3b9dfc94b9498d7013dc5c4a82bf3bb1750743" 32 | }, 33 | { 34 | "message": "ac55fb33a75909ed", 35 | "scalar": "34ac9196ace0a37e147e32319ea9b3d8cc7d21870d3c3ba071246859cca49b02" 36 | }, 37 | { 38 | "message": "96012096", 39 | "scalar": "57eb93f417c43200e9784fa5ea5a59168d3dbc38df707a13bb597c871b2a5f74" 40 | }, 41 | { 42 | "message": "", 43 | "scalar": "08e3afeb2b4f2b5f907924ef42856616e6f2d5f1fb373736db1cca32707a7d16" 44 | } 45 | ] 46 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/generators.json: -------------------------------------------------------------------------------- 1 | { 2 | "P1": "a8ce256102840821a3e94ea9025e4662b205762f9776b3a766c872b948f1fd225e7c59698588e70d11406d161b4e28c9", 3 | "Q1": "a9ec65b70a7fbe40c874c9eb041c2cb0a7af36ccec1bea48fa2ba4c2eb67ef7f9ecb17ed27d38d27cdeddff44c8137be", 4 | "MsgGenerators": [ 5 | "98cd5313283aaf5db1b3ba8611fe6070d19e605de4078c38df36019fbaad0bd28dd090fd24ed27f7f4d22d5ff5dea7d4", 6 | "a31fbe20c5c135bcaa8d9fc4e4ac665cc6db0226f35e737507e803044093f37697a9d452490a970eea6f9ad6c3dcaa3a", 7 | "b479263445f4d2108965a9086f9d1fdc8cde77d14a91c856769521ad3344754cc5ce90d9bc4c696dffbc9ef1d6ad1b62", 8 | "ac0401766d2128d4791d922557c7b4d1ae9a9b508ce266575244a8d6f32110d7b0b7557b77604869633bb49afbe20035", 9 | "b95d2898370ebc542857746a316ce32fa5151c31f9b57915e308ee9d1de7db69127d919e984ea0747f5223821b596335", 10 | "8f19359ae6ee508157492c06765b7df09e2e5ad591115742f2de9c08572bb2845cbf03fd7e23b7f031ed9c7564e52f39", 11 | "abc914abe2926324b2c848e8a411a2b6df18cbe7758db8644145fefb0bf0a2d558a8c9946bd35e00c69d167aadf304c1", 12 | "80755b3eb0dd4249cbefd20f177cee88e0761c066b71794825c9997b551f24051c352567ba6c01e57ac75dff763eaa17", 13 | "82701eb98070728e1769525e73abff1783cedc364adb20c05c897a62f2ab2927f86f118dcb7819a7b218d8f3fee4bd7f", 14 | "a1f229540474f4d6f1134761b92b788128c7ac8dc9b0c52d59493132679673032ac7db3fb3d79b46b13c1c41ee495bca" 15 | ] 16 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/h2s.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "Hash to scalar output", 3 | "message": "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 4 | "dst": "4242535f424c53313233383147315f584d443a5348412d3235365f535357555f524f5f4832475f484d32535f4832535f", 5 | "scalar": "0f90cbee27beb214e6545becb8404640d3612da5d6758dffeccd77ed7169807c" 6 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/keypair.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "key pair fixture", 3 | "keyMaterial": "746869732d49532d6a7573742d616e2d546573742d494b4d2d746f2d67656e65726174652d246528724074232d6b6579", 4 | "keyInfo": "746869732d49532d736f6d652d6b65792d6d657461646174612d746f2d62652d757365642d696e2d746573742d6b65792d67656e", 5 | "keyDst": "4242535f424c53313233383147315f584d443a5348412d3235365f535357555f524f5f4832475f484d32535f4b455947454e5f4453545f", 6 | "keyPair": { 7 | "secretKey": "60e55110f76883a13d030b2f6bd11883422d5abde717569fc0731f51237169fc", 8 | "publicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c" 9 | } 10 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/mockedRng.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "mocked random scalars", 3 | "seed": "332e313431353932363533353839373933323338343632363433333833323739", 4 | "dst": "4242535f424c53313233383147315f584d443a5348412d3235365f535357555f524f5f4832475f484d32535f4d4f434b5f52414e444f4d5f5343414c4152535f4453545f", 5 | "count": 10, 6 | "mockedScalars": [ 7 | "04f8e2518993c4383957ad14eb13a023c4ad0c67d01ec86eeb902e732ed6df3f", 8 | "5d87c1ba64c320ad601d227a1b74188a41a100325cecf00223729863966392b1", 9 | "0444607600ac70482e9c983b4b063214080b9e808300aa4cc02a91b3a92858fe", 10 | "548cd11eae4318e88cda10b4cd31ae29d41c3a0b057196ee9cf3a69d471e4e94", 11 | "2264b06a08638b69b4627756a62f08e0dc4d8240c1b974c9c7db779a769892f4", 12 | "4d99352986a9f8978b93485d21525244b21b396cf61f1d71f7c48e3fbc970a42", 13 | "5ed8be91662386243a6771fbdd2c627de31a44220e8d6f745bad5d99821a4880", 14 | "62ff1734b939ddd87beeb37a7bbcafa0a274cbc1b07384198f0e88398272208d", 15 | "05c2a0af016df58e844db8944082dcaf434de1b1e2e7136ec8a99b939b716223", 16 | "485e2adab17b76f5334c95bf36c03ccf91cef77dcfcdc6b8a69e2090b3156663" 17 | ] 18 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof001.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "valid single message signature, single-message revealed proof", 3 | "signerPublicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c", 4 | "signature": "84773160b824e194073a57493dac1a20b667af70cd2352d8af241c77658da5253aa8458317cca0eae615690d55b1f27164657dcafee1d5c1973947aa70e2cfbb4c892340be5969920d0916067b4565a0", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02" 9 | ], 10 | "disclosedIndexes": [ 11 | 0 12 | ], 13 | "proof": "94916292a7a6bade28456c601d3af33fcf39278d6594b467e128a3f83686a104ef2b2fcf72df0215eeaf69262ffe8194a19fab31a82ddbe06908985abc4c9825788b8a1610942d12b7f5debbea8985296361206dbace7af0cc834c80f33e0aadaeea5597befbb651827b5eed5a66f1a959bb46cfd5ca1a817a14475960f69b32c54db7587b5ee3ab665fbd37b506830a49f21d592f5e634f47cee05a025a2f8f94e73a6c15f02301d1178a92873b6e8634bafe4983c3e15a663d64080678dbf29417519b78af042be2b3e1c4d08b8d520ffab008cbaaca5671a15b22c239b38e940cfeaa5e72104576a9ec4a6fad78c532381aeaa6fb56409cef56ee5c140d455feeb04426193c57086c9b6d397d9418", 14 | "result": { 15 | "valid": true 16 | }, 17 | "trace": { 18 | "random_scalars": { 19 | "r1": "60ca409f6b0563f687fc471c63d2819f446f39c23bb540925d9d4254ac58f337", 20 | "r2": "2ceff4982de0c913090f75f081df5ec594c310bb48c17cfdaab5332a682ef811", 21 | "e_tilde": "6101c4404895f3dff87ab39c34cb995af07e7139e6b3847180ffdd1bc8c313cd", 22 | "r1_tilde": "0dfcffd97a6ecdebef3c9c114b99d7a030c998d938905f357df62822dee072e8", 23 | "r3_tilde": "639e3417007d38e5d34ba8c511e836768ddc2669fdd3faff5c14ad27ac2b2da1", 24 | "m_tilde_scalars": [] 25 | }, 26 | "A_bar": "94916292a7a6bade28456c601d3af33fcf39278d6594b467e128a3f83686a104ef2b2fcf72df0215eeaf69262ffe8194", 27 | "B_bar": "a19fab31a82ddbe06908985abc4c9825788b8a1610942d12b7f5debbea8985296361206dbace7af0cc834c80f33e0aad", 28 | "D": "aeea5597befbb651827b5eed5a66f1a959bb46cfd5ca1a817a14475960f69b32c54db7587b5ee3ab665fbd37b506830a", 29 | "T1": "a862fa5d3ab4c264c22b8a02636fd4030e8b14ac20dee14e08fdb6cfc445432c08abb49ec111c1eb9d90abef50134a60", 30 | "T2": "ab9543a6b04303e997621d3d5cbd85924e7e69da498a2a9e9d3a8b01f39259c9c5920bd530de1d3b0afb99eb0c549d5a", 31 | "domain": "25d57fab92a8274c68fde5c3f16d4b275e4a156f211ae34b3ab32fbaf506ed5c", 32 | "challenge": "32381aeaa6fb56409cef56ee5c140d455feeb04426193c57086c9b6d397d9418" 33 | } 34 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof002.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "valid multi-message signature, all messages revealed proof", 3 | "signerPublicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c", 4 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 1, 22 | 2, 23 | 3, 24 | 4, 25 | 5, 26 | 6, 27 | 7, 28 | 8, 29 | 9 30 | ], 31 | "proof": "b1f468aec2001c4f54cb56f707c6222a43e5803a25b2253e67b2210ab2ef9eab52db2d4b379935c4823281eaf767fd37b08ce80dc65de8f9769d27099ae649ad4c9b4bd2cc23edcba52073a298087d2495e6d57aaae051ef741adf1cbce65c64a73c8c97264177a76c4a03341956d2ae45ed3438ce598d5cda4f1bf9507fecef47855480b7b30b5e4052c92a4360110c67327365763f5aa9fb85ddcbc2975449b8c03db1216ca66b310f07d0ccf12ab460cdc6003b677fed36d0a23d0818a9d4d098d44f749e91008cf50e8567ef936704c8277b7710f41ab7e6e16408ab520edc290f9801349aee7b7b4e318e6a76e028e1dea911e2e7baec6a6a174da1a22362717fbae1cd961d7bf4adce1d31c2ab", 32 | "result": { 33 | "valid": true 34 | }, 35 | "trace": { 36 | "random_scalars": { 37 | "r1": "60ca409f6b0563f687fc471c63d2819f446f39c23bb540925d9d4254ac58f337", 38 | "r2": "2ceff4982de0c913090f75f081df5ec594c310bb48c17cfdaab5332a682ef811", 39 | "e_tilde": "6101c4404895f3dff87ab39c34cb995af07e7139e6b3847180ffdd1bc8c313cd", 40 | "r1_tilde": "0dfcffd97a6ecdebef3c9c114b99d7a030c998d938905f357df62822dee072e8", 41 | "r3_tilde": "639e3417007d38e5d34ba8c511e836768ddc2669fdd3faff5c14ad27ac2b2da1", 42 | "m_tilde_scalars": [] 43 | }, 44 | "A_bar": "b1f468aec2001c4f54cb56f707c6222a43e5803a25b2253e67b2210ab2ef9eab52db2d4b379935c4823281eaf767fd37", 45 | "B_bar": "b08ce80dc65de8f9769d27099ae649ad4c9b4bd2cc23edcba52073a298087d2495e6d57aaae051ef741adf1cbce65c64", 46 | "D": "a73c8c97264177a76c4a03341956d2ae45ed3438ce598d5cda4f1bf9507fecef47855480b7b30b5e4052c92a4360110c", 47 | "T1": "9881efa96b2411626d490e399eb1c06badf23c2c0760bd403f50f45a6b470c5a9dbeef53a27916f2f165085a3878f1f4", 48 | "T2": "b9f8cf9271d10a04ae7116ad021f4b69c435d20a5af10ddd8f5b1ec6b9b8b91605aca76a140241784b7f161e21dfc3e7", 49 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47", 50 | "challenge": "28e1dea911e2e7baec6a6a174da1a22362717fbae1cd961d7bf4adce1d31c2ab" 51 | } 52 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof003.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "valid multi-message signature, multiple messages revealed proof", 3 | "signerPublicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c", 4 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc415199462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac481356918cd38025d86b28650e909defe9604a7259f44386b861608be742af7775a2e71a6070e5836f5f54dc43c60096834a5b6da295bf8f081f72b7cdf7f3b4347fb3ff19edaa9e74055c8ba46dbcb7594fb2b06633bb5324192eb9be91be0d33e453b4d3127459de59a5e2193c900816f049a02cb9127dac894418105fa1641d5a206ec9c42177af9316f433417441478276ca0303da8f941bf2e0222a43251cf5c2bf6eac1961890aa740534e519c1767e1223392a3a286b0f4d91f7f25217a7862b8fcc1810cdcfddde2a01c80fcc90b632585fec12dc4ae8fea1918e9ddeb9414623a457e88f53f545841f9d5dcb1f8e160d1560770aa79d65e2eca8edeaecb73fb7e995608b820c4a64de6313a370ba05dc25ed7c1d185192084963652f2870341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a", 26 | "result": { 27 | "valid": true 28 | }, 29 | "trace": { 30 | "random_scalars": { 31 | "r1": "44679831fe60eca50938ef0e812e2a9284ad7971b6932a38c7303538b712e457", 32 | "r2": "6481692f89086cce11779e847ff884db8eebb85a13e81b2d0c79d6c1062069d8", 33 | "e_tilde": "721ce4c4c148a1d5826f326af6fd6ac2844f29533ba4127c3a43d222d51b7081", 34 | "r1_tilde": "1ecfaf5a079b0504b00a1f0d6fe8857291dd798291d7ad7454b398114393f37f", 35 | "r3_tilde": "0a4b3d59b34707bb9999bc6e2a6d382a2d2e214bff36ecd88639a14124b1622e", 36 | "m_tilde_scalars": [ 37 | "7217411a9e329c7a5705e8db552274646e2949d62c288d7537dd62bc284715e4", 38 | "67d4d43660746759f598caac106a2b5f58ccd1c3eefaec31841a4f77d2548870", 39 | "715d965b1c3912d20505b381470ff1a528700b673e50ba89fd287e13171cc137", 40 | "4d3281a149674e58c9040fc7a10dd92cb9c7f76f6f0815a1afc3b09d74b92fe4", 41 | "438feebaa5894ca0da49992df2c97d872bf153eab07e08ff73b28131c46ff415", 42 | "602b723c8bbaec1b057d70f18269ae5e6de6197a5884967b03b933fa80006121" 43 | ] 44 | }, 45 | "A_bar": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc4151", 46 | "B_bar": "99462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f", 47 | "D": "897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac48135", 48 | "T1": "84719c2b5bb275ee74913dbf95fb9054f690c8e4035f1259e184e9024544bc4bbea9c244e7897f9db7c82b7b14b27d28", 49 | "T2": "8f5f191c956aefd5c960e57d2dfbab6761eb0ebc5efdba1aca1403dcc19e05296b16c9feb7636cb4ef2a360c5a148483", 50 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47", 51 | "challenge": "341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a" 52 | } 53 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof004.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (different presentation header)", 3 | "signerPublicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c", 4 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "011594ba7f95b3b470ea4102dd5899de3a042e5104d3ea01d15e6780d831d2be", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc415199462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac481356918cd38025d86b28650e909defe9604a7259f44386b861608be742af7775a2e71a6070e5836f5f54dc43c60096834a5b6da295bf8f081f72b7cdf7f3b4347fb3ff19edaa9e74055c8ba46dbcb7594fb2b06633bb5324192eb9be91be0d33e453b4d3127459de59a5e2193c900816f049a02cb9127dac894418105fa1641d5a206ec9c42177af9316f433417441478276ca0303da8f941bf2e0222a43251cf5c2bf6eac1961890aa740534e519c1767e1223392a3a286b0f4d91f7f25217a7862b8fcc1810cdcfddde2a01c80fcc90b632585fec12dc4ae8fea1918e9ddeb9414623a457e88f53f545841f9d5dcb1f8e160d1560770aa79d65e2eca8edeaecb73fb7e995608b820c4a64de6313a370ba05dc25ed7c1d185192084963652f2870341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a", 26 | "result": { 27 | "valid": false, 28 | "reason": "different presentation header" 29 | }, 30 | "trace": { 31 | "random_scalars": { 32 | "r1": "44679831fe60eca50938ef0e812e2a9284ad7971b6932a38c7303538b712e457", 33 | "r2": "6481692f89086cce11779e847ff884db8eebb85a13e81b2d0c79d6c1062069d8", 34 | "e_tilde": "721ce4c4c148a1d5826f326af6fd6ac2844f29533ba4127c3a43d222d51b7081", 35 | "r1_tilde": "1ecfaf5a079b0504b00a1f0d6fe8857291dd798291d7ad7454b398114393f37f", 36 | "r3_tilde": "0a4b3d59b34707bb9999bc6e2a6d382a2d2e214bff36ecd88639a14124b1622e", 37 | "m_tilde_scalars": [ 38 | "7217411a9e329c7a5705e8db552274646e2949d62c288d7537dd62bc284715e4", 39 | "67d4d43660746759f598caac106a2b5f58ccd1c3eefaec31841a4f77d2548870", 40 | "715d965b1c3912d20505b381470ff1a528700b673e50ba89fd287e13171cc137", 41 | "4d3281a149674e58c9040fc7a10dd92cb9c7f76f6f0815a1afc3b09d74b92fe4", 42 | "438feebaa5894ca0da49992df2c97d872bf153eab07e08ff73b28131c46ff415", 43 | "602b723c8bbaec1b057d70f18269ae5e6de6197a5884967b03b933fa80006121" 44 | ] 45 | }, 46 | "A_bar": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc4151", 47 | "B_bar": "99462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f", 48 | "D": "897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac48135", 49 | "T1": "84719c2b5bb275ee74913dbf95fb9054f690c8e4035f1259e184e9024544bc4bbea9c244e7897f9db7c82b7b14b27d28", 50 | "T2": "8f5f191c956aefd5c960e57d2dfbab6761eb0ebc5efdba1aca1403dcc19e05296b16c9feb7636cb4ef2a360c5a148483", 51 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47", 52 | "challenge": "341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a" 53 | } 54 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof005.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (wrong public key)", 3 | "signerPublicKey": "b064bd8d1ba99503cbb7f9d7ea00bce877206a85b1750e5583dd9399828a4d20610cb937ea928d90404c239b2835ffb104220a9c66a4c9ed3b54c0cac9ea465d0429556b438ceefb59650ddf67e7a8f103677561b7ef7fe3c3357ec6b94d41c6", 4 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc415199462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac481356918cd38025d86b28650e909defe9604a7259f44386b861608be742af7775a2e71a6070e5836f5f54dc43c60096834a5b6da295bf8f081f72b7cdf7f3b4347fb3ff19edaa9e74055c8ba46dbcb7594fb2b06633bb5324192eb9be91be0d33e453b4d3127459de59a5e2193c900816f049a02cb9127dac894418105fa1641d5a206ec9c42177af9316f433417441478276ca0303da8f941bf2e0222a43251cf5c2bf6eac1961890aa740534e519c1767e1223392a3a286b0f4d91f7f25217a7862b8fcc1810cdcfddde2a01c80fcc90b632585fec12dc4ae8fea1918e9ddeb9414623a457e88f53f545841f9d5dcb1f8e160d1560770aa79d65e2eca8edeaecb73fb7e995608b820c4a64de6313a370ba05dc25ed7c1d185192084963652f2870341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a", 26 | "result": { 27 | "valid": false, 28 | "reason": "wrong public key" 29 | }, 30 | "trace": { 31 | "random_scalars": { 32 | "r1": "44679831fe60eca50938ef0e812e2a9284ad7971b6932a38c7303538b712e457", 33 | "r2": "6481692f89086cce11779e847ff884db8eebb85a13e81b2d0c79d6c1062069d8", 34 | "e_tilde": "721ce4c4c148a1d5826f326af6fd6ac2844f29533ba4127c3a43d222d51b7081", 35 | "r1_tilde": "1ecfaf5a079b0504b00a1f0d6fe8857291dd798291d7ad7454b398114393f37f", 36 | "r3_tilde": "0a4b3d59b34707bb9999bc6e2a6d382a2d2e214bff36ecd88639a14124b1622e", 37 | "m_tilde_scalars": [ 38 | "7217411a9e329c7a5705e8db552274646e2949d62c288d7537dd62bc284715e4", 39 | "67d4d43660746759f598caac106a2b5f58ccd1c3eefaec31841a4f77d2548870", 40 | "715d965b1c3912d20505b381470ff1a528700b673e50ba89fd287e13171cc137", 41 | "4d3281a149674e58c9040fc7a10dd92cb9c7f76f6f0815a1afc3b09d74b92fe4", 42 | "438feebaa5894ca0da49992df2c97d872bf153eab07e08ff73b28131c46ff415", 43 | "602b723c8bbaec1b057d70f18269ae5e6de6197a5884967b03b933fa80006121" 44 | ] 45 | }, 46 | "A_bar": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc4151", 47 | "B_bar": "99462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f", 48 | "D": "897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac48135", 49 | "T1": "84719c2b5bb275ee74913dbf95fb9054f690c8e4035f1259e184e9024544bc4bbea9c244e7897f9db7c82b7b14b27d28", 50 | "T2": "8f5f191c956aefd5c960e57d2dfbab6761eb0ebc5efdba1aca1403dcc19e05296b16c9feb7636cb4ef2a360c5a148483", 51 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47", 52 | "challenge": "341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a" 53 | } 54 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof006.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (modified messages)", 3 | "signerPublicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c", 4 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "7385ee1a722e00e173b4cdb1c1e0c3fb379403a31b337d3778c447d9da664ac876b0f7c5587d9e994c51f9e2b6de09c0f1d0f3b39b275a96da4926c22e55166998b8c4e90372820c007ceb27bd34ec4ebfab63fea4dcc88d95f58b25ffd35b041f3fe994", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc415199462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac481356918cd38025d86b28650e909defe9604a7259f44386b861608be742af7775a2e71a6070e5836f5f54dc43c60096834a5b6da295bf8f081f72b7cdf7f3b4347fb3ff19edaa9e74055c8ba46dbcb7594fb2b06633bb5324192eb9be91be0d33e453b4d3127459de59a5e2193c900816f049a02cb9127dac894418105fa1641d5a206ec9c42177af9316f433417441478276ca0303da8f941bf2e0222a43251cf5c2bf6eac1961890aa740534e519c1767e1223392a3a286b0f4d91f7f25217a7862b8fcc1810cdcfddde2a01c80fcc90b632585fec12dc4ae8fea1918e9ddeb9414623a457e88f53f545841f9d5dcb1f8e160d1560770aa79d65e2eca8edeaecb73fb7e995608b820c4a64de6313a370ba05dc25ed7c1d185192084963652f2870341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a", 26 | "result": { 27 | "valid": false, 28 | "reason": "modified messages" 29 | }, 30 | "trace": { 31 | "random_scalars": { 32 | "r1": "44679831fe60eca50938ef0e812e2a9284ad7971b6932a38c7303538b712e457", 33 | "r2": "6481692f89086cce11779e847ff884db8eebb85a13e81b2d0c79d6c1062069d8", 34 | "e_tilde": "721ce4c4c148a1d5826f326af6fd6ac2844f29533ba4127c3a43d222d51b7081", 35 | "r1_tilde": "1ecfaf5a079b0504b00a1f0d6fe8857291dd798291d7ad7454b398114393f37f", 36 | "r3_tilde": "0a4b3d59b34707bb9999bc6e2a6d382a2d2e214bff36ecd88639a14124b1622e", 37 | "m_tilde_scalars": [ 38 | "7217411a9e329c7a5705e8db552274646e2949d62c288d7537dd62bc284715e4", 39 | "67d4d43660746759f598caac106a2b5f58ccd1c3eefaec31841a4f77d2548870", 40 | "715d965b1c3912d20505b381470ff1a528700b673e50ba89fd287e13171cc137", 41 | "4d3281a149674e58c9040fc7a10dd92cb9c7f76f6f0815a1afc3b09d74b92fe4", 42 | "438feebaa5894ca0da49992df2c97d872bf153eab07e08ff73b28131c46ff415", 43 | "602b723c8bbaec1b057d70f18269ae5e6de6197a5884967b03b933fa80006121" 44 | ] 45 | }, 46 | "A_bar": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc4151", 47 | "B_bar": "99462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f", 48 | "D": "897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac48135", 49 | "T1": "84719c2b5bb275ee74913dbf95fb9054f690c8e4035f1259e184e9024544bc4bbea9c244e7897f9db7c82b7b14b27d28", 50 | "T2": "8f5f191c956aefd5c960e57d2dfbab6761eb0ebc5efdba1aca1403dcc19e05296b16c9feb7636cb4ef2a360c5a148483", 51 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47", 52 | "challenge": "341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a" 53 | } 54 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof007.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (extra message un-revealed in proof)", 3 | "signerPublicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c", 4 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "", 18 | "" 19 | ], 20 | "disclosedIndexes": [ 21 | 0, 22 | 2, 23 | 4, 24 | 6, 25 | 9 26 | ], 27 | "proof": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc415199462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac481356918cd38025d86b28650e909defe9604a7259f44386b861608be742af7775a2e71a6070e5836f5f54dc43c60096834a5b6da295bf8f081f72b7cdf7f3b4347fb3ff19edaa9e74055c8ba46dbcb7594fb2b06633bb5324192eb9be91be0d33e453b4d3127459de59a5e2193c900816f049a02cb9127dac894418105fa1641d5a206ec9c42177af9316f433417441478276ca0303da8f941bf2e0222a43251cf5c2bf6eac1961890aa740534e519c1767e1223392a3a286b0f4d91f7f25217a7862b8fcc1810cdcfddde2a01c80fcc90b632585fec12dc4ae8fea1918e9ddeb9414623a457e88f53f545841f9d5dcb1f8e160d1560770aa79d65e2eca8edeaecb73fb7e995608b820c4a64de6313a370ba05dc25ed7c1d185192084963652f2870341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a", 28 | "result": { 29 | "valid": false, 30 | "reason": "extra message un-revealed in proof" 31 | }, 32 | "trace": { 33 | "random_scalars": { 34 | "r1": "44679831fe60eca50938ef0e812e2a9284ad7971b6932a38c7303538b712e457", 35 | "r2": "6481692f89086cce11779e847ff884db8eebb85a13e81b2d0c79d6c1062069d8", 36 | "e_tilde": "721ce4c4c148a1d5826f326af6fd6ac2844f29533ba4127c3a43d222d51b7081", 37 | "r1_tilde": "1ecfaf5a079b0504b00a1f0d6fe8857291dd798291d7ad7454b398114393f37f", 38 | "r3_tilde": "0a4b3d59b34707bb9999bc6e2a6d382a2d2e214bff36ecd88639a14124b1622e", 39 | "m_tilde_scalars": [ 40 | "7217411a9e329c7a5705e8db552274646e2949d62c288d7537dd62bc284715e4", 41 | "67d4d43660746759f598caac106a2b5f58ccd1c3eefaec31841a4f77d2548870", 42 | "715d965b1c3912d20505b381470ff1a528700b673e50ba89fd287e13171cc137", 43 | "4d3281a149674e58c9040fc7a10dd92cb9c7f76f6f0815a1afc3b09d74b92fe4", 44 | "438feebaa5894ca0da49992df2c97d872bf153eab07e08ff73b28131c46ff415", 45 | "602b723c8bbaec1b057d70f18269ae5e6de6197a5884967b03b933fa80006121" 46 | ] 47 | }, 48 | "A_bar": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc4151", 49 | "B_bar": "99462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f", 50 | "D": "897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac48135", 51 | "T1": "84719c2b5bb275ee74913dbf95fb9054f690c8e4035f1259e184e9024544bc4bbea9c244e7897f9db7c82b7b14b27d28", 52 | "T2": "8f5f191c956aefd5c960e57d2dfbab6761eb0ebc5efdba1aca1403dcc19e05296b16c9feb7636cb4ef2a360c5a148483", 53 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47", 54 | "challenge": "341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a" 55 | } 56 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof008.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (extra message invalid message un-revealed in proof)", 3 | "signerPublicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c", 4 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "", 18 | "96012096" 19 | ], 20 | "disclosedIndexes": [ 21 | 0, 22 | 2, 23 | 4, 24 | 6, 25 | 9 26 | ], 27 | "proof": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc415199462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac481356918cd38025d86b28650e909defe9604a7259f44386b861608be742af7775a2e71a6070e5836f5f54dc43c60096834a5b6da295bf8f081f72b7cdf7f3b4347fb3ff19edaa9e74055c8ba46dbcb7594fb2b06633bb5324192eb9be91be0d33e453b4d3127459de59a5e2193c900816f049a02cb9127dac894418105fa1641d5a206ec9c42177af9316f433417441478276ca0303da8f941bf2e0222a43251cf5c2bf6eac1961890aa740534e519c1767e1223392a3a286b0f4d91f7f25217a7862b8fcc1810cdcfddde2a01c80fcc90b632585fec12dc4ae8fea1918e9ddeb9414623a457e88f53f545841f9d5dcb1f8e160d1560770aa79d65e2eca8edeaecb73fb7e995608b820c4a64de6313a370ba05dc25ed7c1d185192084963652f2870341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a", 28 | "result": { 29 | "valid": false, 30 | "reason": "extra message invalid message un-revealed in proof" 31 | }, 32 | "trace": { 33 | "random_scalars": { 34 | "r1": "44679831fe60eca50938ef0e812e2a9284ad7971b6932a38c7303538b712e457", 35 | "r2": "6481692f89086cce11779e847ff884db8eebb85a13e81b2d0c79d6c1062069d8", 36 | "e_tilde": "721ce4c4c148a1d5826f326af6fd6ac2844f29533ba4127c3a43d222d51b7081", 37 | "r1_tilde": "1ecfaf5a079b0504b00a1f0d6fe8857291dd798291d7ad7454b398114393f37f", 38 | "r3_tilde": "0a4b3d59b34707bb9999bc6e2a6d382a2d2e214bff36ecd88639a14124b1622e", 39 | "m_tilde_scalars": [ 40 | "7217411a9e329c7a5705e8db552274646e2949d62c288d7537dd62bc284715e4", 41 | "67d4d43660746759f598caac106a2b5f58ccd1c3eefaec31841a4f77d2548870", 42 | "715d965b1c3912d20505b381470ff1a528700b673e50ba89fd287e13171cc137", 43 | "4d3281a149674e58c9040fc7a10dd92cb9c7f76f6f0815a1afc3b09d74b92fe4", 44 | "438feebaa5894ca0da49992df2c97d872bf153eab07e08ff73b28131c46ff415", 45 | "602b723c8bbaec1b057d70f18269ae5e6de6197a5884967b03b933fa80006121" 46 | ] 47 | }, 48 | "A_bar": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc4151", 49 | "B_bar": "99462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f", 50 | "D": "897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac48135", 51 | "T1": "84719c2b5bb275ee74913dbf95fb9054f690c8e4035f1259e184e9024544bc4bbea9c244e7897f9db7c82b7b14b27d28", 52 | "T2": "8f5f191c956aefd5c960e57d2dfbab6761eb0ebc5efdba1aca1403dcc19e05296b16c9feb7636cb4ef2a360c5a148483", 53 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47", 54 | "challenge": "341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a" 55 | } 56 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof009.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (missing message revealed in proof)", 3 | "signerPublicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c", 4 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 11 | "496694774c5604ab1b2544eababcf0f53278ff50", 12 | "515ae153e22aae04ad16f759e07237b4", 13 | "d183ddc6e2665aa4e2f088af", 14 | "ac55fb33a75909ed", 15 | "96012096", 16 | "" 17 | ], 18 | "disclosedIndexes": [ 19 | 0, 20 | 2, 21 | 6 22 | ], 23 | "proof": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc415199462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac481356918cd38025d86b28650e909defe9604a7259f44386b861608be742af7775a2e71a6070e5836f5f54dc43c60096834a5b6da295bf8f081f72b7cdf7f3b4347fb3ff19edaa9e74055c8ba46dbcb7594fb2b06633bb5324192eb9be91be0d33e453b4d3127459de59a5e2193c900816f049a02cb9127dac894418105fa1641d5a206ec9c42177af9316f433417441478276ca0303da8f941bf2e0222a43251cf5c2bf6eac1961890aa740534e519c1767e1223392a3a286b0f4d91f7f25217a7862b8fcc1810cdcfddde2a01c80fcc90b632585fec12dc4ae8fea1918e9ddeb9414623a457e88f53f545841f9d5dcb1f8e160d1560770aa79d65e2eca8edeaecb73fb7e995608b820c4a64de6313a370ba05dc25ed7c1d185192084963652f2870341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a", 24 | "result": { 25 | "valid": false, 26 | "reason": "missing message revealed in proof" 27 | }, 28 | "trace": { 29 | "random_scalars": { 30 | "r1": "44679831fe60eca50938ef0e812e2a9284ad7971b6932a38c7303538b712e457", 31 | "r2": "6481692f89086cce11779e847ff884db8eebb85a13e81b2d0c79d6c1062069d8", 32 | "e_tilde": "721ce4c4c148a1d5826f326af6fd6ac2844f29533ba4127c3a43d222d51b7081", 33 | "r1_tilde": "1ecfaf5a079b0504b00a1f0d6fe8857291dd798291d7ad7454b398114393f37f", 34 | "r3_tilde": "0a4b3d59b34707bb9999bc6e2a6d382a2d2e214bff36ecd88639a14124b1622e", 35 | "m_tilde_scalars": [ 36 | "7217411a9e329c7a5705e8db552274646e2949d62c288d7537dd62bc284715e4", 37 | "67d4d43660746759f598caac106a2b5f58ccd1c3eefaec31841a4f77d2548870", 38 | "715d965b1c3912d20505b381470ff1a528700b673e50ba89fd287e13171cc137", 39 | "4d3281a149674e58c9040fc7a10dd92cb9c7f76f6f0815a1afc3b09d74b92fe4", 40 | "438feebaa5894ca0da49992df2c97d872bf153eab07e08ff73b28131c46ff415", 41 | "602b723c8bbaec1b057d70f18269ae5e6de6197a5884967b03b933fa80006121" 42 | ] 43 | }, 44 | "A_bar": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc4151", 45 | "B_bar": "99462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f", 46 | "D": "897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac48135", 47 | "T1": "84719c2b5bb275ee74913dbf95fb9054f690c8e4035f1259e184e9024544bc4bbea9c244e7897f9db7c82b7b14b27d28", 48 | "T2": "8f5f191c956aefd5c960e57d2dfbab6761eb0ebc5efdba1aca1403dcc19e05296b16c9feb7636cb4ef2a360c5a148483", 49 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47", 50 | "challenge": "341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a" 51 | } 52 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof010.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (re-ordered messages)", 3 | "signerPublicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c", 4 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 4, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc415199462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac481356918cd38025d86b28650e909defe9604a7259f44386b861608be742af7775a2e71a6070e5836f5f54dc43c60096834a5b6da295bf8f081f72b7cdf7f3b4347fb3ff19edaa9e74055c8ba46dbcb7594fb2b06633bb5324192eb9be91be0d33e453b4d3127459de59a5e2193c900816f049a02cb9127dac894418105fa1641d5a206ec9c42177af9316f433417441478276ca0303da8f941bf2e0222a43251cf5c2bf6eac1961890aa740534e519c1767e1223392a3a286b0f4d91f7f25217a7862b8fcc1810cdcfddde2a01c80fcc90b632585fec12dc4ae8fea1918e9ddeb9414623a457e88f53f545841f9d5dcb1f8e160d1560770aa79d65e2eca8edeaecb73fb7e995608b820c4a64de6313a370ba05dc25ed7c1d185192084963652f2870341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a", 26 | "result": { 27 | "valid": false, 28 | "reason": "re-ordered messages" 29 | }, 30 | "trace": { 31 | "random_scalars": { 32 | "r1": "44679831fe60eca50938ef0e812e2a9284ad7971b6932a38c7303538b712e457", 33 | "r2": "6481692f89086cce11779e847ff884db8eebb85a13e81b2d0c79d6c1062069d8", 34 | "e_tilde": "721ce4c4c148a1d5826f326af6fd6ac2844f29533ba4127c3a43d222d51b7081", 35 | "r1_tilde": "1ecfaf5a079b0504b00a1f0d6fe8857291dd798291d7ad7454b398114393f37f", 36 | "r3_tilde": "0a4b3d59b34707bb9999bc6e2a6d382a2d2e214bff36ecd88639a14124b1622e", 37 | "m_tilde_scalars": [ 38 | "7217411a9e329c7a5705e8db552274646e2949d62c288d7537dd62bc284715e4", 39 | "67d4d43660746759f598caac106a2b5f58ccd1c3eefaec31841a4f77d2548870", 40 | "715d965b1c3912d20505b381470ff1a528700b673e50ba89fd287e13171cc137", 41 | "4d3281a149674e58c9040fc7a10dd92cb9c7f76f6f0815a1afc3b09d74b92fe4", 42 | "438feebaa5894ca0da49992df2c97d872bf153eab07e08ff73b28131c46ff415", 43 | "602b723c8bbaec1b057d70f18269ae5e6de6197a5884967b03b933fa80006121" 44 | ] 45 | }, 46 | "A_bar": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc4151", 47 | "B_bar": "99462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f", 48 | "D": "897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac48135", 49 | "T1": "84719c2b5bb275ee74913dbf95fb9054f690c8e4035f1259e184e9024544bc4bbea9c244e7897f9db7c82b7b14b27d28", 50 | "T2": "8f5f191c956aefd5c960e57d2dfbab6761eb0ebc5efdba1aca1403dcc19e05296b16c9feb7636cb4ef2a360c5a148483", 51 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47", 52 | "challenge": "341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a" 53 | } 54 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof011.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (extra valid message, modified total message count)", 3 | "signerPublicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c", 4 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "", 18 | "" 19 | ], 20 | "disclosedIndexes": [ 21 | 0, 22 | 2, 23 | 4, 24 | 6, 25 | 9 26 | ], 27 | "proof": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc415199462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac481356918cd38025d86b28650e909defe9604a7259f44386b861608be742af7775a2e71a6070e5836f5f54dc43c60096834a5b6da295bf8f081f72b7cdf7f3b4347fb3ff19edaa9e74055c8ba46dbcb7594fb2b06633bb5324192eb9be91be0d33e453b4d3127459de59a5e2193c900816f049a02cb9127dac894418105fa1641d5a206ec9c42177af9316f433417441478276ca0303da8f941bf2e0222a43251cf5c2bf6eac1961890aa740534e519c1767e1223392a3a286b0f4d91f7f25217a7862b8fcc1810cdcfddde2a01c80fcc90b632585fec12dc4ae8fea1918e9ddeb9414623a457e88f53f545841f9d5dcb1f8e160d1560770aa79d65e2eca8edeaecb73fb7e995608b820c4a64de6313a370ba05dc25ed7c1d185192084963652f2870341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a", 28 | "result": { 29 | "valid": false, 30 | "reason": "extra valid message, modified total message count" 31 | }, 32 | "trace": { 33 | "random_scalars": { 34 | "r1": "44679831fe60eca50938ef0e812e2a9284ad7971b6932a38c7303538b712e457", 35 | "r2": "6481692f89086cce11779e847ff884db8eebb85a13e81b2d0c79d6c1062069d8", 36 | "e_tilde": "721ce4c4c148a1d5826f326af6fd6ac2844f29533ba4127c3a43d222d51b7081", 37 | "r1_tilde": "1ecfaf5a079b0504b00a1f0d6fe8857291dd798291d7ad7454b398114393f37f", 38 | "r3_tilde": "0a4b3d59b34707bb9999bc6e2a6d382a2d2e214bff36ecd88639a14124b1622e", 39 | "m_tilde_scalars": [ 40 | "7217411a9e329c7a5705e8db552274646e2949d62c288d7537dd62bc284715e4", 41 | "67d4d43660746759f598caac106a2b5f58ccd1c3eefaec31841a4f77d2548870", 42 | "715d965b1c3912d20505b381470ff1a528700b673e50ba89fd287e13171cc137", 43 | "4d3281a149674e58c9040fc7a10dd92cb9c7f76f6f0815a1afc3b09d74b92fe4", 44 | "438feebaa5894ca0da49992df2c97d872bf153eab07e08ff73b28131c46ff415", 45 | "602b723c8bbaec1b057d70f18269ae5e6de6197a5884967b03b933fa80006121" 46 | ] 47 | }, 48 | "A_bar": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc4151", 49 | "B_bar": "99462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f", 50 | "D": "897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac48135", 51 | "T1": "84719c2b5bb275ee74913dbf95fb9054f690c8e4035f1259e184e9024544bc4bbea9c244e7897f9db7c82b7b14b27d28", 52 | "T2": "8f5f191c956aefd5c960e57d2dfbab6761eb0ebc5efdba1aca1403dcc19e05296b16c9feb7636cb4ef2a360c5a148483", 53 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47", 54 | "challenge": "341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a" 55 | } 56 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof012.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (truncated proof, one less undisclosed message)", 3 | "signerPublicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c", 4 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc415199462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac481356918cd38025d86b28650e909defe9604a7259f44386b861608be742af7775a2e71a6070e5836f5f54dc43c60096834a5b6da295bf8f081f72b7cdf7f3b4347fb3ff19edaa9e74055c8ba46dbcb7594fb2b06633bb5324192eb9be91be0d33e453b4d3127459de59a5e2193c900816f049a02cb9127dac894418105fa1641d5a206ec9c42177af9316f433417441478276ca0303da8f941bf2e0222a43251cf5c2bf6eac1961890aa740534e519c1767e1223392a3a286b0f4d91f7f25217a7862b8fcc1810cdcfddde2a01c80fcc90b632585fec12dc4ae8fea1918e9ddeb9414623a457e88f53f545841f9d5dcb1f8e160d1560770aa79d65e2eca8edeaecb73fb7e995608b820c4a64de6313a370ba05dc25ed7c1d185192084963652f2870", 26 | "result": { 27 | "valid": false, 28 | "reason": "truncated proof, one less undisclosed message" 29 | }, 30 | "trace": { 31 | "random_scalars": { 32 | "r1": "44679831fe60eca50938ef0e812e2a9284ad7971b6932a38c7303538b712e457", 33 | "r2": "6481692f89086cce11779e847ff884db8eebb85a13e81b2d0c79d6c1062069d8", 34 | "e_tilde": "721ce4c4c148a1d5826f326af6fd6ac2844f29533ba4127c3a43d222d51b7081", 35 | "r1_tilde": "1ecfaf5a079b0504b00a1f0d6fe8857291dd798291d7ad7454b398114393f37f", 36 | "r3_tilde": "0a4b3d59b34707bb9999bc6e2a6d382a2d2e214bff36ecd88639a14124b1622e", 37 | "m_tilde_scalars": [ 38 | "7217411a9e329c7a5705e8db552274646e2949d62c288d7537dd62bc284715e4", 39 | "67d4d43660746759f598caac106a2b5f58ccd1c3eefaec31841a4f77d2548870", 40 | "715d965b1c3912d20505b381470ff1a528700b673e50ba89fd287e13171cc137", 41 | "4d3281a149674e58c9040fc7a10dd92cb9c7f76f6f0815a1afc3b09d74b92fe4", 42 | "438feebaa5894ca0da49992df2c97d872bf153eab07e08ff73b28131c46ff415", 43 | "602b723c8bbaec1b057d70f18269ae5e6de6197a5884967b03b933fa80006121" 44 | ] 45 | }, 46 | "A_bar": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc4151", 47 | "B_bar": "99462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f", 48 | "D": "897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac48135", 49 | "T1": "84719c2b5bb275ee74913dbf95fb9054f690c8e4035f1259e184e9024544bc4bbea9c244e7897f9db7c82b7b14b27d28", 50 | "T2": "8f5f191c956aefd5c960e57d2dfbab6761eb0ebc5efdba1aca1403dcc19e05296b16c9feb7636cb4ef2a360c5a148483", 51 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47", 52 | "challenge": "341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a" 53 | } 54 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof013.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (different header)", 3 | "signerPublicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c", 4 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 5 | "header": "ffeeddccbbaa00998877665544332211", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc415199462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac481356918cd38025d86b28650e909defe9604a7259f44386b861608be742af7775a2e71a6070e5836f5f54dc43c60096834a5b6da295bf8f081f72b7cdf7f3b4347fb3ff19edaa9e74055c8ba46dbcb7594fb2b06633bb5324192eb9be91be0d33e453b4d3127459de59a5e2193c900816f049a02cb9127dac894418105fa1641d5a206ec9c42177af9316f433417441478276ca0303da8f941bf2e0222a43251cf5c2bf6eac1961890aa740534e519c1767e1223392a3a286b0f4d91f7f25217a7862b8fcc1810cdcfddde2a01c80fcc90b632585fec12dc4ae8fea1918e9ddeb9414623a457e88f53f545841f9d5dcb1f8e160d1560770aa79d65e2eca8edeaecb73fb7e995608b820c4a64de6313a370ba05dc25ed7c1d185192084963652f2870341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a", 26 | "result": { 27 | "valid": false, 28 | "reason": "different header" 29 | }, 30 | "trace": { 31 | "random_scalars": { 32 | "r1": "44679831fe60eca50938ef0e812e2a9284ad7971b6932a38c7303538b712e457", 33 | "r2": "6481692f89086cce11779e847ff884db8eebb85a13e81b2d0c79d6c1062069d8", 34 | "e_tilde": "721ce4c4c148a1d5826f326af6fd6ac2844f29533ba4127c3a43d222d51b7081", 35 | "r1_tilde": "1ecfaf5a079b0504b00a1f0d6fe8857291dd798291d7ad7454b398114393f37f", 36 | "r3_tilde": "0a4b3d59b34707bb9999bc6e2a6d382a2d2e214bff36ecd88639a14124b1622e", 37 | "m_tilde_scalars": [ 38 | "7217411a9e329c7a5705e8db552274646e2949d62c288d7537dd62bc284715e4", 39 | "67d4d43660746759f598caac106a2b5f58ccd1c3eefaec31841a4f77d2548870", 40 | "715d965b1c3912d20505b381470ff1a528700b673e50ba89fd287e13171cc137", 41 | "4d3281a149674e58c9040fc7a10dd92cb9c7f76f6f0815a1afc3b09d74b92fe4", 42 | "438feebaa5894ca0da49992df2c97d872bf153eab07e08ff73b28131c46ff415", 43 | "602b723c8bbaec1b057d70f18269ae5e6de6197a5884967b03b933fa80006121" 44 | ] 45 | }, 46 | "A_bar": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc4151", 47 | "B_bar": "99462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f", 48 | "D": "897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac48135", 49 | "T1": "84719c2b5bb275ee74913dbf95fb9054f690c8e4035f1259e184e9024544bc4bbea9c244e7897f9db7c82b7b14b27d28", 50 | "T2": "8f5f191c956aefd5c960e57d2dfbab6761eb0ebc5efdba1aca1403dcc19e05296b16c9feb7636cb4ef2a360c5a148483", 51 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47", 52 | "challenge": "341bdaa4b1a37f8c06348f38a4f80c5a2650a21d59f09e8305dcd3fc3ac30e2a" 53 | } 54 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof014.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "valid multi-message signature, multiple messages revealed proof, no header", 3 | "signerPublicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c", 4 | "signature": "8c87e2080859a97299c148427cd2fcf390d24bea850103a9748879039262ecf4f42206f6ef767f298b6a96b424c1e86c26f8fba62212d0e05b95261c2cc0e5fdc63a32731347e810fd12e9c58355aa0d", 5 | "header": "", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "81925c2e525d9fbb0ba95b438b5a13fff5874c7c0515c193628d7d143ddc3bb487771ad73658895997a88dd5b254ed29abc019bfca62c09b8dafb37e5f09b1d380e084ec3623d071ec38d6b8602af93aa0ddbada307c9309cca86be16db53dc7ac310574f509c712bb1a181d64ea3c1ee075c018a2bc773e2480b5c033ccb9bfea5af347a88ab83746c9342ba76db3675ff70ce9006d166fd813a81b448a632216521c864594f3f92965974914992f8d1845230915b11680cf44b25886c5670904ac2d88255c8c31aea7b072e9c4eb7e4c3fdd38836ae9d2e9fa271c8d9fd42f669a9938aeeba9d8ae613bf11f489ce947616f5cbaee95511dfaa5c73d85e4ddd2f29340f821dc2fb40db3eae5f5bc08467eb195e38d7d436b63e556ea653168282a23b53d5792a107f85b1203f82aab46f6940650760e5b320261ffc0ca5f15917b51e7d2ad4bcbec94de792e229db663abff23af392a5e73ce115c27e8492ec24a0815091c69874dbd9dae2d2eed000810c748a798a78a804a39034c6e745cee455812cc982eea7105948b2cb55b82278a77237fcbec4748e2d2255af0994dd09dba8ac60515a39b24632a2c1c840c4a70506add5b2eb0be9ff66e3ea8deae666f198edfbb1391c6834e6df4f1026d", 26 | "result": { 27 | "valid": true 28 | }, 29 | "trace": { 30 | "random_scalars": { 31 | "r1": "44679831fe60eca50938ef0e812e2a9284ad7971b6932a38c7303538b712e457", 32 | "r2": "6481692f89086cce11779e847ff884db8eebb85a13e81b2d0c79d6c1062069d8", 33 | "e_tilde": "721ce4c4c148a1d5826f326af6fd6ac2844f29533ba4127c3a43d222d51b7081", 34 | "r1_tilde": "1ecfaf5a079b0504b00a1f0d6fe8857291dd798291d7ad7454b398114393f37f", 35 | "r3_tilde": "0a4b3d59b34707bb9999bc6e2a6d382a2d2e214bff36ecd88639a14124b1622e", 36 | "m_tilde_scalars": [ 37 | "7217411a9e329c7a5705e8db552274646e2949d62c288d7537dd62bc284715e4", 38 | "67d4d43660746759f598caac106a2b5f58ccd1c3eefaec31841a4f77d2548870", 39 | "715d965b1c3912d20505b381470ff1a528700b673e50ba89fd287e13171cc137", 40 | "4d3281a149674e58c9040fc7a10dd92cb9c7f76f6f0815a1afc3b09d74b92fe4", 41 | "438feebaa5894ca0da49992df2c97d872bf153eab07e08ff73b28131c46ff415", 42 | "602b723c8bbaec1b057d70f18269ae5e6de6197a5884967b03b933fa80006121" 43 | ] 44 | }, 45 | "A_bar": "81925c2e525d9fbb0ba95b438b5a13fff5874c7c0515c193628d7d143ddc3bb487771ad73658895997a88dd5b254ed29", 46 | "B_bar": "abc019bfca62c09b8dafb37e5f09b1d380e084ec3623d071ec38d6b8602af93aa0ddbada307c9309cca86be16db53dc7", 47 | "D": "ac310574f509c712bb1a181d64ea3c1ee075c018a2bc773e2480b5c033ccb9bfea5af347a88ab83746c9342ba76db367", 48 | "T1": "ada552bd7ee0d6914b89eaa0e9426b3bdbdfa7ecac26b3c118aefefc577095e894c1b4a828c184e091a563e09763f3a9", 49 | "T2": "818dd907bf0321cf982648f91d7201b357358d3b2f6f7678afa722d89bbe5eba4415e4a65567a03292d9c7859da20cad", 50 | "domain": "41c5fe0290d0da734ce9bba57bfe0dfc14f3f9cfef18a0d7438cf2075fd71cc7", 51 | "challenge": "4a70506add5b2eb0be9ff66e3ea8deae666f198edfbb1391c6834e6df4f1026d" 52 | } 53 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof015.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "valid multi-message signature, multiple messages revealed proof, no presentation header", 3 | "signerPublicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c", 4 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc415199462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac48135672556358e78b5398f1a547a2a98dfe16230f244ba742dea737e4f810b4d94e03ac068ef840aaadf12b2ed51d3fb774c2a0a620019fd1f39c52c6f89a0e6067e3039413a91129791b2af215a82ad2356b6bc305c1d7a828fe519619dd026eaaf07ea81cee52b21aab3e8320519bf37c2bb228a8b580f899d84327bdc5e84a66000e8bac17d2fa039bb2246c8eacc623ccd9eb26e184a96a9e3a6702e1dbafe194772394b05251f72bcd2d20f542b15b2406f899791f6f285c7b469e7c7b9624147f305c38c903273a949f6e85b9774aeeccfafa432e2cdd7c8f97d1687741ed30d725444428dd87d9884711d9a46baaf0c04b03a2a228b7033be0841880134b03b15f698756eca5f37503a0411a9586d3027a8b8b9118e95a9949b2719e85e4a669d9e4b7bb6d4544c8cc558c30d79f9c85a87e1a95611400b7c7dac5673d800", 26 | "result": { 27 | "valid": true 28 | }, 29 | "trace": { 30 | "random_scalars": { 31 | "r1": "44679831fe60eca50938ef0e812e2a9284ad7971b6932a38c7303538b712e457", 32 | "r2": "6481692f89086cce11779e847ff884db8eebb85a13e81b2d0c79d6c1062069d8", 33 | "e_tilde": "721ce4c4c148a1d5826f326af6fd6ac2844f29533ba4127c3a43d222d51b7081", 34 | "r1_tilde": "1ecfaf5a079b0504b00a1f0d6fe8857291dd798291d7ad7454b398114393f37f", 35 | "r3_tilde": "0a4b3d59b34707bb9999bc6e2a6d382a2d2e214bff36ecd88639a14124b1622e", 36 | "m_tilde_scalars": [ 37 | "7217411a9e329c7a5705e8db552274646e2949d62c288d7537dd62bc284715e4", 38 | "67d4d43660746759f598caac106a2b5f58ccd1c3eefaec31841a4f77d2548870", 39 | "715d965b1c3912d20505b381470ff1a528700b673e50ba89fd287e13171cc137", 40 | "4d3281a149674e58c9040fc7a10dd92cb9c7f76f6f0815a1afc3b09d74b92fe4", 41 | "438feebaa5894ca0da49992df2c97d872bf153eab07e08ff73b28131c46ff415", 42 | "602b723c8bbaec1b057d70f18269ae5e6de6197a5884967b03b933fa80006121" 43 | ] 44 | }, 45 | "A_bar": "a2ed608e8e12ed21abc2bf154e462d744a367c7f1f969bdbf784a2a134c7db2d340394223a5397a3011b1c340ebc4151", 46 | "B_bar": "99462ba6f31106d8a6da8b513b37a47afe93c9b3474d0d7a354b2edc1b88818b063332df774c141f7a07c48fe50d452f", 47 | "D": "897739228c88afc797916dca01e8f03bd9c5375c7a7c59996e514bb952a436afd24457658acbaba5ddac2e693ac48135", 48 | "T1": "84719c2b5bb275ee74913dbf95fb9054f690c8e4035f1259e184e9024544bc4bbea9c244e7897f9db7c82b7b14b27d28", 49 | "T2": "8f5f191c956aefd5c960e57d2dfbab6761eb0ebc5efdba1aca1403dcc19e05296b16c9feb7636cb4ef2a360c5a148483", 50 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47", 51 | "challenge": "669d9e4b7bb6d4544c8cc558c30d79f9c85a87e1a95611400b7c7dac5673d800" 52 | } 53 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/signature/signature001.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "valid single message signature", 3 | "signerKeyPair": { 4 | "secretKey": "60e55110f76883a13d030b2f6bd11883422d5abde717569fc0731f51237169fc", 5 | "publicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c" 6 | }, 7 | "header": "11223344556677889900aabbccddeeff", 8 | "messages": [ 9 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02" 10 | ], 11 | "signature": "84773160b824e194073a57493dac1a20b667af70cd2352d8af241c77658da5253aa8458317cca0eae615690d55b1f27164657dcafee1d5c1973947aa70e2cfbb4c892340be5969920d0916067b4565a0", 12 | "result": { 13 | "valid": true 14 | }, 15 | "trace": { 16 | "B": "92d264aed02bf23de022ebe778c4f929fddf829f504e451d011ed89a313b8167ac947332e1648157ceffc6e6e41ab255", 17 | "domain": "25d57fab92a8274c68fde5c3f16d4b275e4a156f211ae34b3ab32fbaf506ed5c" 18 | } 19 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/signature/signature002.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid single message signature (modified message)", 3 | "signerKeyPair": { 4 | "secretKey": "60e55110f76883a13d030b2f6bd11883422d5abde717569fc0731f51237169fc", 5 | "publicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c" 6 | }, 7 | "header": "11223344556677889900aabbccddeeff", 8 | "messages": [ 9 | "" 10 | ], 11 | "signature": "84773160b824e194073a57493dac1a20b667af70cd2352d8af241c77658da5253aa8458317cca0eae615690d55b1f27164657dcafee1d5c1973947aa70e2cfbb4c892340be5969920d0916067b4565a0", 12 | "result": { 13 | "valid": false, 14 | "reason": "modified message" 15 | }, 16 | "trace": { 17 | "B": "92d264aed02bf23de022ebe778c4f929fddf829f504e451d011ed89a313b8167ac947332e1648157ceffc6e6e41ab255", 18 | "domain": "25d57fab92a8274c68fde5c3f16d4b275e4a156f211ae34b3ab32fbaf506ed5c" 19 | } 20 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/signature/signature003.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid single message signature (extra unsigned message)", 3 | "signerKeyPair": { 4 | "secretKey": "60e55110f76883a13d030b2f6bd11883422d5abde717569fc0731f51237169fc", 5 | "publicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c" 6 | }, 7 | "header": "11223344556677889900aabbccddeeff", 8 | "messages": [ 9 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 10 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80" 11 | ], 12 | "signature": "84773160b824e194073a57493dac1a20b667af70cd2352d8af241c77658da5253aa8458317cca0eae615690d55b1f27164657dcafee1d5c1973947aa70e2cfbb4c892340be5969920d0916067b4565a0", 13 | "result": { 14 | "valid": false, 15 | "reason": "extra unsigned message" 16 | }, 17 | "trace": { 18 | "B": "92d264aed02bf23de022ebe778c4f929fddf829f504e451d011ed89a313b8167ac947332e1648157ceffc6e6e41ab255", 19 | "domain": "25d57fab92a8274c68fde5c3f16d4b275e4a156f211ae34b3ab32fbaf506ed5c" 20 | } 21 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/signature/signature004.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "valid multi-message signature", 3 | "signerKeyPair": { 4 | "secretKey": "60e55110f76883a13d030b2f6bd11883422d5abde717569fc0731f51237169fc", 5 | "publicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c" 6 | }, 7 | "header": "11223344556677889900aabbccddeeff", 8 | "messages": [ 9 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 10 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 11 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 12 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 13 | "496694774c5604ab1b2544eababcf0f53278ff50", 14 | "515ae153e22aae04ad16f759e07237b4", 15 | "d183ddc6e2665aa4e2f088af", 16 | "ac55fb33a75909ed", 17 | "96012096", 18 | "" 19 | ], 20 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 21 | "result": { 22 | "valid": true 23 | }, 24 | "trace": { 25 | "B": "84f48376f7df6af40bc329cf484cdbfd0b19d0b326fccab4e9d8f00d1dbcf48139d498b19667f203cf8a1d1f8340c522", 26 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47" 27 | } 28 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/signature/signature005.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature (missing messages)", 3 | "signerKeyPair": { 4 | "secretKey": "60e55110f76883a13d030b2f6bd11883422d5abde717569fc0731f51237169fc", 5 | "publicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c" 6 | }, 7 | "header": "11223344556677889900aabbccddeeff", 8 | "messages": [ 9 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 10 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80" 11 | ], 12 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 13 | "result": { 14 | "valid": false, 15 | "reason": "missing messages" 16 | }, 17 | "trace": { 18 | "B": "84f48376f7df6af40bc329cf484cdbfd0b19d0b326fccab4e9d8f00d1dbcf48139d498b19667f203cf8a1d1f8340c522", 19 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47" 20 | } 21 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/signature/signature006.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature (re-ordered messages)", 3 | "signerKeyPair": { 4 | "secretKey": "60e55110f76883a13d030b2f6bd11883422d5abde717569fc0731f51237169fc", 5 | "publicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c" 6 | }, 7 | "header": "11223344556677889900aabbccddeeff", 8 | "messages": [ 9 | "", 10 | "96012096", 11 | "ac55fb33a75909ed", 12 | "d183ddc6e2665aa4e2f088af", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "496694774c5604ab1b2544eababcf0f53278ff50", 15 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 16 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 17 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 18 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02" 19 | ], 20 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 21 | "result": { 22 | "valid": false, 23 | "reason": "re-ordered messages" 24 | }, 25 | "trace": { 26 | "B": "84f48376f7df6af40bc329cf484cdbfd0b19d0b326fccab4e9d8f00d1dbcf48139d498b19667f203cf8a1d1f8340c522", 27 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47" 28 | } 29 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/signature/signature007.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature (wrong public key)", 3 | "signerKeyPair": { 4 | "secretKey": "60e55110f76883a13d030b2f6bd11883422d5abde717569fc0731f51237169fc", 5 | "publicKey": "b064bd8d1ba99503cbb7f9d7ea00bce877206a85b1750e5583dd9399828a4d20610cb937ea928d90404c239b2835ffb104220a9c66a4c9ed3b54c0cac9ea465d0429556b438ceefb59650ddf67e7a8f103677561b7ef7fe3c3357ec6b94d41c6" 6 | }, 7 | "header": "11223344556677889900aabbccddeeff", 8 | "messages": [ 9 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 10 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 11 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 12 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 13 | "496694774c5604ab1b2544eababcf0f53278ff50", 14 | "515ae153e22aae04ad16f759e07237b4", 15 | "d183ddc6e2665aa4e2f088af", 16 | "ac55fb33a75909ed", 17 | "96012096", 18 | "" 19 | ], 20 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 21 | "result": { 22 | "valid": false, 23 | "reason": "wrong public key" 24 | }, 25 | "trace": { 26 | "B": "84f48376f7df6af40bc329cf484cdbfd0b19d0b326fccab4e9d8f00d1dbcf48139d498b19667f203cf8a1d1f8340c522", 27 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47" 28 | } 29 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/signature/signature008.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature (different header)", 3 | "signerKeyPair": { 4 | "secretKey": "60e55110f76883a13d030b2f6bd11883422d5abde717569fc0731f51237169fc", 5 | "publicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c" 6 | }, 7 | "header": "ffeeddccbbaa00998877665544332211", 8 | "messages": [ 9 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 10 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 11 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 12 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 13 | "496694774c5604ab1b2544eababcf0f53278ff50", 14 | "515ae153e22aae04ad16f759e07237b4", 15 | "d183ddc6e2665aa4e2f088af", 16 | "ac55fb33a75909ed", 17 | "96012096", 18 | "" 19 | ], 20 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 21 | "result": { 22 | "valid": false, 23 | "reason": "different header" 24 | }, 25 | "trace": { 26 | "B": "84f48376f7df6af40bc329cf484cdbfd0b19d0b326fccab4e9d8f00d1dbcf48139d498b19667f203cf8a1d1f8340c522", 27 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47" 28 | } 29 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/signature/signature009.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature (re-ordered(randomly shuffled) messages)", 3 | "signerKeyPair": { 4 | "secretKey": "60e55110f76883a13d030b2f6bd11883422d5abde717569fc0731f51237169fc", 5 | "publicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c" 6 | }, 7 | "header": "11223344556677889900aabbccddeeff", 8 | "messages": [ 9 | "ac55fb33a75909ed", 10 | "", 11 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 12 | "d183ddc6e2665aa4e2f088af", 13 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 14 | "96012096", 15 | "515ae153e22aae04ad16f759e07237b4", 16 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 17 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 18 | "496694774c5604ab1b2544eababcf0f53278ff50" 19 | ], 20 | "signature": "8339b285a4acd89dec7777c09543a43e3cc60684b0a6f8ab335da4825c96e1463e28f8c5f4fd0641d19cec5920d3a8ff4bedb6c9691454597bbd298288abed3632078557b2ace7d44caed846e1a0a1e8", 21 | "result": { 22 | "valid": false, 23 | "reason": "re-ordered(randomly shuffled) messages" 24 | }, 25 | "trace": { 26 | "B": "84f48376f7df6af40bc329cf484cdbfd0b19d0b326fccab4e9d8f00d1dbcf48139d498b19667f203cf8a1d1f8340c522", 27 | "domain": "6272832582a0ac96e6fe53e879422f24c51680b25fbf17bad22a35ea93ce5b47" 28 | } 29 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-sha-256/signature/signature010.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "valid multi-message signature, no header", 3 | "signerKeyPair": { 4 | "secretKey": "60e55110f76883a13d030b2f6bd11883422d5abde717569fc0731f51237169fc", 5 | "publicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c" 6 | }, 7 | "header": "", 8 | "messages": [ 9 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 10 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 11 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 12 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 13 | "496694774c5604ab1b2544eababcf0f53278ff50", 14 | "515ae153e22aae04ad16f759e07237b4", 15 | "d183ddc6e2665aa4e2f088af", 16 | "ac55fb33a75909ed", 17 | "96012096", 18 | "" 19 | ], 20 | "signature": "8c87e2080859a97299c148427cd2fcf390d24bea850103a9748879039262ecf4f42206f6ef767f298b6a96b424c1e86c26f8fba62212d0e05b95261c2cc0e5fdc63a32731347e810fd12e9c58355aa0d", 21 | "result": { 22 | "valid": true 23 | }, 24 | "trace": { 25 | "B": "98e38eadb6a2232cf91f41861089cda14d7e3ddef0c6eaba4d11a2732f66408f394d58301ffcc8fcfb3c89bb75136f61", 26 | "domain": "41c5fe0290d0da734ce9bba57bfe0dfc14f3f9cfef18a0d7438cf2075fd71cc7" 27 | } 28 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/MapMessageToScalarAsHash.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "MapMessageToScalar fixture", 3 | "dst": "4242535f424c53313233383147315f584f463a5348414b452d3235365f535357555f524f5f4832475f484d32535f4d41505f4d53475f544f5f5343414c41525f41535f484153485f", 4 | "cases": [ 5 | { 6 | "message": "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 7 | "scalar": "1e0dea6c9ea8543731d331a0ab5f64954c188542b33c5bbc8ae5b3a830f2d99f" 8 | }, 9 | { 10 | "message": "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 11 | "scalar": "3918a40fb277b4c796805d1371931e08a314a8bf8200a92463c06054d2c56a9f" 12 | }, 13 | { 14 | "message": "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 15 | "scalar": "6642b981edf862adf34214d933c5d042bfa8f7ef343165c325131e2ffa32fa94" 16 | }, 17 | { 18 | "message": "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 19 | "scalar": "33c021236956a2006f547e22ff8790c9d2d40c11770c18cce6037786c6f23512" 20 | }, 21 | { 22 | "message": "496694774c5604ab1b2544eababcf0f53278ff50", 23 | "scalar": "52b249313abbe323e7d84230550f448d99edfb6529dec8c4e783dbd6dd2a8471" 24 | }, 25 | { 26 | "message": "515ae153e22aae04ad16f759e07237b4", 27 | "scalar": "2a50bdcbe7299e47e1046100aadffe35b4247bf3f059d525f921537484dd54fc" 28 | }, 29 | { 30 | "message": "d183ddc6e2665aa4e2f088af", 31 | "scalar": "0e92550915e275f8cfd6da5e08e334d8ef46797ee28fa29de40a1ebccd9d95d3" 32 | }, 33 | { 34 | "message": "ac55fb33a75909ed", 35 | "scalar": "4c28f612e6c6f82f51f95e1e4faaf597547f93f6689827a6dcda3cb94971d356" 36 | }, 37 | { 38 | "message": "96012096", 39 | "scalar": "1db51bedc825b85efe1dab3e3ab0274fa82bbd39732be3459525faf70f197650" 40 | }, 41 | { 42 | "message": "", 43 | "scalar": "27878da72f7775e709bb693d81b819dc4e9fa60711f4ea927740e40073489e78" 44 | } 45 | ] 46 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/generators.json: -------------------------------------------------------------------------------- 1 | { 2 | "P1": "8929dfbc7e6642c4ed9cba0856e493f8b9d7d5fcb0c31ef8fdcd34d50648a56c795e106e9eada6e0bda386b414150755", 3 | "Q1": "a9d40131066399fd41af51d883f4473b0dcd7d028d3d34ef17f3241d204e28507d7ecae032afa1d5490849b7678ec1f8", 4 | "MsgGenerators": [ 5 | "903c7ca0b7e78a2017d0baf74103bd00ca8ff9bf429f834f071c75ffe6bfdec6d6dca15417e4ac08ca4ae1e78b7adc0e", 6 | "84321f5855bfb6b001f0dfcb47ac9b5cc68f1a4edd20f0ec850e0563b27d2accee6edff1a26b357762fb24e8ddbb6fcb", 7 | "b3060dff0d12a32819e08da00e61810676cc9185fdd750e5ef82b1a9798c7d76d63de3b6225d6c9a479d6c21a7c8bf93", 8 | "8f1093d1e553cdead3c70ce55b6d664e5d1912cc9edfdd37bf1dad11ca396a0a8bb062092d391ebf8790ea5722413f68", 9 | "990824e00b48a68c3d9a308e8c52a57b1bc84d1cf5d3c0f8c6fb6b1230e4e5b8eb752fb374da0b1ef687040024868140", 10 | "b86d1c6ab8ce22bc53f625d1ce9796657f18060fcb1893ce8931156ef992fe56856199f8fa6c998e5d855a354a26b0dd", 11 | "b4cdd98c5c1e64cb324e0c57954f719d5c5f9e8d991fd8e159b31c8d079c76a67321a30311975c706578d3a0ddc313b7", 12 | "8311492d43ec9182a5fc44a75419b09547e311251fe38b6864dc1e706e29446cb3ea4d501634eb13327245fd8a574f77", 13 | "ac00b493f92d17837a28d1f5b07991ca5ab9f370ae40d4f9b9f2711749ca200110ce6517dc28400d4ea25dddc146cacc", 14 | "965a6c62451d4be6cb175dec39727dc665762673ee42bf0ac13a37a74784fbd61e84e0915277a6f59863b2bb4f5f6005" 15 | ] 16 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/h2s.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "Hash to scalar output", 3 | "message": "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 4 | "dst": "4242535f424c53313233383147315f584f463a5348414b452d3235365f535357555f524f5f4832475f484d32535f4832535f", 5 | "scalar": "0500031f786fde5326aa9370dd7ffe9535ec7a52cf2b8f432cad5d9acfb73cd3" 6 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/keypair.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "key pair fixture", 3 | "keyMaterial": "746869732d49532d6a7573742d616e2d546573742d494b4d2d746f2d67656e65726174652d246528724074232d6b6579", 4 | "keyInfo": "746869732d49532d736f6d652d6b65792d6d657461646174612d746f2d62652d757365642d696e2d746573742d6b65792d67656e", 5 | "keyDst": "4242535f424c53313233383147315f584f463a5348414b452d3235365f535357555f524f5f4832475f484d32535f4b455947454e5f4453545f", 6 | "keyPair": { 7 | "secretKey": "2eee0f60a8a3a8bec0ee942bfd46cbdae9a0738ee68f5a64e7238311cf09a079", 8 | "publicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5" 9 | } 10 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/mockedRng.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "mocked random scalars", 3 | "seed": "332e313431353932363533353839373933323338343632363433333833323739", 4 | "dst": "4242535f424c53313233383147315f584f463a5348414b452d3235365f535357555f524f5f4832475f484d32535f4d4f434b5f52414e444f4d5f5343414c4152535f4453545f", 5 | "count": 10, 6 | "mockedScalars": [ 7 | "1004262112c3eaa95941b2b0d1311c09c845db0099a50e67eda628ad26b43083", 8 | "6da7f145a94c1fa7f116b2482d59e4d466fe49c955ae8726e79453065156a9a4", 9 | "05017919b3607e78c51e8ec34329955d49c8c90e4488079c43e74824e98f1306", 10 | "4d451dad519b6a226bba79e11b44c441f1a74800eecfec6a2e2d79ea65b9d32d", 11 | "5e7e4894e6dbe68023bc92ef15c410b01f3828109fc72b3b5ab159fc427b3f51", 12 | "646e3014f49accb375253d268eb6c7f3289a1510f1e9452b612dd73a06ec5dd4", 13 | "363ecc4c1f9d6d9144374de8f1f7991405e3345a3ec49dd485a39982753c11a4", 14 | "12e592fe28d91d7b92a198c29afaa9d5329a4dcfdaf8b08557807412faeb4ac6", 15 | "513325acdcdec7ea572360587b350a8b095ca19bdd8258c5c69d375e8706141a", 16 | "6474fceba35e7e17365dde1a0284170180e446ae96c82943290d7baa3a6ed429" 17 | ] 18 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof001.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "valid single message signature, single-message revealed proof", 3 | "signerPublicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5", 4 | "signature": "b9a622a4b404e6ca4c85c15739d2124a1deb16df750be202e2430e169bc27fb71c44d98e6d40792033e1c452145ada95030832c5dc778334f2f1b528eced21b0b97a12025a283d78b7136bb9825d04ef", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02" 9 | ], 10 | "disclosedIndexes": [ 11 | 0 12 | ], 13 | "proof": "89e4ab0c160880e0c2f12a754b9c051ed7f5fccfee3d5cbbb62e1239709196c737fff4303054660f8fcd08267a5de668a2e395ebe8866bdcb0dff9786d7014fa5e3c8cf7b41f8d7510e27d307f18032f6b788e200b9d6509f40ce1d2f962ceedb023d58ee44d660434e6ba60ed0da1a5d2cde031b483684cd7c5b13295a82f57e209b584e8fe894bcc964117bf3521b43d8e2eb59ce31f34d68b39f05bb2c625e4de5e61e95ff38bfd62ab07105d016414b45b01625c69965ad3c8a933e7b25d93daeb777302b966079827a99178240e6c3f13b7db2fb1f14790940e239d775ab32f539bdf9f9b582b250b05882996832652f7f5d3b6e04744c73ada1702d6791940ccbd75e719537f7ace6ee817298d", 14 | "result": { 15 | "valid": true 16 | }, 17 | "trace": { 18 | "random_scalars": { 19 | "r1": "1308e6f945f663b96de1c76461cf7d7f88b92eb99a9034685150db443d733881", 20 | "r2": "25f81cb69a8fac6fb55d44a084557258575d1003be2bd94f1922dad2c3e447fd", 21 | "e_tilde": "5e8041a7ab02976ee50226c4b062b47d38829bbf42ee7eb899b29720377a584c", 22 | "r1_tilde": "3bbf1d5dc2904dbb7b2ba75c5dce8a5ad2d56a359c13ff0fa5fcb1339cd2fe58", 23 | "r3_tilde": "016b1460eee7707c524a86a4aedeb826ce9597b42906dccaa96c6b49a8ea7da2", 24 | "m_tilde_scalars": [] 25 | }, 26 | "A_bar": "89e4ab0c160880e0c2f12a754b9c051ed7f5fccfee3d5cbbb62e1239709196c737fff4303054660f8fcd08267a5de668", 27 | "B_bar": "a2e395ebe8866bdcb0dff9786d7014fa5e3c8cf7b41f8d7510e27d307f18032f6b788e200b9d6509f40ce1d2f962ceed", 28 | "D": "b023d58ee44d660434e6ba60ed0da1a5d2cde031b483684cd7c5b13295a82f57e209b584e8fe894bcc964117bf3521b4", 29 | "T1": "91a10e73cf4090812e8ea25f31aaa61be53fcb42ce86e9f0e5df6f6dac4c3eee62ac846b0b83a5cfcbe78315175a4961", 30 | "T2": "988f3d473186634e41478dc4527cf240e64de23a763037454d39a876862ebc617738ba6c458142e3746b01eab58ca8d7", 31 | "domain": "2f18dd269c11c512256a9d1d57e61a7d2de6ebcf41cac3053f37afedc4e650a9", 32 | "challenge": "2652f7f5d3b6e04744c73ada1702d6791940ccbd75e719537f7ace6ee817298d" 33 | } 34 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof002.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "valid multi-message signature, all messages revealed proof", 3 | "signerPublicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5", 4 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 1, 22 | 2, 23 | 3, 24 | 4, 25 | 5, 26 | 6, 27 | 7, 28 | 8, 29 | 9 30 | ], 31 | "proof": "91b0f598268c57b67bc9e55327c3c2b9b1654be89a0cf963ab392fa9e1637c565241d71fd6d7bbd7dfe243de85a9bac8b7461575c1e13b5055fed0b51fd0ec1433096607755b2f2f9ba6dc614dfa456916ca0d7fc6482b39c679cfb747a50ea1b3dd7ed57aaadc348361e2501a17317352e555a333e014e8e7d71eef808ae4f8fbdf45cd19fde45038bb310d5135f5205fc550b077e381fb3a3543dca31a0d8bba97bc0b660a5aa239eb74921e184aa3035fa01eaba32f52029319ec3df4fa4a4f716edb31a6ce19a19dbb971380099345070bd0fdeecf7c4774a33e0a116e069d5e215992fb637984802066dee6919146ae50b70ea52332dfe57f6e05c66e99f1764d8b890d121d65bfcc2984886ee0", 32 | "result": { 33 | "valid": true 34 | }, 35 | "trace": { 36 | "random_scalars": { 37 | "r1": "1308e6f945f663b96de1c76461cf7d7f88b92eb99a9034685150db443d733881", 38 | "r2": "25f81cb69a8fac6fb55d44a084557258575d1003be2bd94f1922dad2c3e447fd", 39 | "e_tilde": "5e8041a7ab02976ee50226c4b062b47d38829bbf42ee7eb899b29720377a584c", 40 | "r1_tilde": "3bbf1d5dc2904dbb7b2ba75c5dce8a5ad2d56a359c13ff0fa5fcb1339cd2fe58", 41 | "r3_tilde": "016b1460eee7707c524a86a4aedeb826ce9597b42906dccaa96c6b49a8ea7da2", 42 | "m_tilde_scalars": [] 43 | }, 44 | "A_bar": "91b0f598268c57b67bc9e55327c3c2b9b1654be89a0cf963ab392fa9e1637c565241d71fd6d7bbd7dfe243de85a9bac8", 45 | "B_bar": "b7461575c1e13b5055fed0b51fd0ec1433096607755b2f2f9ba6dc614dfa456916ca0d7fc6482b39c679cfb747a50ea1", 46 | "D": "b3dd7ed57aaadc348361e2501a17317352e555a333e014e8e7d71eef808ae4f8fbdf45cd19fde45038bb310d5135f520", 47 | "T1": "8890adfc78da24768d59dbfdb3f380e2793e9018b20c23e9ba05baa60f1b21456bc047a5d27049dab5dc6a94696ce711", 48 | "T2": "a49f953636d3651a3ae6fe45a99a2e4fec079eef3be8b8a6a4ba70885d7e028642f7224e9f451529915c88a7edc59fbe", 49 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b", 50 | "challenge": "46ae50b70ea52332dfe57f6e05c66e99f1764d8b890d121d65bfcc2984886ee0" 51 | } 52 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof003.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "valid multi-message signature, multiple messages revealed proof", 3 | "signerPublicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5", 4 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af356dd39bf8bcbfd41bf95d913f4c9b2979e1ed2ca10ac7e881bb6a271722549681e398d29e9ba4eac8848b168eddd5e4acec7df4103e2ed165e6e32edc80f0a3b28c36fb39ca19b4b8acee570deadba2da9ec20d1f236b571e0d4c2ea3b826fe924175ed4dfffbf18a9cfa98546c241efb9164c444d970e8c89849bc8601e96cf228fdefe38ab3b7e289cac859e68d9cbb0e648faf692b27df5ff6539c30da17e5444a65143de02ca64cee7b0823be65865cdc310be038ec6b594b99280072ae067bad1117b0ff3201a5506a8533b925c7ffae9cdb64558857db0ac5f5e0f18e750ae77ec9cf35263474fef3f78138c7a1ef5cfbc878975458239824fad3ce05326ba3969b1f5451bd82bd1f8075f3d32ece2d61d89a064ab4804c3c892d651d11bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558", 26 | "result": { 27 | "valid": true 28 | }, 29 | "trace": { 30 | "random_scalars": { 31 | "r1": "5ee9426ae206e3a127eb53c79044bc9ed1b71354f8354b01bf410a02220be7d0", 32 | "r2": "280d4fcc38376193ffc777b68459ed7ba897e2857f938581acf95ae5a68988f3", 33 | "e_tilde": "39966b00042fc43906297d692ebb41de08e36aada8d9504d4e0ae02ad59e9230", 34 | "r1_tilde": "61f5c273999b0b50be8f84d2380eb9220fc5a88afe144efc4007545f0ab9c089", 35 | "r3_tilde": "63af117e0c8b7d2f1f3e375fcf5d9430e136ff0f7e879423e49dadc401a50089", 36 | "m_tilde_scalars": [ 37 | "020b83ca2ab319cba0744d6d58da75ac3dfb6ba682bfce2587c5a6d86a4e4e7b", 38 | "5bf565343611c08f83e4420e8b1577ace8cc4df5d5303aeb3c4e425f1080f836", 39 | "049d77949af1192534da28975f76d4f211315dce1e36f93ffcf2a555de516b28", 40 | "407e5a952f145de7da53533de8366bbd2e0c854721a204f03906dc82fde10f48", 41 | "1c925d9052849edddcf04d5f1f0d4ff183a66b66eb820f59b675aee121cfc63c", 42 | "07d7c41b02158a9c5eac212ed6d7c2cddeb8e38baea6e93e1a00b2e83e2a0995" 43 | ] 44 | }, 45 | "A_bar": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7", 46 | "B_bar": "b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0", 47 | "D": "b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af3", 48 | "T1": "8b497dd4dcdcf7eb58c9b43e57e06bcea3468a223ae2fc015d7a86506a952d68055e73f5a5847e58f133ea154256d0da", 49 | "T2": "8655584d3da1313f881f48c239384a5623d2d292f08dae7ac1d8129c19a02a89b82fa45de3f6c2c439510fce5919656f", 50 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b", 51 | "challenge": "1bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558" 52 | } 53 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof004.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (different presentation header)", 3 | "signerPublicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5", 4 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "011594ba7f95b3b470ea4102dd5899de3a042e5104d3ea01d15e6780d831d2be", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af356dd39bf8bcbfd41bf95d913f4c9b2979e1ed2ca10ac7e881bb6a271722549681e398d29e9ba4eac8848b168eddd5e4acec7df4103e2ed165e6e32edc80f0a3b28c36fb39ca19b4b8acee570deadba2da9ec20d1f236b571e0d4c2ea3b826fe924175ed4dfffbf18a9cfa98546c241efb9164c444d970e8c89849bc8601e96cf228fdefe38ab3b7e289cac859e68d9cbb0e648faf692b27df5ff6539c30da17e5444a65143de02ca64cee7b0823be65865cdc310be038ec6b594b99280072ae067bad1117b0ff3201a5506a8533b925c7ffae9cdb64558857db0ac5f5e0f18e750ae77ec9cf35263474fef3f78138c7a1ef5cfbc878975458239824fad3ce05326ba3969b1f5451bd82bd1f8075f3d32ece2d61d89a064ab4804c3c892d651d11bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558", 26 | "result": { 27 | "valid": false, 28 | "reason": "different presentation header" 29 | }, 30 | "trace": { 31 | "random_scalars": { 32 | "r1": "5ee9426ae206e3a127eb53c79044bc9ed1b71354f8354b01bf410a02220be7d0", 33 | "r2": "280d4fcc38376193ffc777b68459ed7ba897e2857f938581acf95ae5a68988f3", 34 | "e_tilde": "39966b00042fc43906297d692ebb41de08e36aada8d9504d4e0ae02ad59e9230", 35 | "r1_tilde": "61f5c273999b0b50be8f84d2380eb9220fc5a88afe144efc4007545f0ab9c089", 36 | "r3_tilde": "63af117e0c8b7d2f1f3e375fcf5d9430e136ff0f7e879423e49dadc401a50089", 37 | "m_tilde_scalars": [ 38 | "020b83ca2ab319cba0744d6d58da75ac3dfb6ba682bfce2587c5a6d86a4e4e7b", 39 | "5bf565343611c08f83e4420e8b1577ace8cc4df5d5303aeb3c4e425f1080f836", 40 | "049d77949af1192534da28975f76d4f211315dce1e36f93ffcf2a555de516b28", 41 | "407e5a952f145de7da53533de8366bbd2e0c854721a204f03906dc82fde10f48", 42 | "1c925d9052849edddcf04d5f1f0d4ff183a66b66eb820f59b675aee121cfc63c", 43 | "07d7c41b02158a9c5eac212ed6d7c2cddeb8e38baea6e93e1a00b2e83e2a0995" 44 | ] 45 | }, 46 | "A_bar": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7", 47 | "B_bar": "b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0", 48 | "D": "b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af3", 49 | "T1": "8b497dd4dcdcf7eb58c9b43e57e06bcea3468a223ae2fc015d7a86506a952d68055e73f5a5847e58f133ea154256d0da", 50 | "T2": "8655584d3da1313f881f48c239384a5623d2d292f08dae7ac1d8129c19a02a89b82fa45de3f6c2c439510fce5919656f", 51 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b", 52 | "challenge": "1bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558" 53 | } 54 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof005.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (wrong public key)", 3 | "signerPublicKey": "b24c723803f84e210f7a95f6265c5cbfa4ecc51488bf7acf24b921807801c0798b725b9a2dcfa29953efcdfef03328720196c78b2e613727fd6e085302a0cc2d8d7e1d820cf1d36b20e79eee78c13a1a5da51a298f1aef86f07bc33388f089d8", 4 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af356dd39bf8bcbfd41bf95d913f4c9b2979e1ed2ca10ac7e881bb6a271722549681e398d29e9ba4eac8848b168eddd5e4acec7df4103e2ed165e6e32edc80f0a3b28c36fb39ca19b4b8acee570deadba2da9ec20d1f236b571e0d4c2ea3b826fe924175ed4dfffbf18a9cfa98546c241efb9164c444d970e8c89849bc8601e96cf228fdefe38ab3b7e289cac859e68d9cbb0e648faf692b27df5ff6539c30da17e5444a65143de02ca64cee7b0823be65865cdc310be038ec6b594b99280072ae067bad1117b0ff3201a5506a8533b925c7ffae9cdb64558857db0ac5f5e0f18e750ae77ec9cf35263474fef3f78138c7a1ef5cfbc878975458239824fad3ce05326ba3969b1f5451bd82bd1f8075f3d32ece2d61d89a064ab4804c3c892d651d11bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558", 26 | "result": { 27 | "valid": false, 28 | "reason": "wrong public key" 29 | }, 30 | "trace": { 31 | "random_scalars": { 32 | "r1": "5ee9426ae206e3a127eb53c79044bc9ed1b71354f8354b01bf410a02220be7d0", 33 | "r2": "280d4fcc38376193ffc777b68459ed7ba897e2857f938581acf95ae5a68988f3", 34 | "e_tilde": "39966b00042fc43906297d692ebb41de08e36aada8d9504d4e0ae02ad59e9230", 35 | "r1_tilde": "61f5c273999b0b50be8f84d2380eb9220fc5a88afe144efc4007545f0ab9c089", 36 | "r3_tilde": "63af117e0c8b7d2f1f3e375fcf5d9430e136ff0f7e879423e49dadc401a50089", 37 | "m_tilde_scalars": [ 38 | "020b83ca2ab319cba0744d6d58da75ac3dfb6ba682bfce2587c5a6d86a4e4e7b", 39 | "5bf565343611c08f83e4420e8b1577ace8cc4df5d5303aeb3c4e425f1080f836", 40 | "049d77949af1192534da28975f76d4f211315dce1e36f93ffcf2a555de516b28", 41 | "407e5a952f145de7da53533de8366bbd2e0c854721a204f03906dc82fde10f48", 42 | "1c925d9052849edddcf04d5f1f0d4ff183a66b66eb820f59b675aee121cfc63c", 43 | "07d7c41b02158a9c5eac212ed6d7c2cddeb8e38baea6e93e1a00b2e83e2a0995" 44 | ] 45 | }, 46 | "A_bar": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7", 47 | "B_bar": "b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0", 48 | "D": "b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af3", 49 | "T1": "8b497dd4dcdcf7eb58c9b43e57e06bcea3468a223ae2fc015d7a86506a952d68055e73f5a5847e58f133ea154256d0da", 50 | "T2": "8655584d3da1313f881f48c239384a5623d2d292f08dae7ac1d8129c19a02a89b82fa45de3f6c2c439510fce5919656f", 51 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b", 52 | "challenge": "1bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558" 53 | } 54 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof006.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (modified messages)", 3 | "signerPublicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5", 4 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "b3e4043a1e148028b85dfbf39d1e44d7bfc8277fd310aeda5deb4a6eb7b3d1293c86788288e86b1819caa0b11a4f2c6330abda72b1bcb082d660dc78b5271f6a047bb96c250f2ca877cc72464d363c3bd0bfc4d4b4de7233419234e94f16ec24359e13b6", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af356dd39bf8bcbfd41bf95d913f4c9b2979e1ed2ca10ac7e881bb6a271722549681e398d29e9ba4eac8848b168eddd5e4acec7df4103e2ed165e6e32edc80f0a3b28c36fb39ca19b4b8acee570deadba2da9ec20d1f236b571e0d4c2ea3b826fe924175ed4dfffbf18a9cfa98546c241efb9164c444d970e8c89849bc8601e96cf228fdefe38ab3b7e289cac859e68d9cbb0e648faf692b27df5ff6539c30da17e5444a65143de02ca64cee7b0823be65865cdc310be038ec6b594b99280072ae067bad1117b0ff3201a5506a8533b925c7ffae9cdb64558857db0ac5f5e0f18e750ae77ec9cf35263474fef3f78138c7a1ef5cfbc878975458239824fad3ce05326ba3969b1f5451bd82bd1f8075f3d32ece2d61d89a064ab4804c3c892d651d11bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558", 26 | "result": { 27 | "valid": false, 28 | "reason": "modified messages" 29 | }, 30 | "trace": { 31 | "random_scalars": { 32 | "r1": "5ee9426ae206e3a127eb53c79044bc9ed1b71354f8354b01bf410a02220be7d0", 33 | "r2": "280d4fcc38376193ffc777b68459ed7ba897e2857f938581acf95ae5a68988f3", 34 | "e_tilde": "39966b00042fc43906297d692ebb41de08e36aada8d9504d4e0ae02ad59e9230", 35 | "r1_tilde": "61f5c273999b0b50be8f84d2380eb9220fc5a88afe144efc4007545f0ab9c089", 36 | "r3_tilde": "63af117e0c8b7d2f1f3e375fcf5d9430e136ff0f7e879423e49dadc401a50089", 37 | "m_tilde_scalars": [ 38 | "020b83ca2ab319cba0744d6d58da75ac3dfb6ba682bfce2587c5a6d86a4e4e7b", 39 | "5bf565343611c08f83e4420e8b1577ace8cc4df5d5303aeb3c4e425f1080f836", 40 | "049d77949af1192534da28975f76d4f211315dce1e36f93ffcf2a555de516b28", 41 | "407e5a952f145de7da53533de8366bbd2e0c854721a204f03906dc82fde10f48", 42 | "1c925d9052849edddcf04d5f1f0d4ff183a66b66eb820f59b675aee121cfc63c", 43 | "07d7c41b02158a9c5eac212ed6d7c2cddeb8e38baea6e93e1a00b2e83e2a0995" 44 | ] 45 | }, 46 | "A_bar": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7", 47 | "B_bar": "b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0", 48 | "D": "b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af3", 49 | "T1": "8b497dd4dcdcf7eb58c9b43e57e06bcea3468a223ae2fc015d7a86506a952d68055e73f5a5847e58f133ea154256d0da", 50 | "T2": "8655584d3da1313f881f48c239384a5623d2d292f08dae7ac1d8129c19a02a89b82fa45de3f6c2c439510fce5919656f", 51 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b", 52 | "challenge": "1bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558" 53 | } 54 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof007.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (extra message un-revealed in proof)", 3 | "signerPublicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5", 4 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "", 18 | "" 19 | ], 20 | "disclosedIndexes": [ 21 | 0, 22 | 2, 23 | 4, 24 | 6, 25 | 9 26 | ], 27 | "proof": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af356dd39bf8bcbfd41bf95d913f4c9b2979e1ed2ca10ac7e881bb6a271722549681e398d29e9ba4eac8848b168eddd5e4acec7df4103e2ed165e6e32edc80f0a3b28c36fb39ca19b4b8acee570deadba2da9ec20d1f236b571e0d4c2ea3b826fe924175ed4dfffbf18a9cfa98546c241efb9164c444d970e8c89849bc8601e96cf228fdefe38ab3b7e289cac859e68d9cbb0e648faf692b27df5ff6539c30da17e5444a65143de02ca64cee7b0823be65865cdc310be038ec6b594b99280072ae067bad1117b0ff3201a5506a8533b925c7ffae9cdb64558857db0ac5f5e0f18e750ae77ec9cf35263474fef3f78138c7a1ef5cfbc878975458239824fad3ce05326ba3969b1f5451bd82bd1f8075f3d32ece2d61d89a064ab4804c3c892d651d11bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558", 28 | "result": { 29 | "valid": false, 30 | "reason": "extra message un-revealed in proof" 31 | }, 32 | "trace": { 33 | "random_scalars": { 34 | "r1": "5ee9426ae206e3a127eb53c79044bc9ed1b71354f8354b01bf410a02220be7d0", 35 | "r2": "280d4fcc38376193ffc777b68459ed7ba897e2857f938581acf95ae5a68988f3", 36 | "e_tilde": "39966b00042fc43906297d692ebb41de08e36aada8d9504d4e0ae02ad59e9230", 37 | "r1_tilde": "61f5c273999b0b50be8f84d2380eb9220fc5a88afe144efc4007545f0ab9c089", 38 | "r3_tilde": "63af117e0c8b7d2f1f3e375fcf5d9430e136ff0f7e879423e49dadc401a50089", 39 | "m_tilde_scalars": [ 40 | "020b83ca2ab319cba0744d6d58da75ac3dfb6ba682bfce2587c5a6d86a4e4e7b", 41 | "5bf565343611c08f83e4420e8b1577ace8cc4df5d5303aeb3c4e425f1080f836", 42 | "049d77949af1192534da28975f76d4f211315dce1e36f93ffcf2a555de516b28", 43 | "407e5a952f145de7da53533de8366bbd2e0c854721a204f03906dc82fde10f48", 44 | "1c925d9052849edddcf04d5f1f0d4ff183a66b66eb820f59b675aee121cfc63c", 45 | "07d7c41b02158a9c5eac212ed6d7c2cddeb8e38baea6e93e1a00b2e83e2a0995" 46 | ] 47 | }, 48 | "A_bar": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7", 49 | "B_bar": "b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0", 50 | "D": "b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af3", 51 | "T1": "8b497dd4dcdcf7eb58c9b43e57e06bcea3468a223ae2fc015d7a86506a952d68055e73f5a5847e58f133ea154256d0da", 52 | "T2": "8655584d3da1313f881f48c239384a5623d2d292f08dae7ac1d8129c19a02a89b82fa45de3f6c2c439510fce5919656f", 53 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b", 54 | "challenge": "1bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558" 55 | } 56 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof008.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (extra message invalid message un-revealed in proof)", 3 | "signerPublicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5", 4 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "", 18 | "96012096" 19 | ], 20 | "disclosedIndexes": [ 21 | 0, 22 | 2, 23 | 4, 24 | 6, 25 | 9 26 | ], 27 | "proof": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af356dd39bf8bcbfd41bf95d913f4c9b2979e1ed2ca10ac7e881bb6a271722549681e398d29e9ba4eac8848b168eddd5e4acec7df4103e2ed165e6e32edc80f0a3b28c36fb39ca19b4b8acee570deadba2da9ec20d1f236b571e0d4c2ea3b826fe924175ed4dfffbf18a9cfa98546c241efb9164c444d970e8c89849bc8601e96cf228fdefe38ab3b7e289cac859e68d9cbb0e648faf692b27df5ff6539c30da17e5444a65143de02ca64cee7b0823be65865cdc310be038ec6b594b99280072ae067bad1117b0ff3201a5506a8533b925c7ffae9cdb64558857db0ac5f5e0f18e750ae77ec9cf35263474fef3f78138c7a1ef5cfbc878975458239824fad3ce05326ba3969b1f5451bd82bd1f8075f3d32ece2d61d89a064ab4804c3c892d651d11bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558", 28 | "result": { 29 | "valid": false, 30 | "reason": "extra message invalid message un-revealed in proof" 31 | }, 32 | "trace": { 33 | "random_scalars": { 34 | "r1": "5ee9426ae206e3a127eb53c79044bc9ed1b71354f8354b01bf410a02220be7d0", 35 | "r2": "280d4fcc38376193ffc777b68459ed7ba897e2857f938581acf95ae5a68988f3", 36 | "e_tilde": "39966b00042fc43906297d692ebb41de08e36aada8d9504d4e0ae02ad59e9230", 37 | "r1_tilde": "61f5c273999b0b50be8f84d2380eb9220fc5a88afe144efc4007545f0ab9c089", 38 | "r3_tilde": "63af117e0c8b7d2f1f3e375fcf5d9430e136ff0f7e879423e49dadc401a50089", 39 | "m_tilde_scalars": [ 40 | "020b83ca2ab319cba0744d6d58da75ac3dfb6ba682bfce2587c5a6d86a4e4e7b", 41 | "5bf565343611c08f83e4420e8b1577ace8cc4df5d5303aeb3c4e425f1080f836", 42 | "049d77949af1192534da28975f76d4f211315dce1e36f93ffcf2a555de516b28", 43 | "407e5a952f145de7da53533de8366bbd2e0c854721a204f03906dc82fde10f48", 44 | "1c925d9052849edddcf04d5f1f0d4ff183a66b66eb820f59b675aee121cfc63c", 45 | "07d7c41b02158a9c5eac212ed6d7c2cddeb8e38baea6e93e1a00b2e83e2a0995" 46 | ] 47 | }, 48 | "A_bar": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7", 49 | "B_bar": "b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0", 50 | "D": "b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af3", 51 | "T1": "8b497dd4dcdcf7eb58c9b43e57e06bcea3468a223ae2fc015d7a86506a952d68055e73f5a5847e58f133ea154256d0da", 52 | "T2": "8655584d3da1313f881f48c239384a5623d2d292f08dae7ac1d8129c19a02a89b82fa45de3f6c2c439510fce5919656f", 53 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b", 54 | "challenge": "1bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558" 55 | } 56 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof009.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (missing message revealed in proof)", 3 | "signerPublicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5", 4 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 11 | "496694774c5604ab1b2544eababcf0f53278ff50", 12 | "515ae153e22aae04ad16f759e07237b4", 13 | "d183ddc6e2665aa4e2f088af", 14 | "ac55fb33a75909ed", 15 | "96012096", 16 | "" 17 | ], 18 | "disclosedIndexes": [ 19 | 0, 20 | 2, 21 | 6 22 | ], 23 | "proof": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af356dd39bf8bcbfd41bf95d913f4c9b2979e1ed2ca10ac7e881bb6a271722549681e398d29e9ba4eac8848b168eddd5e4acec7df4103e2ed165e6e32edc80f0a3b28c36fb39ca19b4b8acee570deadba2da9ec20d1f236b571e0d4c2ea3b826fe924175ed4dfffbf18a9cfa98546c241efb9164c444d970e8c89849bc8601e96cf228fdefe38ab3b7e289cac859e68d9cbb0e648faf692b27df5ff6539c30da17e5444a65143de02ca64cee7b0823be65865cdc310be038ec6b594b99280072ae067bad1117b0ff3201a5506a8533b925c7ffae9cdb64558857db0ac5f5e0f18e750ae77ec9cf35263474fef3f78138c7a1ef5cfbc878975458239824fad3ce05326ba3969b1f5451bd82bd1f8075f3d32ece2d61d89a064ab4804c3c892d651d11bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558", 24 | "result": { 25 | "valid": false, 26 | "reason": "missing message revealed in proof" 27 | }, 28 | "trace": { 29 | "random_scalars": { 30 | "r1": "5ee9426ae206e3a127eb53c79044bc9ed1b71354f8354b01bf410a02220be7d0", 31 | "r2": "280d4fcc38376193ffc777b68459ed7ba897e2857f938581acf95ae5a68988f3", 32 | "e_tilde": "39966b00042fc43906297d692ebb41de08e36aada8d9504d4e0ae02ad59e9230", 33 | "r1_tilde": "61f5c273999b0b50be8f84d2380eb9220fc5a88afe144efc4007545f0ab9c089", 34 | "r3_tilde": "63af117e0c8b7d2f1f3e375fcf5d9430e136ff0f7e879423e49dadc401a50089", 35 | "m_tilde_scalars": [ 36 | "020b83ca2ab319cba0744d6d58da75ac3dfb6ba682bfce2587c5a6d86a4e4e7b", 37 | "5bf565343611c08f83e4420e8b1577ace8cc4df5d5303aeb3c4e425f1080f836", 38 | "049d77949af1192534da28975f76d4f211315dce1e36f93ffcf2a555de516b28", 39 | "407e5a952f145de7da53533de8366bbd2e0c854721a204f03906dc82fde10f48", 40 | "1c925d9052849edddcf04d5f1f0d4ff183a66b66eb820f59b675aee121cfc63c", 41 | "07d7c41b02158a9c5eac212ed6d7c2cddeb8e38baea6e93e1a00b2e83e2a0995" 42 | ] 43 | }, 44 | "A_bar": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7", 45 | "B_bar": "b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0", 46 | "D": "b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af3", 47 | "T1": "8b497dd4dcdcf7eb58c9b43e57e06bcea3468a223ae2fc015d7a86506a952d68055e73f5a5847e58f133ea154256d0da", 48 | "T2": "8655584d3da1313f881f48c239384a5623d2d292f08dae7ac1d8129c19a02a89b82fa45de3f6c2c439510fce5919656f", 49 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b", 50 | "challenge": "1bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558" 51 | } 52 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof010.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (re-ordered messages)", 3 | "signerPublicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5", 4 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 4, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af356dd39bf8bcbfd41bf95d913f4c9b2979e1ed2ca10ac7e881bb6a271722549681e398d29e9ba4eac8848b168eddd5e4acec7df4103e2ed165e6e32edc80f0a3b28c36fb39ca19b4b8acee570deadba2da9ec20d1f236b571e0d4c2ea3b826fe924175ed4dfffbf18a9cfa98546c241efb9164c444d970e8c89849bc8601e96cf228fdefe38ab3b7e289cac859e68d9cbb0e648faf692b27df5ff6539c30da17e5444a65143de02ca64cee7b0823be65865cdc310be038ec6b594b99280072ae067bad1117b0ff3201a5506a8533b925c7ffae9cdb64558857db0ac5f5e0f18e750ae77ec9cf35263474fef3f78138c7a1ef5cfbc878975458239824fad3ce05326ba3969b1f5451bd82bd1f8075f3d32ece2d61d89a064ab4804c3c892d651d11bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558", 26 | "result": { 27 | "valid": false, 28 | "reason": "re-ordered messages" 29 | }, 30 | "trace": { 31 | "random_scalars": { 32 | "r1": "5ee9426ae206e3a127eb53c79044bc9ed1b71354f8354b01bf410a02220be7d0", 33 | "r2": "280d4fcc38376193ffc777b68459ed7ba897e2857f938581acf95ae5a68988f3", 34 | "e_tilde": "39966b00042fc43906297d692ebb41de08e36aada8d9504d4e0ae02ad59e9230", 35 | "r1_tilde": "61f5c273999b0b50be8f84d2380eb9220fc5a88afe144efc4007545f0ab9c089", 36 | "r3_tilde": "63af117e0c8b7d2f1f3e375fcf5d9430e136ff0f7e879423e49dadc401a50089", 37 | "m_tilde_scalars": [ 38 | "020b83ca2ab319cba0744d6d58da75ac3dfb6ba682bfce2587c5a6d86a4e4e7b", 39 | "5bf565343611c08f83e4420e8b1577ace8cc4df5d5303aeb3c4e425f1080f836", 40 | "049d77949af1192534da28975f76d4f211315dce1e36f93ffcf2a555de516b28", 41 | "407e5a952f145de7da53533de8366bbd2e0c854721a204f03906dc82fde10f48", 42 | "1c925d9052849edddcf04d5f1f0d4ff183a66b66eb820f59b675aee121cfc63c", 43 | "07d7c41b02158a9c5eac212ed6d7c2cddeb8e38baea6e93e1a00b2e83e2a0995" 44 | ] 45 | }, 46 | "A_bar": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7", 47 | "B_bar": "b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0", 48 | "D": "b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af3", 49 | "T1": "8b497dd4dcdcf7eb58c9b43e57e06bcea3468a223ae2fc015d7a86506a952d68055e73f5a5847e58f133ea154256d0da", 50 | "T2": "8655584d3da1313f881f48c239384a5623d2d292f08dae7ac1d8129c19a02a89b82fa45de3f6c2c439510fce5919656f", 51 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b", 52 | "challenge": "1bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558" 53 | } 54 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof011.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (extra valid message, modified total message count)", 3 | "signerPublicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5", 4 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "", 18 | "" 19 | ], 20 | "disclosedIndexes": [ 21 | 0, 22 | 2, 23 | 4, 24 | 6, 25 | 9 26 | ], 27 | "proof": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af356dd39bf8bcbfd41bf95d913f4c9b2979e1ed2ca10ac7e881bb6a271722549681e398d29e9ba4eac8848b168eddd5e4acec7df4103e2ed165e6e32edc80f0a3b28c36fb39ca19b4b8acee570deadba2da9ec20d1f236b571e0d4c2ea3b826fe924175ed4dfffbf18a9cfa98546c241efb9164c444d970e8c89849bc8601e96cf228fdefe38ab3b7e289cac859e68d9cbb0e648faf692b27df5ff6539c30da17e5444a65143de02ca64cee7b0823be65865cdc310be038ec6b594b99280072ae067bad1117b0ff3201a5506a8533b925c7ffae9cdb64558857db0ac5f5e0f18e750ae77ec9cf35263474fef3f78138c7a1ef5cfbc878975458239824fad3ce05326ba3969b1f5451bd82bd1f8075f3d32ece2d61d89a064ab4804c3c892d651d11bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558", 28 | "result": { 29 | "valid": false, 30 | "reason": "extra valid message, modified total message count" 31 | }, 32 | "trace": { 33 | "random_scalars": { 34 | "r1": "5ee9426ae206e3a127eb53c79044bc9ed1b71354f8354b01bf410a02220be7d0", 35 | "r2": "280d4fcc38376193ffc777b68459ed7ba897e2857f938581acf95ae5a68988f3", 36 | "e_tilde": "39966b00042fc43906297d692ebb41de08e36aada8d9504d4e0ae02ad59e9230", 37 | "r1_tilde": "61f5c273999b0b50be8f84d2380eb9220fc5a88afe144efc4007545f0ab9c089", 38 | "r3_tilde": "63af117e0c8b7d2f1f3e375fcf5d9430e136ff0f7e879423e49dadc401a50089", 39 | "m_tilde_scalars": [ 40 | "020b83ca2ab319cba0744d6d58da75ac3dfb6ba682bfce2587c5a6d86a4e4e7b", 41 | "5bf565343611c08f83e4420e8b1577ace8cc4df5d5303aeb3c4e425f1080f836", 42 | "049d77949af1192534da28975f76d4f211315dce1e36f93ffcf2a555de516b28", 43 | "407e5a952f145de7da53533de8366bbd2e0c854721a204f03906dc82fde10f48", 44 | "1c925d9052849edddcf04d5f1f0d4ff183a66b66eb820f59b675aee121cfc63c", 45 | "07d7c41b02158a9c5eac212ed6d7c2cddeb8e38baea6e93e1a00b2e83e2a0995" 46 | ] 47 | }, 48 | "A_bar": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7", 49 | "B_bar": "b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0", 50 | "D": "b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af3", 51 | "T1": "8b497dd4dcdcf7eb58c9b43e57e06bcea3468a223ae2fc015d7a86506a952d68055e73f5a5847e58f133ea154256d0da", 52 | "T2": "8655584d3da1313f881f48c239384a5623d2d292f08dae7ac1d8129c19a02a89b82fa45de3f6c2c439510fce5919656f", 53 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b", 54 | "challenge": "1bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558" 55 | } 56 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof012.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (truncated proof, one less undisclosed message)", 3 | "signerPublicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5", 4 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af356dd39bf8bcbfd41bf95d913f4c9b2979e1ed2ca10ac7e881bb6a271722549681e398d29e9ba4eac8848b168eddd5e4acec7df4103e2ed165e6e32edc80f0a3b28c36fb39ca19b4b8acee570deadba2da9ec20d1f236b571e0d4c2ea3b826fe924175ed4dfffbf18a9cfa98546c241efb9164c444d970e8c89849bc8601e96cf228fdefe38ab3b7e289cac859e68d9cbb0e648faf692b27df5ff6539c30da17e5444a65143de02ca64cee7b0823be65865cdc310be038ec6b594b99280072ae067bad1117b0ff3201a5506a8533b925c7ffae9cdb64558857db0ac5f5e0f18e750ae77ec9cf35263474fef3f78138c7a1ef5cfbc878975458239824fad3ce05326ba3969b1f5451bd82bd1f8075f3d32ece2d61d89a064ab4804c3c892d651d1", 26 | "result": { 27 | "valid": false, 28 | "reason": "truncated proof, one less undisclosed message" 29 | }, 30 | "trace": { 31 | "random_scalars": { 32 | "r1": "5ee9426ae206e3a127eb53c79044bc9ed1b71354f8354b01bf410a02220be7d0", 33 | "r2": "280d4fcc38376193ffc777b68459ed7ba897e2857f938581acf95ae5a68988f3", 34 | "e_tilde": "39966b00042fc43906297d692ebb41de08e36aada8d9504d4e0ae02ad59e9230", 35 | "r1_tilde": "61f5c273999b0b50be8f84d2380eb9220fc5a88afe144efc4007545f0ab9c089", 36 | "r3_tilde": "63af117e0c8b7d2f1f3e375fcf5d9430e136ff0f7e879423e49dadc401a50089", 37 | "m_tilde_scalars": [ 38 | "020b83ca2ab319cba0744d6d58da75ac3dfb6ba682bfce2587c5a6d86a4e4e7b", 39 | "5bf565343611c08f83e4420e8b1577ace8cc4df5d5303aeb3c4e425f1080f836", 40 | "049d77949af1192534da28975f76d4f211315dce1e36f93ffcf2a555de516b28", 41 | "407e5a952f145de7da53533de8366bbd2e0c854721a204f03906dc82fde10f48", 42 | "1c925d9052849edddcf04d5f1f0d4ff183a66b66eb820f59b675aee121cfc63c", 43 | "07d7c41b02158a9c5eac212ed6d7c2cddeb8e38baea6e93e1a00b2e83e2a0995" 44 | ] 45 | }, 46 | "A_bar": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7", 47 | "B_bar": "b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0", 48 | "D": "b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af3", 49 | "T1": "8b497dd4dcdcf7eb58c9b43e57e06bcea3468a223ae2fc015d7a86506a952d68055e73f5a5847e58f133ea154256d0da", 50 | "T2": "8655584d3da1313f881f48c239384a5623d2d292f08dae7ac1d8129c19a02a89b82fa45de3f6c2c439510fce5919656f", 51 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b", 52 | "challenge": "1bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558" 53 | } 54 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof013.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature, all messages revealed proof (different header)", 3 | "signerPublicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5", 4 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 5 | "header": "ffeeddccbbaa00998877665544332211", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af356dd39bf8bcbfd41bf95d913f4c9b2979e1ed2ca10ac7e881bb6a271722549681e398d29e9ba4eac8848b168eddd5e4acec7df4103e2ed165e6e32edc80f0a3b28c36fb39ca19b4b8acee570deadba2da9ec20d1f236b571e0d4c2ea3b826fe924175ed4dfffbf18a9cfa98546c241efb9164c444d970e8c89849bc8601e96cf228fdefe38ab3b7e289cac859e68d9cbb0e648faf692b27df5ff6539c30da17e5444a65143de02ca64cee7b0823be65865cdc310be038ec6b594b99280072ae067bad1117b0ff3201a5506a8533b925c7ffae9cdb64558857db0ac5f5e0f18e750ae77ec9cf35263474fef3f78138c7a1ef5cfbc878975458239824fad3ce05326ba3969b1f5451bd82bd1f8075f3d32ece2d61d89a064ab4804c3c892d651d11bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558", 26 | "result": { 27 | "valid": false, 28 | "reason": "different header" 29 | }, 30 | "trace": { 31 | "random_scalars": { 32 | "r1": "5ee9426ae206e3a127eb53c79044bc9ed1b71354f8354b01bf410a02220be7d0", 33 | "r2": "280d4fcc38376193ffc777b68459ed7ba897e2857f938581acf95ae5a68988f3", 34 | "e_tilde": "39966b00042fc43906297d692ebb41de08e36aada8d9504d4e0ae02ad59e9230", 35 | "r1_tilde": "61f5c273999b0b50be8f84d2380eb9220fc5a88afe144efc4007545f0ab9c089", 36 | "r3_tilde": "63af117e0c8b7d2f1f3e375fcf5d9430e136ff0f7e879423e49dadc401a50089", 37 | "m_tilde_scalars": [ 38 | "020b83ca2ab319cba0744d6d58da75ac3dfb6ba682bfce2587c5a6d86a4e4e7b", 39 | "5bf565343611c08f83e4420e8b1577ace8cc4df5d5303aeb3c4e425f1080f836", 40 | "049d77949af1192534da28975f76d4f211315dce1e36f93ffcf2a555de516b28", 41 | "407e5a952f145de7da53533de8366bbd2e0c854721a204f03906dc82fde10f48", 42 | "1c925d9052849edddcf04d5f1f0d4ff183a66b66eb820f59b675aee121cfc63c", 43 | "07d7c41b02158a9c5eac212ed6d7c2cddeb8e38baea6e93e1a00b2e83e2a0995" 44 | ] 45 | }, 46 | "A_bar": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7", 47 | "B_bar": "b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0", 48 | "D": "b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af3", 49 | "T1": "8b497dd4dcdcf7eb58c9b43e57e06bcea3468a223ae2fc015d7a86506a952d68055e73f5a5847e58f133ea154256d0da", 50 | "T2": "8655584d3da1313f881f48c239384a5623d2d292f08dae7ac1d8129c19a02a89b82fa45de3f6c2c439510fce5919656f", 51 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b", 52 | "challenge": "1bc325464a71cd7aacc2d956a811aaff13ea4c35cef7842b656e8ba4758e7558" 53 | } 54 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof014.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "valid multi-message signature, multiple messages revealed proof, no header", 3 | "signerPublicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5", 4 | "signature": "88beeb970f803160d3058eacde505207c576a8c9e4e5dc7c5249cbcf2a046c15f8df047031eef3436e04b779d92a9cdb1fe4c6cc035ba1634f1740f9dd49816d3ca745ecbe39f655ea61fb700137fded", 5 | "header": "", 6 | "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "8ac336eea1d278656372d9914483c3d3b3069dfa4a7862293ac021dfeeebca93cadd7eb2b818f7b89719cdeffa5aa85989a7d691be11b1929a2bf089bfe9f2adc2c06788edc30585546efb74877f34ad91f0d6923b4ed7a53c49051dda8d056a95644ee738810772d90c1033f1dfe45c0b1b453d131170aafa8a99f812f3b90a5d1d9e6bd05a4dee6a50dd277ffc646f2429372f3ad9d5946ffeb53f24d41ffcc83c32cbb68afc9b6e0b64eebd24c69c6a7bd3bca8a6394ed8ae315abd555a6996f34d9da7680447947b3f35f54c38b562e990ee4d17a21569af4fc02f2991e6db78cc32d3ef9f6069fc5c2d47c8d8ff116dfb8a59641641961b854427f67649df14ab6e63f2d0d2a0cba2b2e1e835d20cd45e41f274532e9d50f31a690e5fef1c1456b65c668b80d8ec17b09bd5fb3b2c4edd6d6f5f790a5d6da22eb9a1aa2196d1a607f3c753813ba2bc6ece15d35263218fc7667c5f0fabfffe74745a8000e0415c8dafd5654ce6850ac2c6485d02433fdaebd9993f8b86a2eebb3beb10b4cc7735330384a3f4dfd4d5b21998ad0227b37e736cf9c144a0386f28cccf27a01e50aab45dda8275eb877728e77d2055309dba8c6604e7cff0d2c46ce6026b8e232c192955f909da6e47c2130c7e3f4f", 26 | "result": { 27 | "valid": true 28 | }, 29 | "trace": { 30 | "random_scalars": { 31 | "r1": "5ee9426ae206e3a127eb53c79044bc9ed1b71354f8354b01bf410a02220be7d0", 32 | "r2": "280d4fcc38376193ffc777b68459ed7ba897e2857f938581acf95ae5a68988f3", 33 | "e_tilde": "39966b00042fc43906297d692ebb41de08e36aada8d9504d4e0ae02ad59e9230", 34 | "r1_tilde": "61f5c273999b0b50be8f84d2380eb9220fc5a88afe144efc4007545f0ab9c089", 35 | "r3_tilde": "63af117e0c8b7d2f1f3e375fcf5d9430e136ff0f7e879423e49dadc401a50089", 36 | "m_tilde_scalars": [ 37 | "020b83ca2ab319cba0744d6d58da75ac3dfb6ba682bfce2587c5a6d86a4e4e7b", 38 | "5bf565343611c08f83e4420e8b1577ace8cc4df5d5303aeb3c4e425f1080f836", 39 | "049d77949af1192534da28975f76d4f211315dce1e36f93ffcf2a555de516b28", 40 | "407e5a952f145de7da53533de8366bbd2e0c854721a204f03906dc82fde10f48", 41 | "1c925d9052849edddcf04d5f1f0d4ff183a66b66eb820f59b675aee121cfc63c", 42 | "07d7c41b02158a9c5eac212ed6d7c2cddeb8e38baea6e93e1a00b2e83e2a0995" 43 | ] 44 | }, 45 | "A_bar": "8ac336eea1d278656372d9914483c3d3b3069dfa4a7862293ac021dfeeebca93cadd7eb2b818f7b89719cdeffa5aa859", 46 | "B_bar": "89a7d691be11b1929a2bf089bfe9f2adc2c06788edc30585546efb74877f34ad91f0d6923b4ed7a53c49051dda8d056a", 47 | "D": "95644ee738810772d90c1033f1dfe45c0b1b453d131170aafa8a99f812f3b90a5d1d9e6bd05a4dee6a50dd277ffc646f", 48 | "T1": "a5405cc2c5965dda18714ab35f4d4a7ae4024f388fa7a5ba71202d4455b50b316ec37b360659e3012234562fa8989980", 49 | "T2": "9827a40454cdc90a70e9c927f097019dbdd84768babb10ebcb460c2d918e1ce1c0512bf2cc49ed7ec476dfcde7a6a10c", 50 | "domain": "333d8686761cff65a3a2ef20bfa217d37bdf19105e87c210e9ce64ea1210a157", 51 | "challenge": "309dba8c6604e7cff0d2c46ce6026b8e232c192955f909da6e47c2130c7e3f4f" 52 | } 53 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof015.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "valid multi-message signature, multiple messages revealed proof, no presentation header", 3 | "signerPublicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5", 4 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 5 | "header": "11223344556677889900aabbccddeeff", 6 | "presentationHeader": "", 7 | "messages": [ 8 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 9 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 10 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 11 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 12 | "496694774c5604ab1b2544eababcf0f53278ff50", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "d183ddc6e2665aa4e2f088af", 15 | "ac55fb33a75909ed", 16 | "96012096", 17 | "" 18 | ], 19 | "disclosedIndexes": [ 20 | 0, 21 | 2, 22 | 4, 23 | 6 24 | ], 25 | "proof": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af33fda9e14ba4cc0fcad8015bce3fecc4704799bef9924ab19688fc04f760c4da35017072a3e295788eff1b0dc2311bb199c186f86ea0540379d5a2ac8b7bd02d22487f2acc0e299115e16097b970badea802752a6fcb56cfbbcc2569916a8d3fe6d2d0fb1ae801cfc5ce056699adf23e3cd16b1fdf197deac099ab093da049a5b4451d038c71b7cc69e8390967594f6777a855c7f5d301f0f0573211ac85e2e165ea196f78c33f54092645a51341b777f0f5342301991f3da276c04b0224f7308090ae0b290d428a0570a71605a27977e7daf01d42dfbdcec252686c3060a73d81f6e151e23e3df2473b322da389f15a55cb2cd8a2bf29ef0d83d4876117735465fae956d8df56ec9eb0e4748ad3ef5587797368c51a0ccd67eb6da38602a1c2d4fd411214efc6932334ba0bcbf562626e7c0e1ae0db912c28d99f194fa3cd3a2", 26 | "result": { 27 | "valid": true 28 | }, 29 | "trace": { 30 | "random_scalars": { 31 | "r1": "5ee9426ae206e3a127eb53c79044bc9ed1b71354f8354b01bf410a02220be7d0", 32 | "r2": "280d4fcc38376193ffc777b68459ed7ba897e2857f938581acf95ae5a68988f3", 33 | "e_tilde": "39966b00042fc43906297d692ebb41de08e36aada8d9504d4e0ae02ad59e9230", 34 | "r1_tilde": "61f5c273999b0b50be8f84d2380eb9220fc5a88afe144efc4007545f0ab9c089", 35 | "r3_tilde": "63af117e0c8b7d2f1f3e375fcf5d9430e136ff0f7e879423e49dadc401a50089", 36 | "m_tilde_scalars": [ 37 | "020b83ca2ab319cba0744d6d58da75ac3dfb6ba682bfce2587c5a6d86a4e4e7b", 38 | "5bf565343611c08f83e4420e8b1577ace8cc4df5d5303aeb3c4e425f1080f836", 39 | "049d77949af1192534da28975f76d4f211315dce1e36f93ffcf2a555de516b28", 40 | "407e5a952f145de7da53533de8366bbd2e0c854721a204f03906dc82fde10f48", 41 | "1c925d9052849edddcf04d5f1f0d4ff183a66b66eb820f59b675aee121cfc63c", 42 | "07d7c41b02158a9c5eac212ed6d7c2cddeb8e38baea6e93e1a00b2e83e2a0995" 43 | ] 44 | }, 45 | "A_bar": "b1f8bf99a11c39f04e2a032183c1ead12956ad322dd06799c50f20fb8cf6b0ac279210ef5a2920a7be3ec2aa0911ace7", 46 | "B_bar": "b96811a98f3c1cceba4a2147ae763b3ba036f47bc21c39179f2b395e0ab1ac49017ea5b27848547bedd27be481c1dfc0", 47 | "D": "b73372346feb94ab16189d4c525652b8d3361bab43463700720ecfb0ee75e595ea1b13330615011050a0dfcffdb21af3", 48 | "T1": "8b497dd4dcdcf7eb58c9b43e57e06bcea3468a223ae2fc015d7a86506a952d68055e73f5a5847e58f133ea154256d0da", 49 | "T2": "8655584d3da1313f881f48c239384a5623d2d292f08dae7ac1d8129c19a02a89b82fa45de3f6c2c439510fce5919656f", 50 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b", 51 | "challenge": "4fd411214efc6932334ba0bcbf562626e7c0e1ae0db912c28d99f194fa3cd3a2" 52 | } 53 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/signature/signature001.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "valid single message signature", 3 | "signerKeyPair": { 4 | "secretKey": "2eee0f60a8a3a8bec0ee942bfd46cbdae9a0738ee68f5a64e7238311cf09a079", 5 | "publicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5" 6 | }, 7 | "header": "11223344556677889900aabbccddeeff", 8 | "messages": [ 9 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02" 10 | ], 11 | "signature": "b9a622a4b404e6ca4c85c15739d2124a1deb16df750be202e2430e169bc27fb71c44d98e6d40792033e1c452145ada95030832c5dc778334f2f1b528eced21b0b97a12025a283d78b7136bb9825d04ef", 12 | "result": { 13 | "valid": true 14 | }, 15 | "trace": { 16 | "B": "8bbc8c123d3f128f206dd0d2dae490e82af08b84e8d70af3dc291d32a6e98f635beefcc4533b2599804a164aabe68d7c", 17 | "domain": "2f18dd269c11c512256a9d1d57e61a7d2de6ebcf41cac3053f37afedc4e650a9" 18 | } 19 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/signature/signature002.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid single message signature (modified message)", 3 | "signerKeyPair": { 4 | "secretKey": "2eee0f60a8a3a8bec0ee942bfd46cbdae9a0738ee68f5a64e7238311cf09a079", 5 | "publicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5" 6 | }, 7 | "header": "11223344556677889900aabbccddeeff", 8 | "messages": [ 9 | "" 10 | ], 11 | "signature": "b9a622a4b404e6ca4c85c15739d2124a1deb16df750be202e2430e169bc27fb71c44d98e6d40792033e1c452145ada95030832c5dc778334f2f1b528eced21b0b97a12025a283d78b7136bb9825d04ef", 12 | "result": { 13 | "valid": false, 14 | "reason": "modified message" 15 | }, 16 | "trace": { 17 | "B": "8bbc8c123d3f128f206dd0d2dae490e82af08b84e8d70af3dc291d32a6e98f635beefcc4533b2599804a164aabe68d7c", 18 | "domain": "2f18dd269c11c512256a9d1d57e61a7d2de6ebcf41cac3053f37afedc4e650a9" 19 | } 20 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/signature/signature003.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid single message signature (extra unsigned message)", 3 | "signerKeyPair": { 4 | "secretKey": "2eee0f60a8a3a8bec0ee942bfd46cbdae9a0738ee68f5a64e7238311cf09a079", 5 | "publicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5" 6 | }, 7 | "header": "11223344556677889900aabbccddeeff", 8 | "messages": [ 9 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 10 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80" 11 | ], 12 | "signature": "b9a622a4b404e6ca4c85c15739d2124a1deb16df750be202e2430e169bc27fb71c44d98e6d40792033e1c452145ada95030832c5dc778334f2f1b528eced21b0b97a12025a283d78b7136bb9825d04ef", 13 | "result": { 14 | "valid": false, 15 | "reason": "extra unsigned message" 16 | }, 17 | "trace": { 18 | "B": "8bbc8c123d3f128f206dd0d2dae490e82af08b84e8d70af3dc291d32a6e98f635beefcc4533b2599804a164aabe68d7c", 19 | "domain": "2f18dd269c11c512256a9d1d57e61a7d2de6ebcf41cac3053f37afedc4e650a9" 20 | } 21 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/signature/signature004.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "valid multi-message signature", 3 | "signerKeyPair": { 4 | "secretKey": "2eee0f60a8a3a8bec0ee942bfd46cbdae9a0738ee68f5a64e7238311cf09a079", 5 | "publicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5" 6 | }, 7 | "header": "11223344556677889900aabbccddeeff", 8 | "messages": [ 9 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 10 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 11 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 12 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 13 | "496694774c5604ab1b2544eababcf0f53278ff50", 14 | "515ae153e22aae04ad16f759e07237b4", 15 | "d183ddc6e2665aa4e2f088af", 16 | "ac55fb33a75909ed", 17 | "96012096", 18 | "" 19 | ], 20 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 21 | "result": { 22 | "valid": true 23 | }, 24 | "trace": { 25 | "B": "ae8d4ebe248b9ad9c933d5661bfb46c56721fba2a1182ddda7e8fb443bda3c0a571ad018ad31d0b6d1f4e8b985e6c58d", 26 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b" 27 | } 28 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/signature/signature005.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature (missing messages)", 3 | "signerKeyPair": { 4 | "secretKey": "2eee0f60a8a3a8bec0ee942bfd46cbdae9a0738ee68f5a64e7238311cf09a079", 5 | "publicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5" 6 | }, 7 | "header": "11223344556677889900aabbccddeeff", 8 | "messages": [ 9 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 10 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80" 11 | ], 12 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 13 | "result": { 14 | "valid": false, 15 | "reason": "missing messages" 16 | }, 17 | "trace": { 18 | "B": "ae8d4ebe248b9ad9c933d5661bfb46c56721fba2a1182ddda7e8fb443bda3c0a571ad018ad31d0b6d1f4e8b985e6c58d", 19 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b" 20 | } 21 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/signature/signature006.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature (re-ordered messages)", 3 | "signerKeyPair": { 4 | "secretKey": "2eee0f60a8a3a8bec0ee942bfd46cbdae9a0738ee68f5a64e7238311cf09a079", 5 | "publicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5" 6 | }, 7 | "header": "11223344556677889900aabbccddeeff", 8 | "messages": [ 9 | "", 10 | "96012096", 11 | "ac55fb33a75909ed", 12 | "d183ddc6e2665aa4e2f088af", 13 | "515ae153e22aae04ad16f759e07237b4", 14 | "496694774c5604ab1b2544eababcf0f53278ff50", 15 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 16 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 17 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 18 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02" 19 | ], 20 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 21 | "result": { 22 | "valid": false, 23 | "reason": "re-ordered messages" 24 | }, 25 | "trace": { 26 | "B": "ae8d4ebe248b9ad9c933d5661bfb46c56721fba2a1182ddda7e8fb443bda3c0a571ad018ad31d0b6d1f4e8b985e6c58d", 27 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b" 28 | } 29 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/signature/signature007.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature (wrong public key)", 3 | "signerKeyPair": { 4 | "secretKey": "2eee0f60a8a3a8bec0ee942bfd46cbdae9a0738ee68f5a64e7238311cf09a079", 5 | "publicKey": "b24c723803f84e210f7a95f6265c5cbfa4ecc51488bf7acf24b921807801c0798b725b9a2dcfa29953efcdfef03328720196c78b2e613727fd6e085302a0cc2d8d7e1d820cf1d36b20e79eee78c13a1a5da51a298f1aef86f07bc33388f089d8" 6 | }, 7 | "header": "11223344556677889900aabbccddeeff", 8 | "messages": [ 9 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 10 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 11 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 12 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 13 | "496694774c5604ab1b2544eababcf0f53278ff50", 14 | "515ae153e22aae04ad16f759e07237b4", 15 | "d183ddc6e2665aa4e2f088af", 16 | "ac55fb33a75909ed", 17 | "96012096", 18 | "" 19 | ], 20 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 21 | "result": { 22 | "valid": false, 23 | "reason": "wrong public key" 24 | }, 25 | "trace": { 26 | "B": "ae8d4ebe248b9ad9c933d5661bfb46c56721fba2a1182ddda7e8fb443bda3c0a571ad018ad31d0b6d1f4e8b985e6c58d", 27 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b" 28 | } 29 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/signature/signature008.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature (different header)", 3 | "signerKeyPair": { 4 | "secretKey": "2eee0f60a8a3a8bec0ee942bfd46cbdae9a0738ee68f5a64e7238311cf09a079", 5 | "publicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5" 6 | }, 7 | "header": "ffeeddccbbaa00998877665544332211", 8 | "messages": [ 9 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 10 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 11 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 12 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 13 | "496694774c5604ab1b2544eababcf0f53278ff50", 14 | "515ae153e22aae04ad16f759e07237b4", 15 | "d183ddc6e2665aa4e2f088af", 16 | "ac55fb33a75909ed", 17 | "96012096", 18 | "" 19 | ], 20 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 21 | "result": { 22 | "valid": false, 23 | "reason": "different header" 24 | }, 25 | "trace": { 26 | "B": "ae8d4ebe248b9ad9c933d5661bfb46c56721fba2a1182ddda7e8fb443bda3c0a571ad018ad31d0b6d1f4e8b985e6c58d", 27 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b" 28 | } 29 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/signature/signature009.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "invalid multi-message signature (re-ordered(randomly shuffled) messages)", 3 | "signerKeyPair": { 4 | "secretKey": "2eee0f60a8a3a8bec0ee942bfd46cbdae9a0738ee68f5a64e7238311cf09a079", 5 | "publicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5" 6 | }, 7 | "header": "11223344556677889900aabbccddeeff", 8 | "messages": [ 9 | "", 10 | "96012096", 11 | "496694774c5604ab1b2544eababcf0f53278ff50", 12 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 13 | "ac55fb33a75909ed", 14 | "d183ddc6e2665aa4e2f088af", 15 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 16 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 17 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 18 | "515ae153e22aae04ad16f759e07237b4" 19 | ], 20 | "signature": "956a3427b1b8e3642e60e6a7990b67626811adeec7a0a6cb4f770cdd7c20cf08faabb913ac94d18e1e92832e924cb6e202912b624261fc6c59b0fea801547f67fb7d3253e1e2acbcf90ef59a6911931e", 21 | "result": { 22 | "valid": false, 23 | "reason": "re-ordered(randomly shuffled) messages" 24 | }, 25 | "trace": { 26 | "B": "ae8d4ebe248b9ad9c933d5661bfb46c56721fba2a1182ddda7e8fb443bda3c0a571ad018ad31d0b6d1f4e8b985e6c58d", 27 | "domain": "6f7ee8de30835599bb540d2cb4dd02fd0c6cf8246f14c9ee9a8463f7fd400f7b" 28 | } 29 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/bls12-381-shake-256/signature/signature010.json: -------------------------------------------------------------------------------- 1 | { 2 | "caseName": "valid multi-message signature, no header", 3 | "signerKeyPair": { 4 | "secretKey": "2eee0f60a8a3a8bec0ee942bfd46cbdae9a0738ee68f5a64e7238311cf09a079", 5 | "publicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5" 6 | }, 7 | "header": "", 8 | "messages": [ 9 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 10 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 11 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 12 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 13 | "496694774c5604ab1b2544eababcf0f53278ff50", 14 | "515ae153e22aae04ad16f759e07237b4", 15 | "d183ddc6e2665aa4e2f088af", 16 | "ac55fb33a75909ed", 17 | "96012096", 18 | "" 19 | ], 20 | "signature": "88beeb970f803160d3058eacde505207c576a8c9e4e5dc7c5249cbcf2a046c15f8df047031eef3436e04b779d92a9cdb1fe4c6cc035ba1634f1740f9dd49816d3ca745ecbe39f655ea61fb700137fded", 21 | "result": { 22 | "valid": true 23 | }, 24 | "trace": { 25 | "B": "8607ebc413b397c1e27ce591d1daa39f73da329018bda0f90bf996355cc28c3cdba19feeb81e35be9e1503a018e4086e", 26 | "domain": "333d8686761cff65a3a2ef20bfa217d37bdf19105e87c210e9ce64ea1210a157" 27 | } 28 | } -------------------------------------------------------------------------------- /tooling/fixtures/fixture_data/messages.json: -------------------------------------------------------------------------------- 1 | [ 2 | "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", 3 | "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", 4 | "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", 5 | "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", 6 | "496694774c5604ab1b2544eababcf0f53278ff50", 7 | "515ae153e22aae04ad16f759e07237b4", 8 | "d183ddc6e2665aa4e2f088af", 9 | "ac55fb33a75909ed", 10 | "96012096", 11 | "" 12 | ] -------------------------------------------------------------------------------- /tooling/fixtures/index.ts: -------------------------------------------------------------------------------- 1 | import { promises } from "fs"; 2 | import * as path from "path"; 3 | import * as fixtures from "./fetchFixtures"; 4 | import get from "lodash.get"; 5 | 6 | // matching lines of the form "name = {{ $ }}" (for 7 | // example "m_1 = {{ $messages[1] }}" etc). 8 | const VARIABLE_REGEX = /(([^\S\n\t]*[a-zA-Z0-9_~]+\d*)\s=\s)?({{ \$)([a-zA-Z_|.|\-|\d|\[|\]]*)( }},?)$/gm 9 | 10 | const DRAFT_NAME = "../../draft-irtf-cfrg-bbs-signatures.md"; 11 | 12 | const main = async () => { 13 | // Read the text of the draft out 14 | const filePath = path.join(process.env.PWD as string, DRAFT_NAME); 15 | let fileContents = (await promises.readFile(filePath)).toString(); 16 | 17 | const results = Array.from(fileContents.matchAll(VARIABLE_REGEX)).map( 18 | (item: any) => { 19 | return { match: "{{ $" + item[4] + " }}", path: item[4], intent: item[1] }; 20 | } 21 | ); 22 | 23 | results.forEach((result) => { 24 | var value = get(fixtures, result.path); 25 | 26 | // handle values that are arrays 27 | if (Array.isArray(value)) { 28 | let array_value = "[ "; 29 | for (let el of value.slice(0, -1)) { 30 | array_value = array_value + el + ", "; 31 | } 32 | array_value = array_value + value.slice(-1) + " ]"; 33 | value = array_value; 34 | } 35 | 36 | value = "\x22" + value + "\x22"; 37 | 38 | let intent_len = result.intent ? result.intent.length : 0; 39 | let max_len = 71 - intent_len; 40 | if (max_len <= 0) {throw Error("Not enough space in the line to add the fixture")} 41 | 42 | // make everything 72 chars long 43 | if (value.length + intent_len > 72) { 44 | value = value.slice(0, max_len + 1) + "\n" + " ".repeat(intent_len + 1) + value.slice(max_len + 1); 45 | } 46 | 47 | for (let i = 1; i < ~~(value.length/72); i++) { 48 | value = value.slice(0, 145 - intent_len + (i - 1)*73) + "\n" + " ".repeat(intent_len + 1) + value.slice(145 - intent_len + (i - 1)*73); 49 | } 50 | 51 | // remove trailing whitespace from the value to be added in the draft 52 | value = value.trim(); 53 | 54 | if (value || value === '') { 55 | fileContents = fileContents.replace(result.match, value); 56 | } 57 | }); 58 | 59 | // Write an updated copy of the file 60 | await promises.writeFile(filePath, fileContents); 61 | }; 62 | 63 | main(); 64 | -------------------------------------------------------------------------------- /tooling/fixtures/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bbs-signature-fixture-population", 3 | "version": "0.1.0", 4 | "license": "Apache-2.0", 5 | "private": false, 6 | "scripts": { 7 | "populate-fixtures": "ts-node index.ts" 8 | }, 9 | "devDependencies": { 10 | "@types/node": "14.0.27", 11 | "@types/lodash.get": "4.4.6", 12 | "lodash.get": "4.4.2", 13 | "require-all": "^3.0.0", 14 | "ts-node": "10.4.0", 15 | "typescript": "4.5.5" 16 | } 17 | } -------------------------------------------------------------------------------- /tooling/fixtures/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "es2021", 5 | "sourceMap": true, 6 | "allowJs": false, 7 | "moduleResolution": "node", 8 | "strict": true, 9 | "declaration": true, 10 | "downlevelIteration": true, 11 | "baseUrl": ".", 12 | "esModuleInterop": true, 13 | "resolveJsonModule": true, 14 | "outDir": "./bin", 15 | "types": ["jest", "node"] 16 | }, 17 | "include": ["./src"] 18 | } -------------------------------------------------------------------------------- /tooling/fixtures/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@cspotcode/source-map-consumer@0.8.0": 6 | version "0.8.0" 7 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" 8 | integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== 9 | 10 | "@cspotcode/source-map-support@0.7.0": 11 | version "0.7.0" 12 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5" 13 | integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA== 14 | dependencies: 15 | "@cspotcode/source-map-consumer" "0.8.0" 16 | 17 | "@tsconfig/node10@^1.0.7": 18 | version "1.0.8" 19 | resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" 20 | integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== 21 | 22 | "@tsconfig/node12@^1.0.7": 23 | version "1.0.9" 24 | resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" 25 | integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== 26 | 27 | "@tsconfig/node14@^1.0.0": 28 | version "1.0.1" 29 | resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" 30 | integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== 31 | 32 | "@tsconfig/node16@^1.0.2": 33 | version "1.0.2" 34 | resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" 35 | integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== 36 | 37 | "@types/lodash.get@4.4.6": 38 | version "4.4.6" 39 | resolved "https://registry.yarnpkg.com/@types/lodash.get/-/lodash.get-4.4.6.tgz#0c7ac56243dae0f9f09ab6f75b29471e2e777240" 40 | integrity sha512-E6zzjR3GtNig8UJG/yodBeJeIOtgPkMgsLjDU3CbgCAPC++vJ0eCMnJhVpRZb/ENqEFlov1+3K9TKtY4UdWKtQ== 41 | dependencies: 42 | "@types/lodash" "*" 43 | 44 | "@types/lodash@*": 45 | version "4.14.178" 46 | resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.178.tgz#341f6d2247db528d4a13ddbb374bcdc80406f4f8" 47 | integrity sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw== 48 | 49 | "@types/node@14.0.27": 50 | version "14.0.27" 51 | resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.27.tgz#a151873af5a5e851b51b3b065c9e63390a9e0eb1" 52 | integrity sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g== 53 | 54 | acorn-walk@^8.1.1: 55 | version "8.2.0" 56 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" 57 | integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== 58 | 59 | acorn@^8.4.1: 60 | version "8.7.0" 61 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" 62 | integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== 63 | 64 | arg@^4.1.0: 65 | version "4.1.3" 66 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" 67 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== 68 | 69 | create-require@^1.1.0: 70 | version "1.1.1" 71 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" 72 | integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== 73 | 74 | diff@^4.0.1: 75 | version "4.0.2" 76 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" 77 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 78 | 79 | lodash.get@4.4.2: 80 | version "4.4.2" 81 | resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" 82 | integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= 83 | 84 | make-error@^1.1.1: 85 | version "1.3.6" 86 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 87 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 88 | 89 | require-all@^3.0.0: 90 | version "3.0.0" 91 | resolved "https://registry.yarnpkg.com/require-all/-/require-all-3.0.0.tgz#473d49704be310115ce124f77383b1ebd8671312" 92 | integrity sha1-Rz1JcEvjEBFc4ST3c4Ox69hnExI= 93 | 94 | ts-node@10.4.0: 95 | version "10.4.0" 96 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7" 97 | integrity sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A== 98 | dependencies: 99 | "@cspotcode/source-map-support" "0.7.0" 100 | "@tsconfig/node10" "^1.0.7" 101 | "@tsconfig/node12" "^1.0.7" 102 | "@tsconfig/node14" "^1.0.0" 103 | "@tsconfig/node16" "^1.0.2" 104 | acorn "^8.4.1" 105 | acorn-walk "^8.1.1" 106 | arg "^4.1.0" 107 | create-require "^1.1.0" 108 | diff "^4.0.1" 109 | make-error "^1.1.1" 110 | yn "3.1.1" 111 | 112 | typescript@4.5.5: 113 | version "4.5.5" 114 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" 115 | integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== 116 | 117 | yn@3.1.1: 118 | version "3.1.1" 119 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" 120 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== 121 | -------------------------------------------------------------------------------- /tooling/keygen/.gitignore: -------------------------------------------------------------------------------- 1 | Cargo.lock 2 | target/ 3 | -------------------------------------------------------------------------------- /tooling/keygen/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "keygen" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | bls12_381 = { version = "0.8.0", default-features = false, features = ["experimental", "groups"] } 8 | ff = { version = "0.13", default-features = false } 9 | group = "0.13" 10 | hex = "0.4" 11 | sha2 = "0.9" 12 | sha3 = "0.9" 13 | serde_json = "1.0" 14 | structopt = "0.3" 15 | serde = { version = "1.0", features = ["derive"] } 16 | -------------------------------------------------------------------------------- /tooling/keygen/README.md: -------------------------------------------------------------------------------- 1 | # Key Generation CLI 2 | 3 | A reference tool for creating a BBS key pair. 4 | 5 | ## Build 6 | 7 | You need to have Rust install. After, run the following from the current directory to build the tool 8 | 9 | ``` 10 | cargo build -p keygen 11 | ``` 12 | 13 | ## Running 14 | 15 | From the current directory, run the tool using 16 | 17 | ``` 18 | cargo run -p keygen -- -h 19 | ``` 20 | This will print the help screen with the following different options for using the tool. 21 | 22 | ``` 23 | USAGE: 24 | keygen [OPTIONS] 25 | 26 | FLAGS: 27 | -h, --help Prints help information 28 | -V, --version Prints version information 29 | 30 | OPTIONS: 31 | -f, --file 32 | --ikm [default: ] 33 | --key-info [default: ] 34 | -o, --out [default: Print] 35 | ``` 36 | 37 | Note: The `` and `` are the following. 38 | 39 | ``` 40 | DEFAULT IKM = 746869732d49532d6a7573742d616e2d546573742d494b4d2d746f2d67656e65726174652d246528724074232d6b6579 41 | 42 | DEFAULT KEY_INFO = 746869732d49532d6a7573742d616e2d546573742d494b4d2d746f2d67656e65726174652d246528724074232d6b6579 43 | ``` 44 | 45 | ## Saving the key pair to a file 46 | From the current directory, run 47 | ``` 48 | cargo run -p keygen -- -o file 49 | ``` 50 | This will save the keygen to the default output direction `../fixtures/fixture_data/keyPair.json`. You can supply a new destination using 51 | ``` 52 | cargo run -p keygen -- -o file -f 53 | ``` 54 | Note: `` will be relative to the current directory, not the project's root. -------------------------------------------------------------------------------- /tooling/message-generators/.gitignore: -------------------------------------------------------------------------------- 1 | Cargo.lock 2 | target/ 3 | .idea/ 4 | -------------------------------------------------------------------------------- /tooling/message-generators/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "bbs-signature-generator-demo" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | bls12_381_plus = "0.5" 8 | ff = "0.10" 9 | group = "0.10" 10 | hex = "0.4" 11 | rand = { version = "0.8", features = ["std_rng"] } 12 | sha3 = "0.9" 13 | sha2 = "0.9" 14 | structopt = "0.3" 15 | serde_json = "1.0.59" 16 | serde = "1.0" 17 | -------------------------------------------------------------------------------- /tooling/message-generators/README.md: -------------------------------------------------------------------------------- 1 | # Message Generator CLI 2 | 3 | The following is a rust based tool used to produce the set of public parameters known as message generators which are used by the BBS Signature scheme. 4 | 5 | # Installation 6 | 7 | To build this CLI you must have rust installed. The recommended way to set this up is via [rustup](https://www.rust-lang.org/tools/install). 8 | 9 | # Build 10 | 11 | Run the following to build the CLI tool 12 | 13 | ```bash 14 | cargo build 15 | ``` 16 | 17 | # Running 18 | 19 | Run the following to produce the help screen for the CLI tool 20 | 21 | ```bash 22 | ./target/debug/bbs-signature-generator-demo -h 23 | ``` 24 | 25 | *Note* This CLI tool is used to automatically populate the `../fixtures/generators.json` file required by the spec tool which is responsible for automatically populating the spec with the latest fixtures. 26 | 27 | # Usage 28 | 29 | The CLI accepts two arguments 30 | 31 | ```bash 32 | USAGE: 33 | bbs-signature-generator-demo [OPTIONS] 34 | 35 | FLAGS: 36 | -h, --help Prints help information 37 | -V, --version Prints version information 38 | 39 | OPTIONS: 40 | -g, --generator-type [default: Global] 41 | -l, --length [default: 10] 42 | -s, --suite [default: Shake] 43 | ``` 44 | 45 | 1. `-g` accepted values are Global and Signer 46 | 1. Global creates the generators for a global setting 47 | 2. Signer creates the generators for a signer specific setting 48 | 2. `-l` accepts any positive integer 49 | 3. `-s` accepted values are Shake, xof, Sha and xmd 50 | 1. Shake or xof creates generators for the [BLS12-381-SHAKE-256](https://identity.foundation/bbs-signature/draft-irtf-cfrg-bbs-signatures.html#name-bls12-381-shake-256) ciphersuite 51 | 2. Sha or xmd creates generators for the [BLS12-381-SHA-256](https://identity.foundation/bbs-signature/draft-irtf-cfrg-bbs-signatures.html#name-bls12-381-sha-256) ciphersuite 52 | 53 | The demo will output the generators in compressed format hex encoded, an example of which is 54 | 55 | ``` 56 | G_1 = a9b48966d6ed474ff66dc68ec717704a6b4fe40c1cbcbd3f1ca4feeed708893868b879e1d2d3ee0af1cca5fa35c28dcd 57 | G_2 = 93db6ae63cf4491e2323ba5c5f5f4383f7bb7d333d6c2aa301f96c3c6afdb5bdce69f5ad3c908977b6c5febaf0840d61 58 | G_3 = a384953d5ea2f88219a91da5942d9ad3d76b9e2048eb22a1002659dc44e8a174167cfa191e7a7eefc6888cb90e72c8b3 59 | G_4 = a4961c6d98f4212cff26f51cc303c05ee699552042b65dfe45cc4f9f7f354ec458395405a879b45f898be3c31ac1e291 60 | G_5 = 904580545192ce5b623072e013e4172dac9a28ae28e4816b7f95b91cf8baa18504ac7025e1eff5dec935c228862c7359 61 | G_6 = 8e3803894adfd3e7882caa45199a7a4d51e797f09b56173d6d9b0e98f946736485d39a9c1451708e1958e4e1e4ece5d1 62 | G_7 = b6ceacbd6198d20d9f224395be3e9560fd50e97d3b061edc4eecfd186f738c0d0964dba23a48c8ca564c1af20a1e5d23 63 | G_8 = adc6113b820926ecd41a05082e0ada9a5625c20c591e2e6d7de1732730a67e06298d26054cdb7ec3ed12b6e92c817821 64 | G_9 = 85cf61e7a7a8b5074eeac147066366feab925e8239126da7e0c341deed5be180b34808a8275e2ffc476ce8dc613a38cb 65 | G_10 = b4800a3c8260068b65bee8b687f99d39cac1a66292d39afb88610ad023b861df1f1424566d9be2ffcdc624c65d8cad5b 66 | ``` 67 | -------------------------------------------------------------------------------- /tooling/message-generators/rust-toolchain: -------------------------------------------------------------------------------- 1 | 1.58.1 2 | -------------------------------------------------------------------------------- /tooling/message-generators/src/ciphersuites.rs: -------------------------------------------------------------------------------- 1 | use sha3::Shake256; 2 | use sha2::Sha256; 3 | use bls12_381_plus::{ExpandMsg, ExpandMsgXof, ExpandMsgXmd}; 4 | 5 | 6 | pub trait BbsCiphersuite<'a> { 7 | const ID: &'a [u8]; 8 | 9 | type Expander: ExpandMsg; 10 | 11 | fn generator_seed() -> Vec { 12 | [Self::ID, b"MESSAGE_GENERATOR_SEED"].concat() 13 | } 14 | 15 | // The G1 base point generator seed 16 | fn bp_generator_seed() -> Vec { 17 | [Self::ID, b"BP_MESSAGE_GENERATOR_SEED"].concat() 18 | } 19 | 20 | fn generator_seed_dst() -> Vec { 21 | [Self::ID, b"SIG_GENERATOR_SEED_"].concat() 22 | } 23 | 24 | fn generator_dst() -> Vec { 25 | [Self::ID, b"SIG_GENERATOR_DST_"].concat() 26 | } 27 | } 28 | 29 | pub struct Bls12381Shake256; 30 | pub struct Bls12381Sha256; 31 | 32 | impl<'a> BbsCiphersuite<'a> for Bls12381Shake256 { 33 | const ID: &'a [u8] = b"BBS_BLS12381G1_XOF:SHAKE-256_SSWU_RO_"; 34 | type Expander = ExpandMsgXof; 35 | } 36 | 37 | 38 | impl<'a> BbsCiphersuite<'a> for Bls12381Sha256 { 39 | const ID: &'a [u8] = b"BBS_BLS12381G1_XMD:SHA-256_SSWU_RO_"; 40 | type Expander = ExpandMsgXmd; 41 | } 42 | --------------------------------------------------------------------------------