Branch: Tag:

2020-06-25

2020-06-25 13:37:42 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Build: Fixed some warnings.

2019-07-17

2019-07-17 14:36:44 by Tobias S. Josefowitz <tobij@tobij.de>

Nettle: Fix typo

2019-07-15

2019-07-15 20:48:54 by Marcus Comstedt <marcus@mc.pp.se>

Nettle: Support nettle 3.5

(cherry picked from commit 9af7432bf2a5eec7cb1db10ca3009c2f70279bab)
(cherry picked from commit 47ea46b8c0c7dcd270fe2d87577edfdacd5cc668)

2019-07-01

2019-07-01 11:34:15 by Marcus Comstedt <marcus@mc.pp.se>

Nettle: Fix typo in previous commit

2019-07-01 11:31:47 by Marcus Comstedt <marcus@mc.pp.se>

Nettle: Support nettle 3.5

2019-06-01

2019-06-01 14:04:35 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.Curve25519: Fixed encoding of Point.

The default implemetation of encode() prefixes the value with '\4'
(ANSI x9.62 encoding #4), but this should NOT be done for Curve25519
as there is only the single encoding.

This fixes key-exchange incompatibilities with SSL.

2019-03-19

2019-03-19 12:33:55 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Merge commit '722771973bd' into patches/lyslyskom22891031

* commit '722771973bd': (6177 commits)
Verify that callablep responses are aligned with reality.
...

2019-03-14

2019-03-14 10:39:03 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Merge commit '2470270f500c728d10b8895314d8d8b07016e37b' into grubba/typechecker-automap

* commit '2470270f500c728d10b8895314d8d8b07016e37b': (18681 commits)
Removed the old typechecker.
...

2018-11-04

2018-11-04 16:11:11 by Arne Goedeke <el@laramies.com>

Merge remote-tracking branch 'origin/master' into new_utf8

2018-11-03

2018-11-03 14:21:37 by Marcus Comstedt <marcus@mc.pp.se>

Merge remote-tracking branch 'origin/8.1' into gobject-introspection

2018-02-03

2018-02-03 09:48:55 by Peter Bortas <bortas@gmail.com>

Merge branch '8.1' into peter/travis

2018-01-18

2018-01-18 15:01:30 by Martin Nilsson <nilsson@fastmail.com>

Let module.h include some common includes.

2018-01-01

2018-01-01 00:21:51 by Martin Nilsson <nilsson@fastmail.com>

Clean up stack after create.

2017-09-08

2017-09-08 12:19:43 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle [Curve25519]: Improved detection of X25519 support.

Don't implement Curve25519 if nettle_ed25519_sha512_sign()
isn't available.

Improves robustness against mismatching header files and libraries.

2017-08-04

2017-08-04 10:01:19 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Don't fail if optional base classes are missing.

Attempt to survive without __builtin.Nettle.

2017-08-02

2017-08-02 20:07:22 by Martin Nilsson <nilsson@fastmail.com>

Use lexical_inherit.

2017-07-31

2017-07-31 21:04:38 by Martin Nilsson <nilsson@fastmail.com>

Less code duplication. This should probably move somewhere more central.

2017-07-19

2017-07-19 17:18:16 by Martin Nilsson <nilsson@fastmail.com>

ID_STATIC -> ID_PROTECTED

2017-07-07

2017-07-07 14:24:06 by Martin Nilsson <nilsson@fastmail.com>

Added paranoia-check in debug mode.

2017-05-23

2017-05-23 13:56:43 by Martin Nilsson <nilsson@fastmail.com>

Only include ECC_Curve when we have at least one curved defined.

2017-05-22

2017-05-22 22:35:57 by Martin Nilsson <nilsson@fastmail.com>

Only include ECC_Curve if we have any curve implemented.

2017-05-17

2017-05-17 12:47:53 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Build [Nettle]: Removed redundant declaration.

Fixes compilation issues on NT.

2017-05-16

2017-05-16 16:40:11 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Build [Nettle]: Fixed some more C99-isms.

2017-03-21

2017-03-21 15:18:55 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.Curve25519: Improved support for JOSE.

Implements some parts of RFC 8037.

2017-03-13

2017-03-13 14:33:21 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Fixed potential compilation issues with old crippled hogweed.

2017-02-27

2017-02-27 11:28:25 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Documentation [Nettle]: Fixed cut'n'paste typo.

2017-02-09

2017-02-09 17:34:20 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Moved yyreport() et al to pike_compiler.cmod.

More code cleanup.

2017-01-03

2017-01-03 10:54:13 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.Curve25519.Point: Improved support for Stdio.Buffer.

Only read as many bytes as needed from Stdio.Buffer objects.

2016-12-30

2016-12-30 11:03:26 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Crypto.ECC: Unified the APIs for Curve and Curve25519.

new_scalar(), get_x() and get_y() now return coordinates in the
preferred representation for the curve (ie either as a Gmp.mpz
or as a string(8bit)).

create(), set() and `*() accept that same value as argument.

Added get_{x,y}_{num,str}() to get a specific representation.

jose_name() now has a default implementation that returns UNDEFINED.

Added default implementation of get_curve().

Curve25519 now has a Point subclass.

2016-12-28

2016-12-28 10:50:56 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Crypto.ECC.Curve.Point: Added jose_name().

Also fixes typo in result of Crypto.ECC.SECP_256R1.jose_name().

2016-12-26

2016-12-26 09:35:51 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.ECC_Curve.Point: Fixed freeing of unallocated scalar.

Fixes SIGSEGV in the testsuite.

2016-12-25

2016-12-25 14:09:16 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Crypto.ECC.Curve.Point: Allow creation without arguments again.

Points now default to 'g'.

Fixes several testsuite failures.

2016-12-23

2016-12-23 14:27:32 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Crypto.ECC.Curve: Added some more support for JOSE.

Added jose_name(), which returns the RFC 7518 name for the curve.

It is now possible to initialize a Point from a JWK.

2016-10-09

2016-10-09 18:27:31 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Documentation [Nettle]: Improved doc for Curve25519.

2016-10-08

2016-10-08 14:33:42 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Added support for Curve25519 and EdDSA25519.

CAVEAT: API subject to change!

Note that these have a different API than the other ECC curves
due to a different low-level API.

2016-09-24

2016-09-24 12:38:20 by Martin Nilsson <nilsson@fastmail.com>

Fix for missing SECP curves.

2016-09-24 12:32:55 by Martin Nilsson <nilsson@fastmail.com>

Fix for missing SECP curves.

2016-09-23

2016-09-23 16:21:36 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Probe for the SECP curves.

Some versions of RedHat have censored the weaker curves
(secp_192r1 abd secp_224r1), so we need to survive this.

Thanks to Martin Bähr <mbaehr+pike@realss.com> for the report.

Fixes [LysLysKOM 21863021].

2016-09-23 16:10:05 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Probe for the SECP curves.

Some versions of RedHat have censored the weaker curves
(secp_192r1 abd secp_224r1), so we need to survive this.

Thanks to Martin Bähr <mbaehr+pike@realss.com> for the report.

Fixes [LysLysKOM 21863021].

2016-03-19

2016-03-19 20:21:46 by Martin Nilsson <nilsson@fastmail.com>

Added some return value paranoia.

2016-03-14

2016-03-14 15:24:55 by Martin Nilsson <nilsson@fastmail.com>

Default to random_string as random function.

2016-02-01

2016-02-01 23:50:08 by Martin Nilsson <nilsson@fastmail.com>

Added some static.

2015-11-08

2015-11-08 03:12:23 by Martin Nilsson <nilsson@fastmail.com>

Don't clean up stack before returning from void functions.

2015-05-27

2015-05-27 20:24:56 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle [ECDSA]: Fixed parent pointer information.

The Point must be inherited by hand, as the parent pointer information
otherwise gets lost.

2015-05-27 16:04:36 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.ECC.Curve.ECDSA: Inherit the Point.

2015-05-07

2015-05-07 23:24:52 by Martin Nilsson <nilsson@opera.com>

Don't leak dsa_params bignums on parameter errors.

2015-05-07 23:23:52 by Martin Nilsson <nilsson@opera.com>

Don't leak dsa_params bignums on parameter errors.

2015-03-06

2015-03-06 13:37:52 by Martin Nilsson <nilsson@opera.com>

Doc fixes.

2015-02-27

2015-02-27 17:10:14 by Martin Nilsson <nilsson@opera.com>

Autodoc fix.

2015-02-14

2015-02-14 11:42:49 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Crypto.ECC.Curve.Point: Added LFUN::_equal().

It is now possible to compare ECC points with predef::equal().

2015-02-07

2015-02-07 11:21:09 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.ECC_Curve: Survive old versions of Nettle.

Thanks to Chris Angelico <rosuav@gmail.com> for the report.

2015-02-07 01:24:23 by Chris Angelico <rosuav@gmail.com>

Survive lack of nettle/ecdsa.h

Macro definitions inside the guard block were being used outside it,
and thus failing in the absence of that header.

2015-01-28

2015-01-28 17:33:04 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.ECC_Curve: Survive Nettle 2.7.1.

ecc_bit_size() is a very new function in Nettle...

2015-01-27

2015-01-27 22:25:17 by Martin Nilsson <nilsson@opera.com>

The low level API for curve selection only supported a subset of NIST curves. Change into a easier to use and easier to extend API in preparation for curve25519.

2015-01-27 22:24:06 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Crypto.ECC.Curve: Added LFUN::`==().

2015-01-24

2015-01-24 14:21:55 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.ECC_Curve: Curve-multiplication now returns Points.

NB: This is not backward compatible with previous releases of Pike 8.0.

2015-01-24 14:20:35 by Henrik Grubbström (Grubba) <grubba@grubba.org>

__builtin.Nettle: Moved Point to ECC_Curve.Point.

This will allow for using parent references in ECC_Curve.Point.

2015-01-24 14:19:58 by Martin Nilsson <nilsson@opera.com>

ECC_Curve.Point can now deserialize x9.62 curve points.

2015-01-24 14:19:58 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.ECC: Added initial implementation of Curve.Point.

This is to simplify handling of points on ECC curves.

Currently the code is sufficient to perform ECDSA, but
eg encode and decode would be nice.

TODO: Other code needs to be updated to accept Points.

2015-01-23

2015-01-23 15:31:41 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.ECC_Curve: Curve-multiplication now returns Points.

NB: This is not backward compatible with current Pike 8.0.

2015-01-21

2015-01-21 19:19:03 by Henrik Grubbström (Grubba) <grubba@grubba.org>

__builtin.Nettle: Moved Point to ECC_Curve.Point.

This will allow for using parent references in ECC_Curve.Point.

2015-01-20

2015-01-20 13:15:15 by Martin Nilsson <nilsson@opera.com>

ECC_Curve.Point can now deserialize x9.62 curve points.

2014-12-11

2014-12-11 17:52:53 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.ECC: Added initial implementation of Curve.Point.

This is to simplify handling of points on ECC curves.

Currently the code is sufficient to perform ECDSA, but
eg encode and decode would be nice.

TODO: Other code needs to be updated to accept Points.

2014-12-04

2014-12-04 19:27:20 by Martin Nilsson <nilsson@opera.com>

Fixed warnings.

2014-12-04 19:27:06 by Martin Nilsson <nilsson@opera.com>

Fixed an invariance vaguely pointed out by Niels.

2014-12-04 19:27:06 by Per Hedbor <ph@opera.com>

Autodoc fix

2014-12-04 19:26:54 by Martin Nilsson <nilsson@opera.com>

Optimized rsa_unpad a bit.

2014-12-04 19:26:54 by Martin Nilsson <nilsson@opera.com>

More serious attempt at constant time RSA unpadding.

2014-12-04 19:26:38 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Use PROGRAM_CLEAR_STORAGE.

2014-12-04 19:26:18 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Improve propagation of errors.

Use apply() instead of safe_apply() in lots of places. In addition
to improving the propagation of errors, it should reduce the stack
usage and improve performance, since it avoids the longjump contexts.

Also adds quite a few missing proxy functions, and improves the types
for some of the existing as well.

2014-12-04 19:26:03 by Henrik Grubbström (Grubba) <grubba@grubba.org>

AutoDoc: Fixed some markup bugs in Nettle.

2014-12-04 19:25:58 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Runtime: Improved robustness of parent_storage().

Under some circumstances parent_storage() could return
a storage pointer to a class that had inherited the
parent program. Fix this by making sure that we get the
storage for the program that we expect to find as parent.

2014-12-04 19:25:56 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Build: Use the recommended way to detect Nettle API differences.

The main Nettle developers recommend using the function renaming
macros to detect Nettle API differences.

In this case we use <nettle/dsa.h>'s remapping of dsa_params_init
to nettle_dsa_params_init to detect Nettle 3.0 or later.

2014-12-04 19:25:55 by Martin Nilsson <nilsson@opera.com>

Using the nettle_dsa_params_init as 3.0 indicator appears safer to me than a compat header file.

2014-12-04 19:25:54 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.DH_Params: Added C-code for Diffie-Hellman.

Crypto.DH.DHParams now uses Nettle.DH_Params if available.

2014-12-04 19:25:52 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Support the soon to be released Nettle 3.0.

The DSA APIs have been changed in Nettle 3.0. This adds code to
use the new API (as the compat API failed due to name conflits).

2014-12-04 19:25:45 by Martin Nilsson <nilsson@opera.com>

Address fallout from stronger random type.

2014-12-04 19:25:43 by Martin Nilsson <nilsson@opera.com>

Set Crypto.Random.random_string as default random generator for ECDSA.

2014-12-04 19:25:41 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Specify a base name to precompile.

The internal C-level symbols generated by precompile are now
prefixed with "Nettle_" or "NETTLE_".

2014-12-04 19:25:23 by Per Hedbor <ph@opera.com>

Fixed function signature for random_func_wrapper.

This actually changes the calling conventions, and on stack
based machines it could make a significant difference if
size_t and unsigned int does not have the same bytesize.

2014-12-04 19:25:14 by Martin Nilsson <nilsson@opera.com>

Fix warnings.

2014-12-04 19:25:14 by Henrik Grubbström (Grubba) <grubba@grubba.org>

ECDSA: Derive the public key when setting the private.

This simplifies the API for the user.

2014-12-04 19:25:10 by Per Hedbor <ph@opera.com>

Older versions of nettle (2.0) does not have the qbits argument to generate_dsa_keypair.

2014-12-04 19:25:09 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Crypto.Sign: Added base class for signature algorithms.

Crypto.Sign is to contain the APIs common to Crypto.RSA, Crypto.DSA
and Crypto.ECC.Curve.ECDSA.

2014-12-04 19:25:04 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Crypto.ECC: Added support for ECDSA.

This adds support for ECDSA with an API similar to that for RSA and DSA.

2014-12-04 19:25:04 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Fixed some Autodoc markup errors in hogweed.

2014-12-04 19:25:03 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Crypto.ECC: Changed initialization of curves.

This is to allow for extending the Crypto.ECC.Curve API with
code written in Pike.

2014-12-04 19:25:03 by Martin Nilsson <nilsson@opera.com>

Fixed warnings and a doc typo.

2014-12-04 19:25:02 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.ECC_Curve: size() now returns the exact size.

Some protocols need greater precision than units of sizeof(mp_limb).
A typical case is to implement fix-width encodings like FE2OSP()
from IEEE 1363 (aka ANSI x9.62 4.3.3), where leading NULs may be
significant (cf eg RFC 4492 5.10).

2014-12-04 19:25:01 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Bignums: Added API for pushing bignums directly.

This simplifies code needing to handle bignums from external
sources (eg hogweed).

2014-12-04 19:25:01 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Use the new push_bignum() API.

Also improves forward compatibility by using the
{rsa,dsa}_{private,public}_key_{init,clear} functions,
instead of doing it by hand.

2014-12-04 19:25:01 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Crypto.ECC: Added some Elliptic Curve Crypto support.

2014-12-04 19:25:01 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.ECC_Curve: Added point_mul().

The ECC APIs should now be sufficient to implement eg ECDH.

Also improves robustness against uninitialized curves.

2014-12-04 19:24:54 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: All narrow strings should now be declared as such.

2014-12-04 19:24:53 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Fixed some broken Autodoc markup.

Also fixes an Autodoc typo in udp.c.

2014-12-04 19:24:50 by Martin Nilsson <nilsson@opera.com>

Throw exception instead of (incorrectly) returning 0.

2014-12-04 19:24:46 by Martin Nilsson <nilsson@opera.com>

Typos

2014-12-04 19:24:46 by Martin Nilsson <nilsson@opera.com>

Added support for Nettle RSA/DSA key generation to Nettle. Added code in Crypto.RSA to use it, but currently not active due to CPP strangenewss. Speeds up key generation by 75%.

2014-11-15

2014-11-15 10:55:33 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.ECC_Curve: Improved documentation about point_mul().

Added note that point_mul() validates that the coordinate
is valid for the curve.

2014-11-15 10:48:08 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.ECC_Curve: Improved documentation about point_mul().

Added note that point_mul() validates that the coordinate
is valid for the curve.

2014-11-05

2014-11-05 17:03:41 by Martin Nilsson <nilsson@opera.com>

Address some warnings.

2014-11-05 17:03:08 by Martin Nilsson <nilsson@opera.com>

Address some warnings.

2014-10-30

2014-10-30 02:41:13 by Martin Nilsson <nilsson@opera.com>

Don't include gmp.h directly. Use bignum.h

2014-10-29

2014-10-29 17:55:47 by Martin Nilsson <nilsson@opera.com>

Access bignum_program directly.

2014-10-24

2014-10-24 09:55:19 by Arne Goedeke <el@laramies.com>

Nettle: compat with nettle < 2.7

the second argument of nettle_random_func was changed (along with many
other parameters) to size_t. Use the compat type pike_nettle_size_t.

2014-10-24 07:52:54 by Arne Goedeke <el@laramies.com>

Nettle: compat with nettle < 2.7

the second argument of nettle_random_func was changed (along with many
other parameters) to size_t. Use the compat type pike_nettle_size_t.

2014-10-03

2014-10-03 15:23:54 by Arne Goedeke <el@laramies.com>

Nettle: moved rsa_unpad() to nettle.cmod

rsa_unpad() does not actually depend on hogweed and is used without it.
This fixes the Crypto module when compiled with old nettle versions
(without hogweed).

2014-10-03 15:22:53 by Arne Goedeke <el@laramies.com>

Nettle: moved rsa_unpad() to nettle.cmod

rsa_unpad() does not actually depend on hogweed and is used without it.
This fixes the Crypto module when compiled with old nettle versions
(without hogweed).

2014-08-22

2014-08-22 18:02:24 by Arne Goedeke <el@laramies.com>

Merge remote-tracking branch 'origin/8.0' into string_alloc

2014-08-18

2014-08-18 18:10:18 by Martin Nilsson <nilsson@opera.com>

Fixed warnings.

2014-08-11

2014-08-11 10:05:10 by Per Hedbor <ph@opera.com>

Autodoc fix

2014-08-10

2014-08-10 22:06:25 by Martin Nilsson <nilsson@opera.com>

Fixed an invariance vaguely pointed out by Niels.

2014-07-26

2014-07-26 00:07:48 by Martin Nilsson <nilsson@opera.com>

Optimized rsa_unpad a bit.

2014-07-25

2014-07-25 19:40:20 by Martin Nilsson <nilsson@opera.com>

More serious attempt at constant time RSA unpadding.

2014-06-19

2014-06-19 08:42:46 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Use PROGRAM_CLEAR_STORAGE.

2014-05-13

2014-05-13 20:53:55 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Improve propagation of errors.

Use apply() instead of safe_apply() in lots of places. In addition
to improving the propagation of errors, it should reduce the stack
usage and improve performance, since it avoids the longjump contexts.

Also adds quite a few missing proxy functions, and improves the types
for some of the existing as well.

2014-04-30

2014-04-30 17:05:54 by Henrik Grubbström (Grubba) <grubba@grubba.org>

AutoDoc: Fixed some markup bugs in Nettle.

2014-04-26

2014-04-26 12:06:41 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Runtime: Improved robustness of parent_storage().

Under some circumstances parent_storage() could return
a storage pointer to a class that had inherited the
parent program. Fix this by making sure that we get the
storage for the program that we expect to find as parent.

2014-04-24

2014-04-24 20:46:23 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Build: Use the recommended way to detect Nettle API differences.

The main Nettle developers recommend using the function renaming
macros to detect Nettle API differences.

In this case we use <nettle/dsa.h>'s remapping of dsa_params_init
to nettle_dsa_params_init to detect Nettle 3.0 or later.

2014-04-24 15:15:10 by Martin Nilsson <nilsson@opera.com>

Using the nettle_dsa_params_init as 3.0 indicator appears safer to me than a compat header file.

2014-04-21

2014-04-21 17:35:04 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.DH_Params: Added C-code for Diffie-Hellman.

Crypto.DH.DHParams now uses Nettle.DH_Params if available.

2014-04-17

2014-04-17 17:13:55 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Support the soon to be released Nettle 3.0.

The DSA APIs have been changed in Nettle 3.0. This adds code to
use the new API (as the compat API failed due to name conflits).

2014-04-05

2014-04-05 23:22:55 by Martin Nilsson <nilsson@opera.com>

Address fallout from stronger random type.

2014-04-02

2014-04-02 15:51:20 by Martin Nilsson <nilsson@opera.com>

Set Crypto.Random.random_string as default random generator for ECDSA.

2014-03-29

2014-03-29 12:57:43 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Specify a base name to precompile.

The internal C-level symbols generated by precompile are now
prefixed with "Nettle_" or "NETTLE_".

2014-02-25

2014-02-25 14:31:53 by Per Hedbor <ph@opera.com>

Fixed function signature for random_func_wrapper.

This actually changes the calling conventions, and on stack
based machines it could make a significant difference if
size_t and unsigned int does not have the same bytesize.

2014-01-30

2014-01-30 16:33:08 by Henrik Grubbström (Grubba) <grubba@grubba.org>

ECDSA: Derive the public key when setting the private.

This simplifies the API for the user.

2014-01-29

2014-01-29 17:08:07 by Martin Nilsson <nilsson@opera.com>

Fix warnings.

2014-01-13

2014-01-13 16:04:03 by Per Hedbor <ph@opera.com>

Older versions of nettle (2.0) does not have the qbits argument to generate_dsa_keypair.

2014-01-13 13:04:02 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Crypto.Sign: Added base class for signature algorithms.

Crypto.Sign is to contain the APIs common to Crypto.RSA, Crypto.DSA
and Crypto.ECC.Curve.ECDSA.

2014-01-05

2014-01-05 15:14:13 by Marcus Comstedt <marcus@mc.pp.se>

Merge branch '8.0' into gobject-introspection

2014-01-04

2014-01-04 13:40:52 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Crypto.ECC: Added support for ECDSA.

This adds support for ECDSA with an API similar to that for RSA and DSA.

2014-01-04 13:33:47 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Fixed some Autodoc markup errors in hogweed.

2014-01-04 13:09:03 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Crypto.ECC: Changed initialization of curves.

This is to allow for extending the Crypto.ECC.Curve API with
code written in Pike.

2014-01-02

2014-01-02 10:35:58 by Martin Nilsson <nilsson@opera.com>

Fixed warnings and a doc typo.

2013-12-30

2013-12-30 09:39:30 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.ECC_Curve: size() now returns the exact size.

Some protocols need greater precision than units of sizeof(mp_limb).
A typical case is to implement fix-width encodings like FE2OSP()
from IEEE 1363 (aka ANSI x9.62 4.3.3), where leading NULs may be
significant (cf eg RFC 4492 5.10).

2013-12-28

2013-12-28 11:37:21 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle.ECC_Curve: Added point_mul().

The ECC APIs should now be sufficient to implement eg ECDH.

Also improves robustness against uninitialized curves.

2013-12-26

2013-12-26 23:45:06 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Crypto.ECC: Added some Elliptic Curve Crypto support.

2013-12-25

2013-12-25 12:27:01 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Use the new push_bignum() API.

Also improves forward compatibility by using the
{rsa,dsa}_{private,public}_key_{init,clear} functions,
instead of doing it by hand.

2013-12-24

2013-12-24 12:55:53 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Bignums: Added API for pushing bignums directly.

This simplifies code needing to handle bignums from external
sources (eg hogweed).

2013-12-08

2013-12-08 13:04:51 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: All narrow strings should now be declared as such.

2013-12-06

2013-12-06 18:37:41 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Nettle: Fixed some broken Autodoc markup.

Also fixes an Autodoc typo in udp.c.

2013-12-02

2013-12-02 15:23:08 by Martin Nilsson <nilsson@opera.com>

Throw exception instead of (incorrectly) returning 0.

2013-11-24

2013-11-24 23:33:02 by Martin Nilsson <nilsson@opera.com>

Typos

2013-11-24 22:43:38 by Martin Nilsson <nilsson@opera.com>

Added support for Nettle RSA/DSA key generation to Nettle. Added code in Crypto.RSA to use it, but currently not active due to CPP strangenewss. Speeds up key generation by 75%.