proofs/crypto/secp256k1/laws_verify.bend
bend-collections-laws-crypto@1.0.0.0 · 36 lines · 2 definitions
1import Base
2import bend-collections-laws-crypto@1.0.0.0/src/crypto/secp256k1.bend as K
3import bend-collections-laws-crypto@1.0.0.0/spec/crypto/secp256k1/ecdsa.bend as ES
4import bend-collections-laws-crypto@1.0.0.0/spec/crypto/secp256k1/schnorr.bend as SS
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21law Verify.correct:
22 for +one: Nat
23 for +h1: {one == 1n : Nat}
24 for +pk: List<&2, U32>
25 for +h: List<&2, U32>
26 for +sig: List<&2, U32>
27 {K.verify(pk, h, sig) == ES.verify(one, pk, h, sig, False{}) : Bool}
28
29
30law VerifyStrict.correct:
31 for +one: Nat
32 for +h1: {one == 1n : Nat}
33 for +pk: List<&2, U32>
34 for +h: List<&2, U32>
35 for +sig: List<&2, U32>
36 {K.verify_strict(pk, h, sig) == ES.verify(one, pk, h, sig, True{}) : Bool}