diff --git a/configure b/configure
index eb66b544846e5d1db0d11a5b0113d73e16a6af94..78126619b0a427cff6c4d0c8eb5f1b061fcb6ee2 100755
--- a/configure
+++ b/configure
@@ -24412,6 +24412,14 @@ ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS
 dlls/avifile.dll16/Makefile: dlls/avifile.dll16/Makefile.in dlls/Makedll.rules"
 ac_config_files="$ac_config_files dlls/avifile.dll16/Makefile"
 
+ALL_MAKEFILES="$ALL_MAKEFILES \\
+	dlls/bcrypt/Makefile"
+test "x$enable_bcrypt" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\
+	bcrypt"
+ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS
+dlls/bcrypt/Makefile: dlls/bcrypt/Makefile.in dlls/Makedll.rules"
+ac_config_files="$ac_config_files dlls/bcrypt/Makefile"
+
 ALL_MAKEFILES="$ALL_MAKEFILES \\
 	dlls/browseui/Makefile"
 test "x$enable_browseui" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\
@@ -28883,6 +28891,7 @@ do
     "dlls/avicap32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/avicap32/Makefile" ;;
     "dlls/avifil32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/avifil32/Makefile" ;;
     "dlls/avifile.dll16/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/avifile.dll16/Makefile" ;;
+    "dlls/bcrypt/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/bcrypt/Makefile" ;;
     "dlls/browseui/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/browseui/Makefile" ;;
     "dlls/browseui/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/browseui/tests/Makefile" ;;
     "dlls/cabinet/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/cabinet/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index 9c90bffda0a723109d903b611ea19300d2b956c0..c33980f3d96056ed83841ea9da1630eb6531d9dd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1883,6 +1883,7 @@ WINE_CONFIG_MAKEFILE([dlls/authz/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_
 WINE_CONFIG_MAKEFILE([dlls/avicap32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
 WINE_CONFIG_MAKEFILE([dlls/avifil32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
 WINE_CONFIG_MAKEFILE([dlls/avifile.dll16/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS],[enable_win16])
+WINE_CONFIG_MAKEFILE([dlls/bcrypt/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
 WINE_CONFIG_MAKEFILE([dlls/browseui/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
 WINE_CONFIG_MAKEFILE([dlls/browseui/tests/Makefile],[dlls/Maketest.rules],[dlls],[ALL_TEST_DIRS],[enable_tests])
 WINE_CONFIG_MAKEFILE([dlls/cabinet/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
diff --git a/dlls/bcrypt/Makefile.in b/dlls/bcrypt/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..ec262278bbf954d900d3fd869952551a5212a7b0
--- /dev/null
+++ b/dlls/bcrypt/Makefile.in
@@ -0,0 +1,15 @@
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = bcrypt.dll
+IMPORTS   = kernel32
+
+C_SRCS = \
+	bcrypt_main.c
+
+RC_SRCS = version.rc
+
+@MAKE_DLL_RULES@
+
+@DEPENDENCIES@  # everything below this line is overwritten by make depend
diff --git a/dlls/bcrypt/bcrypt.spec b/dlls/bcrypt/bcrypt.spec
new file mode 100644
index 0000000000000000000000000000000000000000..7d85e124e0809d77562a2a114151be54ebfc4636
--- /dev/null
+++ b/dlls/bcrypt/bcrypt.spec
@@ -0,0 +1,58 @@
+@ stub BCryptAddContextFunction
+@ stub BCryptAddContextFunctionProvider
+@ stub BCryptCloseAlgorithmProvider
+@ stub BCryptConfigureContext
+@ stub BCryptConfigureContextFunction
+@ stub BCryptCreateContext
+@ stub BCryptCreateHash
+@ stub BCryptDecrypt
+@ stub BCryptDeleteContext
+@ stub BCryptDeriveKey
+@ stub BCryptDestroyHash
+@ stub BCryptDestroyKey
+@ stub BCryptDestroySecret
+@ stub BCryptDuplicateHash
+@ stub BCryptDuplicateKey
+@ stub BCryptEncrypt
+@ stub BCryptEnumAlgorithms
+@ stub BCryptEnumContextFunctionProviders
+@ stub BCryptEnumContextFunctions
+@ stub BCryptEnumContexts
+@ stub BCryptEnumProviders
+@ stub BCryptEnumRegisteredProviders
+@ stub BCryptExportKey
+@ stub BCryptFinalizeKeyPair
+@ stub BCryptFinishHash
+@ stub BCryptFreeBuffer
+@ stub BCryptGenRandom
+@ stub BCryptGenerateKeyPair
+@ stub BCryptGenerateSymmetricKey
+@ stub BCryptGetFipsAlgorithmMode
+@ stub BCryptGetProperty
+@ stub BCryptHashData
+@ stub BCryptImportKey
+@ stub BCryptImportKeyPair
+@ stub BCryptOpenAlgorithmProvider
+@ stub BCryptQueryContextConfiguration
+@ stub BCryptQueryContextFunctionConfiguration
+@ stub BCryptQueryContextFunctionProperty
+@ stub BCryptQueryProviderRegistration
+@ stub BCryptRegisterConfigChangeNotify
+@ stub BCryptRegisterProvider
+@ stub BCryptRemoveContextFunction
+@ stub BCryptRemoveContextFunctionProvider
+@ stub BCryptResolveProviders
+@ stub BCryptSecretAgreement
+@ stub BCryptSetAuditingInterface
+@ stub BCryptSetContextFunctionProperty
+@ stub BCryptSetProperty
+@ stub BCryptSignHash
+@ stub BCryptUnregisterConfigChangeNotify
+@ stub BCryptUnregisterProvider
+@ stub BCryptVerifySignature
+@ stub GetAsymmetricEncryptionInterface
+@ stub GetCipherInterface
+@ stub GetHashInterface
+@ stub GetRngInterface
+@ stub GetSecretAgreementInterface
+@ stub GetSignatureInterface
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
new file mode 100644
index 0000000000000000000000000000000000000000..abe9750304531861b4131539dd8c8a7a616799c7
--- /dev/null
+++ b/dlls/bcrypt/bcrypt_main.c
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2009 Henri Verbeet for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ *
+ */
+
+#include "config.h"
+#include "wine/port.h"
+#include "wine/debug.h"
+
+#include "winbase.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(bcrypt);
+
+BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
+{
+    TRACE("fdwReason %u\n", fdwReason);
+
+    switch(fdwReason)
+    {
+        case DLL_PROCESS_ATTACH:
+            DisableThreadLibraryCalls(hInstDLL);
+            break;
+    }
+
+    return TRUE;
+}
diff --git a/dlls/bcrypt/version.rc b/dlls/bcrypt/version.rc
new file mode 100644
index 0000000000000000000000000000000000000000..54253a92bca92358d765cf7faddb8da846bad4df
--- /dev/null
+++ b/dlls/bcrypt/version.rc
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2009 Henri Verbeet for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#define WINE_FILEDESCRIPTION_STR "Wine Crypto Library"
+#define WINE_FILENAME_STR "bcrypt.dll"
+#define WINE_FILEVERSION 6,0,6000,16386
+#define WINE_FILEVERSION_STR "6.0.6000.16386"
+#define WINE_PRODUCTVERSION 6,0,6000,16386
+#define WINE_PRODUCTVERSION_STR "6.0.6000.16386"
+
+#include "wine/wine_common_ver.rc"