Re: KEM provider in TLS and avoiding unnecessary generation

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

 



What is called initially is not a key pair generation but param
generation with a group ID as a parameter. This should be just
negligible operation which basically converts the group ID into an
internal data structure representing the group which is prepared for
further computations.

Please check the selection parameter of the gen_init() call into your
provider - it is OSSL_KEYMGMT_SELECT_ALL_PARAMETERS which is completely
different set of bits than OSSL_KEYMGMT_SELECT_KEYPAIR.

Tomas Mraz, OpenSSL


On Fri, 2023-05-19 at 15:36 +0000, Ladd, Watson via openssl-users
wrote:
> Dear all,
> 
> I've written a KEM provider for TLS but do not understand one thing
> about the flow on the server. It seems that first a key gets
> generated, and then the public key from the client is decoded onto
> that key. However, the generation routine computes a keypair which is
> an expensive operation. Is there a way my generation routine can know
> (via some setting) that the generated keypair is going to be
> immediately overwritten/is there a settable context parameter with
> the public key that I should support? I've looked at OQS but haven't
> understood what I've been seeing.
> 
> I find this design perplexing: surely letting each algorithm
> provide allocation and freeing and then keypair generation, and
> decoding and encoding routines+the kem routines would have worked. I
> understand this wouldn't fit RSA as well, but generally that sort of
> design is a mistake and we've moved away from having these free
> floating parameters in newer schemes/it's accomadatable other ways.
> 
> Sincerely,
> Watson Ladd

-- 
Tomáš Mráz, OpenSSL





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

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux