Skip to contentSkip to conversation

problem with testing a CTR block cipher mode which is partially working

DISCUSSION Corentin LABBE 5 participants 8 messages Mar 30, 2015 – Apr 2, 2015 2 messages not in the archive Crypto API

lore
Share & tools
lore
#0 lore raw

hello

I am trying to add the CTR (counter) block cipher mode for AES on my Security System driver.

When testing with the tcrypt module I got the following result:

[ 1256.986989] alg: skcipher: Test 1 failed on encryption for ctr-aes-sunxi-ss
[ 1256.987004] 00000000: 87 4d 61 91 b6 20 e3 26 1b ef 68 64 99 0d b6 ce
[ 1256.987013] 00000010: 40 94 25 91 d7 b4 4f 49 ab c1 9d 33 a4 4e f6 54
[ 1256.987023] 00000020: ce 58 d2 f0 01 8f 92 a2 5f 2c bb 66 13 8b 9d 76
[ 1256.987032] 00000030: 30 fa 4a 40 b1 67 2e f3 46 b7 9a 7c ba 91 0b a2

As you can see the first ciphered block is correct (according to testmgr.h), the subsequent blocks are bad.

So Could I assume that the setting of key and IV are good (at least for the first cipher pass.

The number of inputs(register) are limited and I have tested near all the possibility. Any idea of what could be wrong.

Regards
Thanks in advance

#1 lore raw
Quoted 17 lines

Von: [email protected] [[email protected]]" im Auftrag von "Corentin LABBE [[email protected]]
Gesendet: Montag, 30. März 2015 19:59
An: [email protected]
Cc: [email protected]
Betreff: problem with testing a CTR block cipher mode which is partially working

hello

I am trying to add the CTR (counter) block cipher mode for AES on my Security System driver.

When testing with the tcrypt module I got the following result:

[ 1256.986989] alg: skcipher: Test 1 failed on encryption for ctr-aes-sunxi-ss
[ 1256.987004] 00000000: 87 4d 61 91 b6 20 e3 26 1b ef 68 64 99 0d b6 ce
[ 1256.987013] 00000010: 40 94 25 91 d7 b4 4f 49 ab c1 9d 33 a4 4e f6 54
[ 1256.987023] 00000020: ce 58 d2 f0 01 8f 92 a2 5f 2c bb 66 13 8b 9d 76
[ 1256.987032] 00000030: 30 fa 4a 40 b1 67 2e f3 46 b7 9a 7c ba 91 0b a2
Quoted 7 lines

As you can see the first ciphered block is correct (according to testmgr.h), the subsequent blocks are bad.

So Could I assume that the setting of key and IV are good (at least for the first cipher pass.

The number of inputs(register) are limited and I have tested near all the possibility. Any idea of what could be wrong.

had a similar challenge a few months ago. I had to take care about

- counter IV is big endian (implemented it little endian in first place)
- CTR allows to encrypt data that does not need to be amultiple of 16 bytes.

Markus

****************************************************************************
Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.

Über das Internet versandte E-Mails können unter fremden Namen erstellt oder manipuliert werden. Deshalb ist diese als E-Mail verschickte Nachricht keine rechtsverbindliche Willenserklärung.

Collogia
Unternehmensberatung AG
Ubierring 11
D-50678 Köln

Vorstand:
Kadir Akin
Dr. Michael Höhnerbach

Vorsitzender des Aufsichtsrates:
Hans Kristian Langva

Registergericht: Amtsgericht Köln
Registernummer: HRB 52 497

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.

e-mails sent over the internet may have been written under a wrong name or been manipulated. That is why this message sent as an e-mail is not a legally binding declaration of intention.

Collogia
Unternehmensberatung AG
Ubierring 11
D-50678 Köln

executive board:
Kadir Akin
Dr. Michael Höhnerbach

President of the supervisory board:
Hans Kristian Langva

Registry office: district court Cologne
Register number: HRB 52 497

****************************************************************************

#2 lore raw

Am Montag, 30. März 2015, 18:08:28 schrieb Markus Stockhausen:

Hi Markus,

Quoted 27 lines
Quoted 27 lines

Von: [email protected] [[email protected]]" im Auftrag von "Corentin LABBE [[email protected]] Gesendet: Montag, 30. März 2015 19:59
An: [email protected]
Cc: [email protected]
Betreff: problem with testing a CTR block cipher mode which is partially working

hello

I am trying to add the CTR (counter) block cipher mode for AES on my Security System driver.

When testing with the tcrypt module I got the following result:

[ 1256.986989] alg: skcipher: Test 1 failed on encryption for

ctr-aes-sunxi-ss [ 1256.987004] 00000000: 87 4d 61 91 b6 20 e3 26 1b ef 68 64 99 0d b6 ce [ 1256.987013] 00000010: 40 94 25 91 d7 b4 4f 49 ab c1 9d 33 a4 4e f6 54 [ 1256.987023] 00000020: ce 58 d2 f0 01 8f 92 a2 5f 2c bb 66 13 8b 9d 76 [ 1256.987032] 00000030: 30 fa 4a 40 b1 67 2e f3 46 b7 9a 7c ba 91 0b a2

As you can see the first ciphered block is correct (according to testmgr.h), the subsequent blocks are bad.

So Could I assume that the setting of key and IV are good (at least for the first cipher pass.

Quoted 6 lines
Quoted 2 lines

The number of inputs(register) are limited and I have tested near all the possibility. Any idea of what could be wrong.

had a similar challenge a few months ago. I had to take care about

- counter IV is big endian (implemented it little endian in first place)

Use crypto_inc for the counter which properly increments in big endian.

Quoted 3 lines

- CTR allows to encrypt data that does not need to be amultiple of 16 bytes.

Markus

Signature · 2 lines
Ciao
Stephan

A message that is not in the archive (sent off-list or not yet received): 12EF8D94C6F8734FB2FF37B9FBEDD1735FC8AB40-Xnr6BND5kcg29+KCeZIpYi5l6jQMEky5@public.gmane.org

#4 lore raw
Quoted 25 lines · Markus Stockhausen
Quoted 17 lines

Von: [email protected] [[email protected]]" im Auftrag von "Corentin LABBE [[email protected]]
Gesendet: Montag, 30. März 2015 19:59
An: [email protected]
Cc: linux-sunxi-/[email protected]
Betreff: problem with testing a CTR block cipher mode which is partially working

hello

I am trying to add the CTR (counter) block cipher mode for AES on my Security System driver.

When testing with the tcrypt module I got the following result:

[ 1256.986989] alg: skcipher: Test 1 failed on encryption for ctr-aes-sunxi-ss
[ 1256.987004] 00000000: 87 4d 61 91 b6 20 e3 26 1b ef 68 64 99 0d b6 ce
[ 1256.987013] 00000010: 40 94 25 91 d7 b4 4f 49 ab c1 9d 33 a4 4e f6 54
[ 1256.987023] 00000020: ce 58 d2 f0 01 8f 92 a2 5f 2c bb 66 13 8b 9d 76
[ 1256.987032] 00000030: 30 fa 4a 40 b1 67 2e f3 46 b7 9a 7c ba 91 0b a2
Quoted 7 lines

As you can see the first ciphered block is correct (according to testmgr.h), the subsequent blocks are bad.

So Could I assume that the setting of key and IV are good (at least for the first cipher pass.

The number of inputs(register) are limited and I have tested near all the possibility. Any idea of what could be wrong.

Quoted 7 lines

had a similar challenge a few months ago. I had to take care about

- counter IV is big endian (implemented it little endian in first place)
- CTR allows to encrypt data that does not need to be amultiple of 16 bytes.

Markus

Sorry but if I change endianness of anything, the first block became invalid.

I have tryed ctr(des) but the same problem rise, the first block (so the first 8bytes) are correctly ciphered then everything is bad. So I suspect the hardware to not increasing counter between blocks, but why..

Signature · 3 lines
You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
For more options, visit https://groups.google.com/d/optout.
#5 lore raw

Dear All,

About the SS module, there is some detail information.
There is some issues on the SS hardware module, the issues make the some AES/DES/3DS algorithm be not available.
1. The byte order of the counter is wrong, make the result error, so, the CTR mode is not available.
2. Hardware don't support the continuous subcontracting, make the CTS mode is not available.
3. Another issue need be taken attention is that hardware will modify the key register when do AES encrypt, so, it need software to restore the key register when doing every frame.

These issues are presented on the A10, A13, A20, A31 and A33.
The issues of SS module have been fixed on the A83T platform, so, I suggest to take more attention to the A83T platform if any interest in the SS module.

If any problem, please don't hesitate to contact me(kevin-0TFLnhJekD6UEPyfVivIlAC/[email protected]) or Shuge(shuge-0TFLnhJekD6UEPyfVivIlAC/[email protected]).

[email protected]

From: Corentin LABBE
Date: 2015-04-01 02:02
To: Markus Stockhausen; [email protected]
CC: linux-sunxi-/[email protected]
Subject: [linux-sunxi] Re: AW: problem with testing a CTR block cipher mode which is partially working

Quoted 25 lines · Markus Stockhausen
Quoted 17 lines

Von: [email protected] [[email protected]]" im Auftrag von "Corentin LABBE [[email protected]]
Gesendet: Montag, 30. März 2015 19:59
An: [email protected]
Cc: linux-sunxi-/[email protected]
Betreff: problem with testing a CTR block cipher mode which is partially working

hello

I am trying to add the CTR (counter) block cipher mode for AES on my Security System driver.

When testing with the tcrypt module I got the following result:

[ 1256.986989] alg: skcipher: Test 1 failed on encryption for ctr-aes-sunxi-ss
[ 1256.987004] 00000000: 87 4d 61 91 b6 20 e3 26 1b ef 68 64 99 0d b6 ce
[ 1256.987013] 00000010: 40 94 25 91 d7 b4 4f 49 ab c1 9d 33 a4 4e f6 54
[ 1256.987023] 00000020: ce 58 d2 f0 01 8f 92 a2 5f 2c bb 66 13 8b 9d 76
[ 1256.987032] 00000030: 30 fa 4a 40 b1 67 2e f3 46 b7 9a 7c ba 91 0b a2
Quoted 7 lines

As you can see the first ciphered block is correct (according to testmgr.h), the subsequent blocks are bad.

So Could I assume that the setting of key and IV are good (at least for the first cipher pass.

The number of inputs(register) are limited and I have tested near all the possibility. Any idea of what could be wrong.

Quoted 7 lines

had a similar challenge a few months ago. I had to take care about

- counter IV is big endian (implemented it little endian in first place)
- CTR allows to encrypt data that does not need to be amultiple of 16 bytes.

Markus

Sorry but if I change endianness of anything, the first block became invalid.

I have tryed ctr(des) but the same problem rise, the first block (so the first 8bytes) are correctly ciphered then everything is bad. So I suspect the hardware to not increasing counter between blocks, but why..

Signature · 8 lines
You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
For more options, visit https://groups.google.com/d/optout.
#6 lore raw
Quoted 15 lines · On 04/01/15 04:06, [email protected] wrote:

Dear All,

About the SS module, there is some detail information.
There is some issues on the SS hardware module, the issues make the some AES/DES/3DS algorithm be not available.
1. The byte order of the counter is wrong, make the result error, so, the CTR mode is not available.
2. Hardware don't support the continuous subcontracting, make the CTS mode is not available.
3. Another issue need be taken attention is that hardware will modify the key register when do AES encrypt, so, it need software to restore the key register

when doing every frame.

Quoted 8 lines

These issues are presented on the A10, A13, A20, A31 and A33.
The issues of SS module have been fixed on the A83T platform, so, I suggest to take more attention to the A83T platform if any interest in the SS module.

If any problem, please don't hesitate to contact me([email protected])

or Shuge([email protected]).

Thanks for your answer, I have loose hours on that problem.

Perhaps you could update all datasheet/user manual about this known issue ?

Regards

#7 lore raw
Quoted 1 line

Thanks for your answer, I have loose hours on that problem.

I'm sorry to hear that.

Quoted 1 line

Perhaps you could update all datasheet/user manual about this known issue ?

We have updated the user manual and datasheet, the latest version is 1.3 for A20 which is released in Oct. 2014. The CTR block mode is not support. You can download it from the github: https://github.com/allwinner-zh/documents
and check the details of the SS moudle.

Best Regards,

[email protected]

From: Corentin LABBE
Date: 2015-04-01 19:16
To: linux-sunxi; [email protected]
Subject: Re: [linux-sunxi] Re: AW: problem with testing a CTR block cipher mode which is partially working

Quoted 15 lines · On 04/01/15 04:06, [email protected] wrote:

Dear All,

About the SS module, there is some detail information.
There is some issues on the SS hardware module, the issues make the some AES/DES/3DS algorithm be not available.
1. The byte order of the counter is wrong, make the result error, so, the CTR mode is not available.
2. Hardware don't support the continuous subcontracting, make the CTS mode is not available.
3. Another issue need be taken attention is that hardware will modify the key register when do AES encrypt, so, it need software to restore the key register

when doing every frame.

Quoted 8 lines

These issues are presented on the A10, A13, A20, A31 and A33.
The issues of SS module have been fixed on the A83T platform, so, I suggest to take more attention to the A83T platform if any interest in the SS module.

If any problem, please don't hesitate to contact me(kevin-0TFLnhJekD6UEPyfVivIlAC/[email protected])

or Shuge(shuge-0TFLnhJekD6UEPyfVivIlAC/[email protected]).

Thanks for your answer, I have loose hours on that problem.

Perhaps you could update all datasheet/user manual about this known issue ?

Regards

Signature · 8 lines
You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
For more options, visit https://groups.google.com/d/optout.

A message that is not in the archive (sent off-list or not yet received): [email protected]

#9 lore raw
Quoted 8 lines · On 04/02/15 04:10, [email protected] wrote:
Quoted 1 line

Thanks for your answer, I have loose hours on that problem.

I'm sorry to hear that.

Quoted 1 line

Perhaps you could update all datasheet/user manual about this known issue ?

We have updated the user manual and datasheet, the latest version is 1.3 for A20 which is released in Oct. 2014. The CTR block mode is not support. You can download it from the github: https://github.com/allwinner-zh/documents
and check the details of the SS moudle.

Sorry, I believed to have the latest user manual.

Great thanks for the information.

Regards

Quoted 50 lines

Best Regards,
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[email protected]

*From:* Corentin LABBE <mailto:[email protected]>
*Date:* 2015-04-01 19:16
*To:* linux-sunxi <mailto:linux-sunxi-/[email protected]>; [email protected] <mailto:[email protected]> *Subject:* Re: [linux-sunxi] Re: AW: problem with testing a CTR block cipher mode which is partially working
On 04/01/15 04:06, [email protected] wrote:
> Dear All,
>
>
> About the SS module, there is some detail information.
> There is some issues on the SS hardware module, the issues make the some
> AES/DES/3DS algorithm be not available.
> 1. The byte order of the counter is wrong, make the result error, so, the CTR
> mode is not available.
> 2. Hardware don't support the continuous subcontracting, make the CTS mode is
> not available.
> 3. Another issue need be taken attention is that hardware will modify the key
> register when do AES encrypt, so, it need software to restore the key register
>
> when doing every frame.
>
> These issues are presented on the A10, A13, A20, A31 and A33.
> The issues of SS module have been fixed on the A83T platform, so, I suggest to
> take more attention to the A83T platform if any interest in the SS module.
>
> If any problem, please don't hesitate to contact me([email protected])
>
> or Shuge(shuge-0TFLnhJekD6UEPyfVivIlAC/[email protected]).
>

Thanks for your answer, I have loose hours on that problem.

Perhaps you could update all datasheet/user manual about this known issue ?

Regards

--
You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected] For more options, visit https://groups.google.com/d/optout.

Signature · 3 lines
You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/[email protected] <mailto:linux-sunxi+unsubscribe-/[email protected]>.
For more options, visit https://groups.google.com/d/optout.
Signature · 3 lines
You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
For more options, visit https://groups.google.com/d/optout.