Testsuite [Crypto.AEAD]: Improve defaults for test_aead().
Testsuite [Crypto.AES.OCB]: Add testvectors from RFC 7253.
Testsuite [Crypto.AES.CCM]: Update AEAD tests to actually run.
Testsuite [Crypto.SHA512]: Fix multiple typos.
Crypto.Password: Fix support for Django-style pbkdf2_sha256.
Testsuite [Crypto.Password]: Added some tests of Crypto.MD5.crypt_php().
Added verification support for default Django password encoding.
Crypto.testsuite: Character was mistaken for a wide character.
Testsuite [Crypto.Password]: Added some more vectors for bcrypt.
Crypto.Password: Add two countertests to the testsuite for sanity.
Crypt.Password: Support bcrypt hashing.
Testsuite [Crypto]: Added note about EMSA-PSS needing tests.
Crypto.Password: Added support for NetBSD-style crypt_sha1().
Testsuite [Crypto.Password]: Disabled test for invalid salt.
Testsuite [Crypto.Password]: Added some more test vectors.
Crypto.Password: Added support for PBKDF2 password hashes. These are hashes generated by Python PassLib and Phpass.
Merge commit '722771973bd' into patches/lyslyskom22891031 * commit '722771973bd': (6177 commits) Verify that callablep responses are aligned with reality. ...
Merge commit '2470270f500c728d10b8895314d8d8b07016e37b' into grubba/typechecker-automap * commit '2470270f500c728d10b8895314d8d8b07016e37b': (18681 commits) Removed the old typechecker. ...
Merge remote-tracking branch 'origin/master' into new_utf8
Merge remote-tracking branch 'origin/8.1' into gobject-introspection
Testsuite [Crypto.HMAC]: Added some mode HMAC tests.
Merge commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e' into patches/pike63 * commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e': (19587 commits) ...
Merge remote-tracking branch 'origin/8.1' into peter/travis
Added SHA512/224 and SHA512/256
M4 sucks (fix size limit)
RC4 is alias for Arcfour
Crypto.Hash.SCRAM: Moved class. Move Crypto.SCRAM to __builtin.Nettle.Hash()->SCRAM analogous to other similar APIs. Crypto.SCRAM(Crypto.SHA256) is now Crypto.SHA256.SCRAM(). Also updates the testsuite and Sql.pgsql_util accordingly.
Crypto.SCRAM: New module.
Checked with Python.
Testsuite [Crypto]: Added some vectors for SHA256.
Testsuite: Fixed some typos in previous commit.
Testsuite: Test Crypto.Hash.HMAC.
Remove untrue comment.
Crypto.SCRAM: Streamline API and update docs.
Crypto.SCRAM: API updated, implemented serverside and testsuite.
Testsuite [Crypto]: Test JWK-codec.
Fixed digest_info.
NTLM hash added
Testsuite [Crypto]: Added some test vectors for Curve25519.EdDSA. Vectors from RFC 8032.
Testsuite [Crypto.ECC.Curve25519]: Added some trivial tests.
Crypto.NTLM: Added some primitives from [MS-NLMP].
Don't pretend jwa is a variable, to be consistent with name(), digest_size() etc.
__builtin.Nettle.MAC: Added support for HMAC-based JWS signatures.
Test HMAC jwa constants.
Testsuite [Crypto]: Added some tests of JOSE JWS. Test vectors taken from RFC 7515 A.2.1 and A.3.1.
Some blowfish keys are weak, for which an exception is thrown. Make the test deterministic to avoid rare failures because of this.
Testsuite [Crypto]: Updated vectors for SSL3_* to FIPS 202. Fixes quite a few testsuite failures with recent Nettle.
Added HMAC-based One-Time Password generator.
Let hex2string deal with non-hex characters.
Crypto.RSA: Cleaned up RSASSA-PSS API. It is now possible to get a PSS signature object from an RSA state by indexing it with "PSS". Eg Crypto.RSA.State rsa = ...; string(8bit) sign = rsa->PSS->pkcs_sign(message, hash); int(0..1) ok = rsa->PSS->pkcs_verify(message, hash, sign); Also adds a corresponding symbol "PKCS1_5" for the traditional (and default) PKCS#1 1.5 style signatures.
Crypto.RSA: Added pss_{sign,verify}() implementing RSASSA-PSS. Note: This is a temporary API as it is not compatible with the __builtin.Nettle.Sign API.
Change CAMELLIA to Camellia to be consistent with other non-acronym ciphers.
Removed trailing spaces.
Latest FFDHE draft is a bit inconsistent with protocol definitions and defined fields. It appears though like 2048 is replaced with 2432, though 2432 isn't defined in the appendix.
Changed curve() into get_curve() to be consistent with the other methods, and to properly mask the get_curve() in Nettle.ECC_Curve.ECDSA.
Added some basic Point support.
Synchronize with latest FF-DHE draft.
Fixed testsuite after name changes. Added FFDHE2048 test case.
Improved RSA en/decrypt test a bit.
Renamed the misnamed asn1_id to pkcs_hash_id
Updated some tests. The actual seed value is not important. Also random data is not extracted in the background to update the seed value anymore.
Testsuite: Updated the Nettle and Crypto testsuites. Both the new and the old Crypto APIs should now be tested.
Cleanup
Resolve DSA in 7.8 mode as well.
Replaced Yarrow with Fortuna. This implementation is about 35 times faster than the old one. The output has been verified against NIST statistical test suite 2.1.1.
Set Crypto.Random.random_string as default random generator for ECDSA.
Added block_size() and digest_size() to HMAC
Try harder to be constant time.
Added PAD_TLS. Works as PAD_SSL did. Changed PAD_SSL to not verify the padding.
PAD_SSL will now pad with the size and not random data. unpad now verifies the padding.
Crypto.CCM: Added Counter with CBC-MAC mode. This cipher mode is specified in NIST Special Publication 800-38C.
Some simple API tests for ECC/ECDSA
Minor fixes to padding.
Use Nettle dsa_generate_keypair to generate keys. This is slower, but safer.
Tests for pbkdf1 and pbkdf2.
Some fixes to the Pike key generation. Check that e is usable. Have the test message be short enough to actually work for small key sizes. Don't depend on MD5.
Added hash functions GOST94 and RIPEMD160. All Nettle hashes are now accounted for.
Fix testsuite
Changed asn1_id to return the ASN1 Identifier object.
Actually test that the generated DSA signature works.
Added SHA224.
Crypto: Check for hash availability. Some of the hashes are not available in old versions of Nettle, so test for their presence before attempting to use them.
Added SHA-3.
Added support for SALSA20. A bit of copy and paste in the cipher implementation, but it felt excessive to add #cmod_define_block/#cmod_end_block or similar meta programming.
Restructured RSA and DSA so that they resemble each other in structure and interface. Deprecated RSA->cooked_get_n RSA->cooked_get_e RSA->cooked_get_d RSA->cooked_get_p RSA->cooked_get_q RSA->cooked_sign RSA->query_blocksize (now block_size) RSA->rsa_size (now key_size) RSA->md5_sign RSA->md5_verify RSA->sha_sign RSA->sha_verify DSA->sign_rsaref DSA->verify_rsaref
Updated the cipher API tests
Add CAMELLIA to Cipher API tests
Nettle.Cipher: Major refactoring of the ciphers. The cipher state now uses parent pointers instead of mixins. Renamed Nettle.<CIPHER>_Info to Nettle.<CIPHER> and moved Nettle.<CIPHER>_State to Nettle.<CIPHER>.State. Adjusted the corresponding code in Crypto, so that the APIs there should be the same as before.
Back to 0 skipped tests.
Test non-integral block calls of Buffer
This should be apply, not safe_apply.
Use the static program id for Fd/Fd_ref instead of looking up the program. This should perhaps be put somewhere more central.
Test for verify on {crypt} with empty hash.
Some Password tests.
SHA152 -> SHA512
Crypto: Added the crypt_hash() function from SHA-crypt. This implements the hashing function used in modern POSIX operating systems. Implemented from the reference document http://www.akkadia.org/drepper/SHA-crypt.txt Added test vectors for Crypto.SHA256.crypt_hash() and Crypto.SHA512.crypt_hash() from the above reference.
A few more error cases.
Test the hash-a-buffer features.
Adjusted tests for new key size.
Nettle 2.0 have 489 bits as minimum key size.
Fix for systems without ECC
Simple tests of DH groups.
Tests for the RSA-padding bug in pkcs_verify.
Merge remote-tracking branch 'origin/8.0' into string_alloc Conflicts: src/stralloc.c
Use cast instead of _encode.
Merge branch '8.0' into gobject-introspection
Merge remote-tracking branch 'origin/7.9' into pdf
Merge remote-tracking branch 'origin/7.9' into ba
Removed $Id$.
No more foreign_idents. More pain than they are worth.
No more foreign_idents.
Added multiple padding algorithms. Rev: lib/modules/Crypto.pmod/module.pmod:1.44 Rev: lib/modules/Crypto.pmod/testsuite.in:1.46 Rev: src/post_modules/Nettle/nettle.cmod:1.57
Actually test Crypto.Buffer with more than one block Rev: lib/modules/Crypto.pmod/testsuite.in:1.45
Actually test Crypto.Buffer with more than one block Rev: lib/modules/Crypto.pmod/testsuite.in:1.44
Revert and remake of the Nettle.Yarrow()->get_seed() test. Rev: lib/modules/Crypto.pmod/testsuite.in:1.43
Changed and documented behaviour of Nettle.Yarrow()->get_seed(). Rev: lib/modules/Crypto.pmod/testsuite.in:1.42 Rev: src/post_modules/Nettle/nettle.cmod:1.50
Now supports old Nettles without MD2 and MD4 again. Rev: lib/modules/Crypto.pmod/testsuite.in:1.41
A few more tests. Rev: lib/modules/Crypto.pmod/testsuite.in:1.40
Arcfour allows a single character key. Now tests with the empty key instead. Rev: lib/modules/Crypto.pmod/testsuite.in:1.39
Added markers Rev: lib/7.0/modules/testsuite.in:1.3 Rev: lib/7.2/modules/testsuite.in:1.2 Rev: lib/7.4/modules/Crypto.pmod/testsuite.in:1.12 Rev: lib/7.4/modules/testsuite.in:1.2 Rev: lib/modules/ADT.pmod/testsuite.in:1.15 Rev: lib/modules/Calendar.pmod/testsuite.in:1.12 Rev: lib/modules/Crypto.pmod/testsuite.in:1.38 Rev: lib/modules/Filesystem.pmod/testsuite.in:1.2 Rev: lib/modules/Graphics.pmod/Graph.pmod/testsuite.in:1.3 Rev: lib/modules/Parser.pmod/LR.pmod/testsuite.in:1.2 Rev: lib/modules/Parser.pmod/XML.pmod/testsuite.in:1.5 Rev: lib/modules/Pike.pmod/testsuite.in:1.3 Rev: lib/modules/Protocols.pmod/XMLRPC.pmod/testsuite.in:1.2 Rev: lib/modules/SSL.pmod/testsuite.in:1.8 Rev: lib/modules/Standards.pmod/ASN1.pmod/testsuite.in:1.8 Rev: lib/modules/Standards.pmod/testsuite.in:1.12 Rev: lib/modules/Stdio.pmod/testsuite.in:1.6 Rev: lib/modules/Tools.pmod/testsuite.in:1.11 Rev: lib/modules/Web.pmod/testsuite.in:1.10 Rev: lib/modules/Yabu.pmod/testsuite.in:1.4 Rev: src/modules/CommonLog/testsuite.in:1.3 Rev: src/modules/Gdbm/testsuite.in:1.7 Rev: src/modules/Gmp/testsuite.in:1.29 Rev: src/modules/Gz/testsuite.in:1.19 Rev: src/modules/Image/testsuite.in:1.18 Rev: src/modules/Java/testsuite.in:1.6 Rev: src/modules/MIME/testsuite.in:1.9 Rev: src/modules/Math/testsuite.in:1.8 Rev: src/modules/Parser/testsuite.in:1.57 Rev: src/modules/Perl/testsuite.in:1.4 Rev: src/modules/Regexp/testsuite.in:1.13 Rev: src/modules/_Charset/testsuite.in:1.8 Rev: src/modules/_Image_GIF/testsuite.in:1.2 Rev: src/modules/_Regexp_PCRE/testsuite.in:1.3 Rev: src/modules/_Roxen/testsuite.in:1.5 Rev: src/modules/_math/testsuite.in:1.12 Rev: src/modules/files/testsuite.in:1.34 Rev: src/modules/spider/testsuite.in:1.11 Rev: src/modules/sprintf/testsuite.in:1.37 Rev: src/modules/system/testsuite.in:1.17 Rev: src/post_modules/Bz2/testsuite.in:1.8 Rev: src/post_modules/Nettle/testsuite.in:1.14 Rev: src/post_modules/Unicode/testsuite.in:1.7 Rev: src/post_modules/_ADT/testsuite.in:1.5 Rev: src/post_modules/_Image_SVG/testsuite.in:1.3 Rev: src/testsuite.in:1.725
Some file-hash tests. Rev: lib/modules/Crypto.pmod/testsuite.in:1.37
Splitting crypt_md5 into make_crypt_md5 and verify_crypt_md5 Rev: lib/7.4/modules/Crypto.pmod/module.pmod:1.14 Rev: lib/modules/Crypto.pmod/module.pmod:1.32 Rev: lib/modules/Crypto.pmod/testsuite.in:1.36
Pipe depends on Gmp.mpz Rev: lib/modules/Crypto.pmod/testsuite.in:1.35
Don't do crypto tests when we have no crypto. Rev: lib/7.4/modules/Crypto.pmod/testsuite.in:1.9 Rev: lib/modules/Crypto.pmod/testsuite.in:1.34 Rev: lib/modules/SSL.pmod/testsuite.in:1.7
Uppercased substitution and koremutake Rev: lib/modules/Crypto.pmod/Koremutake.pmod:1.1 Rev: lib/modules/Crypto.pmod/Substitution.pike:1.1 Rev: lib/modules/Crypto.pmod/koremutake.pmod:1.3(DEAD) Rev: lib/modules/Crypto.pmod/substitution.pike:1.4(DEAD) Rev: lib/modules/Crypto.pmod/testsuite.in:1.33
No compatibility tests left here. Rev: lib/modules/Crypto.pmod/testsuite.in:1.32
NIST FIPS 186 example test for DSA Rev: lib/modules/Crypto.pmod/testsuite.in:1.31
Removed meaningless tests Rev: lib/modules/Crypto.pmod/testsuite.in:1.30
Remove some compat tests, preemptively restored elsewhere. Rev: lib/modules/Crypto.pmod/testsuite.in:1.29
SHA -> SHA1 Rev: lib/modules/Crypto.pmod/PGP.pmod:1.8 Rev: lib/modules/Crypto.pmod/RSA.pike:1.4 Rev: lib/modules/Crypto.pmod/dsa.pike:1.3 Rev: lib/modules/Crypto.pmod/randomness.pmod:1.5 Rev: lib/modules/Crypto.pmod/rsa.pike:1.8 Rev: lib/modules/Crypto.pmod/testsuite.in:1.28 Rev: lib/modules/SSL.pmod/Cipher.pmod:1.12 Rev: lib/modules/Tools.pmod/X509.pmod:1.28
Proxy -> Buffer Rev: lib/7.4/modules/Crypto.pmod/crypto.pike:1.3 Rev: lib/modules/Crypto.pmod/RSA.pike:1.3 Rev: lib/modules/Crypto.pmod/module.pmod:1.29 Rev: lib/modules/Crypto.pmod/testsuite.in:1.27
Bugfixed version of grubbas cbc test. Rev: lib/modules/Crypto.pmod/testsuite.in:1.26
Tests from _Crypto Rev: lib/modules/Crypto.pmod/testsuite.in:1.25
Test that we expose the things in Nettle that we want to expose. Rev: lib/modules/Crypto.pmod/testsuite.in:1.24
Fix for non-Nettle systems. Rev: lib/modules/Crypto.pmod/testsuite.in:1.23 Rev: lib/modules/Tools.pmod/X509.pmod:1.20
Fix for non-Nettle systems. Rev: lib/modules/Crypto.pmod/testsuite.in:1.22
More natural arrangement. Rev: lib/modules/Crypto.pmod/AES.pmod:1.1 Rev: lib/modules/Crypto.pmod/Arcfour.pmod:1.1 Rev: lib/modules/Crypto.pmod/Blowfish.pmod:1.1 Rev: lib/modules/Crypto.pmod/CAST.pmod:1.1 Rev: lib/modules/Crypto.pmod/DES.pmod:1.1 Rev: lib/modules/Crypto.pmod/DES3.pmod:1.1 Rev: lib/modules/Crypto.pmod/IDEA.pmod:1.1 Rev: lib/modules/Crypto.pmod/MD2.pmod:1.1 Rev: lib/modules/Crypto.pmod/MD4.pmod:1.1 Rev: lib/modules/Crypto.pmod/MD5.pmod:1.1 Rev: lib/modules/Crypto.pmod/SHA.pmod:1.1 Rev: lib/modules/Crypto.pmod/SHA256.pmod:1.1 Rev: lib/modules/Crypto.pmod/Serpent.pmod:1.1 Rev: lib/modules/Crypto.pmod/Twofish.pmod:1.1 Rev: lib/modules/Crypto.pmod/module.pmod:1.22 Rev: lib/modules/Crypto.pmod/testsuite.in:1.21
Null character test for substitution crypto. Rev: lib/modules/Crypto.pmod/testsuite.in:1.20
More tests Rev: lib/modules/Crypto.pmod/testsuite.in:1.19
Updated. Rev: lib/modules/Crypto.pmod/testsuite.in:1.18 Rev: src/modules/_Crypto/testsuite.in:1.36
More API tests. Rev: lib/modules/Crypto.pmod/testsuite.in:1.17
Test make_key Rev: lib/modules/Crypto.pmod/testsuite.in:1.16
Yarrow->get_seed throws an error when the generator is not seeded. Rev: lib/modules/Crypto.pmod/testsuite.in:1.15
Fixes. Rev: lib/modules/Crypto.pmod/testsuite.in:1.14
DES3 tests Rev: lib/modules/Crypto.pmod/testsuite.in:1.13
Fixed DES parity tests. Rev: lib/modules/Crypto.pmod/testsuite.in:1.12
DES parity tests. Rev: lib/modules/Crypto.pmod/testsuite.in:1.11
Added DES. Some renaming. Rev: lib/modules/Crypto.pmod/module.pmod:1.14 Rev: lib/modules/Crypto.pmod/testsuite.in:1.10
Test compat Rev: lib/modules/Crypto.pmod/testsuite.in:1.9 Rev: src/modules/_Crypto/testsuite.in:1.27
Random fix. Rev: lib/modules/Crypto.pmod/testsuite.in:1.8
Fixed cond for Nettle.Yarrow. Rev: lib/modules/Crypto.pmod/testsuite.in:1.7
More tests Rev: lib/modules/Crypto.pmod/testsuite.in:1.6
Nettle tests Rev: lib/modules/Crypto.pmod/testsuite.in:1.5
Tests rsa->raw_{sign,verify} Rev: lib/modules/Crypto.pmod/testsuite.in:1.4
Test Crypto.rsa Rev: lib/modules/Crypto.pmod/testsuite.in:1.3
Started new hashing interface, using Nettle. New advertised MD5 interface is Crypto.MD5. Rev: lib/modules/Crypto.pmod/module.pmod:1.2 Rev: lib/modules/Crypto.pmod/testsuite.in:1.2
From /Crypto Rev: lib/modules/Crypto.pmod:1.11(DEAD) Rev: lib/modules/Crypto.pmod/_rsa.pike:1.1 Rev: lib/modules/Crypto.pmod/aes.pike:1.1 Rev: lib/modules/Crypto.pmod/des3.pike:1.1 Rev: lib/modules/Crypto.pmod/des3_cbc.pike:1.1 Rev: lib/modules/Crypto.pmod/des_cbc.pike:1.1 Rev: lib/modules/Crypto.pmod/dsa.pike:1.1 Rev: lib/modules/Crypto.pmod/hmac.pike:1.1 Rev: lib/modules/Crypto.pmod/idea_cbc.pike:1.1 Rev: lib/modules/Crypto.pmod/module.pmod:1.1 Rev: lib/modules/Crypto.pmod/randomness.pmod:1.1 Rev: lib/modules/Crypto.pmod/rsa.pike:1.1 Rev: lib/modules/Crypto.pmod/substitution.pike:1.1 Rev: lib/modules/Crypto.pmod/testsuite.in:1.1