Re: x509 parsing bug + fuzzing crypto in the userspace

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am Mittwoch, 22. November 2017, 11:44:51 CET schrieb Dmitry Vyukov:

Hi Dmitry,

> 
> Thanks! I think we can incorporate this into syzkaller.
> 
> One question: what's the relation between alg names and type ("aead",
> "hash", "rng", "skcipher")?

If you refer to AF_ALG, then the following applies:

AF_ALG type of aead -> kernel crypto API: crypto_aead_*, aead_request_*

AF_ALG type of skcipher -> kernel crypto API: crypto_skcipher_*, 
skcipher_request_*

AF_ALG type of hash -> kernel crypto API: crypto_ahash_*, ahash_request_*

AF_ALG type of rng -> kernel crypto API: crypto_rng_*


> I remember I already looked at it before
> and could not figure it out. Are all algorithms and templates
> partitioned between types? Or they are orthogonal?

If you refer to the cipher names, there are two types: templates and cipher 
implementations. See [1] for details. [2] gives you some ideas of the 
interrelationships between the templates and the ciphers.

The relationship between the names and the AF_ALG names mentioned above is 
defined with the .cra_flags in the cipher specification of each cipher 
implementation. See [3] for details.

Note, I started some fuzzing work in my libkcapi test application. See [4] for 
the implementation.

[1] http://www.chronox.de/crypto-API/crypto/architecture.html#crypto-api-cipher-references-and-priority

[2] http://www.chronox.de/crypto-API/crypto/architecture.html#internal-structure-of-kernel-crypto-api

[3] http://www.chronox.de/crypto-API/crypto/architecture.html#cipher-allocation-type-and-masks

[4] https://github.com/smuellerDD/libkcapi/blob/master/test/kcapi-main.c line 
522

Ciao
Stephan



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux