You've already forked linux-packaging-mono
acceptance-tests
data
debian
docs
external
Newtonsoft.Json
api-doc-tools
api-snapshot
aspnetwebstack
binary-reference-assemblies
bockbuild
boringssl
.github
crypto
decrepit
fuzz
include
openssl
aead.h
aes.h
arm_arch.h
asn1.h
asn1_mac.h
asn1t.h
base.h
base64.h
bio.h
blowfish.h
bn.h
buf.h
buffer.h
bytestring.h
cast.h
chacha.h
cipher.h
cmac.h
conf.h
cpu.h
crypto.h
curve25519.h
des.h
dh.h
digest.h
dsa.h
dtls1.h
ec.h
ec_key.h
ecdh.h
ecdsa.h
engine.h
err.h
evp.h
ex_data.h
hkdf.h
hmac.h
lhash.h
lhash_macros.h
md4.h
md5.h
mem.h
newhope.h
nid.h.REMOVED.git-id
obj.h
obj_mac.h
objects.h
opensslconf.h
opensslv.h
ossl_typ.h
pem.h
pkcs12.h
pkcs7.h
pkcs8.h
poly1305.h
pqueue.h
rand.h
rc4.h
ripemd.h
rsa.h
safestack.h
sha.h
srtp.h
ssl.h.REMOVED.git-id
ssl3.h
stack.h
stack_macros.h.REMOVED.git-id
thread.h
time_support.h
tls1.h
type_check.h
x509.h
x509_vfy.h
x509v3.h
ssl
third_party
tool
util
.clang-format
.gitignore
BUILDING.md
CMakeLists.txt
CONTRIBUTING.md
FUZZING.md
INCORPORATING.md
LICENSE
PORTING.md
README.md
STYLE.md
codereview.settings
cecil
cecil-legacy
corefx
corert
helix-binaries
ikdasm
ikvm
illinker-test-assets
linker
llvm
nuget-buildtasks
nunit-lite
roslyn-binaries
rx
xunit-binaries
ikvm-native
libgc
llvm
m4
man
mcs
mk
mono
msvc
po
runtime
samples
scripts
support
tools
COPYING.LIB
LICENSE
Makefile.am
Makefile.in
NEWS
README.md
acinclude.m4
aclocal.m4
autogen.sh
code_of_conduct.md
compile
config.guess
config.h.in
config.rpath
config.sub
configure.REMOVED.git-id
configure.ac.REMOVED.git-id
depcomp
install-sh
ltmain.sh.REMOVED.git-id
missing
mkinstalldirs
mono-uninstalled.pc.in
test-driver
winconfig.h
52 lines
2.0 KiB
C
52 lines
2.0 KiB
C
![]() |
/* Copyright (c) 2014, Google Inc.
|
||
|
*
|
||
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||
|
* purpose with or without fee is hereby granted, provided that the above
|
||
|
* copyright notice and this permission notice appear in all copies.
|
||
|
*
|
||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||
|
* SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
||
|
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||
|
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
|
||
|
|
||
|
#ifndef OPENSSL_HEADER_POLY1305_H
|
||
|
#define OPENSSL_HEADER_POLY1305_H
|
||
|
|
||
|
#include <openssl/base.h>
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
|
||
|
typedef uint8_t poly1305_state[512];
|
||
|
|
||
|
/* CRYPTO_poly1305_init sets up |state| so that it can be used to calculate an
|
||
|
* authentication tag with the one-time key |key|. Note that |key| is a
|
||
|
* one-time key and therefore there is no `reset' method because that would
|
||
|
* enable several messages to be authenticated with the same key. */
|
||
|
OPENSSL_EXPORT void CRYPTO_poly1305_init(poly1305_state* state,
|
||
|
const uint8_t key[32]);
|
||
|
|
||
|
/* CRYPTO_poly1305_update processes |in_len| bytes from |in|. It can be called
|
||
|
* zero or more times after poly1305_init. */
|
||
|
OPENSSL_EXPORT void CRYPTO_poly1305_update(poly1305_state* state,
|
||
|
const uint8_t* in,
|
||
|
size_t in_len);
|
||
|
|
||
|
/* CRYPTO_poly1305_finish completes the poly1305 calculation and writes a 16
|
||
|
* byte authentication tag to |mac|. The |mac| address must be 16-byte
|
||
|
* aligned. */
|
||
|
OPENSSL_EXPORT void CRYPTO_poly1305_finish(poly1305_state* state,
|
||
|
uint8_t mac[16]);
|
||
|
|
||
|
|
||
|
#if defined(__cplusplus)
|
||
|
} /* extern C */
|
||
|
#endif
|
||
|
|
||
|
#endif /* OPENSSL_HEADER_POLY1305_H */
|