124 lines
4.1 KiB
Plaintext
124 lines
4.1 KiB
Plaintext
|
.\" This file is dual-licensed. Choose whichever you want.
|
||
|
.\"
|
||
|
.\" The first licence is a regular 2-clause BSD licence. The second licence
|
||
|
.\" is the CC-0 from Creative Commons. It is intended to release Monocypher
|
||
|
.\" to the public domain. The BSD licence serves as a fallback option.
|
||
|
.\"
|
||
|
.\" SPDX-License-Identifier: BSD-2-Clause OR CC0-1.0
|
||
|
.\"
|
||
|
.\" ----------------------------------------------------------------------------
|
||
|
.\"
|
||
|
.\" Copyright (c) 2019-2020 Fabio Scotoni
|
||
|
.\" All rights reserved.
|
||
|
.\"
|
||
|
.\"
|
||
|
.\" Redistribution and use in source and binary forms, with or without
|
||
|
.\" modification, are permitted provided that the following conditions are
|
||
|
.\" met:
|
||
|
.\"
|
||
|
.\" 1. Redistributions of source code must retain the above copyright
|
||
|
.\" notice, this list of conditions and the following disclaimer.
|
||
|
.\"
|
||
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||
|
.\" notice, this list of conditions and the following disclaimer in the
|
||
|
.\" documentation and/or other materials provided with the
|
||
|
.\" distribution.
|
||
|
.\"
|
||
|
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||
|
.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||
|
.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||
|
.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||
|
.\" HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||
|
.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||
|
.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||
|
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||
|
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||
|
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||
|
.\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||
|
.\"
|
||
|
.\" ----------------------------------------------------------------------------
|
||
|
.\"
|
||
|
.\" Written in 2019-2020 by Fabio Scotoni
|
||
|
.\"
|
||
|
.\" To the extent possible under law, the author(s) have dedicated all copyright
|
||
|
.\" and related neighboring rights to this software to the public domain
|
||
|
.\" worldwide. This software is distributed without any warranty.
|
||
|
.\"
|
||
|
.\" You should have received a copy of the CC0 Public Domain Dedication along
|
||
|
.\" with this software. If not, see
|
||
|
.\" <https://creativecommons.org/publicdomain/zero/1.0/>
|
||
|
.\"
|
||
|
.Dd May 24, 2020
|
||
|
.Dt CRYPTO_ED25519_SIGN 3MONOCYPHER
|
||
|
.Os
|
||
|
.Sh NAME
|
||
|
.Nm crypto_ed25519_sign ,
|
||
|
.Nm crypto_ed25519_check ,
|
||
|
.Nm crypto_ed25519_public_key
|
||
|
.Nd public key signatures
|
||
|
.Sh SYNOPSIS
|
||
|
.In monocypher-ed25519.h
|
||
|
.Ft void
|
||
|
.Fo crypto_ed25519_public_key
|
||
|
.Fa "uint8_t public_key[32]"
|
||
|
.Fa "const uint8_t secret_key[32]"
|
||
|
.Fc
|
||
|
.Ft void
|
||
|
.Fo crypto_ed25519_sign
|
||
|
.Fa "uint8_t signature[64]"
|
||
|
.Fa "const uint8_t secret_key[32]"
|
||
|
.Fa "const uint8_t public_key[32]"
|
||
|
.Fa "const uint8_t *message"
|
||
|
.Fa "size_t message_size"
|
||
|
.Fc
|
||
|
.Ft int
|
||
|
.Fo crypto_ed25519_check
|
||
|
.Fa "const uint8_t signature[64]"
|
||
|
.Fa "const uint8_t public_key[32]"
|
||
|
.Fa "const uint8_t *message"
|
||
|
.Fa "size_t message_size"
|
||
|
.Fc
|
||
|
.Sh DESCRIPTION
|
||
|
The
|
||
|
.Fn crypto_ed25519_sign
|
||
|
and
|
||
|
.Fn crypto_ed25519_check
|
||
|
functions provide Ed25519 public key signatures and verification
|
||
|
with SHA-512 as the underlying hash function;
|
||
|
they are interoperable with other Ed25519 implementations.
|
||
|
If you have no interoperability requirements, prefer
|
||
|
.Xr crypto_sign 3monocypher .
|
||
|
.Pp
|
||
|
The arguments and security considerations are the same as those
|
||
|
described in
|
||
|
.Xr crypto_sign 3monocypher .
|
||
|
.Pp
|
||
|
An incremental interface is available; see
|
||
|
.Xr crypto_ed25519_sign_init_first_pass 3monocypher .
|
||
|
.Sh RETURN VALUES
|
||
|
.Fn crypto_ed25519_public_key
|
||
|
and
|
||
|
.Fn crypto_ed25519_sign
|
||
|
return nothing.
|
||
|
.Pp
|
||
|
.Fn crypto_ed25519_check
|
||
|
returns 0 for legitimate messages and -1 for forgeries.
|
||
|
.Sh SEE ALSO
|
||
|
.Xr crypto_check 3monocypher ,
|
||
|
.Xr crypto_key_exchange 3monocypher ,
|
||
|
.Xr crypto_lock 3monocypher ,
|
||
|
.Xr crypto_sha512 3monocypher ,
|
||
|
.Xr intro 3monocypher
|
||
|
.Sh STANDARDS
|
||
|
These functions implement Ed25519 as described in RFC 8032.
|
||
|
.Sh HISTORY
|
||
|
The
|
||
|
.Fn crypto_ed25519_sign ,
|
||
|
.Fn crypto_ed25519_check ,
|
||
|
and
|
||
|
.Fn crypto_ed25519_public_key
|
||
|
functions appeared in Monocypher 3.0.0.
|
||
|
They replace recompilation of Monocypher with the
|
||
|
.Dv ED25519_SHA512
|
||
|
preprocessor definition.
|