Commit de197533485c09598215802b0e401a688e172573

Authored by Nicolas Royer
Committed by Herbert Xu
1 parent ebc82efa1c

crypto: atmel - add new tests to tcrypt

- set sg buffers size equals to message size
- add cfb & ofb tests for AES, DES & TDES

Signed-off-by: Nicolas Royer <nicolas@eukrea.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Eric Bénard <eric@eukrea.com>
Tested-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

Showing 1 changed file with 45 additions and 5 deletions Side-by-side Diff

... ... @@ -809,7 +809,7 @@
809 809 struct cipher_speed_template *template,
810 810 unsigned int tcount, u8 *keysize)
811 811 {
812   - unsigned int ret, i, j, iv_len;
  812 + unsigned int ret, i, j, k, iv_len;
813 813 struct tcrypt_result tresult;
814 814 const char *key;
815 815 char iv[128];
816 816  
... ... @@ -883,11 +883,23 @@
883 883 }
884 884  
885 885 sg_init_table(sg, TVMEMSIZE);
886   - sg_set_buf(sg, tvmem[0] + *keysize,
  886 +
  887 + k = *keysize + *b_size;
  888 + if (k > PAGE_SIZE) {
  889 + sg_set_buf(sg, tvmem[0] + *keysize,
887 890 PAGE_SIZE - *keysize);
888   - for (j = 1; j < TVMEMSIZE; j++) {
889   - sg_set_buf(sg + j, tvmem[j], PAGE_SIZE);
890   - memset(tvmem[j], 0xff, PAGE_SIZE);
  891 + k -= PAGE_SIZE;
  892 + j = 1;
  893 + while (k > PAGE_SIZE) {
  894 + sg_set_buf(sg + j, tvmem[j], PAGE_SIZE);
  895 + memset(tvmem[j], 0xff, PAGE_SIZE);
  896 + j++;
  897 + k -= PAGE_SIZE;
  898 + }
  899 + sg_set_buf(sg + j, tvmem[j], k);
  900 + memset(tvmem[j], 0xff, k);
  901 + } else {
  902 + sg_set_buf(sg, tvmem[0] + *keysize, *b_size);
891 903 }
892 904  
893 905 iv_len = crypto_ablkcipher_ivsize(tfm);
... ... @@ -1520,6 +1532,14 @@
1520 1532 speed_template_16_24_32);
1521 1533 test_acipher_speed("ctr(aes)", DECRYPT, sec, NULL, 0,
1522 1534 speed_template_16_24_32);
  1535 + test_acipher_speed("cfb(aes)", ENCRYPT, sec, NULL, 0,
  1536 + speed_template_16_24_32);
  1537 + test_acipher_speed("cfb(aes)", DECRYPT, sec, NULL, 0,
  1538 + speed_template_16_24_32);
  1539 + test_acipher_speed("ofb(aes)", ENCRYPT, sec, NULL, 0,
  1540 + speed_template_16_24_32);
  1541 + test_acipher_speed("ofb(aes)", DECRYPT, sec, NULL, 0,
  1542 + speed_template_16_24_32);
1523 1543 break;
1524 1544  
1525 1545 case 501:
... ... @@ -1535,6 +1555,18 @@
1535 1555 test_acipher_speed("cbc(des3_ede)", DECRYPT, sec,
1536 1556 des3_speed_template, DES3_SPEED_VECTORS,
1537 1557 speed_template_24);
  1558 + test_acipher_speed("cfb(des3_ede)", ENCRYPT, sec,
  1559 + des3_speed_template, DES3_SPEED_VECTORS,
  1560 + speed_template_24);
  1561 + test_acipher_speed("cfb(des3_ede)", DECRYPT, sec,
  1562 + des3_speed_template, DES3_SPEED_VECTORS,
  1563 + speed_template_24);
  1564 + test_acipher_speed("ofb(des3_ede)", ENCRYPT, sec,
  1565 + des3_speed_template, DES3_SPEED_VECTORS,
  1566 + speed_template_24);
  1567 + test_acipher_speed("ofb(des3_ede)", DECRYPT, sec,
  1568 + des3_speed_template, DES3_SPEED_VECTORS,
  1569 + speed_template_24);
1538 1570 break;
1539 1571  
1540 1572 case 502:
... ... @@ -1545,6 +1577,14 @@
1545 1577 test_acipher_speed("cbc(des)", ENCRYPT, sec, NULL, 0,
1546 1578 speed_template_8);
1547 1579 test_acipher_speed("cbc(des)", DECRYPT, sec, NULL, 0,
  1580 + speed_template_8);
  1581 + test_acipher_speed("cfb(des)", ENCRYPT, sec, NULL, 0,
  1582 + speed_template_8);
  1583 + test_acipher_speed("cfb(des)", DECRYPT, sec, NULL, 0,
  1584 + speed_template_8);
  1585 + test_acipher_speed("ofb(des)", ENCRYPT, sec, NULL, 0,
  1586 + speed_template_8);
  1587 + test_acipher_speed("ofb(des)", DECRYPT, sec, NULL, 0,
1548 1588 speed_template_8);
1549 1589 break;
1550 1590