Index: openssl/crypto/poly1305/poly1305.h |
diff --git a/openssl/crypto/uid.c b/openssl/crypto/poly1305/poly1305.h |
similarity index 66% |
copy from openssl/crypto/uid.c |
copy to openssl/crypto/poly1305/poly1305.h |
index b1fd52badad795c337f7200179a34c4d365a9190..28f85ed96306c6509f29abc5233f844303a211bd 100644 |
--- a/openssl/crypto/uid.c |
+++ b/openssl/crypto/poly1305/poly1305.h |
@@ -1,13 +1,20 @@ |
-/* crypto/uid.c */ |
+/* |
+ * Poly1305 |
+ * |
+ * Created on: Jun, 2013 |
+ * Author: Elie Bursztein (elieb@google.com) |
+ * |
+ * Adapted from the estream code by D. Bernstein. |
+ */ |
/* ==================================================================== |
- * Copyright (c) 2001 The OpenSSL Project. All rights reserved. |
+ * Copyright (c) 2011-2013 The OpenSSL Project. 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. |
+ * 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 |
@@ -46,44 +53,36 @@ |
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED |
* OF THE POSSIBILITY OF SUCH DAMAGE. |
* ==================================================================== |
- * |
- * This product includes cryptographic software written by Eric Young |
- * (eay@cryptsoft.com). This product includes software written by Tim |
- * Hudson (tjh@cryptsoft.com). |
- * |
*/ |
-#include <openssl/crypto.h> |
+#ifndef HEADER_POLY1305_H_ |
+#define HEADER_POLY1305_H_ |
+ |
+#include <stdint.h> |
#include <openssl/opensslconf.h> |
-#if defined(__OpenBSD__) || (defined(__FreeBSD__) && __FreeBSD__ > 2) |
- |
-#include OPENSSL_UNISTD |
- |
-int OPENSSL_issetugid(void) |
- { |
- return issetugid(); |
- } |
- |
-#elif defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE) |
- |
-int OPENSSL_issetugid(void) |
- { |
- return 0; |
- } |
- |
-#else |
- |
-#include OPENSSL_UNISTD |
-#include <sys/types.h> |
- |
-int OPENSSL_issetugid(void) |
- { |
- if (getuid() != geteuid()) return 1; |
- if (getgid() != getegid()) return 1; |
- return 0; |
- } |
+#if defined(OPENSSL_NO_POLY1305) |
+#error Poly1305 support is disabled. |
#endif |
+typedef unsigned char poly1305_state[512]; |
+/* 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. */ |
+extern void CRYPTO_poly1305_init(poly1305_state* state, |
+ const unsigned char key[32]); |
+/* poly1305_update processes |in_len| bytes from |in|. It can be called zero or |
+ * more times after poly1305_init. */ |
+extern void CRYPTO_poly1305_update(poly1305_state* state, |
+ const unsigned char *in, |
+ size_t in_len); |
+ |
+/* poly1305_finish completes the poly1305 calculation and writes a 16 byte |
+ * authentication tag to |mac|. */ |
+extern void CRYPTO_poly1305_finish(poly1305_state* state, |
+ unsigned char mac[16]); |
+ |
+#endif /* HEADER_POLY1305_H_ */ |