From patchwork Mon Aug 26 12:49:50 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nagadheeraj Rottela X-Patchwork-Id: 57973 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 22D941C237; Mon, 26 Aug 2019 14:50:01 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id F016E1C10F for ; Mon, 26 Aug 2019 14:49:55 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x7QCj4J6030627; Mon, 26 Aug 2019 05:49:55 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=RLG+zXxZKmPTBZOXZePmGA2zErUdqPn5fwzVPzGdBwo=; b=Tae6VtG1Q4X9zZs5j5nr8RwI8ClJo65u1ChopS297Z1DcerNFhF2rKehft1bNOlfE+A/ 74nYokOPg/kApvb1aYi4z3M8dgWGESVJFhqyU/DRzAco63/TIKcxCzVwz7+5dYszLd7t Xrrq3MaP+PTwLmWldyke2f82qcXULNwObwmjMuEHIVW8zyzElKn0zlgu2daBsK9IfcX3 FTrc4d7QHZ/VxeMJ3kV8EaNThJprj1KPywBQKnii8RaUK0AVQHw1fnd5b/qtkt1PfWaQ AjL4kkVEUANpP72HromdnowABiS9g1S63F0EIBH6v9jyXPBwgeGA6LHN5KAch2bs0Y41 7w== Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0b-0016f401.pphosted.com with ESMTP id 2uk4rkekea-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Mon, 26 Aug 2019 05:49:55 -0700 Received: from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Mon, 26 Aug 2019 05:49:53 -0700 Received: from NAM04-BN3-obe.outbound.protection.outlook.com (104.47.46.52) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Mon, 26 Aug 2019 05:49:53 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OYB1HMdUgDJz0m6ESpVZmynCUgNZmWpTMEuIw579xLzPH7gvEN7eN/yDFMktSqZ+rOd2jVrbELQLJa6uRRx8HzRWlTVO1MKEaxFS8fGypAgUdExj5GA6E+Rk8ROLksiqLVuPJdxTBLC4BiHgAMDBZ+it5GqNOEYdVIb8hZAVQdGvtf0iGBBO17Nh3z7HiJESVW3qpqY4PyV1HqKA0LzLvCZ2OOnzyID6AbA/kCOd80KXLmNqmO8u3oafmcQXLj0ZEIUn+8FbN+y+6W8T5xSEQo4uZ7tDZoSpEJNCJynxHvkoLo92WdDcuDr71MicZt8Z+lDHg/mc/H0p32UXBfaxow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RLG+zXxZKmPTBZOXZePmGA2zErUdqPn5fwzVPzGdBwo=; b=SIYGhAUV6V7UPZ5gf2xcGQxT9rL3vuwrvAyFo2r8PVpDJcgb26jr3jljCq/oBLNPk8oisyCl3AguknRruM700iYiS49TTsYYzkeXnTDO/b/p6hHupXWrNehKLeXZwzkQYbXWYBtKqpSSqbuvUtEbgKCVf0twQJqBZC9i/Z2zGDJWwaiD2s3ArO9IR+g18mTXH+e9b2g//q2R2J+bIA6B0dNNvvfQFnB54bvL02nPyIeIFNOf83J3GeTlTGSA5RObUGUZa7tHubDuyvBp+7O0xsCGk+p8OkxEZ+LDeBQ99UyYHDaixXmTV/Krmrnrvo/9TnvTu4a5wNcGfscxw3VMnA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RLG+zXxZKmPTBZOXZePmGA2zErUdqPn5fwzVPzGdBwo=; b=kVek6lavOSP6VprufRaWXbSjflpIx4yjjPK+VUIia5c46rvmXEPL1CioNVyU/Sxa7RBPIwY2NiiKIzg2u6H32l9aa96LlPogfqp4A7ZvOZSgzMk6C53F+BPFJfP+E7NUm7RPK4aLc7WTDyovfEiSKu3jGCGSZxTPn9tfzkf96l0= Received: from MN2PR18MB2797.namprd18.prod.outlook.com (20.179.22.16) by MN2PR18MB2512.namprd18.prod.outlook.com (20.179.82.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2178.18; Mon, 26 Aug 2019 12:49:50 +0000 Received: from MN2PR18MB2797.namprd18.prod.outlook.com ([fe80::28ff:b1d2:ef69:5e84]) by MN2PR18MB2797.namprd18.prod.outlook.com ([fe80::28ff:b1d2:ef69:5e84%5]) with mapi id 15.20.2199.021; Mon, 26 Aug 2019 12:49:50 +0000 From: Nagadheeraj Rottela To: "akhil.goyal@nxp.com" , "pablo.de.lara.guarch@intel.com" , "mattias.ronnblom@ericsson.com" CC: "dev@dpdk.org" , Srikanth Jampala , Nagadheeraj Rottela Thread-Topic: [PATCH v4 11/11] crypto/nitrox: add SHA224 and SHA256 HMAC algorithms Thread-Index: AQHVXAy/hAuOrTvTOUiayZEHfLPaFg== Date: Mon, 26 Aug 2019 12:49:50 +0000 Message-ID: <20190826124836.21187-12-rnagadheeraj@marvell.com> References: <4b0fc70c-768a-a474-ace4-b69513412cae@ericsson.com> <20190826124836.21187-1-rnagadheeraj@marvell.com> In-Reply-To: <20190826124836.21187-1-rnagadheeraj@marvell.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: PN1PR01CA0088.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c00:1::28) To MN2PR18MB2797.namprd18.prod.outlook.com (2603:10b6:208:a0::16) x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.13.6 x-originating-ip: [115.113.156.2] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5c39df82-cb09-45af-3ba5-08d72a23e24a x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600166)(711020)(4605104)(1401327)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:MN2PR18MB2512; x-ms-traffictypediagnostic: MN2PR18MB2512: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:901; x-forefront-prvs: 01415BB535 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(376002)(396003)(39850400004)(346002)(366004)(189003)(199004)(5660300002)(81166006)(7736002)(52116002)(486006)(256004)(11346002)(14454004)(446003)(2616005)(76176011)(71200400001)(99286004)(476003)(14444005)(26005)(316002)(66476007)(53936002)(71190400001)(107886003)(2501003)(2906002)(55236004)(25786009)(102836004)(3846002)(6116002)(4326008)(36756003)(1076003)(86362001)(50226002)(81156014)(305945005)(8936002)(66066001)(64756008)(66446008)(8676002)(6436002)(66556008)(66946007)(386003)(6486002)(6506007)(54906003)(110136005)(2201001)(186003)(478600001)(6512007); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR18MB2512; H:MN2PR18MB2797.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: mztXPkKPGNeqPPCXnnkuLYaMt7gCH0n0PAk0p+LHMeuT4PmXMZeHGaopvwywAt80L1ma5yMRFTaBj25QDSJjAruoNVlNbSftivCun2Q2gqtycCty9ENeMGZaET2XsfOGCadYRiKBzSxUy6pV+kdChnhoWIrNyRQNuKUw+ZE9IN3UVmbVwnlyiyPUtMy8rpccJqGFwJg2B5A9SVMWWh5ffIsQOMD/GJZ/AnwfvtDRnaDaRqHCbTSoskCjhPFpzdLOFYw32LbYrJmvFKRdr0Zh1znNhfCHU6KStGKM7bhHg621FNVl5bMOZrF5K9oJNBq4/8eKMTZscvlD/fZoRVxfJgjM6jicT5TJ5r1xGvIEUrXsYZLFq4aiCR93ujnG06pvNVnTPciKKkwujSu+MN4Oz9mvEwPHrRvcrsB9o+dHqlE= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 5c39df82-cb09-45af-3ba5-08d72a23e24a X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Aug 2019 12:49:50.6561 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: UsUiMRL2ARt8DYvrYsk9ucKTAK4PFNE2dPHaoHiFnEiq51SBUT92Blcb+xvq1ZaRHLoQyDm1brcqr6ZCzW2oTbexsfO/T5PqqYVHWeoAetk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR18MB2512 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:5.22.84,1.0.8 definitions=2019-08-26_07:2019-08-26,2019-08-26 signatures=0 Subject: [dpdk-dev] [PATCH v4 11/11] crypto/nitrox: add SHA224 and SHA256 HMAC algorithms X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Add SHA224 and SHA256 HMAC algorithms and it's corresponding tests. Signed-off-by: Nagadheeraj Rottela --- app/test/test_cryptodev_aes_test_vectors.h | 18 +++++++---- doc/guides/cryptodevs/features/nitrox.ini | 2 ++ drivers/crypto/nitrox/nitrox_sym.c | 6 ++++ drivers/crypto/nitrox/nitrox_sym_capabilities.c | 42 +++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 6 deletions(-) diff --git a/app/test/test_cryptodev_aes_test_vectors.h b/app/test/test_cryptodev_aes_test_vectors.h index 476459b66..46239efb7 100644 --- a/app/test/test_cryptodev_aes_test_vectors.h +++ b/app/test/test_cryptodev_aes_test_vectors.h @@ -1723,7 +1723,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = { BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | BLOCKCIPHER_TEST_TARGET_PMD_CCP | - BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX + BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | + BLOCKCIPHER_TEST_TARGET_PMD_NITROX }, { .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest " @@ -1732,7 +1733,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = { .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN, .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | - BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX + BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | + BLOCKCIPHER_TEST_TARGET_PMD_NITROX }, { .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest " @@ -1748,7 +1750,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = { BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | BLOCKCIPHER_TEST_TARGET_PMD_CCP | - BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX + BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | + BLOCKCIPHER_TEST_TARGET_PMD_NITROX }, { .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest " @@ -1757,7 +1760,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = { .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC, .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 | BLOCKCIPHER_TEST_TARGET_PMD_MVSAM | - BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX + BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | + BLOCKCIPHER_TEST_TARGET_PMD_NITROX }, { .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest", @@ -1898,7 +1902,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = { BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | BLOCKCIPHER_TEST_TARGET_PMD_CCP | - BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX + BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | + BLOCKCIPHER_TEST_TARGET_PMD_NITROX }, { .test_descr = "AES-128-CBC HMAC-SHA224 Decryption Digest " @@ -1913,7 +1918,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = { BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC | BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR | BLOCKCIPHER_TEST_TARGET_PMD_CCP | - BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX + BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX | + BLOCKCIPHER_TEST_TARGET_PMD_NITROX }, { .test_descr = "AES-128-CBC HMAC-SHA384 Encryption Digest", diff --git a/doc/guides/cryptodevs/features/nitrox.ini b/doc/guides/cryptodevs/features/nitrox.ini index 9f9e2619c..ddc3c05f4 100644 --- a/doc/guides/cryptodevs/features/nitrox.ini +++ b/doc/guides/cryptodevs/features/nitrox.ini @@ -26,6 +26,8 @@ AES CBC (256) = Y ; [Auth] SHA1 HMAC = Y +SHA224 HMAC = Y +SHA256 HMAC = Y ; ; Supported AEAD algorithms of the 'nitrox' crypto driver. diff --git a/drivers/crypto/nitrox/nitrox_sym.c b/drivers/crypto/nitrox/nitrox_sym.c index 2056e1aae..bba9dbc5b 100644 --- a/drivers/crypto/nitrox/nitrox_sym.c +++ b/drivers/crypto/nitrox/nitrox_sym.c @@ -399,6 +399,12 @@ get_flexi_auth_type(enum rte_crypto_auth_algorithm algo) case RTE_CRYPTO_AUTH_SHA1_HMAC: type = AUTH_SHA1; break; + case RTE_CRYPTO_AUTH_SHA224_HMAC: + type = AUTH_SHA2_SHA224; + break; + case RTE_CRYPTO_AUTH_SHA256_HMAC: + type = AUTH_SHA2_SHA256; + break; default: NITROX_LOG(ERR, "Algorithm not supported %d\n", algo); type = AUTH_INVALID; diff --git a/drivers/crypto/nitrox/nitrox_sym_capabilities.c b/drivers/crypto/nitrox/nitrox_sym_capabilities.c index aa1ff2638..47ceead73 100644 --- a/drivers/crypto/nitrox/nitrox_sym_capabilities.c +++ b/drivers/crypto/nitrox/nitrox_sym_capabilities.c @@ -26,6 +26,48 @@ static const struct rte_cryptodev_capabilities nitrox_capabilities[] = { }, } }, } }, + { /* SHA224 HMAC */ + .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC, + {.sym = { + .xform_type = RTE_CRYPTO_SYM_XFORM_AUTH, + {.auth = { + .algo = RTE_CRYPTO_AUTH_SHA224_HMAC, + .block_size = 64, + .key_size = { + .min = 1, + .max = 64, + .increment = 1 + }, + .digest_size = { + .min = 1, + .max = 28, + .increment = 1 + }, + .iv_size = { 0 } + }, } + }, } + }, + { /* SHA256 HMAC */ + .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC, + {.sym = { + .xform_type = RTE_CRYPTO_SYM_XFORM_AUTH, + {.auth = { + .algo = RTE_CRYPTO_AUTH_SHA256_HMAC, + .block_size = 64, + .key_size = { + .min = 1, + .max = 64, + .increment = 1 + }, + .digest_size = { + .min = 1, + .max = 32, + .increment = 1 + }, + .iv_size = { 0 } + }, } + }, } + }, { /* AES CBC */ .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC, {.sym = {