mirror of
https://github.com/vocdoni/arbo.git
synced 2026-01-09 13:57:54 -05:00
fixing endianess issues
This commit is contained in:
22
ff.go
Normal file
22
ff.go
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
package arbo
|
||||||
|
|
||||||
|
import "math/big"
|
||||||
|
|
||||||
|
var (
|
||||||
|
// BN254BaseField is the base field for the BN254 curve.
|
||||||
|
BN254BaseField, _ = new(big.Int).SetString("21888242871839275222246405745257275088548364400416034343698204186575808495617", 10)
|
||||||
|
// BLS12377BaseField is the base field for the BLS12377 curve.
|
||||||
|
BLS12377BaseField, _ = new(big.Int).SetString("25825498262808887005865186224201665565126143020923472090132963926938185026661", 10)
|
||||||
|
)
|
||||||
|
|
||||||
|
// BigToFF function returns the finite field representation of the big.Int
|
||||||
|
// provided. It uses the curve scalar field to represent the provided number.
|
||||||
|
func BigToFF(baseField, iv *big.Int) *big.Int {
|
||||||
|
z := big.NewInt(0)
|
||||||
|
if c := iv.Cmp(baseField); c == 0 {
|
||||||
|
return z
|
||||||
|
} else if c != 1 && iv.Cmp(z) != -1 {
|
||||||
|
return iv
|
||||||
|
}
|
||||||
|
return z.Mod(iv, baseField)
|
||||||
|
}
|
||||||
4
hash.go
4
hash.go
@@ -144,9 +144,9 @@ func (f HashMiMC_BLS12_377) Len() int {
|
|||||||
func (f HashMiMC_BLS12_377) Hash(b ...[]byte) ([]byte, error) {
|
func (f HashMiMC_BLS12_377) Hash(b ...[]byte) ([]byte, error) {
|
||||||
h := mimc.NewMiMC()
|
h := mimc.NewMiMC()
|
||||||
for i := 0; i < len(b); i++ {
|
for i := 0; i < len(b); i++ {
|
||||||
if _, err := h.Write(b[i]); err != nil {
|
if _, err := h.Write(SwapEndianness(b[i])); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return h.Sum(nil), nil
|
return SwapEndianness(h.Sum(nil)), nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user