oweals/openssl.git
13 years agox86_64-xlate.pl: fix movzw [from HEAD].
Andy Polyakov [Fri, 12 Aug 2011 21:25:23 +0000 (21:25 +0000)]
x86_64-xlate.pl: fix movzw [from HEAD].

13 years agoAlpha assembler fixed from HEAD.
Andy Polyakov [Fri, 12 Aug 2011 12:31:08 +0000 (12:31 +0000)]
Alpha assembler fixed from HEAD.
PR: 2577

13 years agoaesni TLS GCM support
Dr. Stephen Henson [Thu, 11 Aug 2011 23:06:37 +0000 (23:06 +0000)]
aesni TLS GCM support

13 years agoSync EVP AES modes from HEAD.
Dr. Stephen Henson [Thu, 11 Aug 2011 22:52:06 +0000 (22:52 +0000)]
Sync EVP AES modes from HEAD.

13 years agoAdd XTS OIDs from HEAD.
Dr. Stephen Henson [Thu, 11 Aug 2011 22:51:37 +0000 (22:51 +0000)]
Add XTS OIDs from HEAD.

13 years agoSync ASM/modes to add CCM and XTS modes and assembly language optimisation
Dr. Stephen Henson [Thu, 11 Aug 2011 22:36:19 +0000 (22:36 +0000)]
Sync ASM/modes to add CCM and XTS modes and assembly language optimisation
(from HEAD, original by Andy).

13 years agoprevent compilation errors and warnings
Dr. Stephen Henson [Thu, 11 Aug 2011 21:12:01 +0000 (21:12 +0000)]
prevent compilation errors and warnings

13 years agoAdd provisory support for RDRAND [from HEAD].
Andy Polyakov [Wed, 10 Aug 2011 18:53:13 +0000 (18:53 +0000)]
Add provisory support for RDRAND [from HEAD].

13 years agoBackport GCM support from HEAD.
Dr. Stephen Henson [Thu, 4 Aug 2011 11:13:28 +0000 (11:13 +0000)]
Backport GCM support from HEAD.

13 years agoBackport GCM support from HEAD. Minimal support at present: no assembly
Dr. Stephen Henson [Thu, 4 Aug 2011 11:12:38 +0000 (11:12 +0000)]
Backport GCM support from HEAD. Minimal support at present: no assembly
language optimisation. [original by Andy]

13 years agofix memory leak
Dr. Stephen Henson [Wed, 3 Aug 2011 16:40:14 +0000 (16:40 +0000)]
fix memory leak

13 years agorecognise ecdsaWithSHA1 OID
Dr. Stephen Henson [Thu, 28 Jul 2011 14:42:53 +0000 (14:42 +0000)]
recognise ecdsaWithSHA1 OID

13 years agoDisable rsax for Windows: it doesn't currently work.
Dr. Stephen Henson [Mon, 25 Jul 2011 23:45:49 +0000 (23:45 +0000)]
Disable rsax for Windows: it doesn't currently work.

13 years agoAdd HMAC ECC ciphersuites from RFC5289. Include SHA384 PRF support and
Dr. Stephen Henson [Mon, 25 Jul 2011 21:45:17 +0000 (21:45 +0000)]
Add HMAC ECC ciphersuites from RFC5289. Include SHA384 PRF support and
prohibit use of these ciphersuites for TLS < 1.2

13 years agoBack-port TLS AEAD framework [from HEAD].
Andy Polyakov [Thu, 21 Jul 2011 19:22:57 +0000 (19:22 +0000)]
Back-port TLS AEAD framework [from HEAD].

13 years agostop warnings
Dr. Stephen Henson [Thu, 21 Jul 2011 13:45:17 +0000 (13:45 +0000)]
stop warnings

13 years agoAdd RSAX builtin engine [from HEAD].
Andy Polyakov [Wed, 20 Jul 2011 21:51:33 +0000 (21:51 +0000)]
Add RSAX builtin engine [from HEAD].

13 years agoPR: 2559
Dr. Stephen Henson [Wed, 20 Jul 2011 15:22:02 +0000 (15:22 +0000)]
PR: 2559
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de>
Reviewed by: steve

Fix DTLS socket error bug

13 years agoPR: 2555
Dr. Stephen Henson [Wed, 20 Jul 2011 15:17:42 +0000 (15:17 +0000)]
PR: 2555
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de>
Reviewed by: steve

Fix DTLS sequence number bug

13 years agoPR: 2550
Dr. Stephen Henson [Wed, 20 Jul 2011 15:13:43 +0000 (15:13 +0000)]
PR: 2550
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de>
Reviewed by: steve

Fix DTLS HelloVerifyRequest Timer bug

13 years agoPR: 2556 (partial)
Dr. Stephen Henson [Thu, 14 Jul 2011 12:01:36 +0000 (12:01 +0000)]
PR: 2556 (partial)
Reported by: Daniel Marschall <daniel-marschall@viathinksoft.de>
Reviewed by: steve

Fix OID routines.

Check on encoding leading zero rejection should start at beginning of
encoding.

Allow for initial digit when testing when to use BIGNUMs which can increase
first value by 2 * 40.

13 years agoms/uplink.c: fix Visual Studio 2010 warning [from HEAD].
Andy Polyakov [Wed, 13 Jul 2011 14:54:56 +0000 (14:54 +0000)]
ms/uplink.c: fix Visual Studio 2010 warning [from HEAD].

13 years agoconfig: config: detect if assembler supports --noexecstack and pass it down
Andy Polyakov [Wed, 13 Jul 2011 14:25:22 +0000 (14:25 +0000)]
config: config: detect if assembler supports --noexecstack and pass it down
[from HEAD].

13 years agoperlasm/cbc.pl: fix tail processing bug [from HEAD].
Andy Polyakov [Wed, 13 Jul 2011 06:22:46 +0000 (06:22 +0000)]
perlasm/cbc.pl: fix tail processing bug [from HEAD].
PR: 2557

13 years agoFix typo.
Bodo Möller [Mon, 11 Jul 2011 12:13:56 +0000 (12:13 +0000)]
Fix typo.

Submitted by: Jim Morrison

13 years agoUpdate ordinals.
Dr. Stephen Henson [Fri, 8 Jul 2011 12:12:30 +0000 (12:12 +0000)]
Update ordinals.

13 years agox86_64-xlate.pl: update from HEAD.
Andy Polyakov [Mon, 4 Jul 2011 13:11:55 +0000 (13:11 +0000)]
x86_64-xlate.pl: update from HEAD.

13 years agosha1-x86_64.pl: nasm-related update from HEAD.
Andy Polyakov [Mon, 4 Jul 2011 13:01:42 +0000 (13:01 +0000)]
sha1-x86_64.pl: nasm-related update from HEAD.

13 years agosha1-x86_64.pl: fix win64-specific typos and add masm support [from HEAD].
Andy Polyakov [Fri, 1 Jul 2011 21:24:39 +0000 (21:24 +0000)]
sha1-x86_64.pl: fix win64-specific typos and add masm support [from HEAD].

13 years agox86_64-xlate.pl: masm-specific update.
Andy Polyakov [Fri, 1 Jul 2011 21:22:13 +0000 (21:22 +0000)]
x86_64-xlate.pl: masm-specific update.

13 years agoNo need for trailing slash any more.
Dr. Stephen Henson [Fri, 1 Jul 2011 14:15:02 +0000 (14:15 +0000)]
No need for trailing slash any more.

13 years agoFix assembly language function renaming so it works on WIN64.
Dr. Stephen Henson [Fri, 1 Jul 2011 14:13:52 +0000 (14:13 +0000)]
Fix assembly language function renaming so it works on WIN64.

13 years agoConfigure: add aesni-x86_64.o to VC-WIN64A line.
Andy Polyakov [Tue, 28 Jun 2011 18:20:25 +0000 (18:20 +0000)]
Configure: add aesni-x86_64.o to VC-WIN64A line.

13 years agorc4-x86[_64].pl: back-sync with original 1.0.1.
Andy Polyakov [Tue, 28 Jun 2011 15:04:31 +0000 (15:04 +0000)]
rc4-x86[_64].pl: back-sync with original 1.0.1.

13 years agoAES-NI backport from HEAD. Note that e_aes.c doesn't implement all modes
Andy Polyakov [Tue, 28 Jun 2011 14:49:35 +0000 (14:49 +0000)]
AES-NI backport from HEAD. Note that e_aes.c doesn't implement all modes
from HEAD yet, more will be back-ported later.

13 years agox86[_64] assembler pack: back-port SHA1 and RC4 from HEAD.
Andy Polyakov [Tue, 28 Jun 2011 13:53:50 +0000 (13:53 +0000)]
x86[_64] assembler pack: back-port SHA1 and RC4 from HEAD.

13 years agox86[_64]cpuid.pl: harmonize OPENSSL_ia32_cpuid [from HEAD].
Andy Polyakov [Tue, 28 Jun 2011 13:40:19 +0000 (13:40 +0000)]
x86[_64]cpuid.pl: harmonize OPENSSL_ia32_cpuid [from HEAD].

13 years agox86[_64] perlasm: pull-in from HEAD.
Andy Polyakov [Tue, 28 Jun 2011 13:33:47 +0000 (13:33 +0000)]
x86[_64] perlasm: pull-in from HEAD.

13 years agoExpand OPENSSL_ia32cap_P to 64 bits. It might appear controversial, because
Andy Polyakov [Tue, 28 Jun 2011 13:31:58 +0000 (13:31 +0000)]
Expand OPENSSL_ia32cap_P to 64 bits. It might appear controversial, because
such operation can be considered as breaking binary compatibility. However!
OPNESSL_ia32cap_P is accessed by application through pointer returned by
OPENSSL_ia32cap_loc() and such change of *internal* OPENSSL_ia32cap_P
declaration is possible specifically on little-endian platforms, such as
x86[_64] ones in question. In addition, if 32-bit application calls
OPENSSL_ia32cap_loc(), it clears upper half of capability vector maintaining
the illusion that it's still 32 bits wide.

13 years agoauto detect configuration using KERNEL_BITS and CC
Dr. Stephen Henson [Mon, 27 Jun 2011 11:39:01 +0000 (11:39 +0000)]
auto detect configuration using KERNEL_BITS and CC

13 years agoallow KERNEL_BITS to be specified in the environment
Dr. Stephen Henson [Fri, 24 Jun 2011 14:04:18 +0000 (14:04 +0000)]
allow KERNEL_BITS to be specified in the environment

13 years agoPR: 2470
Dr. Stephen Henson [Wed, 22 Jun 2011 15:38:40 +0000 (15:38 +0000)]
PR: 2470
Submitted by: Corinna Vinschen <vinschen@redhat.com>
Reviewed by: steve

Don't call ERR_remove_state from DllMain.

13 years agoPR: 2543
Dr. Stephen Henson [Wed, 22 Jun 2011 15:30:04 +0000 (15:30 +0000)]
PR: 2543
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de>
Reviewed by: steve

Correctly handle errors in DTLSv1_handle_timeout()

13 years agoPR: 2540
Dr. Stephen Henson [Wed, 22 Jun 2011 15:23:40 +0000 (15:23 +0000)]
PR: 2540
Submitted by: emmanuel.azencot@bull.net
Reviewed by: steve

Prevent infinite loop in BN_GF2m_mod_inv().

13 years agocorrectly encode OIDs near 2^32
Dr. Stephen Henson [Wed, 22 Jun 2011 15:15:48 +0000 (15:15 +0000)]
correctly encode OIDs near 2^32

13 years agoallow MD5 use for computing old format hash links
Dr. Stephen Henson [Wed, 22 Jun 2011 02:18:06 +0000 (02:18 +0000)]
allow MD5 use for computing old format hash links

13 years agoDon't set FIPS rand method at same time as RAND method as this can cause
Dr. Stephen Henson [Tue, 21 Jun 2011 17:08:25 +0000 (17:08 +0000)]
Don't set FIPS rand method at same time as RAND method as this can cause
the FIPS library to fail. Applications that want to set the FIPS rand
method can do so explicitly and presumably they know what they are doing...

13 years agoAdd FIPS error codes.
Dr. Stephen Henson [Tue, 21 Jun 2011 16:58:10 +0000 (16:58 +0000)]
Add FIPS error codes.

13 years agoStop warning.
Dr. Stephen Henson [Tue, 21 Jun 2011 16:42:15 +0000 (16:42 +0000)]
Stop warning.

13 years agoRename all AES_set*() functions using private_ prefix.
Dr. Stephen Henson [Tue, 21 Jun 2011 16:23:42 +0000 (16:23 +0000)]
Rename all AES_set*() functions using private_ prefix.

13 years agomake EVP_dss() work for DSA signing
Dr. Stephen Henson [Mon, 20 Jun 2011 20:05:13 +0000 (20:05 +0000)]
make EVP_dss() work for DSA signing

13 years agoRedirect null cipher to FIPS module.
Dr. Stephen Henson [Mon, 20 Jun 2011 20:00:10 +0000 (20:00 +0000)]
Redirect null cipher to FIPS module.

13 years agoDon't set default public key methods in FIPS mode so applications
Dr. Stephen Henson [Mon, 20 Jun 2011 19:41:13 +0000 (19:41 +0000)]
Don't set default public key methods in FIPS mode so applications
can switch between modes.

13 years agoSet FIPSLINK correctly now trailing slash is removed from FIPSDIR.
Dr. Stephen Henson [Sat, 18 Jun 2011 19:35:03 +0000 (19:35 +0000)]
Set FIPSLINK correctly now trailing slash is removed from FIPSDIR.

13 years agoDon't add trailing slash to FIPSDIR: it causes problems with Windows builds.
Dr. Stephen Henson [Sat, 18 Jun 2011 19:02:12 +0000 (19:02 +0000)]
Don't add trailing slash to FIPSDIR: it causes problems with Windows builds.

13 years agoPreliminary WIN32 support for FIPS capable OpenSSL building.
Dr. Stephen Henson [Fri, 17 Jun 2011 12:50:40 +0000 (12:50 +0000)]
Preliminary WIN32 support for FIPS capable OpenSSL building.

13 years agoFix the version history: given that 1.0.1 has yet to be released,
Bodo Möller [Wed, 15 Jun 2011 14:23:44 +0000 (14:23 +0000)]
Fix the version history: given that 1.0.1 has yet to be released,
we should list "Changes between 1.0.0e and 1.0.1",
not "between 1.0.0d and 1.0.1".

13 years agoUpdate key sizes to 2048 bits.
Dr. Stephen Henson [Tue, 14 Jun 2011 15:35:49 +0000 (15:35 +0000)]
Update key sizes to 2048 bits.

Only build ssltest with fipsld.

Include FIPS mode test for ssltest.

13 years agoset FIPS allow before initialising ctx
Dr. Stephen Henson [Tue, 14 Jun 2011 15:25:41 +0000 (15:25 +0000)]
set FIPS allow before initialising ctx

13 years agotypo
Dr. Stephen Henson [Tue, 14 Jun 2011 13:47:25 +0000 (13:47 +0000)]
typo

13 years agoUse include dir when copiling fips_premain_dso.
Dr. Stephen Henson [Tue, 14 Jun 2011 12:58:35 +0000 (12:58 +0000)]
Use include dir when copiling fips_premain_dso.

13 years agoFix warnings in shared builds.
Dr. Stephen Henson [Tue, 14 Jun 2011 12:58:00 +0000 (12:58 +0000)]
Fix warnings in shared builds.

13 years agomake sure custom cipher flag doesn't use any mode bits
Dr. Stephen Henson [Mon, 13 Jun 2011 23:10:34 +0000 (23:10 +0000)]
make sure custom cipher flag doesn't use any mode bits

13 years agoSet rand method in FIPS_mode_set() not in rand library.
Dr. Stephen Henson [Mon, 13 Jun 2011 21:18:00 +0000 (21:18 +0000)]
Set rand method in FIPS_mode_set() not in rand library.

13 years agoRedirect RAND to FIPS module in FIPS mode.
Dr. Stephen Henson [Mon, 13 Jun 2011 20:40:52 +0000 (20:40 +0000)]
Redirect RAND to FIPS module in FIPS mode.

13 years agoRedirect HMAC and CMAC operations to module.
Dr. Stephen Henson [Sun, 12 Jun 2011 15:07:26 +0000 (15:07 +0000)]
Redirect HMAC and CMAC operations to module.

13 years agoupdate ordinals
Dr. Stephen Henson [Fri, 10 Jun 2011 17:17:55 +0000 (17:17 +0000)]
update ordinals

13 years agoDisable GCM, CCM, XTS outside FIPS mode this will be updated
Dr. Stephen Henson [Fri, 10 Jun 2011 14:22:42 +0000 (14:22 +0000)]
Disable GCM, CCM, XTS outside FIPS mode this will be updated
when backported.

13 years agoadd cmac to Windows build, update ordinals
Dr. Stephen Henson [Fri, 10 Jun 2011 14:12:55 +0000 (14:12 +0000)]
add cmac to Windows build, update ordinals

13 years agoAdd android platforms. Let fipsdir come from environment.
Dr. Stephen Henson [Thu, 9 Jun 2011 21:54:13 +0000 (21:54 +0000)]
Add android platforms. Let fipsdir come from environment.

13 years agoadd android support to DSO (from HEAD)
Dr. Stephen Henson [Thu, 9 Jun 2011 21:49:24 +0000 (21:49 +0000)]
add android support to DSO (from HEAD)

13 years agoAdd -attime.
Ben Laurie [Thu, 9 Jun 2011 17:09:31 +0000 (17:09 +0000)]
Add -attime.

13 years agoFix warnings/errors(!).
Ben Laurie [Thu, 9 Jun 2011 17:09:08 +0000 (17:09 +0000)]
Fix warnings/errors(!).

13 years agoFix warnings.
Ben Laurie [Thu, 9 Jun 2011 16:03:18 +0000 (16:03 +0000)]
Fix warnings.

13 years agoRedirect DH key and parameter generation.
Dr. Stephen Henson [Thu, 9 Jun 2011 15:21:46 +0000 (15:21 +0000)]
Redirect DH key and parameter generation.

13 years agoRedirect DSA operations to FIPS module in FIPS mode.
Dr. Stephen Henson [Thu, 9 Jun 2011 13:54:09 +0000 (13:54 +0000)]
Redirect DSA operations to FIPS module in FIPS mode.

13 years agoUse method rsa keygen first if FIPS mode if it is a FIPS method.
Dr. Stephen Henson [Thu, 9 Jun 2011 13:18:07 +0000 (13:18 +0000)]
Use method rsa keygen first if FIPS mode if it is a FIPS method.

13 years agoRedirect DH operations to FIPS module. Block non-FIPS methods.
Dr. Stephen Henson [Wed, 8 Jun 2011 15:58:59 +0000 (15:58 +0000)]
Redirect DH operations to FIPS module. Block non-FIPS methods.
Sync DH error codes with HEAD.

13 years agofix memory leak
Dr. Stephen Henson [Wed, 8 Jun 2011 15:55:57 +0000 (15:55 +0000)]
fix memory leak

13 years agoCheck fips method flags for ECDH, ECDSA.
Dr. Stephen Henson [Wed, 8 Jun 2011 14:01:00 +0000 (14:01 +0000)]
Check fips method flags for ECDH, ECDSA.

13 years agoImplement Camellia_set_key properly for FIPS builds.
Dr. Stephen Henson [Wed, 8 Jun 2011 13:11:46 +0000 (13:11 +0000)]
Implement Camellia_set_key properly for FIPS builds.

13 years agorc4_skey.c: remove dead/redundant code (it's never compiled) and
Andy Polyakov [Mon, 6 Jun 2011 20:04:33 +0000 (20:04 +0000)]
rc4_skey.c: remove dead/redundant code (it's never compiled) and
misleading/obsolete comment [from HEAD].

13 years agoRecognise "fips" in mkdef.pl script.
Dr. Stephen Henson [Mon, 6 Jun 2011 15:46:25 +0000 (15:46 +0000)]
Recognise "fips" in mkdef.pl script.

13 years agoRedirection of ECDSA, ECDH operations to FIPS module.
Dr. Stephen Henson [Mon, 6 Jun 2011 15:39:17 +0000 (15:39 +0000)]
Redirection of ECDSA, ECDH operations to FIPS module.

Also use FIPS EC methods unconditionally for now: might want to use them
only in FIPS mode or with a switch later.

13 years agoSet SSL_FIPS flag in ECC ciphersuites.
Dr. Stephen Henson [Mon, 6 Jun 2011 14:14:14 +0000 (14:14 +0000)]
Set SSL_FIPS flag in ECC ciphersuites.

13 years agoAdd flags field to EC_KEY structure (backport from HEAD).
Dr. Stephen Henson [Mon, 6 Jun 2011 13:18:03 +0000 (13:18 +0000)]
Add flags field to EC_KEY structure (backport from HEAD).

13 years agoMake no-ec2m work again (backport from HEAD).
Dr. Stephen Henson [Mon, 6 Jun 2011 13:00:30 +0000 (13:00 +0000)]
Make no-ec2m work again (backport from HEAD).

13 years agoReorganise ECC code so it can use FIPS module.
Dr. Stephen Henson [Mon, 6 Jun 2011 12:54:51 +0000 (12:54 +0000)]
Reorganise ECC code so it can use FIPS module.

Move compression, point2oct and oct2point functions into separate files.

Add a flags field to EC_METHOD.

Add a flag EC_FLAGS_DEFAULT_OCT to use the default compession and oct functions
(all existing methods do this). This removes dependencies from EC_METHOD while
keeping original functionality.

Backport from HEAD with minor changes.

13 years agoBackport from HEAD:
Dr. Stephen Henson [Mon, 6 Jun 2011 11:49:36 +0000 (11:49 +0000)]
Backport from HEAD:

New option to disable characteristic two fields in EC code.

Make no-ec2m work on Win32 build.

13 years agoFunction not used outside FIPS builds.
Dr. Stephen Henson [Mon, 6 Jun 2011 11:24:47 +0000 (11:24 +0000)]
Function not used outside FIPS builds.

13 years agoFIPS low level blocking for AES, RC4 and Camellia. This is complicated by
Dr. Stephen Henson [Sun, 5 Jun 2011 17:36:44 +0000 (17:36 +0000)]
FIPS low level blocking for AES, RC4 and Camellia. This is complicated by
use of assembly language routines: rename the assembly language function
to the private_* variant unconditionally and perform tests from a small
C wrapper.

13 years agoBackport libcrypto audit: check return values of EVP functions instead
Dr. Stephen Henson [Fri, 3 Jun 2011 20:53:00 +0000 (20:53 +0000)]
Backport libcrypto audit: check return values of EVP functions instead
of assuming they will always suceed.

13 years agofix error discrepancy
Dr. Stephen Henson [Fri, 3 Jun 2011 18:50:49 +0000 (18:50 +0000)]
fix error discrepancy

13 years agoNew function X509_ALGOR_set_md() to set X509_ALGOR (DigestAlgorithmIdentifier) from...
Dr. Stephen Henson [Fri, 3 Jun 2011 18:35:49 +0000 (18:35 +0000)]
New function X509_ALGOR_set_md() to set X509_ALGOR (DigestAlgorithmIdentifier) from a digest algorithm (backport from HEAD).

13 years agolicense correction, no EAY code included in this file
Dr. Stephen Henson [Fri, 3 Jun 2011 17:56:51 +0000 (17:56 +0000)]
license correction, no EAY code included in this file

13 years agoBackport CMAC support from HEAD.
Dr. Stephen Henson [Fri, 3 Jun 2011 15:08:42 +0000 (15:08 +0000)]
Backport CMAC support from HEAD.

13 years agoRedirect RSA keygen, sign, verify to FIPS module.
Dr. Stephen Henson [Fri, 3 Jun 2011 13:16:16 +0000 (13:16 +0000)]
Redirect RSA keygen, sign, verify to FIPS module.

13 years agoRedirection of low level APIs to FIPS module.
Dr. Stephen Henson [Thu, 2 Jun 2011 18:22:42 +0000 (18:22 +0000)]
Redirection of low level APIs to FIPS module.

Digest sign, verify operations are not redirected at this stage.

13 years agoBackport extended PSS support from HEAD: allow setting of mgf1Hash explicitly.
Dr. Stephen Henson [Thu, 2 Jun 2011 18:13:33 +0000 (18:13 +0000)]
Backport extended PSS support from HEAD: allow setting of mgf1Hash explicitly.

This is needed to handle FIPS redirection fully.

13 years agoProhibit low level cipher APIs in FIPS mode.
Dr. Stephen Henson [Wed, 1 Jun 2011 16:54:06 +0000 (16:54 +0000)]
Prohibit low level cipher APIs in FIPS mode.

Not complete: ciphers with assembly language key setup are not
covered yet.