Stephan Mueller
76899a41f8
crypto: drbg - replace spinlock with mutex
...
The creation of a shadow copy is intended to only hold a short term
lock. But the drawback is that parallel users have a very similar DRBG
state which only differs by a high-resolution time stamp.
The DRBG will now hold a long term lock. Therefore, the lock is changed
to a mutex which implies that the DRBG can only be used in process
context.
The lock now guards the instantiation as well as the entire DRBG
generation operation. Therefore, multiple callers are fully serialized
when generating a random number.
As the locking is changed to use a long-term lock to avoid such similar
DRBG states, the entire creation and maintenance of a shadow copy can be
removed.
Signed-off-by: Stephan Mueller <smueller@chronox.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2015-04-21 09:14:45 +08:00
..
internal
crypto: sha-mb - multibuffer crypto infrastructure
2014-08-25 20:32:25 +08:00
ablk_helper.h
crypto: create generic version of ablk_helper
2013-09-24 06:02:24 +10:00
aead.h
crypto: Resolve shadow warnings
2014-08-01 22:35:55 +08:00
aes.h
algapi.h
crypto: api - Change crypto_unregister_instance argument type
2015-04-03 17:53:32 +08:00
authenc.h
crypto: authenc - Export key parsing helper function
2013-10-16 20:56:25 +08:00
b128ops.h
blowfish.h
crypto: blowfish - split generic and common c code
2011-09-22 21:25:25 +10:00
cast5.h
crypto: cast5/cast6 - move lookup tables to shared module
2012-12-06 17:16:26 +08:00
cast6.h
crypto: cast5/cast6 - move lookup tables to shared module
2012-12-06 17:16:26 +08:00
cast_common.h
crypto: cast5/cast6 - move lookup tables to shared module
2012-12-06 17:16:26 +08:00
compress.h
cryptd.h
crypto_wq.h
ctr.h
des.h
crypto: des_3des - add x86-64 assembly implementation
2014-06-20 21:27:58 +08:00
drbg.h
crypto: drbg - replace spinlock with mutex
2015-04-21 09:14:45 +08:00
gf128mul.h
hash.h
crypto: doc - document uncovered member variables
2014-11-17 22:53:48 +08:00
hash_info.h
crypto: provide single place for hash algo information
2013-10-25 17:14:03 -04:00
if_alg.h
crypto: af_alg - Allow to link sgl
2015-03-23 16:41:37 -04:00
lrw.h
crypto: lrw - add interface for parallelized cipher implementions
2011-11-09 11:50:31 +08:00
mcryptd.h
crypto: sha-mb - multibuffer crypto infrastructure
2014-08-25 20:32:25 +08:00
md5.h
null.h
crypto: export NULL algorithms defines
2014-03-21 21:54:26 +08:00
padlock.h
crypto: padlock - Move padlock.h into include/crypto
2011-01-07 14:52:00 +11:00
pcrypt.h
pkcs7.h
PKCS#7: Find intersection between PKCS#7 message and known, trusted keys
2014-07-08 13:50:15 +01:00
public_key.h
KEYS: Restore partial ID matching functionality for asymmetric keys
2014-10-06 15:21:05 +01:00
rng.h
crypto: rng - RNGs must return 0 in success case
2015-03-09 21:06:18 +11:00
scatterwalk.h
crypto: replace scatterwalk_sg_next with sg_next
2015-01-26 11:34:22 +11:00
serpent.h
crypto: serpent-sse2 - add lrw support
2011-11-21 16:13:24 +08:00
sha.h
crypto: sha512-generic - move to generic glue implementation
2015-04-10 21:39:41 +08:00
sha1_base.h
crypto: sha1 - implement base layer for SHA-1
2015-04-10 21:39:39 +08:00
sha256_base.h
crypto: sha256 - implement base layer for SHA-256
2015-04-10 21:39:39 +08:00
sha512_base.h
crypto: sha512 - implement base layer for SHA-512
2015-04-10 21:39:39 +08:00
skcipher.h
crypto: Resolve shadow warnings
2014-08-01 22:35:55 +08:00
twofish.h
crypto: twofish-x86_64-3way - add lrw support
2011-11-09 11:53:32 +08:00
vmac.h
crypto: vmac - Make VMAC work when blocks aren't aligned
2012-10-15 22:33:20 +08:00
xts.h
crypto: xts: add interface for parallelized cipher implementations
2011-11-09 11:56:06 +08:00