diff -urN linux-2.6.13.2/drivers/md.bak/Kconfig linux-2.6.13.2/drivers/md/Kconfig
--- linux-2.6.13.2/drivers/md.bak/Kconfig	2005-09-17 03:02:12.000000000 +0200
+++ linux-2.6.13.2/drivers/md/Kconfig	2005-10-01 21:48:13.000000000 +0200
@@ -204,6 +204,18 @@
 
 	  If unsure, say N.
 
+config DM_CRYPT_HIDEKEY
+	bool "Hide key"
+	depends on DM_CRYPT
+	---help---
+	  When executing 'dmsetup table' it prints the crypto algorithm 
+	  and key for all mounted dm-crypt-devices. See dmsetup(8).
+	
+	  This hides the key and algorithm used in all crypt mappings.
+	
+	  If paranoid or unsure, say Y.
+	  If you need to see your keys, say N.
+
 config DM_SNAPSHOT
        tristate "Snapshot target (EXPERIMENTAL)"
        depends on BLK_DEV_DM && EXPERIMENTAL
diff -urN linux-2.6.13.2/drivers/md.bak/dm-crypt.c linux-2.6.13.2/drivers/md/dm-crypt.c
--- linux-2.6.13.2/drivers/md.bak/dm-crypt.c	2005-09-17 03:02:12.000000000 +0200
+++ linux-2.6.13.2/drivers/md/dm-crypt.c	2005-10-01 22:04:31.000000000 +0200
@@ -509,6 +509,7 @@
 /*
  * Encode key into its hex representation
  */
+#ifndef CONFIG_DM_CRYPT_HIDEKEY
 static void crypt_encode_key(char *hex, u8 *key, unsigned int size)
 {
 	unsigned int i;
@@ -519,6 +520,7 @@
 		key++;
 	}
 }
+#endif
 
 /*
  * Construct an encryption mapping:
@@ -859,8 +861,10 @@
 			char *result, unsigned int maxlen)
 {
 	struct crypt_config *cc = (struct crypt_config *) ti->private;
+#ifndef CONFIG_DM_CRYPT_HIDEKEY
 	const char *cipher;
 	const char *chainmode = NULL;
+#endif
 	unsigned int sz = 0;
 
 	switch (type) {
@@ -869,6 +873,7 @@
 		break;
 
 	case STATUSTYPE_TABLE:
+#ifndef CONFIG_DM_CRYPT_HIDEKEY
 		cipher = crypto_tfm_alg_name(cc->tfm);
 
 		switch(cc->tfm->crt_cipher.cit_mode) {
@@ -901,6 +906,10 @@
 
 		DMEMIT(" " SECTOR_FORMAT " %s " SECTOR_FORMAT,
 		       cc->iv_offset, cc->dev->name, cc->start);
+#else
+		DMEMIT("%s " SECTOR_FORMAT,
+		       cc->dev->name, cc->start);
+#endif
 		break;
 	}
 	return 0;
