summaryrefslogtreecommitdiff
path: root/automation/saw/poly1305-hacl.saw
diff options
context:
space:
mode:
Diffstat (limited to 'automation/saw/poly1305-hacl.saw')
-rw-r--r--automation/saw/poly1305-hacl.saw38
1 files changed, 0 insertions, 38 deletions
diff --git a/automation/saw/poly1305-hacl.saw b/automation/saw/poly1305-hacl.saw
deleted file mode 100644
index a4dfff6d9..000000000
--- a/automation/saw/poly1305-hacl.saw
+++ /dev/null
@@ -1,38 +0,0 @@
-// This Source Code Form is subject to the terms of the Mozilla Public
-// License, v. 2.0. If a copy of the MPL was not distributed with this
-// file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-import "poly1305.cry" as poly1305;
-
-print "Proving Poly1305 spec...";
-prove_print abc {{ poly1305::allTestsPass }};
-
-print "Loading LLVM bitcode...";
-m <- llvm_load_module "../../../dist/Debug/lib/libfreeblpriv3.so.bc";
-
-let SpecPoly1305 n = do {
- llvm_ptr "output" (llvm_array 16 (llvm_int 8));
- output <- llvm_var "*output" (llvm_array 16 (llvm_int 8));
-
- llvm_ptr "input" (llvm_array n (llvm_int 8));
- input <- llvm_var "*input" (llvm_array n (llvm_int 8));
-
- llvm_var "len1" (llvm_int 64);
- llvm_ptr "k1" (llvm_array 32 (llvm_int 8));
- k1 <- llvm_var "*k1" (llvm_array 32 (llvm_int 8));
-
- llvm_assert_eq "*input" {{ zero : [n][8] }};
- llvm_assert_eq "len1" {{ `n : [64] }};
-
- llvm_assert_eq "*k1" {{ zero : [32][8] }};
-
- let res = {{ poly1305::Poly1305 input (take`{16} k1) (drop`{16} k1) }};
- llvm_ensure_eq "*output" {{ res }};
-
- llvm_verify_tactic abc;
-};
-
-print "Proving equality for a single block...";
-// This is currently disabled as it takes way too long. We need to help Z3
-// prove this before we can enable it on Taskcluster.
-//time (llvm_verify m "Hacl_Poly1305_64_crypto_onetimeauth" [] (SpecPoly1305 16));