Mark Thom
ad6fc89a24
Merge pull request #533 from triska/master
...
ADDED: Support for SHA-3 algorithms in crypto_data_hash/3
2020-05-19 14:23:12 -03:00
Markus Triska
0bd9831eec
ADDED: phrase_from_file/3 in library(pio)
...
This allows us to specify type(binary), and read from binary files
with DCGs.
2020-05-19 18:52:18 +02:00
Markus Triska
dec2ef70c7
better error handling in crypto_data_hkdf/4
...
Noted by @notoria in #533 . Many thanks!
2020-05-19 18:22:25 +02:00
Markus Triska
da4d061067
correct option processing in crypto_data_decrypt/6
2020-05-19 17:02:33 +02:00
Markus Triska
9f5322d309
ADDED: Support for BLAKE2 algorithms in crypto_data_hash/3.
2020-05-19 12:44:10 +02:00
Markus Triska
f5c2f6f9e9
ADDED: Support for SHA-3 algorithms in crypto_data_hash/3
2020-05-19 12:10:46 +02:00
Markus Triska
a423eb5323
stronger validation of input lists for cryptographic routines
...
Example:
?- crypto_data_hkdf(Var, 32, Bs, []).
caught: error(instantiation_error,must_be/2)
Reported by @notoria in #527 . Many thanks!
2020-05-18 13:28:52 +02:00
Markus Triska
e9f8b35918
centralize reasoning about encoding
2020-05-18 11:29:35 +02:00
Markus Triska
23034dd4f5
raise instantiation errors for variable encoding
...
Reported by notoria in #527 .
Note that from a declarative perspective, it would indeed be valid to
give answers for both available encodings.
2020-05-18 11:21:38 +02:00
Markus Triska
70ad44adfd
type check for length argument in crypto_data_hkdf/4
...
Reported by @notoria in #527 .
2020-05-18 11:12:59 +02:00
Markus Triska
95ca8a2630
throw instantiation error if the list of options contains a variable ( #523 )
...
Many thanks to @notoria for the test case!
2020-05-18 09:58:09 +02:00
Markus Triska
3855d7ea02
type test for salt in crypto_password_hash/3
2020-05-17 22:01:22 +02:00
Mark Thom
a38fb41e37
Merge branch 'master' of https://github.com/mthom/rusty-wam
2020-05-16 14:51:19 -06:00
Mark Thom
204ae377e3
restore old clpz.pl
2020-05-16 14:51:04 -06:00
Markus Triska
862ae26631
Authenticated encryption in library(crypto), new encoding/1 option for hashes ( #515 )
...
* shorten n_newlines//1
* remove unneeded variable
* ADDED: authenticated encryption and decryption with ChaCha20-Poly1305
* ADDED: encoding/1 option for crypto_data_hash/3 and crypto_data_hkdf/4
2020-05-16 11:51:41 -06:00
Mark Thom
9e0208ec71
Merge branch 'master' of https://github.com/mthom/rusty-wam
2020-05-15 22:51:24 -06:00
Mark Thom
510530973c
correct mishandled Addr::CharCode case in eq_test ( #505 )
2020-05-15 22:51:18 -06:00
Markus Triska
4e69301562
ADDED: Password-based key derivation (PBKDF2) ( #509 )
...
The new predicates crypto_password_hash/[2,3] let you store
passwords safely, and easily verify passwords later.
2020-05-15 10:49:23 -06:00
Matthieu Wipliez
df06d4b9a2
Work in progress: add char_utf8bytes ( #493 )
...
* Add char_utf8bytes to library
* Improved implementation
* Improve code + add chars predicate
* Update example
* Renamed string_utf8bytes to char_utf8bytes
2020-05-15 10:05:04 -06:00
Mark Thom
b60561c3bb
fix existence_error in atom_chars/2, atom_codes/2 ( #504 , #506 )
2020-05-14 22:33:28 -06:00
Markus Triska
50776748a7
ADDED: HMAC-based key derivation (HKDF) via crypto_data_hkdf/4
...
This is useful to generate keys and initialization vectors
from suitable input keying material, so that future predicates
for symmetric encryption can be used with appropriate parameters.
2020-05-14 20:07:59 +02:00
Markus Triska
4084005ee7
ADDED: Reasoning about elliptic curves in library(crypto).
...
This is useful to establish shared secrets, using ECDH key exchange.
Note that CLP(ℤ) goal expansion is currently disabled due to #445 ,
and this slows down the computations considerably for the time being.
2020-05-13 22:44:27 +02:00
Markus Triska
fd761735d4
ADDED: ripemd160 digest algorithm
...
This is used for example for Bitcoin address generation.
2020-05-13 22:36:40 +02:00
Mark Thom
9cb98bdcdc
Merge pull request #496 from triska/master
...
ADDED: crypto_data_hash/3, computing cryptographically secure digests
2020-05-13 17:32:46 -03:00
notoria
a86019d53b
Enhanced between/3
2020-05-13 21:21:46 +02:00
Markus Triska
8cd7d08573
ADDED: crypto_data_hash/3, computing cryptographically secure digests
2020-05-13 19:23:09 +02:00
Markus Triska
716fde5784
ADDED: crypto_n_random_bytes/2, creating cryptographically secure random bytes
...
The ring crate is used since it will be needed also for future
predicates in library(crypto).
2020-05-13 00:36:27 +02:00
Mark Thom
d1d36f9af0
fix at_end_of_stream/1 ( #479 )
2020-05-10 16:06:15 -06:00
Mark Thom
56efb4ffba
change VarNames to VNNames ( #476 )
2020-05-10 15:54:53 -06:00
Mark Thom
540bc71873
use heap_pstr_iter in AtomChars ( #482 )
2020-05-10 15:46:51 -06:00
Mark Thom
26d483f2d7
place cut after infinitely expanding VarList in write_term_to_chars/3 ( #476 )
2020-05-10 13:30:30 -06:00
Mark Thom
dc5626f34d
Merge pull request #474 from triska/radix
...
ADDED: ~Nr and ~NR are now available for radix conversions
2020-05-09 15:09:14 -03:00
Mark Thom
2717ec2759
Merge pull request #471 from triska/master
...
ADDED: Initial version of library(crypto).
2020-05-09 14:33:58 -03:00
Mark Thom
b0ae44bc25
Merge branch 'sockets-develop'
2020-05-09 14:26:29 -06:00
Mark Thom
0c94124fdf
Merge branch 'master' of https://github.com/mthom/rusty-wam
2020-05-09 14:26:22 -06:00
Mark Thom
6f927b9941
add set_stream_position/2
2020-05-09 14:20:32 -06:00
Markus Triska
d75449ea63
ADDED: ~Nr and ~NR are now available for radix conversions
2020-05-09 19:19:25 +02:00
Mark Thom
034f5b16bd
add at_end_of_stream/{0,1}
2020-05-09 01:38:23 -06:00
Mark Thom
5be771842f
add stream_property/2
2020-05-09 00:56:17 -06:00
Markus Triska
a131c93a14
ADDED: Initial version of library(crypto).
2020-05-08 22:33:49 +02:00
notoria
47f5223c37
Enhanced shift/1
2020-05-07 19:10:21 +02:00
Mark Thom
b8c50eb0fe
add peek_char/{1,2}, peek_byte/{1,2}, peek_code/{1,2}
2020-05-06 01:05:03 -06:00
Mark Thom
fe05082ddc
add sockets library, use new type_error function from sockets system calls
2020-05-05 22:57:06 -06:00
Mark Thom
414acda9e0
add put_code/{1,2}, get_code/{1,2}, improve get_* predicates
2020-05-05 22:42:35 -06:00
Mark Thom
47e3a5e75a
add put_byte/{1,2}, put_char/{1,2}
2020-05-05 17:42:18 -06:00
Mark Thom
573df892bc
cleanup on reading predicates, add get_char/{1,2}
2020-05-05 16:54:40 -06:00
Mark Thom
bfced59949
clean up stream error handling, add get_byte/{1,2}
2020-05-05 16:09:17 -06:00
Mark Thom
53ae8b9bd1
add flush_output/{0,1}, past_end_of_stream
2020-05-05 14:10:49 -06:00
Mark Thom
ab62603c5a
add close/{1,2}, better EOF action handling in read_term
2020-05-05 00:38:21 -06:00
Mark Thom
dd247cd541
adapt write_term family, add handling for EOF actions.
2020-05-04 21:17:06 -06:00