Re: PyCrypto rant thread

Mads Kiilerich <[email protected]> Wed, 22 Oct 2008 00:07:22 +0200
Newsgroups gmane.comp.python.cryptography
Message-ID <[email protected]>
This is a cryptographically signed message in MIME format.

--------------ms050505070306080609060902
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Dwayne C. Litzenberger wrote, On 10/11/2008 02:25 AM:
> I'm sure there are a number of people on this list who are currently 
> _not_ using PyCrypto.  I know PyCrypto has problems, but as its new 
> maintainer, it would be useful for me to find out exactly what 
> problems others have had with it, so I can figure out what direction I 
> should go with it.

This thread is getting to closer and closer to being a rent thread as 
you intended ;-)

I have no strong feelings about PyCrypto or any of its alternatives.

Having one defacto standard implementation of anything is good. In one 
way. But having several competing alternatives is also very good. In 
another way.

I was looking for a python crypto library, and PyCrypto was one I was 
looking at. None of the candidates were obvious choices for me. You and 
others have pointed out places where PyCrypto had "room for 
improvement". Recognizing the problems and attacking them head on like 
you are doing is very good for the project.

It is obvious from this thread that you have strong opinions about this 
project. You have good reasons for doing what you are doing, and for why 
your approach - and the result - is better than the alternatives. PLEASE 
make this explicit in the documentation and on the web page. PLEASE help 
us to choose PyCrypto for the right reasons - or to go for one of the 
alternatives if that would make all of us happier. Biased but fair 
comparisions would be nice.

One important aspect which I had problems with and haven't seen 
mentioned is interoperability. It would be very helpful - both for 
evaluation and for debugging - to have examples of how PyCrypto can 
interface with and is compatible with other libraries. A real (or rather 
unrealistic) killer feature would be to have wrappers which implement 
(subsets) of the API of other libraries, so that their test suites could 
be run and examples compared.

/Mads

--------------ms050505070306080609060902
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIK9jCC
BXcwggRfoAMCAQICBEVxG2MwDQYJKoZIhvcNAQEFBQAwMTELMAkGA1UEBhMCREsxDDAKBgNV
BAoTA1REQzEUMBIGA1UEAxMLVERDIE9DRVMgQ0EwHhcNMDgwMzE1MTYwODQxWhcNMTAwMzE1
MTYzODQxWjB/MQswCQYDVQQGEwJESzEpMCcGA1UEChMgSW5nZW4gb3JnYW5pc2F0b3Jpc2sg
dGlsa255dG5pbmcxRTAeBgNVBAMTF01hZHMgS3Jpc3RpYW4gS2lpbGVyaWNoMCMGA1UEBRMc
UElEOjkyMDgtMjAwMi0yLTU1NDk5OTQ5Nzc5NzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
gYEAnGcH00IPm9qDo+Pt15b7Jm+WXPzbbEesg7atiZWlwe23TZQpEqvS8Rc8VOUVS+ATWbSO
Q3uLJ5+PXfJw1P1D2lGIhUHBRbQ5CpCTonC4vYJwP9WtRiw9wddyxm5zMPrdHby+toCCu+PG
FnFevjaHHdEmGVAZxSqFgSkjEui1n9UCAwEAAaOCAsswggLHMA4GA1UdDwEB/wQEAwID+DAr
BgNVHRAEJDAigA8yMDA4MDMxNTE2MDg0MVqBDzIwMTAwMzE1MTYzODQxWjCCATcGA1UdIASC
AS4wggEqMIIBJgYKKoFQgSkBAQEBAzCCARYwLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuY2Vy
dGlmaWthdC5kay9yZXBvc2l0b3J5MIHiBggrBgEFBQcCAjCB1TAKFgNUREMwAwIBARqBxkZv
ciBhbnZlbmRlbHNlIGFmIGNlcnRpZmlrYXRldCBn5mxkZXIgT0NFUyB2aWxr5XIsIENQUyBv
ZyBPQ0VTIENQLCBkZXIga2FuIGhlbnRlcyBmcmEgd3d3LmNlcnRpZmlrYXQuZGsvcmVwb3Np
dG9yeS4gQmVt5nJrLCBhdCBUREMgZWZ0ZXIgdmlsa+VyZW5lIGhhciBldCBiZWdy5m5zZXQg
YW5zdmFyIGlmdC4gcHJvZmVzc2lvbmVsbGUgcGFydGVyLjBBBggrBgEFBQcBAQQ1MDMwMQYI
KwYBBQUHMAGGJWh0dHA6Ly9vY3NwLmNlcnRpZmlrYXQuZGsvb2NzcC9zdGF0dXMwHQYDVR0R
BBYwFIESbWFkc0BraWlsZXJpY2guY29tMIGEBgNVHR8EfTB7MEugSaBHpEUwQzELMAkGA1UE
BhMCREsxDDAKBgNVBAoTA1REQzEUMBIGA1UEAxMLVERDIE9DRVMgQ0ExEDAOBgNVBAMTB0NS
TDI3NDQwLKAqoCiGJmh0dHA6Ly9jcmwub2Nlcy5jZXJ0aWZpa2F0LmRrL29jZXMuY3JsMB8G
A1UdIwQYMBaAFGC1hexWZH4SGSdnHVAVS3OuO/kSMB0GA1UdDgQWBBRAoXtPdy7VkvorafqL
RJxfULtp9TAJBgNVHRMEAjAAMBkGCSqGSIb2fQdBAAQMMAobBFY3LjEDAgOoMA0GCSqGSIb3
DQEBBQUAA4IBAQCixHzdKApFGWsXgMJz16/8GCVGYBLKeW/M9Xju0i1PPgjWJ5rnOa7hIJky
2AfXPq5ovwi796s3R8hNZQ8k08MWrmiVLyALwrsGfRkrj0vry5pX6vtHKLpoldjKNQau6jes
ObqZClmhQ6+9Nyv+bjmJGqETJ0IMFQmwc9xSbG/zfzWfpNC3pUrVRvs6wHjodokCM5778108
TPHfmlbt2OJ/SJUevzWSpwNQz5I+sg6D8T0nqskLyqFRNQsAHDhCgWYa1d/iDbbHDCn0I6wx
JvKF+B+PCPrHijvz2c3FCl91d8e80wjNtIFewN62Mhmt09oVcj1g0op+GFsT9MsD1dbDMIIF
dzCCBF+gAwIBAgIERXEbYzANBgkqhkiG9w0BAQUFADAxMQswCQYDVQQGEwJESzEMMAoGA1UE
ChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTAeFw0wODAzMTUxNjA4NDFaFw0xMDAzMTUx
NjM4NDFaMH8xCzAJBgNVBAYTAkRLMSkwJwYDVQQKEyBJbmdlbiBvcmdhbmlzYXRvcmlzayB0
aWxrbnl0bmluZzFFMB4GA1UEAxMXTWFkcyBLcmlzdGlhbiBLaWlsZXJpY2gwIwYDVQQFExxQ
SUQ6OTIwOC0yMDAyLTItNTU0OTk5NDk3Nzk3MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
gQCcZwfTQg+b2oOj4+3Xlvsmb5Zc/NtsR6yDtq2JlaXB7bdNlCkSq9LxFzxU5RVL4BNZtI5D
e4snn49d8nDU/UPaUYiFQcFFtDkKkJOicLi9gnA/1a1GLD3B13LGbnMw+t0dvL62gIK748YW
cV6+Nocd0SYZUBnFKoWBKSMS6LWf1QIDAQABo4ICyzCCAscwDgYDVR0PAQH/BAQDAgP4MCsG
A1UdEAQkMCKADzIwMDgwMzE1MTYwODQxWoEPMjAxMDAzMTUxNjM4NDFaMIIBNwYDVR0gBIIB
LjCCASowggEmBgoqgVCBKQEBAQEDMIIBFjAvBggrBgEFBQcCARYjaHR0cDovL3d3dy5jZXJ0
aWZpa2F0LmRrL3JlcG9zaXRvcnkwgeIGCCsGAQUFBwICMIHVMAoWA1REQzADAgEBGoHGRm9y
IGFudmVuZGVsc2UgYWYgY2VydGlmaWthdGV0IGfmbGRlciBPQ0VTIHZpbGvlciwgQ1BTIG9n
IE9DRVMgQ1AsIGRlciBrYW4gaGVudGVzIGZyYSB3d3cuY2VydGlmaWthdC5kay9yZXBvc2l0
b3J5LiBCZW3mcmssIGF0IFREQyBlZnRlciB2aWxr5XJlbmUgaGFyIGV0IGJlZ3LmbnNldCBh
bnN2YXIgaWZ0LiBwcm9mZXNzaW9uZWxsZSBwYXJ0ZXIuMEEGCCsGAQUFBwEBBDUwMzAxBggr
BgEFBQcwAYYlaHR0cDovL29jc3AuY2VydGlmaWthdC5kay9vY3NwL3N0YXR1czAdBgNVHREE
FjAUgRJtYWRzQGtpaWxlcmljaC5jb20wgYQGA1UdHwR9MHswS6BJoEekRTBDMQswCQYDVQQG
EwJESzEMMAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTEQMA4GA1UEAxMHQ1JM
Mjc0NDAsoCqgKIYmaHR0cDovL2NybC5vY2VzLmNlcnRpZmlrYXQuZGsvb2Nlcy5jcmwwHwYD
VR0jBBgwFoAUYLWF7FZkfhIZJ2cdUBVLc647+RIwHQYDVR0OBBYEFEChe093LtWS+itp+otE
nF9Qu2n1MAkGA1UdEwQCMAAwGQYJKoZIhvZ9B0EABAwwChsEVjcuMQMCA6gwDQYJKoZIhvcN
AQEFBQADggEBAKLEfN0oCkUZaxeAwnPXr/wYJUZgEsp5b8z1eO7SLU8+CNYnmuc5ruEgmTLY
B9c+rmi/CLv3qzdHyE1lDyTTwxauaJUvIAvCuwZ9GSuPS+vLmlfq+0coumiV2Mo1Bq7qN6w5
upkKWaFDr703K/5uOYkaoRMnQgwVCbBz3FJsb/N/NZ+k0LelStVG+zrAeOh2iQIznvvzXTxM
8d+aVu3Y4n9IlR6/NZKnA1DPkj6yDoPxPSeqyQvKoVE1CwAcOEKBZhrV3+INtscMKfQjrDEm
8oX4H48I+seKO/PZzcUKX3V3x7zTCM20gV7A3rYyGa3T2hVyPWDSin4YWxP0ywPV1sMxggI3
MIICMwIBATA5MDExCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNUREMxFDASBgNVBAMTC1REQyBP
Q0VTIENBAgRFcRtjMAkGBSsOAwIaBQCgggFUMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEw
HAYJKoZIhvcNAQkFMQ8XDTA4MTAyMTIyMDcyMlowIwYJKoZIhvcNAQkEMRYEFP+LzBzdho+c
AfJBJredrIXhZuppMEgGCSsGAQQBgjcQBDE7MDkwMTELMAkGA1UEBhMCREsxDDAKBgNVBAoT
A1REQzEUMBIGA1UEAxMLVERDIE9DRVMgQ0ECBEVxG2MwSgYLKoZIhvcNAQkQAgsxO6A5MDEx
CzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNUREMxFDASBgNVBAMTC1REQyBPQ0VTIENBAgRFcRtj
MF8GCSqGSIb3DQEJDzFSMFAwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMC
AgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDANBgkqhkiG9w0B
AQEFAASBgCkU1cE09db0+a7vVT3BdT2yn2SHyoSHmMOQDOK20FsTvnhPBHfkY33XEB0E9+sb
Dzhsm00x31RaeLyaeKLl0xeCUglbVLvpnw24Ckob7B5Rb/p4QTAWllZIjNb8DgrpCCIqvVKE
m3BgFvStkNKjaK+7r7MUFYSY61tagGJw4K7RAAAAAAAA
--------------ms050505070306080609060902--