summaryrefslogtreecommitdiff
path: root/yarrow.h
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2001-11-13 07:00:14 +0100
committerNiels Möller <nisse@lysator.liu.se>2001-11-13 07:00:14 +0100
commit6b49920951daebfacb89d28d9fde32f2ee42c6c8 (patch)
tree48a2889ef0226dc2c073261de217423041aae139 /yarrow.h
parentc753d1a3c3882fac01b1f41260f1b003d52fbe6e (diff)
downloadnettle-6b49920951daebfacb89d28d9fde32f2ee42c6c8.tar.gz
Deleted yarrow160 declarations.
Rev: src/nettle/yarrow.h:1.7
Diffstat (limited to 'yarrow.h')
-rw-r--r--yarrow.h40
1 files changed, 11 insertions, 29 deletions
diff --git a/yarrow.h b/yarrow.h
index 13be1950..f78cc1ba 100644
--- a/yarrow.h
+++ b/yarrow.h
@@ -27,7 +27,6 @@
#define NETTLE_YARROW_COMPAT_H_INCLUDED
#include "aes.h"
-#include "des.h"
#include "sha.h"
enum yarrow_pool_id { YARROW_FAST = 0, YARROW_SLOW = 1 };
@@ -41,34 +40,8 @@ struct yarrow_source
enum yarrow_pool_id next;
};
-/* Yarrow-160, based on SHA1 and DES3 */
-struct yarrow160_ctx
-{
- /* Indexed by yarrow_pool_id */
- struct sha1_ctx pools[2];
-
- int seeded;
-
- struct des3_ctx key;
-
- unsigned nsources;
- struct yarrow_source *sources;
-};
-
-void
-yarrow160_init(struct yarrow160_ctx *ctx,
- unsigned nsources,
- struct yarrow_source *sources);
-
-void
-yarrow160_update(struct yarrow160_ctx *ctx,
- unsigned source, unsigned length, const uint8_t *data);
-void
-yarrow160_random(struct yarrow160_ctx *ctx, unsigned length, uint8_t dst);
-
-int
-yarrow160_seeded(struct yarrow160_ctx *ctx);
+#define YARROW256_SEED_FILE_SIZE (2 * AES_BLOCK_SIZE)
/* Yarrow-256, based on SHA-256 and AES-256 */
struct yarrow256_ctx
@@ -76,9 +49,11 @@ struct yarrow256_ctx
/* Indexed by yarrow_pool_id */
struct sha256_ctx pools[2];
+ uint8_t seed_file[YARROW256_SEED_FILE_SIZE];
+
int seeded;
- /* The current key key and counter block */
+ /* The current key and counter block */
struct aes_ctx key;
uint8_t counter[AES_BLOCK_SIZE];
@@ -93,6 +68,12 @@ yarrow256_init(struct yarrow256_ctx *ctx,
struct yarrow_source *sources);
void
+yarrow256_seed(struct yarrow256_ctx *ctx,
+ unsigned length,
+ uint8_t *seed_file);
+
+/* Returns 1 on reseed */
+int
yarrow256_update(struct yarrow256_ctx *ctx,
unsigned source, unsigned entropy,
unsigned length, const uint8_t *data);
@@ -103,6 +84,7 @@ yarrow256_random(struct yarrow256_ctx *ctx, unsigned length, uint8_t *dst);
int
yarrow256_seeded(struct yarrow256_ctx *ctx);
+
/* Key event estimator */
#define YARROW_KEY_EVENT_BUFFER 16