blob: 4d587c2cc29730cbf1f1b09a38fbb84652c77833 [file] [log] [blame]
/* Copyright lowRISC contributors. */
/* Licensed under the Apache License, Version 2.0, see LICENSE for details. */
/* SPDX-License-Identifier: Apache-2.0 */
/**
* Elliptic curve P-256 ECDSA
*
* Uses OTBN ECC P-256 lib to perform an ECDSA operations.
*/
.text
.globl p256_ecdsa_sign
p256_ecdsa_sign:
jal x1, p256_sign
ecall
.globl p256_ecdsa_verify
p256_ecdsa_verify:
jal x1, p256_verify
ecall
.data
/* Freely available DMEM space. */
/* All constants below must be 256b-aligned. */
/* random scalar k */
.globl k
.balign 32
k:
.zero 32
.globl rnd
.balign 32
rnd:
.zero 32
/* message digest */
.globl msg
.balign 32
msg:
.zero 32
/* signature R */
.globl r
.balign 32
r:
.zero 32
/* signature S */
.globl s
.balign 32
s:
.zero 32
/* public key x-coordinate */
.globl x
.balign 32
x:
.zero 32
/* public key y-coordinate */
.globl y
.balign 32
y:
.zero 32
/* private key d */
.globl d
.balign 32
d:
.zero 32