Joey Dodds
7300f29606
changed collision properties to require inputs to be different
2014-08-06 10:16:14 -07:00
Joey Dodds
72fefff367
added malicious sha example
2014-08-05 14:08:30 -07:00
Joey Dodds
d248b50b40
finished test vectors
...
created function AeadConstruction that is used to generate tags in
AEAD encryption and decryption
2014-08-04 10:52:50 -07:00
Joey Dodds
2636a0ca9e
Merge branch 'master' of https://github.com/GaloisInc/cryptol
2014-08-01 09:16:52 -07:00
Joey Dodds
72c870cb12
small fixes for push
2014-08-01 09:15:58 -07:00
Brian Huffman
8a37dac522
Add "boolector" and "mathsat" as possible prover settings.
...
Support for these provers was added in SBV version 3.
2014-07-31 16:38:04 -07:00
Trevor Elliott
67a28f4e73
Change the panic message
...
Switch from requesting bug reports to "cryptol-bugs@galois.com" to the github
issue tracker.
2014-07-30 17:08:24 -07:00
Joey Dodds
00ad314681
added most of the test cases
2014-07-29 16:39:50 -07:00
Dylan McNamee
5faf927b3e
Initial (incomplete, but mostly working) version of ChaChaPoly IETF draft.
...
Original document: https://datatracker.ietf.org/doc/draft-irtf-cfrg-chacha20-poly1305/
2014-07-29 09:32:14 -07:00
Brian Huffman
aa935996b9
Reimplement "logicUnary" so that complement works on infinite streams of bits
2014-07-28 12:08:15 -07:00
Brian Huffman
c8a80b4186
Remove more no-longer-necessary local additions to SBV
2014-07-23 10:25:59 -07:00
Brian Huffman
7e876be060
Remove additions to local fork of SBV that are no longer necessary
2014-07-23 10:10:54 -07:00
Brian Huffman
6bb2cd796d
Unify Value datatypes for interpreter and symbolic simulator
...
Some Value constructors and destructors are now polymorphic as well.
2014-07-22 17:35:06 -07:00
Brian Huffman
ca53f226e5
Factor out separate type "BV" for words in evaluator's Value datatype
...
Instead of constructor VWord Integer Integer, we use VWord BV,
where data BV = BV !Integer !Integer.
2014-07-22 16:26:33 -07:00
Brian Huffman
c8abc76fd1
Remove unused length tag from interpreter tuple values
2014-07-22 15:43:29 -07:00
Brian Huffman
6a99eb99dd
Modify symbolic Value type to match the interpreter's Value type
...
This is a step towards unifying the two modules.
2014-07-22 15:32:26 -07:00
Brian Huffman
907e4b55a9
Fix typo in comment
2014-07-22 15:16:00 -07:00
Brian Huffman
c5a14e388d
Rewrite symbolic simulator in pure functional style
...
We now take advantage of new features of SBV 3.1, including
the "sBranch" mechanism for evaluating reachability of conditional
branches.
2014-07-22 13:44:17 -07:00
Brian Huffman
c2859d579b
Update output for regression test 226
2014-07-21 16:18:47 -07:00
Brian Huffman
c8b3b8c134
Update output for regression test 086.
...
(cf. revision 0ee396d434
)
2014-07-21 16:13:56 -07:00
Brian Huffman
ffebd5c330
Update output for regression test number 290
2014-07-21 16:02:38 -07:00
Brian Huffman
ec0395e9d0
Update regression test number 289, which now runs successfully.
...
This test works as of revision db08bfafa9
.
Versions of SBV prior to 3.1 did not distinguish the boolean type from
the size-1 bitvector type; this example uses literals like "0b0" and
"0b1", so it triggered the SBV bug, which manifested as a type error from
the external SMT solver.
2014-07-21 16:01:43 -07:00
Brian Huffman
db08bfafa9
Merge changes from SBV release version 3.1
2014-07-21 15:23:34 -07:00
Brian Huffman
11d5c884b7
prove/sat commands avoid generating SBV bitvector variables of zero width
2014-07-21 14:59:33 -07:00
Brian Huffman
010d930638
Optimize symbolic "extract" to produce literal value if result has width 0
2014-07-21 11:28:40 -07:00
Brian Huffman
733c7932c5
Fix compiler warnings
2014-07-21 10:38:21 -07:00
Brian Huffman
ca14cff93a
Pretty-print hex literals in parser AST using lowercase "abcdef".
...
This makes the Cryptol.Parser.AST pretty printer consistent with the
one for values in Cryptol.Eval.Value.
2014-07-15 16:43:20 -07:00
Brian Huffman
4f28f4bfed
Update regression tests for :prove and :sat output
...
As of ee8685e4f2
, :sat and :prove now
parse and then pretty print the given predicate with appropriate
parenthesization.
2014-07-15 16:26:37 -07:00
Brian Huffman
ee8685e4f2
REPL handles printing of :sat/prove results; parenthesize predicates as appropriate
2014-07-15 15:35:37 -07:00
Brian Huffman
f0ab651157
:sat and :prove print counterexamples in the user-configured number base
2014-07-15 14:32:14 -07:00
Brian Huffman
62cdfd453f
Cryptol REPL prints a hint if the user omits "=" on a ":set" command.
...
Old behavior:
Cryptol> :set base 16
base 16 = 10
New behavior:
Cryptol> :set base 16
Unknown user option: `base 16`
Did you mean: `:set base = 16`?
2014-05-27 15:46:42 -07:00
Brian Huffman
0ee396d434
Pretty printer for Cryptol.Parser.AST.Expr parenthesizes infix operators.
...
(The printer for Cryptol.TypeCheck.AST.Expr already does this.)
Previously:
Cryptol> :t (+)
+ : {a} (Arith a) => a -> a -> a
Now:
Cryptol> :t (+)
(+) : {a} (Arith a) => a -> a -> a
2014-05-15 14:41:22 -07:00
Brian Huffman
682c130b11
Add "fin" constraint on index size for (@), (!) and (!!), like (@@) has.
...
Prior to this changeset, any of the following three expressions
[1,2,3] @ (zero : [inf])
[1,2,3] ! (zero : [inf])
[1,2,3] !! [zero : [inf]]
would produce the following error:
Location: [Eval] fromVWord
Message: not a word
[False, False, False, False, False, ...]
2014-05-13 13:38:55 -07:00
Brian Huffman
b304eb2ef0
New module Cryptol.TypeCheck.TypeOf has functions to compute Type of an Expr
2014-05-09 16:27:07 -07:00
Brian Huffman
a6077dd59a
Add more destructor functions for TypeCheck.AST.Type
2014-05-09 16:26:31 -07:00
Trevor Elliott
28043c395c
Only print Loading
when the module is going to be loaded
...
Looks like we were re-loading everything afterall! This closes #10
2014-05-06 14:32:17 -07:00
Trevor Elliott
25f17d0202
Some bug fixes related to fenced code in markdown
...
``` as cryptol wasn't supported, and fenced code blocks that weren't
understood were having their internals processed as markdown
2014-05-06 14:29:51 -07:00
Trevor Elliott
f1f1991ce0
No plans to allow indented code fence blocks
...
Support for the indented blocks isn't consistent, so it seems easier to just
avoid trying to support this feature.
2014-05-06 10:59:29 -07:00
Dylan McNamee
87042d4604
fixing lone bad reference in doc, added syntax chapter, replaced Salsa spec
...
PDF with pointer to it, fixed table in section 1.2.2
2014-04-30 11:37:15 -07:00
Dylan McNamee
3188a212b5
Fixing a type constraint solver bug submitted by Jaak Randmets,
...
verified by Iavor. Regression tests passed.
2014-04-28 10:17:11 -07:00
Dylan McNamee
3e0ce32888
document that four failing tests is expected (for now)
2014-04-27 11:29:52 -07:00
Dylan McNamee
3e22966c1c
spelling in README
2014-04-27 11:26:37 -07:00
Dylan McNamee
62acc96f97
Fixing makefile to be compatible with David Lazar's speck fix
2014-04-24 18:07:47 -07:00
Dylan McNamee
203b2c8596
Merge branch 'master' of https://github.com/davidlazar/cryptol into davidlazar-master
2014-04-24 18:01:46 -07:00
Adam C. Foltzer
2f229e0c9c
reinsert book authors into acknowledgments
2014-04-24 14:47:55 -07:00
David Lazar
fe67268088
Simplify type constraints.
2014-04-24 17:33:43 -04:00
David Lazar
bda2596f30
Minor whitespace tweak.
2014-04-24 17:28:25 -04:00
David Lazar
e1c2ddec55
Fix formatting in speck.cry.
2014-04-24 17:27:34 -04:00
David Lazar
46c93d1a33
spec.cry should be speck.cry.
2014-04-24 17:19:20 -04:00
Dylan McNamee
bd578915ea
incorporating "thanks" in main README
2014-04-24 10:59:06 -07:00