This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: sha256 module
Type: Stage:
Components: Interpreter Core Versions: Python 2.4
process
Status: closed Resolution: accepted
Dependencies: Superseder:
Assigned To: gregory.p.smith Nosy List: akuchling, gregory.p.smith, trevp
Priority: normal Keywords: patch

Created on 2004-04-15 06:57 by trevp, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
shafiles.tar trevp, 2004-07-14 07:04 source, tests, and docs
Messages (8)
msg45768 - (view) Author: Trevor Perrin (trevp) Date: 2004-04-15 06:57
This module is a copy of shamodule.c, with the SHA-1
compression function replaced with the SHA-256
compression function (copied from the LibTomCrypt
public-domain crypto library).

SHA-256 is similar to SHA-1: it's a US Federal Standard
hash algorithm (FIPS 180-2).  The difference is that it
produces a 256 bit hash value, instead of a 160 bit
hash value.  SHA-256 thus has 128 bits of resistance
against birthday attacks, which makes it secure in
certain protocols where SHA-1 is questionable (e.g.
digital signatures; or RNGs or Key-Derivation Functions
where you want to produce keys for 256-bit ciphers).

There's other flavors of SHA, but they're not as
useful: SHA-384 and SHA-512 are defined on 64-bit
values, so are slow on 32-bit architectures.  SHA-224
is just silly (it saves 32 bits over SHA-256; that's
its sole rationale).



msg45769 - (view) Author: A.M. Kuchling (akuchling) * (Python committer) Date: 2004-06-29 14:23
Logged In: YES 
user_id=11375

I can't rule on whether the module should be added or not,
so I'll bring it up on python-dev.  Feel free to join the
resulting thread.
msg45770 - (view) Author: Trevor Perrin (trevp) Date: 2004-07-01 06:48
Logged In: YES 
user_id=973611

I'm uploading an attempt at documentation for this module. 
I had trouble installing the tex tools so I'm not sure if
it's correct, but it should be easy to fix if not.  I'll try
to straighten myself out with the tools so I can make sure.
msg45771 - (view) Author: Trevor Perrin (trevp) Date: 2004-07-02 08:00
Logged In: YES 
user_id=973611

Uploading a new sha256 module with a sha224 function, and a
sha512 module with a sha384 function.
msg45772 - (view) Author: Trevor Perrin (trevp) Date: 2004-07-13 08:10
Logged In: YES 
user_id=973611

2nd version of documentation for sha256 and sha512
msg45773 - (view) Author: Trevor Perrin (trevp) Date: 2004-07-14 07:04
Logged In: YES 
user_id=973611


New set of files - full source, patches, and docs for all
new SHA versions.  Cleans things up a bit:
 - sha256.c, sha512.c
 - sha224.py, sha384.py (wrappers)
 - test_sha*.py
 - libsha*.tex
msg45774 - (view) Author: Gregory P. Smith (gregory.p.smith) * (Python committer) Date: 2005-02-21 16:05
Logged In: YES 
user_id=413

i'll take care of this patch along with patch 1121611 using
these sha 256/512 implementations when openssl doesn't
include its own implementations (current common versions of
openssl don't, future versions will).
msg45775 - (view) Author: Gregory P. Smith (gregory.p.smith) * (Python committer) Date: 2005-08-21 18:54
Logged In: YES 
user_id=413

sha224, 256, 384 and 512 support derived from this code for
use when the available openssl library does not support them
has been committed to python cvs HEAD as part of SF patch
1121611.  thanks!
History
Date User Action Args
2022-04-11 14:56:03adminsetgithub: 40153
2004-04-15 06:57:47trevpcreate