Hash: Rename SHA->SHA1 and RIPEMD->RIPEMD160 (pct-speedtest.py)

Oops, I missed this one.
pct-speedtest.py: Add PKCS#1 signing and verification
Fix compiler warning about "_POSIX_C_SOURCE" being redefined in string.h

The solution is to include Python.h before string.h is included.
Counter: Fix compiler warning about signed-unsigned comparison
Fix dumb typo: "is 2" should be "== 2"
Hash: Remove "oid" attributes; add "name" attribute

In PyCrypto v2.5, the "oid" attribute was added to hash objects.  In
retrospect, this was not a good idea, since the OID is not really a
property of the hash algorithm, it's a protocol-specific identifer for
the hash functions.  PKCS#1 v1.5 uses it, but other protocols (e.g.
OpenPGP, DNSSEC, SSH, etc.) use different identifiers, and it doesn't make
sense to add these to Crypto.Hash.* every time a new algorithm is added.

This also has the benefit of being compatible with the Python standard
library's "hashlib" objects, which also have a name attribute.
Hash: Generic Crypto.Hash.new(algo, [data]) function

This allows us to instantiate a new hash given only an existing hash
object.
Hash: Speed up initialization by removing pure-Python wrappers

The pure Python wrappers around Crypto.Hash.* were convenient, but they
slowed down hash initialization by 4-7x.

There is a speed trade-off here: The MD5 and SHA1 objects are just
wrapped hashlib objects (or old-style md5/sha objects).  To maintain API
compatibility with the rest of PyCrypto, we still have to wrap them, so
they're slower to initialize than the rest of the hash functions.  If
hashlib ever adds a .new() method, we will automatically use hashlib
directly and gain the initialization speed-up.
Use correct stream

If stream is None, write the value of StringIO to sys.stderr.

Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
Pass corret stream to TestTextRunner

If stream is not None, add it to kwargs and pass it to TestTextRunner.

Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
Add blinding to ElGamal decryption.
Merge branch 'hash-speedup-wip'
Include inttypes.h or sys/inttypes.h based on what autoconf tells us

This should fix compilation on HP-UX 11.31.  Thanks Adam Woodbeck for
reporting this.
Add pycrypto_common.h and clean up a bunch of miscellaneous includes & typedefs
Initial AES-NI support
Remove unnecessary includes
AES-NI support: Python 2.1 Backward compatibility

- METH_NOARGS was introduced in Python 2.2.
- Python 2.1 doesn't have True and False builtins.
FortunaAccumulator: Use time.monotonic if available (i.e. Python 3.3 and later)
pct-speedtest.py: Test the random module
Implementation of the Salsa20 stream cipher

	new file:   lib/Crypto/Cipher/Salsa20.py
	modified:   lib/Crypto/SelfTest/Cipher/__init__.py
	new file:   lib/Crypto/SelfTest/Cipher/test_Salsa20.py
	modified:   setup.py
	new file:   src/Salsa20.c
	new file:   src/salsa20/ecrypt-config.h
	new file:   src/salsa20/ecrypt-machine.h
	new file:   src/salsa20/ecrypt-portable.h
	new file:   src/salsa20/ecrypt-sync.h
	new file:   src/streamIV_template.c