diff options
author | Jason Gross <jgross@mit.edu> | 2016-10-23 14:16:27 -0400 |
---|---|---|
committer | Jason Gross <jgross@mit.edu> | 2016-10-23 14:16:27 -0400 |
commit | aaf0f5052ff1a6ce668caba6f20edaef4058ab19 (patch) | |
tree | 99a37df3ff2516dd239a96026a4f01de7e2a4063 /src/Specific/GF25519.v | |
parent | c83bad805895986ceb4a6b4f162b87da73deff7b (diff) |
Finish twedprm_ERep proof
(cc @andres-erbsen)
Diffstat (limited to 'src/Specific/GF25519.v')
-rw-r--r-- | src/Specific/GF25519.v | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/Specific/GF25519.v b/src/Specific/GF25519.v index 920aeaef8..22f7676c4 100644 --- a/src/Specific/GF25519.v +++ b/src/Specific/GF25519.v @@ -440,17 +440,21 @@ Qed. Definition carry_field25519 : @field fe25519 eq zero_ one_ carry_opp carry_add carry_sub mul inv div := proj1 carry_field25519_and_homomorphisms. -Lemma homomorphism_F25519 : - @Ring.is_homomorphism - (F modulus) Logic.eq F.one F.add F.mul - fe25519 eq one add mul encode. +Lemma homomorphism_F25519_encode + : @Ring.is_homomorphism (F modulus) Logic.eq F.one F.add F.mul fe25519 eq one add mul encode. Proof. apply field25519_and_homomorphisms. Qed. +Lemma homomorphism_F25519_decode + : @Ring.is_homomorphism fe25519 eq one add mul (F modulus) Logic.eq F.one F.add F.mul decode. +Proof. apply field25519_and_homomorphisms. Qed. + + +Lemma homomorphism_carry_F25519_encode + : @Ring.is_homomorphism (F modulus) Logic.eq F.one F.add F.mul fe25519 eq one carry_add mul encode. +Proof. apply carry_field25519_and_homomorphisms. Qed. -Lemma homomorphism_carry_F25519 : - @Ring.is_homomorphism - (F modulus) Logic.eq F.one F.add F.mul - fe25519 eq one carry_add mul encode. +Lemma homomorphism_carry_F25519_decode + : @Ring.is_homomorphism fe25519 eq one carry_add mul (F modulus) Logic.eq F.one F.add F.mul decode. Proof. apply carry_field25519_and_homomorphisms. Qed. Definition ge_modulus_sig (f : fe25519) : |