Subject: Monte Carlo Test (MCT) for AES

Hi All,

We are using libkcapi for CAVS vectors verification on our Linux kernel. Our Linux kernel version is 4.14.? Monte Carlo Test (MCT) for SHA worked fine using libkcapi. We are trying to perform Monte Carlo Test (MCT) for AES using libkcapi.
We not able to get the result successfully. Is it possible to use libkcapi to achieve AES MCT?

Regards,
Jayalakshmi


2020-05-22 22:12:26

by Ard Biesheuvel

[permalink] [raw]
Subject: Re: Monte Carlo Test (MCT) for AES

(+ Stephan)

On Fri, 22 May 2020 at 05:20, Bhat, Jayalakshmi Manjunath
<[email protected]> wrote:
>
> Hi All,
>
> We are using libkcapi for CAVS vectors verification on our Linux kernel. Our Linux kernel version is 4.14. Monte Carlo Test (MCT) for SHA worked fine using libkcapi. We are trying to perform Monte Carlo Test (MCT) for AES using libkcapi.
> We not able to get the result successfully. Is it possible to use libkcapi to achieve AES MCT?
>
> Regards,
> Jayalakshmi
>

2020-05-23 18:44:20

by Stephan Müller

[permalink] [raw]
Subject: Re: Monte Carlo Test (MCT) for AES

Am Samstag, 23. Mai 2020, 00:11:35 CEST schrieb Ard Biesheuvel:

Hi Ard,

> (+ Stephan)
>
> On Fri, 22 May 2020 at 05:20, Bhat, Jayalakshmi Manjunath
>
> <[email protected]> wrote:
> > Hi All,
> >
> > We are using libkcapi for CAVS vectors verification on our Linux kernel.
> > Our Linux kernel version is 4.14. Monte Carlo Test (MCT) for SHA worked
> > fine using libkcapi. We are trying to perform Monte Carlo Test (MCT) for
> > AES using libkcapi. We not able to get the result successfully. Is it
> > possible to use libkcapi to achieve AES MCT?

Yes, it is possible. I have the ACVP testing implemented completely for AES
(ECB, CBC, CFB8, CFB128, CTR, XTS, GCM internal and external IV generation,
CCM), TDES (ECB, CTR, CBC), SHA, HMAC, CMAC (AES and TDES). I did not yet try
TDES CFB8 and CFB64 through, but it should work out of the box.

AES-KW is the only one that cannot be tested through libkcapi as AF_ALG has
one shortcoming preventing this test.

The testing is implemented with [1] but the libkcapi test backend is not
public. The public code in [1] already implements the MCT. So, if you want to
use [1], all you need to implement is a libkcapi backend that just invokes the
ciphers as defined by the API in [1].

[1] https://github.com/smuellerDD/acvpparser

Ciao
Stephan


Subject: RE: Monte Carlo Test (MCT) for AES

Hi Stephen,

I to add the backend support using libkcapi APIs to exercise Kernel CAVP.
Can you please confirm if my understanding is correct?

Regards,
Jaya

From: [email protected] <[email protected]> On Behalf Of Stephan M?ller
Sent: Sunday, May 24, 2020 12:14 AM
To: Bhat, Jayalakshmi Manjunath <[email protected]>; Ard Biesheuvel <[email protected]>
Cc: [email protected]
Subject: Re: Monte Carlo Test (MCT) for AES

Am Samstag, 23. Mai 2020, 00:11:35 CEST schrieb Ard Biesheuvel:

Hi Ard,

> (+ Stephan)
>
> On Fri, 22 May 2020 at 05:20, Bhat, Jayalakshmi Manjunath
>
> <mailto:[email protected]> wrote:
> > Hi All,
> >
> > We are using libkcapi for CAVS vectors verification on our Linux kernel.
> > Our Linux kernel version is 4.14. Monte Carlo Test (MCT) for SHA worked
> > fine using libkcapi. We are trying to perform Monte Carlo Test (MCT) for
> > AES using libkcapi. We not able to get the result successfully. Is it
> > possible to use libkcapi to achieve AES MCT?

Yes, it is possible. I have the ACVP testing implemented completely for AES
(ECB, CBC, CFB8, CFB128, CTR, XTS, GCM internal and external IV generation,
CCM), TDES (ECB, CTR, CBC), SHA, HMAC, CMAC (AES and TDES). I did not yet try
TDES CFB8 and CFB64 through, but it should work out of the box.

AES-KW is the only one that cannot be tested through libkcapi as AF_ALG has
one shortcoming preventing this test.

The testing is implemented with [1] but the libkcapi test backend is not
public. The public code in [1] already implements the MCT. So, if you want to
use [1], all you need to implement is a libkcapi backend that just invokes the
ciphers as defined by the API in [1].

[1] https://github.com/smuellerDD/acvpparser

Ciao
Stephan

2020-05-26 05:23:49

by Stephan Müller

[permalink] [raw]
Subject: Re: Monte Carlo Test (MCT) for AES

Am Dienstag, 26. Mai 2020, 05:07:15 CEST schrieb Bhat, Jayalakshmi Manjunath:

Hi Jayalakshmi,

> Hi Stephen,
>
> I to add the backend support using libkcapi APIs to exercise Kernel CAVP.
> Can you please confirm if my understanding is correct?

You would need to implement an equivalent to backend_openssl.c or
backend_nettle.c
>
> Regards,
> Jaya
>
> From: [email protected]
> <[email protected]> On Behalf Of Stephan M?ller Sent:
> Sunday, May 24, 2020 12:14 AM
> To: Bhat, Jayalakshmi Manjunath <[email protected]>; Ard Biesheuvel
> <[email protected]> Cc: [email protected]
> Subject: Re: Monte Carlo Test (MCT) for AES
>
> Am Samstag, 23. Mai 2020, 00:11:35 CEST schrieb Ard Biesheuvel:
>
> Hi Ard,
>
> > (+ Stephan)
> >
> > On Fri, 22 May 2020 at 05:20, Bhat, Jayalakshmi Manjunath
> >
> > <mailto:[email protected]> wrote:
> > > Hi All,
> > >
> > > We are using libkcapi for CAVS vectors verification on our Linux kernel.
> > > Our Linux kernel version is 4.14. Monte Carlo Test (MCT) for SHA worked
> > > fine using libkcapi. We are trying to perform Monte Carlo Test (MCT) for
> > > AES using libkcapi. We not able to get the result successfully. Is it
> > > possible to use libkcapi to achieve AES MCT?
>
> Yes, it is possible. I have the ACVP testing implemented completely for AES
> (ECB, CBC, CFB8, CFB128, CTR, XTS, GCM internal and external IV generation,
> CCM), TDES (ECB, CTR, CBC), SHA, HMAC, CMAC (AES and TDES). I did not yet
> try TDES CFB8 and CFB64 through, but it should work out of the box.
>
> AES-KW is the only one that cannot be tested through libkcapi as AF_ALG has
> one shortcoming preventing this test.
>
> The testing is implemented with [1] but the libkcapi test backend is not
> public. The public code in [1] already implements the MCT. So, if you want
> to use [1], all you need to implement is a libkcapi backend that just
> invokes the ciphers as defined by the API in [1].
>
> [1] https://github.com/smuellerDD/acvpparser
>
> Ciao
> Stephan


Ciao
Stephan


Subject: RE: Monte Carlo Test (MCT) for AES

Hi Stephen,

Thank you very much

Regards,
Jaya

From: [email protected] <[email protected]> On Behalf Of Stephan Mueller
Sent: Tuesday, May 26, 2020 10:53 AM
To: Bhat, Jayalakshmi Manjunath <[email protected]>
Cc: Ard Biesheuvel <[email protected]>; [email protected]
Subject: Re: Monte Carlo Test (MCT) for AES

Am Dienstag, 26. Mai 2020, 05:07:15 CEST schrieb Bhat, Jayalakshmi Manjunath:

Hi Jayalakshmi,

> Hi Stephen,
>
> I to add the backend support using libkcapi APIs to exercise Kernel CAVP.
> Can you please confirm if my understanding is correct?

You would need to implement an equivalent to backend_openssl.c or
backend_nettle.c
>
> Regards,
> Jaya
>
> From: mailto:[email protected]
> <mailto:[email protected]> On Behalf Of Stephan M?ller Sent:
> Sunday, May 24, 2020 12:14 AM
> To: Bhat, Jayalakshmi Manjunath <mailto:[email protected]>; Ard Biesheuvel
> <mailto:[email protected]> Cc: mailto:[email protected]
> Subject: Re: Monte Carlo Test (MCT) for AES
>
> Am Samstag, 23. Mai 2020, 00:11:35 CEST schrieb Ard Biesheuvel:
>
> Hi Ard,
>
> > (+ Stephan)
> >
> > On Fri, 22 May 2020 at 05:20, Bhat, Jayalakshmi Manjunath
> >
> > <mailto:[email protected]> wrote:
> > > Hi All,
> > >
> > > We are using libkcapi for CAVS vectors verification on our Linux kernel.
> > > Our Linux kernel version is 4.14. Monte Carlo Test (MCT) for SHA worked
> > > fine using libkcapi. We are trying to perform Monte Carlo Test (MCT) for
> > > AES using libkcapi. We not able to get the result successfully. Is it
> > > possible to use libkcapi to achieve AES MCT?
>
> Yes, it is possible. I have the ACVP testing implemented completely for AES
> (ECB, CBC, CFB8, CFB128, CTR, XTS, GCM internal and external IV generation,
> CCM), TDES (ECB, CTR, CBC), SHA, HMAC, CMAC (AES and TDES). I did not yet
> try TDES CFB8 and CFB64 through, but it should work out of the box.
>
> AES-KW is the only one that cannot be tested through libkcapi as AF_ALG has
> one shortcoming preventing this test.
>
> The testing is implemented with [1] but the libkcapi test backend is not
> public. The public code in [1] already implements the MCT. So, if you want
> to use [1], all you need to implement is a libkcapi backend that just
> invokes the ciphers as defined by the API in [1].
>
> [1] https://github.com/smuellerDD/acvpparser
>
> Ciao
> Stephan


Ciao
Stephan