diff --git a/Crypto/Types/PubKey/DSA.hs b/Crypto/Types/PubKey/DSA.hs
--- a/Crypto/Types/PubKey/DSA.hs
+++ b/Crypto/Types/PubKey/DSA.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE DeriveDataTypeable #-}
 -- |
 -- Module      : Crypto.Types.PubKey.DSA
 -- License     : BSD-style
@@ -12,6 +13,8 @@
 	, PrivateKey(..)
 	) where
 
+import Data.Data
+
 -- | Represent DSA parameters namely P, G, and Q.
 type Params = (Integer,Integer,Integer)
 
@@ -22,7 +25,7 @@
 data PublicKey = PublicKey
 	{ public_params :: Params   -- ^ DSA parameters
 	, public_y      :: Integer  -- ^ DSA public Y
-	} deriving (Show,Read,Eq)
+	} deriving (Show,Read,Eq,Data,Typeable)
 
 -- | Represent a DSA private key.
 --
@@ -31,4 +34,4 @@
 data PrivateKey = PrivateKey
 	{ private_params :: Params   -- ^ DSA parameters
 	, private_x      :: Integer  -- ^ DSA private X
-	} deriving (Show,Read,Eq)
+	} deriving (Show,Read,Eq,Data,Typeable)
diff --git a/Crypto/Types/PubKey/RSA.hs b/Crypto/Types/PubKey/RSA.hs
--- a/Crypto/Types/PubKey/RSA.hs
+++ b/Crypto/Types/PubKey/RSA.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE DeriveDataTypeable #-}
 -- |
 -- Module      : Crypto.Types.PubKey.RSA
 -- License     : BSD-style
@@ -10,12 +11,14 @@
 	, PrivateKey(..)
 	) where
 
+import Data.Data
+
 -- | Represent a RSA public key
 data PublicKey = PublicKey
 	{ public_size :: Int      -- ^ size of key in bytes
 	, public_n    :: Integer  -- ^ public p*q
 	, public_e    :: Integer  -- ^ public exponant e
-	} deriving (Show,Read,Eq)
+	} deriving (Show,Read,Eq,Data,Typeable)
 
 -- | Represent a RSA private key.
 -- 
@@ -36,4 +39,4 @@
 	, private_dP   :: Integer -- ^ d mod (p-1)
 	, private_dQ   :: Integer -- ^ d mod (q-1)
 	, private_qinv :: Integer -- ^ q^(-1) mod p
-	} deriving (Show,Read,Eq)
+	} deriving (Show,Read,Eq,Data,Typeable)
diff --git a/crypto-pubkey-types.cabal b/crypto-pubkey-types.cabal
--- a/crypto-pubkey-types.cabal
+++ b/crypto-pubkey-types.cabal
@@ -1,5 +1,5 @@
 Name:                crypto-pubkey-types
-Version:             0.1.0
+Version:             0.1.1
 Description:         Generic cryptography public keys algorithm types
 License:             BSD3
 License-file:        LICENSE
