Re: [PATCH 4/8] akcipher: Move the RSA DER encoding to the crypto layer

From: Tadeusz Struk
Date: Mon Feb 22 2016 - 18:39:37 EST


On 02/22/2016 02:28 PM, David Howells wrote:
> Tadeusz Struk <tadeusz.struk@xxxxxxxxx> wrote:
>
>> I wonder if this should be merged with the crypto/rsa-pkcs1pad.c template
>> that we already have. Looks like the two do the same padding now.
>> Should we merge then and pass the hash param as a separate template param,
>> e.g the public_key would allocate "pkcs1pad(rsa, sha1)"?
>
> Ummm... Possibly. Is that how it's used?
>
> warthog>git grep pkcs1pad -- Documentation
> warthog1>

Yes, no docs. Sorry.

>
> Anyway, the problem I have with this is that I want to get that knowledge out
> of the asymmetric key in-software public key subtype. It knows "rsa", "dsa",
> "ecdsa", ... because that's all the OIDs tell it.

Rigth, for now the public_key would need to build the full algorithm string as
follows:

vsprintf(name, "pkcs1pad(%s, %s)", pkey_algo_name[sig->pkey_algo],
hash_algo_name[sig->pkey_hash_algo]);

Do you plan to add more padding schemes later?

>
> I guess if I have to, I can stoop to converting "rsa" to "pkcs1pad(rsa, sha1)".
>
> Can you do me a really quick merge? -rc5 is already out, and I want to get it
> to James pronto - plus I have things that are pending on this change being
> made.

Yes, I can start woring on a subsequent patch based on your changes in
http://git.kernel.org/cgit/linux/kernel/git/dhowells/linux-fs.git/log/?h=keys-rsa
Is that ok with you?

>
> Oh - and how does the padding template find the algorithm DER encoding string
> to use? I have wondered whether it should be stored in with the hash
> algorithm, but it probably makes more sense to keep it with the rsa module.

We can put everything into the crypto/rsa-pkcs1pad.c
This is where all the padding logic should be, I think.
Thanks,
--
TS