linux-crypto.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephan Mueller <smueller@chronox.de>
To: tadeusz.struk@intel.com
Cc: linux-crypto@vger.kernel.org
Subject: akcipher use
Date: Thu, 25 Jun 2015 13:58:53 +0200	[thread overview]
Message-ID: <1708764.x5PFhLSanv@tauon.atsec.com> (raw)

Hi Tadeusz,

I do have a few questions around the akcipher API.

The API offers access to the raw asym encryption and decryption operations.

The "normal" use of asym ciphers is the hybrid mode. That opens the following 
questions:

- how would a hardware implementation offering only a hybrid asym cipher 
implementation (i.e. a full signature mechanism or bulk data encryption 
mechanism) be usable via that API?

- currently I only see one user in the kernel for asym ciphers: the module 
signing mechanism. Do you expect more to come? Or am I missing others?

- If no, then it sounds like that the akcipher API is a means to make asym 
ciphers implemented in hardware and only accessible from supervisor state 
available. I would assume that the majority of the users that may be 
interested in that kind of support resides in user space. Is the intention to 
develop an AF_ALG interface (note, I personally already thought about that 
subject for some time now)?

- If user space shall also be able to use akcipher, how do you think that 
should be handled in general? Should user space simply have access to the raw 
asym ciphers and use that together with the hashes/sym ciphers to implement 
the hybrid system? Or shall the kernel interface extend the skcipher/hash 
interface with an akcipher wrapper for the hybrid system? I am currently not 
sure which is better considering:

	- raw asym interface: pro: lean, most flexible; con: user land must 
know of sym key (i.e. it is located in two places), potentially more round 
trips between kernel/user land

	- hybrid cipher interface: just take the opposite of the raw asym 
interface

- If the hybrid system is intended to be implemented in the kernel, would then 
the ton of different padding schemes need to be implemented in the kernel side 
or should user space do the padding? I would think they could stay in user 
land (provided that there is no kernel space user).

Thanks
Stephan

             reply	other threads:[~2015-06-25 11:58 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-25 11:58 Stephan Mueller [this message]
2015-06-25 19:19 ` akcipher use Tadeusz Struk
2015-06-27 16:25   ` Stephan Mueller
2015-06-27 17:00     ` Tadeusz Struk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1708764.x5PFhLSanv@tauon.atsec.com \
    --to=smueller@chronox.de \
    --cc=linux-crypto@vger.kernel.org \
    --cc=tadeusz.struk@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).