diff --git a/desCode.h b/desCode.h
index f9e2436d2dbcfb63c37f3866cb51750c5e38f5c1..e8ae4bb1dbcda5484fdc8eedbe95bc78465ac2f9 100644
--- a/desCode.h
+++ b/desCode.h
@@ -343,11 +343,11 @@ extern UINT32 des_keymap[], des_bigmap[];
 #define	ENCRYPT(NAME, TEMP, LOAD, KEYMAP, SAVE)	\
 						\
 void						\
-NAME(REGISTER BYTE *D,                          \
-     REGISTER UINT32 *r,                \
-     REGISTER UINT8 *s)                 \
+NAME(REGISTER BYTE *D,				\
+     REGISTER UINT32 *r,			\
+     REGISTER const UINT8 *s)			\
 {						\
-	register UINT32 x, y, z;	\
+	register UINT32 x, y, z;		\
 						\
 	/* declare temps & load data */		\
 	TEMP(LOAD);				\
@@ -379,11 +379,11 @@ NAME(REGISTER BYTE *D,                          \
 #define	DECRYPT(NAME, TEMP, LOAD, KEYMAP, SAVE)	\
 						\
 void						\
-NAME(REGISTER BYTE *D,                          \
-     REGISTER UINT32 *r,                \
-     REGISTER UINT8 *s)                 \
+NAME(REGISTER BYTE *D,				\
+     REGISTER UINT32 *r,			\
+     REGISTER const UINT8 *s)			\
 {						\
-	register UINT32 x, y, z;        \
+	register UINT32 x, y, z;		\
 						\
 	/* declare temps & load data */		\
 	TEMP(LOAD);				\
diff --git a/include/des.h b/include/des.h
index 6da936951c1055b93f68d55e2bdbb9b6908d8156..4373ddeaad6d3f38cf472283a9f8cf7d4e3b38fe 100644
--- a/include/des.h
+++ b/include/des.h
@@ -18,9 +18,11 @@ RCSID2(desCore_hRcs, "$Id$");
 #define DES_BLOCKSIZE 8
 #define DES_EXPANDED_KEYLEN 32
 
+/* FIXME: typedef on arrays is ugly. */
 typedef UINT8 DesData[DES_BLOCKSIZE];
 typedef UINT32 DesKeys[DES_EXPANDED_KEYLEN];
-typedef void DesFunc(UINT8 *d, UINT32 *r, UINT8 *s);
+
+typedef void DesFunc(UINT8 *d, UINT32 *r, const UINT8 *s);
 
 extern int DesMethod(UINT32 *method, UINT8 *k);
 extern void DesQuickInit(void);