From ngps at POST1.COM Sun Jun 3 17:54:24 2001 From: ngps at POST1.COM (Ng Pheng Siong) Date: Sun, 3 Jun 2001 23:54:24 +0800 Subject: [PYTHON-CRYPTO] [ANN] M2Crypto 0.06-snap6 and Win32 binaries Message-ID: <20010603235424.A246@madcap.dyndns.org> Hi, Snapshot #5 claimed to be Python 2.1-compatible. Snapshot #6 is now _even_more_ compatible! ;-) Specifically, httpslib and m2urllib now work with Python 2.1. Get it here: http://www.post1.com/home/ngps/m2 For once, Win32 binaries have been posted simultaneously. ;-) As usual, feedback is welcome. -- Ng Pheng Siong * http://www.post1.com/home/ngps Quidquid latine dictum sit, altum viditur. From kalath at lycos.com Mon Jun 18 12:35:05 2001 From: kalath at lycos.com (Mark Brady) Date: Mon, 18 Jun 2001 10:35:05 0000 Subject: [PYTHON-CRYPTO] Better Python Crypto. Message-ID: Hello, Has anyone looked int wrapping Crypto++ (http://www.eskimo.com/~weidai/cryptlib.html) to provide better crypto for python. All the current python crypto solutions are either OpenSSL based or single algorithm implementations. The OpenSSL lib is fine but it only supports a limited number of Cipers and pure cryptography is not the focus of their project so it seems unlikely that they will be supporting very many more algorithms. So has anyone any ideas, comments? Mark. Get 250 color business cards for FREE! http://businesscards.lycos.com/vp/fastpath/ From bram at GAWTH.COM Mon Jun 18 19:13:43 2001 From: bram at GAWTH.COM (Bram Cohen) Date: Mon, 18 Jun 2001 10:13:43 -0700 Subject: [PYTHON-CRYPTO] Better Python Crypto. In-Reply-To: Message-ID: On Mon, 18 Jun 2001, Mark Brady wrote: > Has anyone looked into wrapping Crypto++ > (http://www.eskimo.com/~weidai/cryptlib.html) Yeah, I wrapped Crypto++ for a previous project, and it was a disaster - Crypto++ itself is 'well written', meaning it uses lots of operator overloading, and templates, and skads of C++ garbage which has the 'amusing' effect of making you have to recompile for redhat and debian. I'd say Crypto++ is well written, but doing it in C++ was a bad idea. -Bram Cohen "Markets can remain irrational longer than you can remain solvent" -- John Maynard Keynes From bram at GAWTH.COM Fri Jun 22 23:10:23 2001 From: bram at GAWTH.COM (Bram Cohen) Date: Fri, 22 Jun 2001 14:10:23 -0700 Subject: [PYTHON-CRYPTO] need counter mode implementation Message-ID: I've now finished the encryption part of an application I'm writing, and the crypto is slow (unsurprising, since it's in pure python.) I've got it set up to try to import a C version and only use the pure python version if there's an ImportError (I love Python). I'm wondering if anyone could throw together a pure C version of the following together quickly - A module named _StreamEncrypter has a function called make_encrypter. make_encrypter takes a 128 bit rijndael key and returns a callable which encrypts strings it's passed in big endian counter mode. So, if you pass it the same string twice, it will return two different values because it xored with different encrypted blocks, and decrypting is done using the same function as encrypting. I prefer an implementation which is public domain. Anyone sending me one gets their name in the credits :) -Bram Cohen "Markets can remain irrational longer than you can remain solvent" -- John Maynard Keynes From bram at GAWTH.COM Thu Jun 28 13:09:33 2001 From: bram at GAWTH.COM (Bram Cohen) Date: Thu, 28 Jun 2001 04:09:33 -0700 Subject: [PYTHON-CRYPTO] A full-blown application Message-ID: The app I've been working on is now at release 1.0, you can get it here - http://bitconjurer.org/BitTorrent/ It could still use a C implementation of it's crypto - basically the only crypto call is StreamEncrypter.make_encrypter, which returns big-endian rijndael counter mode. -Bram Cohen "Markets can remain irrational longer than you can remain solvent" -- John Maynard Keynes From bram at GAWTH.COM Sat Jun 30 00:07:14 2001 From: bram at GAWTH.COM (Bram Cohen) Date: Fri, 29 Jun 2001 15:07:14 -0700 Subject: [PYTHON-CRYPTO] New release of BitTorrent out Message-ID: I've put up a new release, you can get it here - http://bitconjurer.org/BitTorrent/BitTorrent-01-00-01.tar.gz It's also now the one linked off the BitTorrent pages. This is a bug fix release - it no longer hoses the CPU after connection fails, and doesn't throw an exception when an upload connection hasn't gotten it's status set yet. The next version will include copying of comments from blobs_want to blobs_have, instructions when you execute with inappropriate parameters, and (hopefully) crypto in C. That last one I could use some help with - if anyone throws together a public domain distutils-ified C implementation of StreamEncrypter.py, I'll include it immediately (should be fairly straightforward - it's just rijndael in counter mode). Otherwise it's dependant on me successfully bugging my younger brother to write one. -Bram Cohen "Markets can remain irrational longer than you can remain solvent" -- John Maynard Keynes