diff --git a/pkgs/development/libraries/libtomcrypt/default.nix b/pkgs/development/libraries/libtomcrypt/default.nix
new file mode 100644
index 000000000000..4a3196e44b88
--- /dev/null
+++ b/pkgs/development/libraries/libtomcrypt/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, libtool}:
+
+stdenv.mkDerivation {
+  name = "libtomcrypt-1.17";
+
+  src = fetchurl {
+    url = "http://libtom.org/files/crypt-1.17.tar.bz2";
+    sha256 = "e33b47d77a495091c8703175a25c8228aff043140b2554c08a3c3cd71f79d116";
+  };
+
+  buildInputs = [libtool];
+
+  preBuild = ''
+    makeFlagsArray=(LIBPATH=$out/lib INCPATH=$out/include \
+      DATAPATH=$out/share/doc/libtomcrypt/pdf \
+      INSTALL_GROUP=$(id -g) \
+      INSTALL_USER=$(id -u))
+  '';
+
+  makefile = "makefile.shared";
+
+  meta = {
+    homepage = "http://libtom.org/?page=features&newsitems=5&whatfile=crypt";
+    description = "LibTomCrypt is a fairly comprehensive, modular and portable cryptographic toolkit";
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2e9f06b988f0..c8b097ed5839 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6134,6 +6134,8 @@ let
 
   libtommath = callPackage ../development/libraries/libtommath { };
 
+  libtomcrypt = callPackage ../development/libraries/libtomcrypt { };
+
   libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar {
     # fix "unrecognized option -arch" error
     stdenv = if stdenv.isDarwin