diff --git a/arm/aes-decrypt-internal.asm b/arm/aes-decrypt-internal.asm
index 1cd92fb28634a0b521a650db16ba08eda9d94627..22df3aa8d4ddf2cf9bc0e56617eb5a48c5e7165d 100644
--- a/arm/aes-decrypt-internal.asm
+++ b/arm/aes-decrypt-internal.asm
@@ -47,7 +47,7 @@ define(<X3>, <r14>)	C lr
 	
 	C _aes_decrypt(struct aes_context *ctx, 
 	C	       const struct aes_table *T,
-	C	       unsigned length, uint8_t *dst,
+	C	       size_t length, uint8_t *dst,
 	C	       uint8_t *src)
 	.text
 	.align 2
diff --git a/arm/aes-encrypt-internal.asm b/arm/aes-encrypt-internal.asm
index b3309351b5b624105ff37fdb6eb6071d48302b8c..81eb6d04bc6e36b48ece516e93517462194594b5 100644
--- a/arm/aes-encrypt-internal.asm
+++ b/arm/aes-encrypt-internal.asm
@@ -49,7 +49,7 @@ define(<X3>, <r14>)	C lr
 	
 	C _aes_encrypt(struct aes_context *ctx, 
 	C	       const struct aes_table *T,
-	C	       unsigned length, uint8_t *dst,
+	C	       size_t length, uint8_t *dst,
 	C	       uint8_t *src)
 	.text
 	.align 2
diff --git a/arm/memxor.asm b/arm/memxor.asm
index 7c674fee8e644084a6d4be70f97aec0d5c7dda69..24709bc922f409ecabd1d3f67e8840f2180629f6 100644
--- a/arm/memxor.asm
+++ b/arm/memxor.asm
@@ -1,4 +1,3 @@
-C -*- mode: asm; asm-comment-char: ?C; -*-
 C nettle, low-level cryptographics library
 C
 C Copyright (C) 2013, Niels Möller
diff --git a/sparc32/aes-decrypt-internal.asm b/sparc32/aes-decrypt-internal.asm
index 380a9ee4732e98093a7c51fd5d69b4636c064b8f..cbcf43c56e4f03d5d1526a25ce20f4393f8e3e8a 100644
--- a/sparc32/aes-decrypt-internal.asm
+++ b/sparc32/aes-decrypt-internal.asm
@@ -1,4 +1,3 @@
-C -*- mode: asm; asm-comment-char: ?C; -*-  
 C nettle, low-level cryptographics library
 C 
 C Copyright (C) 2002, 2005 Niels Möller
@@ -56,7 +55,7 @@ define(<FRAME_SIZE>, 104)
 
 	C _aes_decrypt(struct aes_context *ctx, 
 	C	       const struct aes_table *T,
-	C	       unsigned length, uint8_t *dst,
+	C	       size_t length, uint8_t *dst,
 	C	       uint8_t *src)
 
 	.section	".text"
diff --git a/sparc32/aes-encrypt-internal.asm b/sparc32/aes-encrypt-internal.asm
index 0f431ad843b088b7d39299da3639034dceee2509..490886fa029678b15f77e7686e8b87e9d624da85 100644
--- a/sparc32/aes-encrypt-internal.asm
+++ b/sparc32/aes-encrypt-internal.asm
@@ -1,4 +1,3 @@
-C -*- mode: asm; asm-comment-char: ?C; -*-  
 C nettle, low-level cryptographics library
 C 
 C Copyright (C) 2002, 2005 Niels Möller
@@ -61,7 +60,7 @@ define(<FRAME_SIZE>, 104)
 
 	C _aes_encrypt(struct aes_context *ctx, 
 	C	       const struct aes_table *T,
-	C	       unsigned length, uint8_t *dst,
+	C	       size_t length, uint8_t *dst,
 	C	       uint8_t *src)
 
 	.section	".text"
diff --git a/sparc32/arcfour-crypt.asm b/sparc32/arcfour-crypt.asm
index 5b217ea637f6244e33602200a642e6dfa6a50eb0..e77ce55433681965b864044a248c1e12e2e645b4 100644
--- a/sparc32/arcfour-crypt.asm
+++ b/sparc32/arcfour-crypt.asm
@@ -1,4 +1,3 @@
-C -*- mode: asm; asm-comment-char: ?C; -*-  
 C nettle, low-level cryptographics library
 C 
 C Copyright (C) 2002, 2005 Niels Möller
@@ -65,7 +64,7 @@ define(<FRAME_SIZE>, 104)
 	.file "arcfour-crypt.asm"
 
 	C arcfour_crypt(struct arcfour_ctx *ctx,
-	C               unsigned length, uint8_t *dst,
+	C               size_t length, uint8_t *dst,
 	C               const uint8_t *src)
 
 	.section	".text"
diff --git a/sparc64/aes-decrypt-internal.asm b/sparc64/aes-decrypt-internal.asm
index 0e50461befc321cda79cd2d593f31c1c7cbea96f..4f70c32c95fb19f39da9267464af34691094bee5 100644
--- a/sparc64/aes-decrypt-internal.asm
+++ b/sparc64/aes-decrypt-internal.asm
@@ -1,4 +1,3 @@
-C -*- mode: asm; asm-comment-char: ?C; -*-  
 C nettle, low-level cryptographics library
 C 
 C Copyright (C) 2002, 2005 Niels Möller
@@ -62,7 +61,7 @@ define(<FRAME_SIZE>, 192)
 
 	C _aes_decrypt(struct aes_context *ctx, 
 	C	       const struct aes_table *T,
-	C	       unsigned length, uint8_t *dst,
+	C	       size_t length, uint8_t *dst,
 	C	       uint8_t *src)
 
 	.section	".text"
diff --git a/sparc64/aes-encrypt-internal.asm b/sparc64/aes-encrypt-internal.asm
index 3aea16f645045ef8652c80f5a7d8949e7b00b8f3..f24157555720da6c6fccec3bc8fc746e8515c74e 100644
--- a/sparc64/aes-encrypt-internal.asm
+++ b/sparc64/aes-encrypt-internal.asm
@@ -1,4 +1,3 @@
-C -*- mode: asm; asm-comment-char: ?C; -*-  
 C nettle, low-level cryptographics library
 C 
 C Copyright (C) 2002, 2005 Niels Möller
@@ -62,7 +61,7 @@ define(<FRAME_SIZE>, 192)
 
 	C _aes_encrypt(struct aes_context *ctx, 
 	C	       const struct aes_table *T,
-	C	       unsigned length, uint8_t *dst,
+	C	       size_t length, uint8_t *dst,
 	C	       uint8_t *src)
 
 	.section	".text"
diff --git a/sparc64/arcfour-crypt.asm b/sparc64/arcfour-crypt.asm
index a5cd942c212cfb8076e4c150e7c8aa44e00bc415..d2e0f85167dd93a09b53a889328d16fc7644f021 100644
--- a/sparc64/arcfour-crypt.asm
+++ b/sparc64/arcfour-crypt.asm
@@ -1,4 +1,3 @@
-C -*- mode: asm; asm-comment-char: ?C; -*-  
 C nettle, low-level cryptographics library
 C 
 C Copyright (C) 2002, 2005 Niels Möller
@@ -64,7 +63,7 @@ define(<FRAME_SIZE>, 192)
 	.file "arcfour-crypt.asm"
 
 	C arcfour_crypt(struct arcfour_ctx *ctx,
-	C               unsigned length, uint8_t *dst,
+	C               size_t length, uint8_t *dst,
 	C               const uint8_t *src)
 
 	.section	".text"
diff --git a/testsuite/salsa20-test.c b/testsuite/salsa20-test.c
index 4b0906f9b94e91404d110ad0c5a1902c0fe727f5..4a10a892e616f10dd48f09efff18d88233a8ecdb 100644
--- a/testsuite/salsa20-test.c
+++ b/testsuite/salsa20-test.c
@@ -117,7 +117,7 @@ test_salsa20_stream(const struct tstring *key,
 }
 
 typedef void salsa20_func(struct salsa20_ctx *ctx,
-			  unsigned length, uint8_t *dst,
+			  size_t length, uint8_t *dst,
 			  const uint8_t *src);
 static void
 _test_salsa20(salsa20_func *crypt,
diff --git a/x86/aes-decrypt-internal.asm b/x86/aes-decrypt-internal.asm
index 64e59283b225ec5c21f99770f1f79f60104828c5..6220c11d3eb5fac2a4602f3bdc9f7ab4a7453fee 100644
--- a/x86/aes-decrypt-internal.asm
+++ b/x86/aes-decrypt-internal.asm
@@ -57,7 +57,7 @@ C %edi is a temporary, often used as an accumulator.
 	
 	C _aes_decrypt(struct aes_context *ctx, 
 	C	       const struct aes_table *T,
-	C	       unsigned length, uint8_t *dst,
+	C	       size_t length, uint8_t *dst,
 	C	       uint8_t *src)
 	.text
 	ALIGN(16)
diff --git a/x86/aes-encrypt-internal.asm b/x86/aes-encrypt-internal.asm
index 9fe32fc5e3c7b25add52f86d7d697a54aa4497e2..86985ec62c569d3701c9b6c00cda29873cbd31f1 100644
--- a/x86/aes-encrypt-internal.asm
+++ b/x86/aes-encrypt-internal.asm
@@ -57,7 +57,7 @@ C %edi is a temporary, often used as an accumulator.
 	
 	C _aes_encrypt(struct aes_context *ctx, 
 	C	       const struct aes_table *T,
-	C	       unsigned length, uint8_t *dst,
+	C	       size_t length, uint8_t *dst,
 	C	       uint8_t *src)
 	.text
 	ALIGN(16)
diff --git a/x86/arcfour-crypt.asm b/x86/arcfour-crypt.asm
index 89ee7c9e8bb2630a8e2579a3f914cf5dd3c9e3aa..7a7a8443753ab44b06246e498aecb1ad86787ea7 100644
--- a/x86/arcfour-crypt.asm
+++ b/x86/arcfour-crypt.asm
@@ -20,7 +20,7 @@ C MA 02111-1301, USA.
 	.file "arcfour-crypt.asm"
 
 	C arcfour_crypt(struct arcfour_ctx *ctx,
-	C               unsigned length, uint8_t *dst,
+	C               size_t length, uint8_t *dst,
 	C               const uint8_t *src)
 	.text
 	ALIGN(16)
diff --git a/x86/camellia-crypt-internal.asm b/x86/camellia-crypt-internal.asm
index 7766220e0ce9303930a94b359ee119e61ba8fe36..6fc94c019936e799e71dbaf9c7893238000684bd 100644
--- a/x86/camellia-crypt-internal.asm
+++ b/x86/camellia-crypt-internal.asm
@@ -138,7 +138,7 @@ define(<FLINV>, <
 	
 	C _camellia_crypt(struct camellia_context *ctx, 
 	C	          const struct camellia_table *T,
-	C	          unsigned length, uint8_t *dst,
+	C	          size_t length, uint8_t *dst,
 	C	          uint8_t *src)
 	.text
 	ALIGN(16)
diff --git a/x86_64/camellia-crypt-internal.asm b/x86_64/camellia-crypt-internal.asm
index e44a3dec676bc2403fa7307f3b61f0f447b98d24..05409702cee973ec467143f2e3845e36f8c65204 100644
--- a/x86_64/camellia-crypt-internal.asm
+++ b/x86_64/camellia-crypt-internal.asm
@@ -118,7 +118,7 @@ C	xorl	XREG(TMP), XREG($1)
 	
 	C _camellia_crypt(struct camellia_context *ctx, 
 	C	          const struct camellia_table *T,
-	C	          unsigned length, uint8_t *dst,
+	C	          size_t length, uint8_t *dst,
 	C	          uint8_t *src)
 	.text
 	ALIGN(16)
diff --git a/x86_64/salsa20-crypt.asm b/x86_64/salsa20-crypt.asm
index 9d1b53d9f553fdd1c3bc14acfac08a45ec833fab..1333e642ecfe6ed4b9bd461094709b944a568a96 100644
--- a/x86_64/salsa20-crypt.asm
+++ b/x86_64/salsa20-crypt.asm
@@ -47,7 +47,7 @@ C registers.
 
 	.file "salsa20-crypt.asm"
 	
-	C salsa20_crypt(struct salsa20_ctx *ctx, unsigned length,
+	C salsa20_crypt(struct salsa20_ctx *ctx, size_t length,
 	C		uint8_t *dst, const uint8_t *src)
 	.text
 	ALIGN(16)
diff --git a/x86_64/serpent-decrypt.asm b/x86_64/serpent-decrypt.asm
index d6bacb5d8e4f3977578c7304a29acc5046314a77..e2ad5ecb34a005c7b8c3a63ae444f69ba47ec9f8 100644
--- a/x86_64/serpent-decrypt.asm
+++ b/x86_64/serpent-decrypt.asm
@@ -519,7 +519,7 @@ define(<WLTI>, <
 	.file "serpent-decrypt.asm"
 	
 	C serpent_decrypt(struct serpent_context *ctx, 
-	C	          unsigned length, uint8_t *dst,
+	C	          size_t length, uint8_t *dst,
 	C	          const uint8_t *src)
 	.text
 	ALIGN(16)
diff --git a/x86_64/serpent-encrypt.asm b/x86_64/serpent-encrypt.asm
index 613ef41e003b1612a215b824859a7d533c7b354d..b3c6563b734489d2165aa6d7102f6513b8a8817a 100644
--- a/x86_64/serpent-encrypt.asm
+++ b/x86_64/serpent-encrypt.asm
@@ -546,7 +546,7 @@ define(<WLT>, <
 	.file "serpent-encrypt.asm"
 	
 	C serpent_encrypt(struct serpent_context *ctx, 
-	C	          unsigned length, uint8_t *dst,
+	C	          size_t length, uint8_t *dst,
 	C	          const uint8_t *src)
 	.text
 	ALIGN(16)
diff --git a/x86_64/umac-nh-n.asm b/x86_64/umac-nh-n.asm
index bcb994874ea87b16bbbd1fea7e8b4bebbff29b9c..5faf6ddbc23cf1c3f66fcad075014620c2e0dbde 100644
--- a/x86_64/umac-nh-n.asm
+++ b/x86_64/umac-nh-n.asm
@@ -47,7 +47,7 @@ C aligned.
 	.file "umac-nh-n.asm"
 	
 	C umac_nh_n(uint64_t *out, unsigned n, const uint32_t *key,
-	C	    unsigned length, const uint8_t *msg)
+	C	    size_t length, const uint8_t *msg)
 	.text
 	ALIGN(16)
 PROLOGUE(_nettle_umac_nh_n)
diff --git a/x86_64/umac-nh.asm b/x86_64/umac-nh.asm
index 8e88df6a4fb4e8728b0d0d74e2ebf4fd6bf5acc4..544a19e06673f9cc4c5d627f21d93e1067d76f94 100644
--- a/x86_64/umac-nh.asm
+++ b/x86_64/umac-nh.asm
@@ -34,7 +34,7 @@ C aligned.
 
 	.file "umac-nh.asm"
 	
-	C umac_nh(const uint32_t *key, unsigned length, const uint8_t *msg)
+	C umac_nh(const uint32_t *key, size_t length, const uint8_t *msg)
 	.text
 	ALIGN(16)
 PROLOGUE(_nettle_umac_nh)