Revert "Merge branch 'upstream' into tizen"
[platform/upstream/nettle.git] / salsa20.h
index 4301988..be2662c 100644 (file)
--- a/salsa20.h
+++ b/salsa20.h
@@ -1,36 +1,28 @@
 /* salsa20.h
-
-   The Salsa20 stream cipher.
-
-   Copyright (C) 2012 Simon Josefsson
-   Copyright (C) 2001 Niels Möller
-
-   This file is part of GNU Nettle.
-
-   GNU Nettle is free software: you can redistribute it and/or
-   modify it under the terms of either:
-
-     * the GNU Lesser General Public License as published by the Free
-       Software Foundation; either version 3 of the License, or (at your
-       option) any later version.
-
-   or
-
-     * the GNU General Public License as published by the Free
-       Software Foundation; either version 2 of the License, or (at your
-       option) any later version.
-
-   or both in parallel, as here.
-
-   GNU Nettle is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see http://www.gnu.org/licenses/.
-*/
+ *
+ * The Salsa20 stream cipher.
+ */
+
+/* nettle, low-level cryptographics library
+ *
+ * Copyright (C) 2012 Simon Josefsson
+ * Copyright (C) 2001 Niels Möller
+ *
+ * The nettle library is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or (at your
+ * option) any later version.
+ *
+ * The nettle library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the nettle library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02111-1301, USA.
+ */
 
 #ifndef NETTLE_SALSA20_H_INCLUDED
 #define NETTLE_SALSA20_H_INCLUDED
@@ -43,28 +35,20 @@ extern "C" {
 
 /* Name mangling */
 #define salsa20_set_key nettle_salsa20_set_key
-#define salsa20_128_set_key nettle_salsa20_128_set_key
-#define salsa20_256_set_key nettle_salsa20_256_set_key
-#define salsa20_set_nonce nettle_salsa20_set_nonce
+#define salsa20_set_iv nettle_salsa20_set_iv
 #define salsa20_crypt nettle_salsa20_crypt
 #define _salsa20_core _nettle_salsa20_core
 
 #define salsa20r12_crypt nettle_salsa20r12_crypt
 
-/* Alias for backwards compatibility */
-#define salsa20_set_iv nettle_salsa20_set_nonce
-
-/* In octets.*/
-#define SALSA20_128_KEY_SIZE 16
-#define SALSA20_256_KEY_SIZE 32
-#define SALSA20_BLOCK_SIZE 64
-#define SALSA20_NONCE_SIZE 8
-#define SALSA20_IV_SIZE SALSA20_NONCE_SIZE
-
-/* Aliases */
+/* Minimum and maximum keysizes, and a reasonable default. In
+ * octets.*/
 #define SALSA20_MIN_KEY_SIZE 16
 #define SALSA20_MAX_KEY_SIZE 32
 #define SALSA20_KEY_SIZE 32
+#define SALSA20_BLOCK_SIZE 64
+
+#define SALSA20_IV_SIZE 8
 
 #define _SALSA20_INPUT_LENGTH 16
 
@@ -83,25 +67,20 @@ struct salsa20_ctx
 };
 
 void
-salsa20_128_set_key(struct salsa20_ctx *ctx, const uint8_t *key);
-void
-salsa20_256_set_key(struct salsa20_ctx *ctx, const uint8_t *key);
-
-void
 salsa20_set_key(struct salsa20_ctx *ctx,
-               size_t length, const uint8_t *key);
+               unsigned length, const uint8_t *key);
 
 void
-salsa20_set_nonce(struct salsa20_ctx *ctx, const uint8_t *nonce);
-  
+salsa20_set_iv(struct salsa20_ctx *ctx, const uint8_t *iv);
+
 void
 salsa20_crypt(struct salsa20_ctx *ctx,
-             size_t length, uint8_t *dst,
+             unsigned length, uint8_t *dst,
              const uint8_t *src);
 
 void
 salsa20r12_crypt(struct salsa20_ctx *ctx,
-                size_t length, uint8_t *dst,
+                unsigned length, uint8_t *dst,
                 const uint8_t *src);
 
 void