README.md
1 2 <!-----------------------------------------------------------------------------> 3 <!-------------------- THIS MARKDOWN FILE IS AUTOGENERATED --------------------> 4 <!-----------------------------------------------------------------------------> 5 6 # alphavm-curves 7 8 [](https://crates.io/crates/alphavm-curves) 9 [](https://alpha.org) 10 [](./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