'\" t .\" Title: zmq_curve_public .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 09/06/2020 .\" Manual: 0MQ Manual .\" Source: 0MQ 4.3.1 .\" Language: English .\" .TH "ZMQ_CURVE_PUBLIC" "3" "09/06/2020" "0MQ 4\&.3\&.1" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" zmq_curve_public \- derive the public key from a private key .SH "SYNOPSIS" .sp \fBint zmq_curve_public (char *z85_public_key, char *z85_secret_key);\fR .SH "DESCRIPTION" .sp The \fIzmq_curve_public()\fR function shall derive the public key from a private key\&. The caller provides two buffers, each at least 41 octets large\&. In z85_secret_key the caller shall provide the private key, and the function will store the public key in z85_public_key\&. The keys are encoded using \fBzmq_z85_encode\fR(3)\&. .SH "RETURN VALUE" .sp The \fIzmq_curve_public()\fR function shall return 0 if successful, else it shall return \-1 and set \fIerrno\fR to one of the values defined below\&. .SH "ERRORS" .PP \fBENOTSUP\fR .RS 4 The libzmq library was not built with cryptographic support (libsodium)\&. .RE .SH "EXAMPLE" .PP \fBDeriving the public key from a CURVE private key\fR. .sp .if n \{\ .RS 4 .\} .nf char public_key [41]; char secret_key [41]; int rc = zmq_curve_keypair (public_key, secret_key); assert (rc == 0); char derived_public[41]; rc = zmq_curve_public (derived_public, secret_key); assert (rc == 0); assert (!strcmp (derived_public, public_key)); .fi .if n \{\ .RE .\} .sp .SH "SEE ALSO" .sp \fBzmq_z85_decode\fR(3) \fBzmq_z85_encode\fR(3) \fBzmq_curve_keypair\fR(3) \fBzmq_curve\fR(7) .SH "AUTHORS" .sp This page was written by the 0MQ community\&. To make a change please read the 0MQ Contribution Policy at \m[blue]\fBhttp://www\&.zeromq\&.org/docs:contributing\fR\m[]\&.