aboutsummaryrefslogtreecommitdiff
path: root/vendor/doc/html/crypto_ed25519_sign_init_first_pass.html
blob: ed0a2a6e8ed09946a548a44f82b26792dc2a383f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8"/>
  <style>
    table.head, table.foot { width: 100%; }
    td.head-rtitle, td.foot-os { text-align: right; }
    td.head-vol { text-align: center; }
    div.Pp { margin: 1ex 0ex; }
  </style>
  <link rel="stylesheet" href="style.css" type="text/css" media="all"/>
  <title>CRYPTO_ED25519_SIGN_INIT_FIRST_PASS(3MONOCYPHER)</title>
</head>
<body>
<table class="head">
  <tr>
    <td class="head-ltitle">CRYPTO_ED25519_SIGN_INIT_FIRST_PASS(3MONOCYPHER)</td>
    <td class="head-vol">3MONOCYPHER</td>
    <td class="head-rtitle">CRYPTO_ED25519_SIGN_INIT_FIRST_PASS(3MONOCYPHER)</td>
  </tr>
</table>
<div class="manual-text">
<h1 class="Sh" title="Sh" id="NAME"><a class="selflink" href="#NAME">NAME</a></h1>
<b class="Nm" title="Nm">crypto_ed25519_sign_init_first_pass</b>,
  <b class="Nm" title="Nm">crypto_ed25519_sign_update</b>,
  <b class="Nm" title="Nm">crypto_ed25519_sign_final</b>,
  <b class="Nm" title="Nm">crypto_ed25519_sign_init_second_pass</b>,
  <b class="Nm" title="Nm">crypto_ed25519_check_init</b>,
  <b class="Nm" title="Nm">crypto_ed25519_check_update</b>,
  <b class="Nm" title="Nm">crypto_ed25519_check_final</b> &#x2014;
  <span class="Nd" title="Nd">incremental public key signatures</span>
<h1 class="Sh" title="Sh" id="SYNOPSIS"><a class="selflink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<b class="In" title="In">#include
  &lt;<a class="In" title="In">monocypher-ed25519.h</a>&gt;</b>
<div class="Pp"></div>
<var class="Ft" title="Ft">void</var>
<br/>
<b class="Fn" title="Fn">crypto_ed25519_sign_init_first_pass</b>(<var class="Fa" title="Fa">crypto_ed25519_sign_ctx
  *ctx</var>, <var class="Fa" title="Fa">const uint8_t secret_key[32]</var>,
  <var class="Fa" title="Fa">const uint8_t public_key[32]</var>);
<div class="Pp"></div>
<var class="Ft" title="Ft">void</var>
<br/>
<b class="Fn" title="Fn">crypto_ed25519_sign_update</b>(<var class="Fa" title="Fa">crypto_ed25519_sign_ctx
  *ctx</var>, <var class="Fa" title="Fa">const uint8_t *message</var>,
  <var class="Fa" title="Fa">size_t message_size</var>);
<div class="Pp"></div>
<var class="Ft" title="Ft">void</var>
<br/>
<b class="Fn" title="Fn">crypto_ed25519_sign_final</b>(<var class="Fa" title="Fa">crypto_ed25519_sign_ctx
  *ctx</var>, <var class="Fa" title="Fa">uint8_t signature[64]</var>);
<div class="Pp"></div>
<var class="Ft" title="Ft">void</var>
<br/>
<b class="Fn" title="Fn">crypto_ed25519_sign_init_second_pass</b>(<var class="Fa" title="Fa">crypto_ed25519_sign_ctx
  *ctx</var>);
<div class="Pp"></div>
<var class="Ft" title="Ft">void</var>
<br/>
<b class="Fn" title="Fn">crypto_ed25519_check_init</b>(<var class="Fa" title="Fa">crypto_ed25519_check_ctx
  *ctx</var>, <var class="Fa" title="Fa">const uint8_t signature[64]</var>,
  <var class="Fa" title="Fa">const uint8_t public_key[32]</var>);
<div class="Pp"></div>
<var class="Ft" title="Ft">void</var>
<br/>
<b class="Fn" title="Fn">crypto_ed25519_check_update</b>(<var class="Fa" title="Fa">crypto_ed25519_check_ctx
  *ctx</var>, <var class="Fa" title="Fa">const uint8_t *message</var>,
  <var class="Fa" title="Fa">size_t message_size</var>);
<div class="Pp"></div>
<var class="Ft" title="Ft">int</var>
<br/>
<b class="Fn" title="Fn">crypto_ed25519_check_final</b>(<var class="Fa" title="Fa">crypto_ed25519_check_ctx
  *ctx</var>);
<h1 class="Sh" title="Sh" id="DESCRIPTION"><a class="selflink" href="#DESCRIPTION">DESCRIPTION</a></h1>
These functions are variants of
  <a class="Xr" title="Xr" href="crypto_ed25519_sign.html">crypto_ed25519_sign(3monocypher)</a>
  and
  <a class="Xr" title="Xr" href="crypto_ed25519_check.html">crypto_ed25519_check(3monocypher)</a>.
  Prefer those simpler functions if possible.
<div class="Pp"></div>
These 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
  <a class="Xr" title="Xr" href="crypto_sign.html">crypto_sign(3monocypher)</a>.
<div class="Pp"></div>
The arguments, security considerations and semantics are the same as those
  described in
  <a class="Xr" title="Xr" href="crypto_sign_init_first_pass.html">crypto_sign_init_first_pass(3monocypher)</a>
  and
  <a class="Xr" title="Xr" href="crypto_sign.html">crypto_sign(3monocypher)</a>.
<h1 class="Sh" title="Sh" id="RETURN_VALUES"><a class="selflink" href="#RETURN_VALUES">RETURN
  VALUES</a></h1>
<b class="Fn" title="Fn">crypto_ed25519_sign_init_first_pass</b>(),
  <b class="Fn" title="Fn">crypto_ed25519_sign_init_second_pass</b>(),
  <b class="Fn" title="Fn">crypto_ed25519_sign_update</b>(),
  <b class="Fn" title="Fn">crypto_ed25519_sign_final</b>(),
  <b class="Fn" title="Fn">crypto_ed25519_check_init</b>() and
  <b class="Fn" title="Fn">crypto_ed25519_check_update</b>() return nothing.
<div class="Pp"></div>
<b class="Fn" title="Fn">crypto_ed25519_check_final</b>() returns 0 for
  legitimate messages and -1 for forgeries.
<h1 class="Sh" title="Sh" id="SEE_ALSO"><a class="selflink" href="#SEE_ALSO">SEE
  ALSO</a></h1>
<a class="Xr" title="Xr" href="crypto_blake2b.html">crypto_blake2b(3monocypher)</a>,
  <a class="Xr" title="Xr" href="crypto_key_exchange.html">crypto_key_exchange(3monocypher)</a>,
  <a class="Xr" title="Xr" href="crypto_lock.html">crypto_lock(3monocypher)</a>,
  <a class="Xr" title="Xr" href="crypto_ed25519_sign.html">crypto_ed25519_sign(3monocypher)</a>,
  <a class="Xr" title="Xr" href="crypto_sign.html">crypto_sign(3monocypher)</a>,
  <a class="Xr" title="Xr" href="crypto_sign_init_first_pass.html">crypto_sign_init_first_pass(3monocypher)</a>,
  <a class="Xr" title="Xr" href="crypto_sha512.html">crypto_sha512(3monocypher)</a>,
  <a class="Xr" title="Xr" href="crypto_wipe.html">crypto_wipe(3monocypher)</a>,
  <a class="Xr" title="Xr" href="intro.html">intro(3monocypher)</a>
<h1 class="Sh" title="Sh" id="STANDARDS"><a class="selflink" href="#STANDARDS">STANDARDS</a></h1>
These functions implement Ed25519 as described in RFC 8032.
<h1 class="Sh" title="Sh" id="HISTORY"><a class="selflink" href="#HISTORY">HISTORY</a></h1>
The <b class="Fn" title="Fn">crypto_ed25519_sign_init_first_pass</b>(),
  <b class="Fn" title="Fn">crypto_ed25519_sign_update</b>(),
  <b class="Fn" title="Fn">crypto_ed25519_sign_final</b>(),
  <b class="Fn" title="Fn">crypto_ed25519_sign_init_second_pass</b>(),
  <b class="Fn" title="Fn">crypto_ed25519_check_init</b>(),
  <b class="Fn" title="Fn">crypto_ed25519_check_update</b>(), and
  <b class="Fn" title="Fn">crypto_ed25519_check_final</b>() functions first
  appeared in Monocypher 3.0.0. They replace recompilation of Monocypher with
  the <code class="Dv" title="Dv">ED25519_SHA512</code> preprocessor
  definition.</div>
<table class="foot">
  <tr>
    <td class="foot-date">May 24, 2020</td>
    <td class="foot-os">Linux 4.15.0-106-generic</td>
  </tr>
</table>
</body>
</html>