You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(6) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
|
Feb
|
Mar
|
Apr
(106) |
May
(84) |
Jun
(29) |
Jul
(31) |
Aug
(1) |
Sep
(7) |
Oct
(9) |
Nov
(7) |
Dec
(6) |
2003 |
Jan
(1) |
Feb
(25) |
Mar
(17) |
Apr
(48) |
May
(1) |
Jun
(3) |
Jul
(3) |
Aug
|
Sep
(1) |
Oct
|
Nov
(2) |
Dec
(6) |
2004 |
Jan
(5) |
Feb
|
Mar
(13) |
Apr
(1) |
May
(9) |
Jun
|
Jul
(1) |
Aug
(10) |
Sep
(4) |
Oct
(23) |
Nov
|
Dec
(1) |
2005 |
Jan
(1) |
Feb
(1) |
Mar
(3) |
Apr
(6) |
May
(10) |
Jun
(18) |
Jul
(5) |
Aug
(7) |
Sep
|
Oct
(1) |
Nov
(13) |
Dec
(4) |
2006 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
(12) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
(1) |
Nov
|
Dec
(2) |
2007 |
Jan
(2) |
Feb
|
Mar
|
Apr
(1) |
May
(5) |
Jun
(3) |
Jul
(1) |
Aug
|
Sep
|
Oct
(2) |
Nov
(1) |
Dec
(1) |
2008 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
(2) |
Jul
(1) |
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
From: SourceForge.net <no...@so...> - 2005-06-14 21:27:59
|
Bugs item #1041588, was opened at 2004-10-06 16:26 Message generated for change (Comment added) made by zooko You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1041588&group_id=20937 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Zooko O'Whielacronx (zooko) Assigned to: Nobody/Anonymous (nobody) Summary: wishlist: DH key agreement Initial Comment: I need something that is not encryption nor authentication, but key agreement. That is: Alice generates random x, Bob generates random y, Alice computes g^x mod p, Bob computes g^y mod p, Alice (given g^y), computes (g^y)^x. How can I accomplish this? ---------------------------------------------------------------------- >Comment By: Zooko O'Whielacronx (zooko) Date: 2005-06-14 21:27 Message: Logged In: YES user_id=52562 Yes, I eventually noticed that Python does this efficiently. It was fine. Not stellar -- I think it was something like 1 second for 4096 bit DH or something -- but fine. I'm glad to see that AMK is tending to pycrypto again... ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2005-06-14 21:07 Message: Logged In: NO Umm...The plain DH is rather weak in itself. I'd strongly recommend that you pick up B. Schneiener's Practical Cryptography. -NcF ---------------------------------------------------------------------- Comment By: A.M. Kuchling (akuchling) Date: 2004-10-20 16:56 Message: Logged In: YES user_id=11375 Python supports pow(g,y,p) to compute g**y mod p. ---------------------------------------------------------------------- Comment By: Zooko O'Whielacronx (zooko) Date: 2004-10-06 16:36 Message: Logged In: YES user_id=52562 Well I looked into the source of pycrypto to see what it would take to add this functionality. It turns out that the El Gamal stuff is implemented in 100% Pure Python! That's kind of shocking, but at least it answers my question about how to compute this. The answer is something that includes lines like "pow(g, y) % p". I'll be interested to see how this performs. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1041588&group_id=20937 |
From: SourceForge.net <no...@so...> - 2005-06-14 21:08:00
|
Bugs item #1041588, was opened at 2004-10-06 09:26 Message generated for change (Comment added) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1041588&group_id=20937 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Zooko O'Whielacronx (zooko) Assigned to: Nobody/Anonymous (nobody) Summary: wishlist: DH key agreement Initial Comment: I need something that is not encryption nor authentication, but key agreement. That is: Alice generates random x, Bob generates random y, Alice computes g^x mod p, Bob computes g^y mod p, Alice (given g^y), computes (g^y)^x. How can I accomplish this? ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2005-06-14 14:07 Message: Logged In: NO Umm...The plain DH is rather weak in itself. I'd strongly recommend that you pick up B. Schneiener's Practical Cryptography. -NcF ---------------------------------------------------------------------- Comment By: A.M. Kuchling (akuchling) Date: 2004-10-20 09:56 Message: Logged In: YES user_id=11375 Python supports pow(g,y,p) to compute g**y mod p. ---------------------------------------------------------------------- Comment By: Zooko O'Whielacronx (zooko) Date: 2004-10-06 09:36 Message: Logged In: YES user_id=52562 Well I looked into the source of pycrypto to see what it would take to add this functionality. It turns out that the El Gamal stuff is implemented in 100% Pure Python! That's kind of shocking, but at least it answers my question about how to compute this. The answer is something that includes lines like "pow(g, y) % p". I'll be interested to see how this performs. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1041588&group_id=20937 |
From: A.M. K. <aku...@us...> - 2005-06-14 01:20:33
|
Update of /cvsroot/pycrypto/crypto/Doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1713/Doc Modified Files: pycrypt.tex Log Message: Bump version to 2.0.1 Index: pycrypt.tex =================================================================== RCS file: /cvsroot/pycrypto/crypto/Doc/pycrypt.tex,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- pycrypt.tex 9 May 2005 14:20:57 -0000 1.23 +++ pycrypt.tex 14 Jun 2005 01:20:22 -0000 1.24 @@ -2,7 +2,7 @@ \title{Python Cryptography Toolkit} -\release{2.0} +\release{2.0.1} \author{A.M. Kuchling} \authoraddress{\url{www.amk.ca}} @@ -100,11 +100,11 @@ A.M.K. -\email{aku...@me...} +\email{com...@am...} Washington DC, USA -June 2002 +June 2005 %====================================================================== |
From: A.M. K. <aku...@us...> - 2005-06-14 01:20:30
|
Update of /cvsroot/pycrypto/crypto In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1713 Modified Files: __init__.py setup.py Log Message: Bump version to 2.0.1 Index: __init__.py =================================================================== RCS file: /cvsroot/pycrypto/crypto/__init__.py,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- __init__.py 20 Oct 2004 16:49:42 -0000 1.11 +++ __init__.py 14 Jun 2005 01:20:22 -0000 1.12 @@ -19,7 +19,7 @@ __all__ = ['Cipher', 'Hash', 'Protocol', 'PublicKey', 'Util'] -__version__ = '2.0' +__version__ = '2.0.1' __revision__ = "$Id$" Index: setup.py =================================================================== RCS file: /cvsroot/pycrypto/crypto/setup.py,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- setup.py 14 Aug 2004 11:48:18 -0000 1.29 +++ setup.py 14 Jun 2005 01:20:22 -0000 1.30 @@ -127,7 +127,7 @@ self.extensions += exts kw = {'name':"pycrypto", - 'version':"2.0", + 'version':"2.0.1", 'description':"Cryptographic modules for Python.", 'author':"A.M. Kuchling", 'author_email':"am...@am...", |
From: A.M. K. <aku...@us...> - 2005-06-14 00:36:53
|
Update of /cvsroot/pycrypto/crypto In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11138 Modified Files: README Log Message: Remove version Index: README =================================================================== RCS file: /cvsroot/pycrypto/crypto/README,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- README 9 May 2005 14:31:46 -0000 1.18 +++ README 14 Jun 2005 00:36:43 -0000 1.19 @@ -1,5 +1,5 @@ -Python Cryptography Toolkit (pycrypto) 2.0 -========================================== +Python Cryptography Toolkit (pycrypto) +====================================== This is a collection of both secure hash functions (such as MD5 and SHA), and various encryption algorithms (AES, DES, IDEA, RSA, ElGamal, etc.). The |
From: A.M. K. <aku...@us...> - 2005-06-14 00:22:46
|
Update of /cvsroot/pycrypto/crypto In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2923 Modified Files: ChangeLog Log Message: Update file Index: ChangeLog =================================================================== RCS file: /cvsroot/pycrypto/crypto/ChangeLog,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- ChangeLog 9 May 2005 14:32:50 -0000 1.35 +++ ChangeLog 14 Jun 2005 00:22:35 -0000 1.36 @@ -2,7 +2,9 @@ 2.0.1 ===== + * Fix SHA256 and RIPEMD on AMD64 platform. * Deleted Demo/ directory. + * Add PublicKey to Crypto.__all__ 2.0 |
From: SourceForge.net <no...@so...> - 2005-06-10 19:42:46
|
Bugs item #1118390, was opened at 2005-02-08 00:30 Message generated for change (Comment added) made by akuchling You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1118390&group_id=20937 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Chris Ochs (snacktime) Assigned to: Nobody/Anonymous (nobody) Summary: RSA encrypt segfaults when used in threads Initial Comment: When running encrypt from the following class under threads it causes a segfault. I narrowed it down to the encrypt method as the culprit. I'm not sure if this is actually a pycrypto error or a python error as I'm not familiar enough with threading. You can see my post about this on the twisted-python list which has the rest of the information about the environment at: http://twistedmatrix.com/pipermail/twisted-python/2005- February/009474.html Chris ch...@pa... ---------------------------------------------------- import pickle import base64 from Crypto.Util.randpool import RandomPool from Crypto.PublicKey import RSA class OTCrypto: def __init__(self,req): self.req = req self.public_key = req.ot['publicKey'] self.private_key = req.ot['privateKey'] def genkey(self): random = RandomPool() random.stir() RSAkey = RSA.generate(2048, random.get_bytes) public = RSAkey.publickey() pickle.dump(public,open(self.public_key,'w')) pickle.dump(RSAkey,open(self.private_key,'w')) def encrypt(self,plaintext): public = pickle.load(open(self.public_key)) random = RandomPool() random.stir() bits = random.get_bytes(160) ciphertext = public.encrypt(plaintext,bits) ciphertext = base64.b64encode(ciphertext[0]) return ciphertext ---------------------------------------------------------------------- >Comment By: A.M. Kuchling (akuchling) Date: 2005-06-10 15:42 Message: Logged In: YES user_id=11375 Given that I can't replicate the problem, I don't think it's possible for me to figure out what's going wrong. One vague possibility: could you have an older version of PyCrypto installed that uses the GMP or MPZ modules? Maybe one of those extensions is being used and it has some kind of locking problems. ---------------------------------------------------------------------- Comment By: A.M. Kuchling (akuchling) Date: 2005-06-10 15:37 Message: Logged In: YES user_id=11375 Added boiled-down version of test case that actually runs; sadly it doesn't demonstrate any problems, either. ---------------------------------------------------------------------- Comment By: A.M. Kuchling (akuchling) Date: 2005-06-10 15:32 Message: Logged In: YES user_id=11375 Also reported as Python bug 1080660 (now closed). The only extension RSA might use is _fastmath, but _fastmath doesn't do anything for the sake of threads; it never releases the GIL. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1118390&group_id=20937 |
From: SourceForge.net <no...@so...> - 2005-06-10 19:38:14
|
Bugs item #1212602, was opened at 2005-06-01 05:59 Message generated for change (Comment added) made by akuchling You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1212602&group_id=20937 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: Wrong RSA encryption Initial Comment: A big file is split up in chunks smaller than ((size()+1)/8 - 11). The modules contains 64 bytes so a chunk is 53 bytes. In front I add 0x00 0x02 PS 0x00 (the PKCS1 standard?). PS is pseudo non zero random padding of at least 8 bytes. Sometimes (seems irregular) encrypt() returns 63 bytes. 64 bytes are expected. Then I call encrypt() again for the same data. This second time the correct 64 bytes are returned. ---------------------------------------------------------------------- >Comment By: A.M. Kuchling (akuchling) Date: 2005-06-10 15:38 Message: Logged In: YES user_id=11375 Please provide a small test script that demonstrates the problem. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1212602&group_id=20937 |
From: SourceForge.net <no...@so...> - 2005-06-10 19:37:19
|
Bugs item #1118390, was opened at 2005-02-08 00:30 Message generated for change (Comment added) made by akuchling You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1118390&group_id=20937 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Chris Ochs (snacktime) Assigned to: Nobody/Anonymous (nobody) Summary: RSA encrypt segfaults when used in threads Initial Comment: When running encrypt from the following class under threads it causes a segfault. I narrowed it down to the encrypt method as the culprit. I'm not sure if this is actually a pycrypto error or a python error as I'm not familiar enough with threading. You can see my post about this on the twisted-python list which has the rest of the information about the environment at: http://twistedmatrix.com/pipermail/twisted-python/2005- February/009474.html Chris ch...@pa... ---------------------------------------------------- import pickle import base64 from Crypto.Util.randpool import RandomPool from Crypto.PublicKey import RSA class OTCrypto: def __init__(self,req): self.req = req self.public_key = req.ot['publicKey'] self.private_key = req.ot['privateKey'] def genkey(self): random = RandomPool() random.stir() RSAkey = RSA.generate(2048, random.get_bytes) public = RSAkey.publickey() pickle.dump(public,open(self.public_key,'w')) pickle.dump(RSAkey,open(self.private_key,'w')) def encrypt(self,plaintext): public = pickle.load(open(self.public_key)) random = RandomPool() random.stir() bits = random.get_bytes(160) ciphertext = public.encrypt(plaintext,bits) ciphertext = base64.b64encode(ciphertext[0]) return ciphertext ---------------------------------------------------------------------- >Comment By: A.M. Kuchling (akuchling) Date: 2005-06-10 15:37 Message: Logged In: YES user_id=11375 Added boiled-down version of test case that actually runs; sadly it doesn't demonstrate any problems, either. ---------------------------------------------------------------------- Comment By: A.M. Kuchling (akuchling) Date: 2005-06-10 15:32 Message: Logged In: YES user_id=11375 Also reported as Python bug 1080660 (now closed). The only extension RSA might use is _fastmath, but _fastmath doesn't do anything for the sake of threads; it never releases the GIL. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1118390&group_id=20937 |
From: SourceForge.net <no...@so...> - 2005-06-10 19:32:48
|
Bugs item #1118390, was opened at 2005-02-08 00:30 Message generated for change (Comment added) made by akuchling You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1118390&group_id=20937 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Chris Ochs (snacktime) Assigned to: Nobody/Anonymous (nobody) Summary: RSA encrypt segfaults when used in threads Initial Comment: When running encrypt from the following class under threads it causes a segfault. I narrowed it down to the encrypt method as the culprit. I'm not sure if this is actually a pycrypto error or a python error as I'm not familiar enough with threading. You can see my post about this on the twisted-python list which has the rest of the information about the environment at: http://twistedmatrix.com/pipermail/twisted-python/2005- February/009474.html Chris ch...@pa... ---------------------------------------------------- import pickle import base64 from Crypto.Util.randpool import RandomPool from Crypto.PublicKey import RSA class OTCrypto: def __init__(self,req): self.req = req self.public_key = req.ot['publicKey'] self.private_key = req.ot['privateKey'] def genkey(self): random = RandomPool() random.stir() RSAkey = RSA.generate(2048, random.get_bytes) public = RSAkey.publickey() pickle.dump(public,open(self.public_key,'w')) pickle.dump(RSAkey,open(self.private_key,'w')) def encrypt(self,plaintext): public = pickle.load(open(self.public_key)) random = RandomPool() random.stir() bits = random.get_bytes(160) ciphertext = public.encrypt(plaintext,bits) ciphertext = base64.b64encode(ciphertext[0]) return ciphertext ---------------------------------------------------------------------- >Comment By: A.M. Kuchling (akuchling) Date: 2005-06-10 15:32 Message: Logged In: YES user_id=11375 Also reported as Python bug 1080660 (now closed). The only extension RSA might use is _fastmath, but _fastmath doesn't do anything for the sake of threads; it never releases the GIL. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1118390&group_id=20937 |
From: SourceForge.net <no...@so...> - 2005-06-10 19:24:35
|
Bugs item #1154530, was opened at 2005-03-01 15:24 Message generated for change (Settings changed) made by akuchling You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1154530&group_id=20937 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 6 Submitted By: Zooko O'Whielacronx (zooko) >Assigned to: A.M. Kuchling (akuchling) Summary: SHA 256 doesn't match test vectors on AMD64 Initial Comment: On my Macintosh PPC G4 laptop: >>> hex(bytes_to_long(SHA256.new('abc').digest())) '0xBA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015ADL' On my Linux Athlon64 workstation: >>> hex(bytes_to_long(SHA256.new('abc').digest())) '0x551CE4769446B343295EA7F819BAE21157541986A4DE11AB46B2340EA9831F22L' The former is correct the FIPS 180-2 test vector for SHA-256. I see that the implementation is by Tom St. Denis but it is very different from the one in his current libtomcrypt 1.0. Perhaps we should upgrade to that version? I tried to run test_hashes.py, but it is apparently written for an older (?) version of sancho that the sancho 2.0 that I just downloaded. ---------------------------------------------------------------------- >Comment By: A.M. Kuchling (akuchling) Date: 2005-06-10 15:24 Message: Logged In: YES user_id=11375 Fixed by applying the patch attached to the RIPEMD bug; thanks for reporting this! ---------------------------------------------------------------------- Comment By: Mihai Ibanescu (misa) Date: 2005-04-19 13:28 Message: Logged In: YES user_id=205865 I am on an amd64. The problem was more with the usage of unsigned longs. Take a look at my patch that solved the problem for me. ---------------------------------------------------------------------- Comment By: Zooko O'Whielacronx (zooko) Date: 2005-04-19 11:21 Message: Logged In: YES user_id=52562 misa, what platform are you on? On 64-bit linux on Athlon64, an int is 32 bits, but a long is 64 bits. So the patch that you describe shouldn't change anything on an Athlon64. However, your suggestion caused me to clue into another issue that probably *is* my problem on my Athlon64: the code uses "unsigned long" in several places where it almost certainly intends to have an unsigned 32-bit thing. So I've written a patch that replaces all those "unsigned long"s with U32s. I also threw in your inttypes.h patch, just for good measure. https://yumyum.zooko.com:19144/pub/repos/pycrypto-plus-patches ---------------------------------------------------------------------- Comment By: Mihai Ibanescu (misa) Date: 2005-04-19 10:53 Message: Logged In: YES user_id=205865 Check out the patch attached to the RIPEMD bug, it makes SHA256 work for me. ---------------------------------------------------------------------- Comment By: Mihai Ibanescu (misa) Date: 2005-04-19 10:01 Message: Logged In: YES user_id=205865 Please see: http://sourceforge.net/tracker/index.php?func=detail&aid=1185980&group_id=20937&atid=120937 a possible solution for problems on 64-bits. typedef unsigned int U32;^M This is asking for trouble - on 64-bit systems ints are 32-bit. See the proposed patch in the RIPEMD bug. ---------------------------------------------------------------------- Comment By: Gregory P. Smith (greg) Date: 2005-03-01 16:14 Message: Logged In: YES user_id=413 this SHA256 also fails on the Alpha. a (presumably different, i haven't looked at the code) libtomcrypt sha256 implementation works just fine for me as seen in this python patch that adds a hashlib module that uses it: https://sourceforge.net/tracker/?func=detail&aid=1121611&group_id=5470&atid=305470 ---------------------------------------------------------------------- Comment By: Zooko O'Whielacronx (zooko) Date: 2005-03-01 15:24 Message: Logged In: YES user_id=52562 Bumping priority, just to distinguish this one from the crowd. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1154530&group_id=20937 |
From: A.M. K. <aku...@us...> - 2005-06-10 19:23:17
|
Update of /cvsroot/pycrypto/crypto/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5025 Modified Files: SHA256.c Log Message: [Mentioned in bug #1154530] SHA256 didn't work correctly on Alpha Index: SHA256.c =================================================================== RCS file: /cvsroot/pycrypto/crypto/src/SHA256.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- SHA256.c 10 Jun 2005 19:17:58 -0000 1.2 +++ SHA256.c 10 Jun 2005 19:22:55 -0000 1.3 @@ -15,7 +15,9 @@ #define DIGEST_SIZE 32 typedef unsigned char U8; -#if defined(__amd64__) +#ifdef __alpha__ +typedef unsigned int U32; +#elif defined(__amd64__) #include <inttypes.h> typedef uint32_t U32; #else |
From: SourceForge.net <no...@so...> - 2005-06-10 19:19:04
|
Bugs item #1185980, was opened at 2005-04-19 09:59 Message generated for change (Comment added) made by akuchling You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1185980&group_id=20937 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Mihai Ibanescu (misa) >Assigned to: A.M. Kuchling (akuchling) Summary: RIPEMD does not work on amd64 Initial Comment: The problem is in RIPEMD.c: #ifdef __alpha__ typedef unsigned int word; /* unsigned 32-bit integer */ #else typedef unsigned long word; /* unsigned 32-bit integer */ #endif The way I patched it was: #include <inttypes.h> typedef uint32_t word; /* unsigned 32-bit integer */ As long as your compiler is C99 compliant, this should work just fine. ---------------------------------------------------------------------- >Comment By: A.M. Kuchling (akuchling) Date: 2005-06-10 15:19 Message: Logged In: YES user_id=11375 I've applied a slightly modified version of the patch, checking for __amd64__ to use uint32_t; I don't know how common C99-compliant compilers are. Thanks! ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1185980&group_id=20937 |
From: A.M. K. <aku...@us...> - 2005-06-10 19:18:22
|
Update of /cvsroot/pycrypto/crypto/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2858 Modified Files: SHA256.c Log Message: [Bug #1185980] Fix SHA256 on AMD64 Index: SHA256.c =================================================================== RCS file: /cvsroot/pycrypto/crypto/src/SHA256.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SHA256.c 19 Dec 2003 18:51:28 -0000 1.1 +++ SHA256.c 10 Jun 2005 19:17:58 -0000 1.2 @@ -11,20 +11,25 @@ * Tom St Denis -- http://tomstdenis.home.dhs.org * */ #include "Python.h" -#define MODULE_NAME SHA256 +#define MODULE_NAME SHA256 #define DIGEST_SIZE 32 -typedef unsigned char U8; +typedef unsigned char U8; +#if defined(__amd64__) +#include <inttypes.h> +typedef uint32_t U32; +#else typedef unsigned int U32; +#endif typedef struct { - unsigned long state[8], length, curlen; + U32 state[8], length, curlen; unsigned char buf[64]; } hash_state; /* the K array */ -static const unsigned long K[64] = { +static const U32 K[64] = { 0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL, 0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL, 0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL, 0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, @@ -53,7 +58,7 @@ /* compress 512-bits */ static void sha_compress(hash_state * md) { - unsigned long S[8], W[64], t0, t1; + U32 S[8], W[64], t0, t1; int i; /* copy state into S */ @@ -62,10 +67,10 @@ /* copy the state into 512-bits into W[0..15] */ for (i = 0; i < 16; i++) - W[i] = (((unsigned long) md->buf[(4 * i) + 0]) << 24) | - (((unsigned long) md->buf[(4 * i) + 1]) << 16) | - (((unsigned long) md->buf[(4 * i) + 2]) << 8) | - (((unsigned long) md->buf[(4 * i) + 3])); + W[i] = (((U32) md->buf[(4 * i) + 0]) << 24) | + (((U32) md->buf[(4 * i) + 1]) << 16) | + (((U32) md->buf[(4 * i) + 2]) << 8) | + (((U32) md->buf[(4 * i) + 3])); /* fill W[16..63] */ for (i = 16; i < 64; i++) @@ -172,14 +177,14 @@ } // Done -static void +static void hash_copy(hash_state *src, hash_state *dest) { memcpy(dest,src,sizeof(hash_state)); } // Done -static PyObject * +static PyObject * hash_digest (const hash_state *self) { unsigned char digest[32]; |
From: A.M. K. <aku...@us...> - 2005-06-10 19:08:06
|
Update of /cvsroot/pycrypto/crypto/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30631 Modified Files: RIPEMD.c Log Message: [Bug #1185980] Fix RIPEMD on AMD64 Index: RIPEMD.c =================================================================== RCS file: /cvsroot/pycrypto/crypto/src/RIPEMD.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- RIPEMD.c 31 Oct 2002 22:51:15 -0000 1.10 +++ RIPEMD.c 10 Jun 2005 19:07:56 -0000 1.11 @@ -102,6 +102,8 @@ typedef unsigned char byte; /* unsigned 8-bit integer */ #ifdef __alpha__ typedef unsigned int word; /* unsigned 32-bit integer */ +#elif defined(__amd64__) +typedef uint32_t word; /* unsigned 32-bit integer */ #else typedef unsigned long word; /* unsigned 32-bit integer */ #endif |
From: SourceForge.net <no...@so...> - 2005-06-10 18:31:59
|
Bugs item #1212862, was opened at 2005-06-01 12:45 Message generated for change (Settings changed) made by akuchling You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1212862&group_id=20937 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Deleted >Resolution: Duplicate Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: Wrong RSA encryption Initial Comment: A big file is split up in chunks smaller than ((size()+1)/8 - 11). The modules contains 64 bytes so a chunk is 53 bytes. In front I add 0x00 0x02 PS 0x00 (the PKCS1 standard?). PS is pseudo non zero random padding of at least 8 bytes. Sometimes (seems irregular) encrypt() returns 63 bytes. 64 bytes are expected. Then I call encrypt() again for the same data. This second time the correct 64 bytes are returned. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1212862&group_id=20937 |
From: SourceForge.net <no...@so...> - 2005-06-01 16:45:13
|
Bugs item #1212862, was opened at 2005-06-01 09:45 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1212862&group_id=20937 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: Wrong RSA encryption Initial Comment: A big file is split up in chunks smaller than ((size()+1)/8 - 11). The modules contains 64 bytes so a chunk is 53 bytes. In front I add 0x00 0x02 PS 0x00 (the PKCS1 standard?). PS is pseudo non zero random padding of at least 8 bytes. Sometimes (seems irregular) encrypt() returns 63 bytes. 64 bytes are expected. Then I call encrypt() again for the same data. This second time the correct 64 bytes are returned. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1212862&group_id=20937 |
From: SourceForge.net <no...@so...> - 2005-06-01 10:00:02
|
Bugs item #1212602, was opened at 2005-06-01 02:59 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1212602&group_id=20937 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: Wrong RSA encryption Initial Comment: A big file is split up in chunks smaller than ((size()+1)/8 - 11). The modules contains 64 bytes so a chunk is 53 bytes. In front I add 0x00 0x02 PS 0x00 (the PKCS1 standard?). PS is pseudo non zero random padding of at least 8 bytes. Sometimes (seems irregular) encrypt() returns 63 bytes. 64 bytes are expected. Then I call encrypt() again for the same data. This second time the correct 64 bytes are returned. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1212602&group_id=20937 |
From: A.M. K. <aku...@us...> - 2005-05-09 14:33:00
|
Update of /cvsroot/pycrypto/crypto In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23168 Modified Files: ChangeLog Log Message: Update Index: ChangeLog =================================================================== RCS file: /cvsroot/pycrypto/crypto/ChangeLog,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- ChangeLog 13 Aug 2004 23:45:47 -0000 1.34 +++ ChangeLog 9 May 2005 14:32:50 -0000 1.35 @@ -1,4 +1,10 @@ +2.0.1 +===== + + * Deleted Demo/ directory. + + 2.0 === |
From: A.M. K. <aku...@us...> - 2005-05-09 14:32:09
|
Update of /cvsroot/pycrypto/crypto In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22944 Modified Files: README Log Message: Update Index: README =================================================================== RCS file: /cvsroot/pycrypto/crypto/README,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- README 13 Aug 2004 23:44:47 -0000 1.17 +++ README 9 May 2005 14:31:46 -0000 1.18 @@ -1,15 +1,15 @@ Python Cryptography Toolkit (pycrypto) 2.0 ========================================== -This is a collection of both secure hash functions (such as MD5 and -SHA), and various encryption algorithms (AES, DES, IDEA, RSA, ElGamal, -etc.). The package is structured to make adding new modules easy. I -consider this section to be essentially complete, and the software -interface will almost certainly not change in an incompatible way in -the future; all that remains to be done is to fix any bugs that show -up. If you encounter a bug, please inform me immediately. If you -implement a new algorithm, please send me a copy. - +This is a collection of both secure hash functions (such as MD5 and SHA), +and various encryption algorithms (AES, DES, IDEA, RSA, ElGamal, etc.). The +package is structured to make adding new modules easy. I consider this +section to be essentially complete, and the software interface will almost +certainly not change in an incompatible way in the future; all that remains +to be done is to fix any bugs that show up. If you encounter a bug, please +report it in the SourceForge bug tracker at + https://sourceforge.net/tracker/?group_id=20937&atid=120937 + An example usage of the MD5 module is: >>> from Crypto.Hash import MD5 >>> hash=MD5.new() @@ -17,7 +17,7 @@ >>> hash.digest() 'x\xe71\x02}\x8f\xd5\x0e\xd6B4\x0b|\x9ac\xb3' -An example use of an encryption algorithm (AES, in this case) is: +An example usage of an encryption algorithm (AES, in this case) is: >>> from Crypto.Cipher import AES >>> obj=AES.new('This is a key456', AES.MODE_ECB) @@ -25,7 +25,8 @@ >>> ciphertext=obj.encrypt(message) >>> ciphertext 'o\x1aq_{P+\xd0\x07\xce\x89\xd1=M\x989' ->>> obj.decrypt(ciphertext) +>>> obj2 = AES.new('This is a key456', AES.MODE_ECB) +>>> obj2.decrypt(ciphertext) 'The answer is no' One possible application of the modules is writing secure @@ -41,11 +42,6 @@ archives and instructions for subscribing at at <URL:http://www.amk.ca/mailman/listinfo/pct>. -For general discussion about using Python for cryptography-related -tasks, join the python-crypto mailing list. Archives and instructions -for subscribing are at -<URL:http://listserv.surfnet.nl/archives/python-crypto.html>. - Installation ============ @@ -65,18 +61,16 @@ this because they don't have the python2-devel RPM installed. The fix is to simply install the requisite RPM. -To verify that everything is in order, run "python test.py". It will -test all the cryptographic modules, skipping ones that aren't -available. If the test script reports an error on your machine, -please inform me immediately, because that means there's a serious bug -somewhere in the cryptographic routines. (Alternatively, track down -the bug and send me a patch.) +To verify that everything is in order, run "python test.py". It will test +all the cryptographic modules, skipping ones that aren't available. If the +test script reports an error on your machine, please report the bug using +the bug tracker (URL given above). If possible, track down the bug and +include a patch that fixes it. To install the package under the site-packages directory of your Python installation, run "python setup.py install". -If you have any comments, corrections, or improvements for -this package, please e-mail me at the address below, or send it to the -python-crypto mailing list. Good luck! +If you have any comments, corrections, or improvements for this package, +please send it to the 'pct' mailing list. Good luck! --amk (www.amk.ca) |
From: A.M. K. <aku...@us...> - 2005-05-09 14:21:35
|
Update of /cvsroot/pycrypto/crypto In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20459 Modified Files: MANIFEST TODO Log Message: Remove Demo/ directory -- the code is old and possibly misleading, and no one is going to modernize it Index: MANIFEST =================================================================== RCS file: /cvsroot/pycrypto/crypto/MANIFEST,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- MANIFEST 14 Aug 2004 10:48:38 -0000 1.11 +++ MANIFEST 9 May 2005 14:20:54 -0000 1.12 @@ -1,14 +1,6 @@ ACKS ChangeLog Cipher/__init__.py -Demo/README -Demo/chaum.py -Demo/cipher -Demo/enc.py -Demo/secimp/README -Demo/secimp/secimp.py -Demo/secimp/sign.py -Demo/secimp/testkey.py Doc/pycrypt.tex Hash/HMAC.py Hash/MD5.py Index: TODO =================================================================== RCS file: /cvsroot/pycrypto/crypto/TODO,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- TODO 13 Aug 2004 23:45:47 -0000 1.14 +++ TODO 9 May 2005 14:20:55 -0000 1.15 @@ -3,8 +3,6 @@ * Manual and Web page: point to SF project for bug reports -* Update the demos - * Update documentation (mention dodgy status of PublicKey code) * Clean up markup in pycrypt.tex @@ -27,9 +25,6 @@ * A secret sharing module should be added to Util or Protocols. -Demo programs: - Shadowing of files into X parts - Documentation: Document chaff/winnow better Add docstrings everywhere. |
From: A.M. K. <aku...@us...> - 2005-05-09 14:21:07
|
Update of /cvsroot/pycrypto/crypto/Doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20459/Doc Modified Files: pycrypt.tex Log Message: Remove Demo/ directory -- the code is old and possibly misleading, and no one is going to modernize it Index: pycrypt.tex =================================================================== RCS file: /cvsroot/pycrypto/crypto/Doc/pycrypt.tex,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- pycrypt.tex 13 Aug 2004 23:44:46 -0000 1.22 +++ pycrypt.tex 9 May 2005 14:20:57 -0000 1.23 @@ -1065,102 +1065,6 @@ %====================================================================== -\section{The Demonstration Programs} - -The Python Cryptography Toolkit comes with various demonstration -programs, located in the \file{Demo/} directory. None of them is -particularly well-finished or suitable for serious use. Rather, -they're intended to illustrate how the toolkit is used, and to provide -some interesting possible uses. Feel free to incorporate the code (or -modifications of it) into your own programs. - -\subsection{Demo 1: \file{cipher}} - -\file{cipher} encrypts and decrypts files. On most Unix systems, the -\file{crypt} program uses a variant of the Enigma cipher. This is not -secure, and there exists a freely available program called ``Crypt -Breaker's Workbench'' which helps in breaking the cipher if you have -some knowledge of the encrypted data. - -\file{cipher} is a more secure file encryption program. Simply list -the names of the files to be encrypted on the command line. -\file{cipher} will go through the list and encrypt or decrypt them; -\file{cipher} can recognize files it has previously encrypted. The -ciphertext of a file is placed in a file of the same name with -'\samp{.cip}' appended; the original file is not deleted, since I'm -not sure that all errors during operation are caught, and I don't want -people to accidentally erase important files. - -There are two command-line options: \programopt{-c} and -\programopt{-k}. Both of them require an argument. \code{-c -\var{ciphername}} uses the given encryption algorithm -\var{ciphername}; for example, \code{-c des} will use the DES -algorithm. The name should be the same as an available module name; -thus it should be in lowercase letters. The default cipher is IDEA. - -\code{-k \var{key}} can be used to set the encryption key to be used. -Note that on a multiuser Unix system, the \code{ps} command can be -used to view the arguments of commands executed by other users, so -this is insecure; if you're the only user (say, on your home computer -running Linux) you don't have to worry about this. If no key is set -on the command line, \file{cipher} will prompt the user to input a key -on standard input. - - -\subsubsection{Technical Details} - -The encrypted file is not pure ciphertext. First comes a magic -string; this is currently the sequence \samp{ctx} and a byte -containing 1 (the version number of \file{cipher}). -This is followed by the null-terminated name of the encryption -algorithm, and the rest of the file contains the ciphertext. - -The plaintext is encrypted in CBC mode. The initial value for the -feedback is always set to a block filled with the letter 'A', and then -a block of random data is encrypted. This garbage block will be -discarded on decryption. Note that the random data is not generated -in a cryptographically secure way, and this may provide a tiny foothold for -an attacker. - -After the random block is generated, the magic string, length of the -original file, and original filename are all encrypted before the file -data is finally processed. Some extra characters of padding may be -added to obtain an integer number of blocks. This padding will also -be discarded on decryption. Note that the plaintext file will be -completely read into memory before encryption is performed; no -buffering is done. Therefore, don't encrypt 20-megabyte files unless -you're willing to face the consequences of a 20-megabyte process. - -Areas for improvements to \file{cipher} are: cryptographically secure -generation of random data for padding, key entry, and buffering of -file input. - - -\subsection{Demo 2: \file{secimp} and \file{sign}} - -\file{secimp} demonstrates an application of the Toolkit that may be -useful if Python is being used as an extension language for mail and Web -clients: secure importing of Python modules. To use it, run -\file{sign.py} in a directory with several compiled Python files -present. It will use the key in \file{testkey.py} to generate digital -signatures for the compiled Python code, and save both the signature and -the code in a file ending in \samp{.pys}. Then run \code{python -i -secimp.py}, and import a file by using \code{secimport}. - -For example, if \file{foo.pys} was constructed, do -\code{secimport('foo')}. The import should succeed. Now fire up Emacs -or some other editor, and change a string in the code in \file{foo.pys}; -you might try changing a letter in the name of a variable. When you run -\code{secimport('foo')}, it should raise an exception reporting the -failed signature. If you execute the statement \code{__import__ = -secimport}, the secure import will be used by default for all future -module imports. Alternatively, if you were creating a restricted -execution environment using \file{rexec.py}, you could place -\code{secimport()} in the restricted environment's namespace as the -default import function. - - -%====================================================================== \section{Extending the Toolkit} Preserving the a common interface for cryptographic routines is a good |
From: A.M. K. <aku...@us...> - 2005-05-09 14:21:06
|
Update of /cvsroot/pycrypto/crypto/Demo In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20459/Demo Removed Files: README chaum.py cipher enc.py Log Message: Remove Demo/ directory -- the code is old and possibly misleading, and no one is going to modernize it --- README DELETED --- --- chaum.py DELETED --- --- cipher DELETED --- --- enc.py DELETED --- |
From: A.M. K. <aku...@us...> - 2005-05-09 14:21:06
|
Update of /cvsroot/pycrypto/crypto/Demo/secimp In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20459/Demo/secimp Removed Files: README secimp.py sign.py testkey.py Log Message: Remove Demo/ directory -- the code is old and possibly misleading, and no one is going to modernize it --- README DELETED --- --- secimp.py DELETED --- --- sign.py DELETED --- --- testkey.py DELETED --- |
From: SourceForge.net <no...@so...> - 2005-05-09 14:20:50
|
Bugs item #1112191, was opened at 2005-01-29 13:54 Message generated for change (Comment added) made by akuchling You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1112191&group_id=20937 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: seth hardy (thirdson) >Assigned to: A.M. Kuchling (akuchling) Summary: DSA with MD5 Initial Comment: in the demo of digital signatures, you use MD5 as the hash algorithm for using DSA. i don't know if this is promoted elsewhere in the library, but i've seen people using your code use MD5 for DSA because it seems to be implied as the proper means of use? not sure, but i've seen it out there. either way, using MD5 as the hash algorithm breaks the DSA spec as defined in FIPS 186. so basically if you use MD5, you're not really using DSA, you're using something similar to DSA. the problem is that you are using the hash to get a 160 bit value; SHA-1 gives a 160 bit value, while MD5 only gives 128 bit. in addition to breaking spec, you also get a weaker digital signature because of a smaller intermediate value used. (this is in addition to any debates of how badly MD5 is broken, what with the recent collisions found and all.) at the very least, you should change the demo so you're actually using DSA as is implied/intended by the code... since you're not doing the hashing in the actual DSA implementation code itself there's nothing to fix there, just be advised that using MD5 means you're not using DSA anymore. ---------------------------------------------------------------------- >Comment By: A.M. Kuchling (akuchling) Date: 2005-05-09 10:20 Message: Logged In: YES user_id=11375 It's easiest to just remove the demo directory completely, because no one will ever get around to modernizing the code. This has now been done. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120937&aid=1112191&group_id=20937 |