Linux cryptographic layer development
 help / color / mirror / Atom feed
From: Dimitrios Siganos <dimitris@siganos.org>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: linux-crypto@vger.kernel.org
Subject: Re: ABLKCIPHER
Date: Mon, 15 Mar 2010 15:23:36 +0000	[thread overview]
Message-ID: <4B9E50F8.9030109@siganos.org> (raw)
In-Reply-To: <20100313123146.GA26376@gondor.apana.org.au>

Herbert Xu wrote:
> Dimitrios Siganos <dimitris@siganos.org> wrote:
>   
>> Hi,
>>
>> I am trying to write an ABLKCIPHER algorithm for my hardware crypto 
>> engine and I have a few questions:
>>
>> 1) In struct ablkcipher_alg, what do these fields do? I see some 
>> implementations use them and some not. Do I need to implement them?
>>    int (*givencrypt)(struct skcipher_givcrypt_request *req);
>>    int (*givdecrypt)(struct skcipher_givcrypt_request *req);
>>    const char *geniv;
>>     
>
> These do not have to be implemented, unless your hardware is
> capable of generating initial IVs (e.g., through a secure RNG).
>   
My hardware (Freescale i.MX51) has a random number generator. I think I 
am confused about the giv..crypt concept in general. How is it supposed 
to work?

Let's say I want to do the classic cbc(aes). The steps are:
1) allocate a tfm object
2) set the key
3) set the iv
4) encrypt as many times as needed
5) cleanup

I can do this without the giv functions. Do the giv apply in this case?

You said that with the giv functions, the hardware generates the iv 
automatically. So if I used the giv functions, does the sequence of 
steps above, become:
1) allocate a tfm object
2) set the key
4) givencrypt
5) read the generated iv (so it can somehow passed to the decryptor)
6) encrypt as many times as needed
7) cleanup

>> 2) What is a CRYPTO_ALG_TYPE_GIVCIPHER? What does it do and how does it 
>> interface to other algorithms?
>>     
>
> That's the type to use if you do choose to provide givencrypt
> and givdecrypt.
>   
Can you point me to a simple example, if one exists?


  reply	other threads:[~2010-03-15 15:23 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-12 13:36 ABLKCIPHER Dimitrios Siganos
2010-03-13 12:31 ` ABLKCIPHER Herbert Xu
2010-03-15 15:23   ` Dimitrios Siganos [this message]
2010-03-15 17:00     ` ABLKCIPHER Kim Phillips
2010-03-16  0:18     ` ABLKCIPHER Herbert Xu

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=4B9E50F8.9030109@siganos.org \
    --to=dimitris@siganos.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    /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