]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
Work in progress.
authorNiels Möller <nisse@lysator.liu.se>
Sun, 7 Oct 2001 18:51:26 +0000 (20:51 +0200)
committerNiels Möller <nisse@lysator.liu.se>
Sun, 7 Oct 2001 18:51:26 +0000 (20:51 +0200)
Rev: src/nettle/yarrow.h:1.2

yarrow.h

index 0b691e8a609042ac1a3af604afa4ad55db034d5b..65486532ce7719ec8b05d13cd9eea31e1f37d592 100644 (file)
--- a/yarrow.h
+++ b/yarrow.h
 #ifndef NETTLE_YARROW_COMPAT_H_INCLUDED
 #define NETTLE_YARROW_COMPAT_H_INCLUDED
 
+#include "sha1.h"
+#include "des.h"
+
+enum yarrow_pool_id { YARROW_FAST = 0, YARROW_SLOW = 1 };
+
+struct yarrow_source
+{
+  uint32_t estimate;
+  
+  /* The pool next sample should go to. */
+  enum yarrow_pool_id next;
+};
+
 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);
+yarrow160_init(struct yarrow160_ctx *ctx,
+              int nsources,
+              struct yarrow_source *sources);
 
 void
-yarrow160_update(struct *yarrow160_ctx, unsigned length, const uint8_t *data);
+yarrow160_update(struct yarrow160_ctx *ctx,
+                unsigned source, unsigned length, const uint8_t *data);
 
 void
-yarrow160_random(struct *yarrow160_ctx, unsigned length, uint8_t dst);
+yarrow160_random(struct yarrow160_ctx *ctx, unsigned length, uint8_t dst);
+
+int
+yarrow160_seeded(struct yarrow160_ctx *ctx);
 
-unsigned 
-yarrow160_needed(struct *yarrow160_ctx);
 
 #endif /* NETTLE_YARROW_COMPAT_H_INCLUDED */