Commit c24dda8e authored by Niels Möller's avatar Niels Möller

Merge branch 'master' of git.lysator.liu.se:nettle/nettle

parents 6faedbbb 111518dd
2012-12-02 Niels Möller <nisse@lysator.liu.se>
Split sha.h into new files sha1.h and sha2.h. Replaced all
internal usage of sha.h in all files.
* sha.h: Kept for compatibility, just includes both new files.
* sha1.h: New file.
* sha2.h: New file.
* Makefile.in (HEADERS): Added sha1.h and sha2.h.
2012-11-28 Niels Möller <nisse@lysator.liu.se>
From Fredrik Thulin:
......
......@@ -137,7 +137,7 @@ HEADERS = aes.h arcfour.h arctwo.h asn1.h bignum.h blowfish.h \
nettle-meta.h nettle-types.h \
pgp.h pkcs1.h realloc.h ripemd160.h rsa.h rsa-compat.h \
salsa20.h sexp.h \
serpent.h sha.h sha3.h twofish.h \
serpent.h sha.h sha1.h sha2.h sha3.h twofish.h \
yarrow.h
INSTALL_HEADERS = $(HEADERS) nettle-stdint.h
......
......@@ -30,7 +30,8 @@
#include "nettle-types.h"
#include "sha.h"
#include "sha1.h"
#include "sha2.h"
#ifdef __cplusplus
extern "C" {
......
......@@ -49,7 +49,8 @@
#include "memxor.h"
#include "salsa20.h"
#include "serpent.h"
#include "sha.h"
#include "sha1.h"
#include "sha2.h"
#include "sha3.h"
#include "twofish.h"
......
......@@ -30,7 +30,8 @@
#include "md5.h"
#include "ripemd160.h"
#include "sha.h"
#include "sha1.h"
#include "sha2.h"
#ifdef __cplusplus
extern "C" {
......
......@@ -30,7 +30,8 @@
#include "nettle-types.h"
#include "md5.h"
#include "sha.h"
#include "sha1.h"
#include "sha2.h"
#ifdef __cplusplus
extern "C" {
......
#include <stdio.h>
#include <stdlib.h>
#include <nettle/sha.h>
#include <nettle/sha1.h>
#define BUF_SIZE 1000
......
/* sha.h
*
* The sha1 and sha256 hash functions.
* This file is deprecated, and provided only for backwards
* compatibility with earlier versions of Nettle. Please use sha1.h
* and/or sha2.h instead.
*/
/* nettle, low-level cryptographics library
......@@ -22,172 +24,11 @@
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02111-1301, USA.
*/
#ifndef NETTLE_SHA_H_INCLUDED
#define NETTLE_SHA_H_INCLUDED
#include "nettle-types.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Name mangling */
#define sha1_init nettle_sha1_init
#define sha1_update nettle_sha1_update
#define sha1_digest nettle_sha1_digest
#define sha224_init nettle_sha224_init
#define sha224_digest nettle_sha224_digest
#define sha256_init nettle_sha256_init
#define sha256_update nettle_sha256_update
#define sha256_digest nettle_sha256_digest
#define sha384_init nettle_sha384_init
#define sha384_digest nettle_sha384_digest
#define sha512_init nettle_sha512_init
#define sha512_update nettle_sha512_update
#define sha512_digest nettle_sha512_digest
/* SHA1 */
#define SHA1_DIGEST_SIZE 20
#define SHA1_DATA_SIZE 64
/* Digest is kept internally as 5 32-bit words. */
#define _SHA1_DIGEST_LENGTH 5
struct sha1_ctx
{
uint32_t state[_SHA1_DIGEST_LENGTH]; /* State variables */
uint32_t count_low, count_high; /* 64-bit block count */
uint8_t block[SHA1_DATA_SIZE]; /* SHA1 data buffer */
unsigned int index; /* index into buffer */
};
void
sha1_init(struct sha1_ctx *ctx);
void
sha1_update(struct sha1_ctx *ctx,
unsigned length,
const uint8_t *data);
void
sha1_digest(struct sha1_ctx *ctx,
unsigned length,
uint8_t *digest);
/* Internal compression function. STATE points to 5 uint32_t words,
and DATA points to 64 bytes of input data, possibly unaligned. */
void
_nettle_sha1_compress(uint32_t *state, const uint8_t *data);
/* SHA256 */
#define SHA256_DIGEST_SIZE 32
#define SHA256_DATA_SIZE 64
/* Digest is kept internally as 8 32-bit words. */
#define _SHA256_DIGEST_LENGTH 8
struct sha256_ctx
{
uint32_t state[_SHA256_DIGEST_LENGTH]; /* State variables */
uint32_t count_low, count_high; /* 64-bit block count */
uint8_t block[SHA256_DATA_SIZE]; /* SHA256 data buffer */
unsigned int index; /* index into buffer */
};
void
sha256_init(struct sha256_ctx *ctx);
void
sha256_update(struct sha256_ctx *ctx,
unsigned length,
const uint8_t *data);
void
sha256_digest(struct sha256_ctx *ctx,
unsigned length,
uint8_t *digest);
/* Internal compression function. STATE points to 8 uint32_t words,
DATA points to 64 bytes of input data, possibly unaligned, and K
points to the table of constants. */
void
_nettle_sha256_compress(uint32_t *state, const uint8_t *data, const uint32_t *k);
/* SHA224, a truncated SHA256 with different initial state. */
#define SHA224_DIGEST_SIZE 28
#define SHA224_DATA_SIZE SHA256_DATA_SIZE
#define sha224_ctx sha256_ctx
void
sha224_init(struct sha256_ctx *ctx);
#define sha224_update nettle_sha256_update
void
sha224_digest(struct sha256_ctx *ctx,
unsigned length,
uint8_t *digest);
/* SHA512 */
#define SHA512_DIGEST_SIZE 64
#define SHA512_DATA_SIZE 128
/* Digest is kept internally as 8 64-bit words. */
#define _SHA512_DIGEST_LENGTH 8
struct sha512_ctx
{
uint64_t state[_SHA512_DIGEST_LENGTH]; /* State variables */
uint64_t count_low, count_high; /* 128-bit block count */
uint8_t block[SHA512_DATA_SIZE]; /* SHA512 data buffer */
unsigned int index; /* index into buffer */
};
void
sha512_init(struct sha512_ctx *ctx);
void
sha512_update(struct sha512_ctx *ctx,
unsigned length,
const uint8_t *data);
void
sha512_digest(struct sha512_ctx *ctx,
unsigned length,
uint8_t *digest);
/* Internal compression function. STATE points to 8 uint64_t words,
DATA points to 128 bytes of input data, possibly unaligned, and K
points to the table of constants. */
void
_nettle_sha512_compress(uint64_t *state, const uint8_t *data, const uint64_t *k);
/* SHA384, a truncated SHA512 with different initial state. */
#define SHA384_DIGEST_SIZE 48
#define SHA384_DATA_SIZE SHA512_DATA_SIZE
#define sha384_ctx sha512_ctx
void
sha384_init(struct sha512_ctx *ctx);
#define sha384_update nettle_sha512_update
void
sha384_digest(struct sha512_ctx *ctx,
unsigned length,
uint8_t *digest);
#ifdef __cplusplus
}
#endif
#include "sha1.h"
#include "sha2.h"
#endif /* NETTLE_SHA_H_INCLUDED */
......@@ -55,7 +55,7 @@
#include <stdlib.h>
#include <string.h>
#include "sha.h"
#include "sha1.h"
#include "macros.h"
......
......@@ -26,7 +26,7 @@
#include "nettle-meta.h"
#include "sha.h"
#include "sha1.h"
const struct nettle_hash nettle_sha1
= _NETTLE_HASH(sha1, SHA1);
......@@ -44,7 +44,7 @@
#include <stdlib.h>
#include <string.h>
#include "sha.h"
#include "sha1.h"
#include "macros.h"
#include "nettle-write.h"
......
/* sha1.h
*
* The sha1 hash function.
*/
/* nettle, low-level cryptographics library
*
* Copyright (C) 2001, 2012 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_SHA1_H_INCLUDED
#define NETTLE_SHA1_H_INCLUDED
#include "nettle-types.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Name mangling */
#define sha1_init nettle_sha1_init
#define sha1_update nettle_sha1_update
#define sha1_digest nettle_sha1_digest
/* SHA1 */
#define SHA1_DIGEST_SIZE 20
#define SHA1_DATA_SIZE 64
/* Digest is kept internally as 5 32-bit words. */
#define _SHA1_DIGEST_LENGTH 5
struct sha1_ctx
{
uint32_t state[_SHA1_DIGEST_LENGTH]; /* State variables */
uint32_t count_low, count_high; /* 64-bit block count */
uint8_t block[SHA1_DATA_SIZE]; /* SHA1 data buffer */
unsigned int index; /* index into buffer */
};
void
sha1_init(struct sha1_ctx *ctx);
void
sha1_update(struct sha1_ctx *ctx,
unsigned length,
const uint8_t *data);
void
sha1_digest(struct sha1_ctx *ctx,
unsigned length,
uint8_t *digest);
/* Internal compression function. STATE points to 5 uint32_t words,
and DATA points to 64 bytes of input data, possibly unaligned. */
void
_nettle_sha1_compress(uint32_t *state, const uint8_t *data);
#ifdef __cplusplus
}
#endif
#endif /* NETTLE_SHA1_H_INCLUDED */
/* sha2.h
*
* The sha2 family of hash functions.
*/
/* nettle, low-level cryptographics library
*
* Copyright (C) 2001, 2012 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_SHA2_H_INCLUDED
#define NETTLE_SHA2_H_INCLUDED
#include "nettle-types.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Name mangling */
#define sha224_init nettle_sha224_init
#define sha224_digest nettle_sha224_digest
#define sha256_init nettle_sha256_init
#define sha256_update nettle_sha256_update
#define sha256_digest nettle_sha256_digest
#define sha384_init nettle_sha384_init
#define sha384_digest nettle_sha384_digest
#define sha512_init nettle_sha512_init
#define sha512_update nettle_sha512_update
#define sha512_digest nettle_sha512_digest
/* SHA256 */
#define SHA256_DIGEST_SIZE 32
#define SHA256_DATA_SIZE 64
/* Digest is kept internally as 8 32-bit words. */
#define _SHA256_DIGEST_LENGTH 8
struct sha256_ctx
{
uint32_t state[_SHA256_DIGEST_LENGTH]; /* State variables */
uint32_t count_low, count_high; /* 64-bit block count */
uint8_t block[SHA256_DATA_SIZE]; /* SHA256 data buffer */
unsigned int index; /* index into buffer */
};
void
sha256_init(struct sha256_ctx *ctx);
void
sha256_update(struct sha256_ctx *ctx,
unsigned length,
const uint8_t *data);
void
sha256_digest(struct sha256_ctx *ctx,
unsigned length,
uint8_t *digest);
/* Internal compression function. STATE points to 8 uint32_t words,
DATA points to 64 bytes of input data, possibly unaligned, and K
points to the table of constants. */
void
_nettle_sha256_compress(uint32_t *state, const uint8_t *data, const uint32_t *k);
/* SHA224, a truncated SHA256 with different initial state. */
#define SHA224_DIGEST_SIZE 28
#define SHA224_DATA_SIZE SHA256_DATA_SIZE
#define sha224_ctx sha256_ctx
void
sha224_init(struct sha256_ctx *ctx);
#define sha224_update nettle_sha256_update
void
sha224_digest(struct sha256_ctx *ctx,
unsigned length,
uint8_t *digest);
/* SHA512 */
#define SHA512_DIGEST_SIZE 64
#define SHA512_DATA_SIZE 128
/* Digest is kept internally as 8 64-bit words. */
#define _SHA512_DIGEST_LENGTH 8
struct sha512_ctx
{
uint64_t state[_SHA512_DIGEST_LENGTH]; /* State variables */
uint64_t count_low, count_high; /* 128-bit block count */
uint8_t block[SHA512_DATA_SIZE]; /* SHA512 data buffer */
unsigned int index; /* index into buffer */
};
void
sha512_init(struct sha512_ctx *ctx);
void
sha512_update(struct sha512_ctx *ctx,
unsigned length,
const uint8_t *data);
void
sha512_digest(struct sha512_ctx *ctx,
unsigned length,
uint8_t *digest);
/* Internal compression function. STATE points to 8 uint64_t words,
DATA points to 128 bytes of input data, possibly unaligned, and K
points to the table of constants. */
void
_nettle_sha512_compress(uint64_t *state, const uint8_t *data, const uint64_t *k);
/* SHA384, a truncated SHA512 with different initial state. */
#define SHA384_DIGEST_SIZE 48
#define SHA384_DATA_SIZE SHA512_DATA_SIZE
#define sha384_ctx sha512_ctx
void
sha384_init(struct sha512_ctx *ctx);
#define sha384_update nettle_sha512_update
void
sha384_digest(struct sha512_ctx *ctx,
unsigned length,
uint8_t *digest);
#ifdef __cplusplus
}
#endif
#endif /* NETTLE_SHA2_H_INCLUDED */
......@@ -26,7 +26,7 @@
#include "nettle-meta.h"
#include "sha.h"
#include "sha2.h"
const struct nettle_hash nettle_sha224
= _NETTLE_HASH(sha224, SHA224);
......@@ -31,7 +31,7 @@
#include <stdlib.h>
#include <string.h>
#include "sha.h"
#include "sha2.h"
#include "macros.h"
......
......@@ -26,7 +26,7 @@
#include "nettle-meta.h"
#include "sha.h"
#include "sha2.h"
const struct nettle_hash nettle_sha256
= _NETTLE_HASH(sha256, SHA256);
......@@ -35,7 +35,7 @@
#include <stdlib.h>
#include <string.h>
#include "sha.h"
#include "sha2.h"
#include "macros.h"
#include "nettle-write.h"
......
......@@ -26,7 +26,7 @@
#include "nettle-meta.h"
#include "sha.h"
#include "sha2.h"
const struct nettle_hash nettle_sha384
= _NETTLE_HASH(sha384, SHA384);
......@@ -31,7 +31,7 @@
#include <stdlib.h>
#include <string.h>
#include "sha.h"
#include "sha2.h"
#include "macros.h"
......
......@@ -26,7 +26,7 @@
#include "nettle-meta.h"
#include "sha.h"
#include "sha2.h"
const struct nettle_hash nettle_sha512
= _NETTLE_HASH(sha512, SHA512);
......@@ -35,7 +35,7 @@
#include <stdlib.h>
#include <string.h>
#include "sha.h"
#include "sha2.h"
#include "macros.h"
......
#include "testutils.h"
#include "hmac.h"
#include "sha.h"
#include "pbkdf2.h"
/* NOTE: The salt argument is expected to expand to length, data */
......
#include "testutils.h"
#include "sha.h"
void
test_main(void)
......
#include "testutils.h"
#include "sha.h"
void
test_main(void)
......
#include "testutils.h"
#include "sha.h"
void
test_main(void)
......
#include "testutils.h"
#include "sha.h"
void
test_main(void)
......
#include "testutils.h"
#include "sha.h"
void
test_main(void)
......
#include "testutils.h"
#include "sha.h"
void
test_main(void)
......
......@@ -27,7 +27,7 @@
#define NETTLE_YARROW_H_INCLUDED
#include "aes.h"
#include "sha.h"
#include "sha2.h"
#ifdef __cplusplus
extern "C" {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment