diff --git a/src/modules/_Crypto/lib/desinfo.h b/src/modules/_Crypto/lib/desinfo.h
index 4b6f2de433a481ab3478d5c94e3bb9dde88f51a4..fffc753117fe3c907d8d410ebfbccf1690fab94e 100644
--- a/src/modules/_Crypto/lib/desinfo.h
+++ b/src/modules/_Crypto/lib/desinfo.h
@@ -8,13 +8,13 @@
  */
 
 #include "RCSID.h"
-RCSID2(desinfo_hRcs, "$Id: desinfo.h,v 1.2 1997/03/15 04:52:28 nisse Exp $");
+RCSID2(desinfo_hRcs, "$Id: desinfo.h,v 1.3 1997/04/18 20:09:24 nisse Exp $");
 
 /* the initial permutation, E selection, and final permutation are hardwired */
 
 /* Key Load: how to load the shift register from the user key */
 
-char KL[] = {
+unsigned char KL[] = {
 
 	57, 49, 41, 33, 25, 17,  9,  1, 58, 50, 42, 34, 26, 18,
 	10,  2, 59, 51, 43, 35, 27, 19, 11,  3, 60, 52, 44, 36,
@@ -25,14 +25,14 @@ char KL[] = {
 
 /* Key Shift: how many times to shift the key shift register */
 
-char KS[] = {
+unsigned char KS[] = {
 
 	1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1,
 };
 
 /* Key Choose: which key bits from shift reg are used in the key schedule */
 
-char KC[] = {
+unsigned char KC[] = {
 
 	14, 17, 11, 24,  1,  5,  3, 28, 15,  6, 21, 10,
 	23, 19, 12,  4, 26,  8, 16,  7, 27, 20, 13,  2,
@@ -43,7 +43,7 @@ char KC[] = {
 
 /* S Boxes */
 
-char SB[8][64] = {
+unsigned char SB[8][64] = {
   {
 	14,  4, 13,  1,  2, 15, 11,  8,  3, 10,  6, 12,  5,  9,  0,  7,
 	 0, 15,  7,  4, 14,  2, 13,  1, 10,  6, 12, 11,  9,  5,  3,  8,
diff --git a/src/modules/_Crypto/lib/md5.c b/src/modules/_Crypto/lib/md5.c
index 9f057044907b933cc3f5a51ed9922c2f1ad72a8e..efded6db6bff2cbfa8fd4ca0754e561ef0929247 100644
--- a/src/modules/_Crypto/lib/md5.c
+++ b/src/modules/_Crypto/lib/md5.c
@@ -158,27 +158,27 @@ void md5_update(struct md5_ctx *ctx,
 {
   if (ctx->index)
   { /* Try to fill partial block */
-      int left = MD5_DATASIZE - ctx->index;
-      if (len < left)
-	{
-	  memcpy(ctx->block + ctx->index, buffer, len);
-	  ctx->index += len;
-	  return; /* Finished */
-	}
-      else
-	{
-	  memcpy(ctx->block + ctx->index, buffer, left);
-	  md5_block(ctx, ctx->block);
-	  buffer += left;
-	  len -= left;
-	}
+    unsigned left = MD5_DATASIZE - ctx->index;
+    if (len < left)
+    {
+      memcpy(ctx->block + ctx->index, buffer, len);
+      ctx->index += len;
+      return; /* Finished */
     }
-  while (len >= MD5_DATASIZE)
+    else
     {
-      md5_block(ctx, buffer);
-      buffer += MD5_DATASIZE;
-      len -= MD5_DATASIZE;
+      memcpy(ctx->block + ctx->index, buffer, left);
+      md5_block(ctx, ctx->block);
+      buffer += left;
+      len -= left;
     }
+  }
+  while (len >= MD5_DATASIZE)
+  {
+    md5_block(ctx, buffer);
+    buffer += MD5_DATASIZE;
+    len -= MD5_DATASIZE;
+  }
   if ((ctx->index = len))     /* This assignment is intended */
     /* Buffer leftovers */
     memcpy(ctx->block, buffer, len);
diff --git a/src/modules/_Crypto/lib/sha.c b/src/modules/_Crypto/lib/sha.c
index 60f8fb57420e6c255fbb1ae6b3533ae0c8ce5867..56834ef9c411bff815a02b23912777cafbee9587 100644
--- a/src/modules/_Crypto/lib/sha.c
+++ b/src/modules/_Crypto/lib/sha.c
@@ -283,7 +283,7 @@ void sha_update(struct sha_ctx *ctx, unsigned INT8 *buffer, unsigned INT32 len)
 {
   if (ctx->index)
     { /* Try to fill partial block */
-      int left = SHA_DATASIZE - ctx->index;
+      unsigned left = SHA_DATASIZE - ctx->index;
       if (len < left)
 	{
 	  memcpy(ctx->block + ctx->index, buffer, len);