Skip to content

Commit

Permalink
refactor: make marshal errors private
Browse files Browse the repository at this point in the history
  • Loading branch information
ivokub committed Sep 27, 2023
1 parent 666b963 commit 4c8d1aa
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 28 deletions.
10 changes: 5 additions & 5 deletions internal/generator/ecdsa/template/ecdsa.test.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ func TestNonMalleability(t *testing.T) {
bsig := make([]byte, 2*sizeFr+1)
var sig Signature
_, err := sig.SetBytes(bsig)
if err != ErrWrongSize {
if err != errWrongSize {
t.Fatal("should raise wrong size error")
}
})
Expand All @@ -98,7 +98,7 @@ func TestNonMalleability(t *testing.T) {

var sig Signature
_, err := sig.SetBytes(bsig)
if err != ErrRBiggerThanRMod {
if err != errRBiggerThanRMod {
t.Fatal("should raise error r >= r_mod")
}
})
Expand All @@ -114,7 +114,7 @@ func TestNonMalleability(t *testing.T) {

var sig Signature
_, err := sig.SetBytes(bsig)
if err != ErrSBiggerThanRMod {
if err != errSBiggerThanRMod {
t.Fatal("should raise error s >= r_mod")
}
})
Expand All @@ -130,7 +130,7 @@ func TestNoZeros(t *testing.T) {
bts := sig.Bytes()
var newSig Signature
_, err := newSig.SetBytes(bts)
if err != ErrZero {
if err != errZero {
t.Fatal("expected error for zero R")
}
})
Expand All @@ -142,7 +142,7 @@ func TestNoZeros(t *testing.T) {
bts := sig.Bytes()
var newSig Signature
_, err := newSig.SetBytes(bts)
if err != ErrZero {
if err != errZero {
t.Fatal("expected error for zero S")
}
})
Expand Down
18 changes: 9 additions & 9 deletions internal/generator/ecdsa/template/marshal.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ import (
{{- end }}
)

var ErrWrongSize = errors.New("wrong size buffer")
var ErrRBiggerThanRMod = errors.New("r >= r_mod")
var ErrSBiggerThanRMod = errors.New("s >= r_mod")
var ErrZero = errors.New("zero value")
var errWrongSize = errors.New("wrong size buffer")
var errRBiggerThanRMod = errors.New("r >= r_mod")
var errSBiggerThanRMod = errors.New("s >= r_mod")
var errZero = errors.New("zero value")

// Bytes returns the binary representation of the public key
// follows https://tools.ietf.org/html/rfc8032#section-3.1
Expand Down Expand Up @@ -130,7 +130,7 @@ func (sig *Signature) Bytes() []byte {
func (sig *Signature) SetBytes(buf []byte) (int, error) {
n := 0
if len(buf) != sizeSignature {
return n, ErrWrongSize
return n, errWrongSize
}

// S, R < R_mod (to avoid malleability)
Expand All @@ -139,17 +139,17 @@ func (sig *Signature) SetBytes(buf []byte) (int, error) {
bufBigInt := new(big.Int)
bufBigInt.SetBytes(buf[:sizeFr])
if bufBigInt.Cmp(zero) == 0 {
return 0, ErrZero
return 0, errZero
}
if bufBigInt.Cmp(frMod) != -1 {
return 0, ErrRBiggerThanRMod
return 0, errRBiggerThanRMod
}
bufBigInt.SetBytes(buf[sizeFr : 2*sizeFr])
if bufBigInt.Cmp(zero) == 0 {
return 0, ErrZero
return 0, errZero
}
if bufBigInt.Cmp(frMod) != -1 {
return 0, ErrSBiggerThanRMod
return 0, errSBiggerThanRMod
}

subtle.ConstantTimeCopy(1, sig.R[:], buf[:sizeFr])
Expand Down
10 changes: 5 additions & 5 deletions internal/generator/edwards/eddsa/template/eddsa.test.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ func TestNonMalleability(t *testing.T) {
bsig := make([]byte, 2*sizeFr+1)
var sig Signature
_, err := sig.SetBytes(bsig)
if err != ErrWrongSize {
if err != errWrongSize {
t.Fatal("should raise wrong size error")
}
})
Expand All @@ -66,7 +66,7 @@ func TestNonMalleability(t *testing.T) {

var sig Signature
_, err := sig.SetBytes(bsig)
if err != ErrRBiggerThanPMod {
if err != errRBiggerThanPMod {
t.Fatal("should raise error r >= p_mod")
}
})
Expand All @@ -82,7 +82,7 @@ func TestNonMalleability(t *testing.T) {

var sig Signature
_, err := sig.SetBytes(bsig)
if err != ErrSBiggerThanRMod {
if err != errSBiggerThanRMod {
t.Fatal("should raise error s >= r_mod")
}
})
Expand All @@ -100,7 +100,7 @@ func TestNoZeros(t *testing.T) {
bts := sig.Bytes()
var newSig Signature
_, err := newSig.SetBytes(bts)
if err != ErrZero {
if err != errZero {
t.Fatal("expected error for zero R.Y")
}
})
Expand All @@ -114,7 +114,7 @@ func TestNoZeros(t *testing.T) {
bts := sig.Bytes()
var newSig Signature
_, err := newSig.SetBytes(bts)
if err != ErrZero {
if err != errZero {
t.Fatal("expected error for zero S")
}
})
Expand Down
18 changes: 9 additions & 9 deletions internal/generator/edwards/eddsa/template/marshal.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ import (
// cf point.go (ugly copy)
const mUnmask = 0x7f

var ErrWrongSize = errors.New("wrong size buffer")
var ErrSBiggerThanRMod = errors.New("s >= r_mod")
var ErrRBiggerThanPMod = errors.New("r >= p_mod")
var ErrZero = errors.New("zero value")
var errWrongSize = errors.New("wrong size buffer")
var errSBiggerThanRMod = errors.New("s >= r_mod")
var errRBiggerThanPMod = errors.New("r >= p_mod")
var errZero = errors.New("zero value")

// Bytes returns the binary representation of the public key
// follows https://tools.ietf.org/html/rfc8032#section-3.1
Expand Down Expand Up @@ -112,7 +112,7 @@ func (sig *Signature) Bytes() []byte {
func (sig *Signature) SetBytes(buf []byte) (int, error) {
n := 0
if len(buf) != sizeSignature {
return n, ErrWrongSize
return n, errWrongSize
}

// R < P_mod (to avoid malleability)
Expand All @@ -127,21 +127,21 @@ func (sig *Signature) SetBytes(buf []byte) (int, error) {
bufCopy[0] &= mUnmask
bufBigInt.SetBytes(bufCopy)
if bufBigInt.Cmp(zero) == 0 {
return 0, ErrZero
return 0, errZero
}
if bufBigInt.Cmp(fpMod) != -1 {
return 0, ErrRBiggerThanPMod
return 0, errRBiggerThanPMod
}

// S < R_mod (to avoid malleability)
// R_mod is the relevant group size of the twisted Edwards NOT the fr snark field so it's supposedly smaller
bufBigInt.SetBytes(buf[sizeFr : 2*sizeFr])
if bufBigInt.Cmp(zero) == 0 {
return 0, ErrZero
return 0, errZero
}
cp := twistededwards.GetEdwardsCurve()
if bufBigInt.Cmp(&cp.Order) != -1 {
return 0, ErrSBiggerThanRMod
return 0, errSBiggerThanRMod
}

// deserialisation
Expand Down

0 comments on commit 4c8d1aa

Please sign in to comment.