/ curves / README.md
README.md
  1  
  2  <!----------------------------------------------------------------------------->
  3  <!-------------------- THIS MARKDOWN FILE IS AUTOGENERATED -------------------->
  4  <!----------------------------------------------------------------------------->
  5  
  6  # deltavm-curves
  7  
  8  [![Crates.io](https://img.shields.io/crates/v/deltavm-curves.svg?color=neon)](https://crates.io/crates/deltavm-curves)
  9  [![Authors](https://img.shields.io/badge/authors-Alpha-orange.svg)](https://delta.org)
 10  [![License: GPL v3](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](./LICENSE.md)
 11  
 12  ## Overview
 13  Alpha uses a tailored set of pairing-friendly elliptic curves to perform efficient proof generation and verification.
 14  
 15  |                     |  Edwards BLS12  |     BLS12-377      |
 16  |:------------------- |:---------------:|:------------------:|
 17  | Curve Type          | Twisted Edwards | Barreto-Lynn-Scott |
 18  | Scalar Field Size   |    251 bits     |      253 bits      |
 19  | Base Field Size     |    253 bits     |      377 bits      |
 20  | G1 Compressed Size* |    32 bytes     |      48 bytes      |
 21  | G2 Compressed Size* |       N/A       |      96 bytes      |
 22  
 23  \* rounded to multiples of 8 bytes.
 24  
 25  ## Edwards BLS12
 26  ### Scalar Field
 27  
 28  #### Modulus
 29  
 30  ##### Integer Representation
 31  ```ignore
 32  2111115437357092606062206234695386632838870926408408195193685246394721360383
 33  ```
 34  
 35  ##### Hexadecimal Representation
 36  ```ignore
 37  04aad957a68b2955982d1347970dec005293a3afc43c8afeb95aee9ac33fd9ff
 38  ```
 39  
 40  ##### U64 Representation (Little-Endian)
 41  ```ignore
 42  [13356249993388743167, 5950279507993463550, 10965441865914903552, 336320092672043349]
 43  ```
 44  
 45  #### Root of Unity
 46  
 47  ##### Integer Representation
 48  ```ignore
 49  319259817323897909850357899558356952867916286821886696195104543796545181129
 50  ```
 51  
 52  ##### Hexadecimal Representation
 53  ```ignore
 54  00b4b1d4c7e5e163b1af246173fdb411bdb82ac32901dcb9d289433ff2b7d5c9
 55  ```
 56  
 57  ##### U64 Representation (Little-Endian)
 58  ```ignore
 59  [15170730761708361161, 13670723686578117817, 12803492266614043665, 50861023252832611]
 60  ```
 61  
 62  ### Base Field
 63  
 64  #### Modulus
 65  
 66  ##### Integer Representation
 67  ```ignore
 68  8444461749428370424248824938781546531375899335154063827935233455917409239041
 69  ```
 70  
 71  ##### Hexadecimal Representation
 72  ```ignore
 73  12ab655e9a2ca55660b44d1e5c37b00159aa76fed00000010a11800000000001
 74  ```
 75  
 76  ##### U64 Representation (Little-Endian)
 77  ```ignore
 78  [725501752471715841, 6461107452199829505, 6968279316240510977, 1345280370688173398]
 79  ```
 80  
 81  #### Root of Unity
 82  
 83  ##### Integer Representation
 84  ```ignore
 85  5928890464389279575069867463136436689218492512582288454256978381122364252082
 86  ```
 87  
 88  ##### Hexadecimal Representation
 89  ```ignore
 90  0d1ba211c5cc349cd7aacc7c597248269a14cda3ec99772b3c3d3ca739381fb2
 91  ```
 92  
 93  ##### U64 Representation (Little-Endian)
 94  ```ignore
 95  [4340692304772210610, 11102725085307959083, 15540458298643990566, 944526744080888988]
 96  ```
 97  
 98  ## BLS12-377
 99  ### Scalar Field
100  
101  #### Modulus
102  
103  ##### Integer Representation
104  ```ignore
105  8444461749428370424248824938781546531375899335154063827935233455917409239041
106  ```
107  
108  ##### Hexadecimal Representation
109  ```ignore
110  12ab655e9a2ca55660b44d1e5c37b00159aa76fed00000010a11800000000001
111  ```
112  
113  ##### U64 Representation (Little-Endian)
114  ```ignore
115  [725501752471715841, 6461107452199829505, 6968279316240510977, 1345280370688173398]
116  ```
117  
118  #### Root of Unity
119  
120  ##### Integer Representation
121  ```ignore
122  5928890464389279575069867463136436689218492512582288454256978381122364252082
123  ```
124  
125  ##### Hexadecimal Representation
126  ```ignore
127  0d1ba211c5cc349cd7aacc7c597248269a14cda3ec99772b3c3d3ca739381fb2
128  ```
129  
130  ##### U64 Representation (Little-Endian)
131  ```ignore
132  [4340692304772210610, 11102725085307959083, 15540458298643990566, 944526744080888988]
133  ```
134  
135  ### Base Field
136  
137  #### Modulus
138  
139  ##### Integer Representation
140  ```ignore
141  258664426012969094010652733694893533536393512754914660539884262666720468348340822774968888139573360124440321458177
142  ```
143  
144  ##### Hexadecimal Representation
145  ```ignore
146  01ae3a4617c510eac63b05c06ca1493b1a22d9f300f5138f1ef3622fba094800170b5d44300000008508c00000000001
147  ```
148  
149  ##### U64 Representation (Little-Endian)
150  ```ignore
151  [9586122913090633729, 1660523435060625408, 2230234197602682880, 1883307231910630287, 14284016967150029115, 121098312706494698]
152  ```
153  
154  #### Root of Unity
155  
156  ##### Integer Representation
157  ```ignore
158  146552004846884389553264564610149105174701957497228680529098805315416492923550540437026734404078567406251254115855
159  ```
160  
161  ##### Hexadecimal Representation
162  ```ignore
163  00f3c1414ef58c54f95564f4cbc1b61fee086c1fe367c33776da78169a7f3950f1bd15c3898dd1af1c104955744e6e0f
164  ```
165  
166  ##### U64 Representation (Little-Endian)
167  ```ignore
168  [2022196864061697551, 17419102863309525423, 8564289679875062096, 17152078065055548215, 17966377291017729567, 68610905582439508]
169  ```
170  
171  ## Contributing
172   
173  ### How to Update this README
174  
175  This README is auto-generated during continuous integration.
176  To update this README, submit a pull request updating the appropriate Markdown file
177  in [documentation](./documentation) and the [configuration file](./documentation/config.json).
178