You've already forked opencryptoki
mirror of
https://github.com/opencryptoki/opencryptoki.git
synced 2026-10-24 05:39:17 +03:00
The commit adds support for BLS 12 381 curve as part of CKM_IBM_ECDSA_OTHER with CKM_IBM_BLS submechanism for EP11 token. Signed-off-by: Vishnudatha Kanjur <kanjur@ibm.com>
112 lines
4.4 KiB
C
112 lines
4.4 KiB
C
/*
|
|
* COPYRIGHT (c) International Business Machines Corp. 2019
|
|
*
|
|
* This program is provided under the terms of the Common Public License,
|
|
* version 1.0 (CPL-1.0). Any use, reproduction or distribution for this
|
|
* software constitutes recipient's acceptance of CPL-1.0 terms which can be
|
|
* found in the file LICENSE file or at
|
|
* https://opensource.org/licenses/cpl1.0.php
|
|
*/
|
|
|
|
|
|
#ifndef _EC_CURVES_H_
|
|
#define _EC_CURVES_H_
|
|
|
|
/*
|
|
* OIDs and their DER encoding for the EC curves supported by OpenCryptoki:
|
|
*/
|
|
|
|
/* brainpoolP160r1: 1.3.36.3.3.2.8.1.1.1 */
|
|
#define OCK_BRAINPOOL_P160R1 { 0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, \
|
|
0x02, 0x08, 0x01, 0x01, 0x01 }
|
|
|
|
/* brainpoolP160t1: 1.3.36.3.3.2.8.1.1.2 */
|
|
#define OCK_BRAINPOOL_P160T1 { 0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, \
|
|
0x02, 0x08, 0x01, 0x01, 0x02 }
|
|
|
|
/* brainpoolP192r1: 1.3.36.3.3.2.8.1.1.3 */
|
|
#define OCK_BRAINPOOL_P192R1 { 0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, \
|
|
0x02, 0x08, 0x01, 0x01, 0x03 }
|
|
|
|
/* brainpoolP192t1: 1.3.36.3.3.2.8.1.1.4 */
|
|
#define OCK_BRAINPOOL_P192T1 { 0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, \
|
|
0x02, 0x08, 0x01, 0x01, 0x04 }
|
|
|
|
/* brainpoolP224r1: 1.3.36.3.3.2.8.1.1.5 */
|
|
#define OCK_BRAINPOOL_P224R1 { 0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, \
|
|
0x02, 0x08, 0x01, 0x01, 0x05 }
|
|
|
|
/* brainpoolP224t1: 1.3.36.3.3.2.8.1.1.6 */
|
|
#define OCK_BRAINPOOL_P224T1 { 0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, \
|
|
0x02, 0x08, 0x01, 0x01, 0x06 }
|
|
|
|
/* brainpoolP256r1: 1.3.36.3.3.2.8.1.1.7 */
|
|
#define OCK_BRAINPOOL_P256R1 { 0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, \
|
|
0x02, 0x08, 0x01, 0x01, 0x07 }
|
|
|
|
/* brainpoolP256t1: 1.3.36.3.3.2.8.1.1.8 */
|
|
#define OCK_BRAINPOOL_P256T1 { 0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, \
|
|
0x02, 0x08, 0x01, 0x01, 0x08 }
|
|
|
|
/* brainpoolP320r1: 1.3.36.3.3.2.8.1.1.9 */
|
|
#define OCK_BRAINPOOL_P320R1 { 0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, \
|
|
0x02, 0x08, 0x01, 0x01, 0x09 }
|
|
|
|
/* brainpoolP320t1: 1.3.36.3.3.2.8.1.1.10 */
|
|
#define OCK_BRAINPOOL_P320T1 { 0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, \
|
|
0x02, 0x08, 0x01, 0x01, 0x0A }
|
|
|
|
/* brainpoolP384r1: 1.3.36.3.3.2.8.1.1.11 */
|
|
#define OCK_BRAINPOOL_P384R1 { 0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, \
|
|
0x02, 0x08, 0x01, 0x01, 0x0B }
|
|
|
|
/* brainpoolP384t1: 1.3.36.3.3.2.8.1.1.12 */
|
|
#define OCK_BRAINPOOL_P384T1 { 0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, \
|
|
0x02, 0x08, 0x01, 0x01, 0x0C }
|
|
|
|
/* brainpoolP512r1: 1.3.36.3.3.2.8.1.1.13 */
|
|
#define OCK_BRAINPOOL_P512R1 { 0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, \
|
|
0x02, 0x08, 0x01, 0x01, 0x0D }
|
|
|
|
/* brainpoolP512t1: 1.3.36.3.3.2.8.1.1.14 */
|
|
#define OCK_BRAINPOOL_P512T1 { 0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, \
|
|
0x02, 0x08, 0x01, 0x01, 0x0E }
|
|
|
|
/* prime192: 1.2.840.10045.3.1.1 */
|
|
#define OCK_PRIME192V1 { 0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, \
|
|
0x3D, 0x03, 0x01, 0x01 }
|
|
|
|
/* secp224: 1.3.132.0.33 */
|
|
#define OCK_SECP224R1 { 0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x21 }
|
|
|
|
/* prime256: 1.2.840.10045.3.1.7 */
|
|
#define OCK_PRIME256V1 { 0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, \
|
|
0x3D, 0x03, 0x01, 0x07 }
|
|
|
|
/* secp384: 1.3.132.0.34 */
|
|
#define OCK_SECP384R1 { 0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x22 }
|
|
|
|
/* secp521: 1.3.132.0.35 */
|
|
#define OCK_SECP521R1 { 0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x23 }
|
|
|
|
/* secp256k1: 1.3.132.0.10 */
|
|
#define OCK_SECP256K1 { 0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x0A }
|
|
|
|
/* Curve25519 (also called X25519): 1.3.101.110 */
|
|
#define OCK_CURVE25519 { 0x06, 0x03, 0x2B, 0x65, 0x6E }
|
|
|
|
/* Curve448 (also called X448):1.3.101.111 */
|
|
#define OCK_CURVE448 { 0x06, 0x03, 0x2B, 0x65, 0x6F }
|
|
|
|
/* Ed25519: 1.3.101.112 */
|
|
#define OCK_ED25519 { 0x06, 0x03, 0x2B, 0x65, 0x70 }
|
|
|
|
/* Ed448: 1.3.101.113 */
|
|
#define OCK_ED448 { 0x06, 0x03, 0x2B, 0x65, 0x71 }
|
|
|
|
/* bls12_381_et: 1.3.6.1.4.1.2.267.999.3.2 */
|
|
#define OCK_BLS12_381 { 0x06, 0x0C, 0x2B, 0x06, 0x01, 0x04, 0x01, \
|
|
0x02, 0x82, 0x0B, 0x87, 0x67, 0x03, 0x02 }
|
|
|
|
#endif // _EC_CURVES_H_
|