diff --git a/composer.json b/composer.json
index 5f9ae7206e87b8eee074ab34dc60c88f13e407bf..3f1eb438ffe3598db123ea2c9905aa65251d6de3 100644
--- a/composer.json
+++ b/composer.json
@@ -37,7 +37,7 @@
         "ext-json": "*",
         "ext-mbstring": "*",
         "simplesamlphp/saml2": "~3.0",
-        "robrichards/xmlseclibs": "~3.0",
+        "simplesamlphp/xmlseclibs": "~3.0",
         "whitehat101/apr1-md5": "~1.0",
         "twig/twig": "~1.0",
         "gettext/gettext": "^3.5",
diff --git a/composer.lock b/composer.lock
index 21f421382dc5fe95bf82ba70a6e952e84a4a709d..4514b24be7abb099c991b213841204165db6dd2d 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "content-hash": "d49370334f22c09acc27f5d1d2b4c57b",
+    "content-hash": "db60171625918cba10e4d1b818c6bba2",
     "packages": [
         {
             "name": "gettext/gettext",
@@ -218,58 +218,18 @@
             ],
             "time": "2016-10-10T12:19:37+00:00"
         },
-        {
-            "name": "robrichards/xmlseclibs",
-            "version": "3.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/robrichards/xmlseclibs.git",
-                "reference": "a29eb3100eb6c5a427d6a3f9e61aff37492405ae"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/a29eb3100eb6c5a427d6a3f9e61aff37492405ae",
-                "reference": "a29eb3100eb6c5a427d6a3f9e61aff37492405ae",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">= 5.6"
-            },
-            "suggest": {
-                "ext-openssl": "OpenSSL extension"
-            },
-            "type": "library",
-            "autoload": {
-                "psr-4": {
-                    "RobRichards\\XMLSecLibs\\": "src"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "description": "A PHP library for XML Security",
-            "homepage": "https://github.com/robrichards/xmlseclibs",
-            "keywords": [
-                "security",
-                "signature",
-                "xml",
-                "xmldsig"
-            ],
-            "time": "2017-05-25T15:25:34+00:00"
-        },
         {
             "name": "simplesamlphp/saml2",
-            "version": "v3.0.0",
+            "version": "v3.0.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/simplesamlphp/saml2.git",
-                "reference": "cea679a3113d1f8198ab7d0a734de740412d0d0d"
+                "reference": "bacad25473258cfefb7a7fd418cc5f8a22cda0a1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/cea679a3113d1f8198ab7d0a734de740412d0d0d",
-                "reference": "cea679a3113d1f8198ab7d0a734de740412d0d0d",
+                "url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/bacad25473258cfefb7a7fd418cc5f8a22cda0a1",
+                "reference": "bacad25473258cfefb7a7fd418cc5f8a22cda0a1",
                 "shasum": ""
             },
             "require": {
@@ -278,7 +238,7 @@
                 "ext-zlib": "*",
                 "php": ">=5.3.3",
                 "psr/log": "~1.0",
-                "robrichards/xmlseclibs": "^2.0|^3.0"
+                "simplesamlphp/xmlseclibs": "^2.0|^3.0"
             },
             "require-dev": {
                 "mockery/mockery": "~0.9",
@@ -309,7 +269,47 @@
                 }
             ],
             "description": "SAML2 PHP library from SimpleSAMLphp",
-            "time": "2017-06-16T08:30:57+00:00"
+            "time": "2017-08-17T12:44:35+00:00"
+        },
+        {
+            "name": "simplesamlphp/xmlseclibs",
+            "version": "3.0.0-p1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/simplesamlphp/xmlseclibs.git",
+                "reference": "f9250fc4019f20650a01a1db7959c68c2c355e3b"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/simplesamlphp/xmlseclibs/zipball/f9250fc4019f20650a01a1db7959c68c2c355e3b",
+                "reference": "f9250fc4019f20650a01a1db7959c68c2c355e3b",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">= 5.4"
+            },
+            "suggest": {
+                "ext-openssl": "OpenSSL extension"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "RobRichards\\XMLSecLibs\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "description": "A PHP library for XML Security",
+            "homepage": "https://github.com/robrichards/xmlseclibs",
+            "keywords": [
+                "security",
+                "signature",
+                "xml",
+                "xmldsig"
+            ],
+            "time": "2017-08-17T09:35:53+00:00"
         },
         {
             "name": "twig/extensions",
diff --git a/docs/simplesamlphp-changelog.md b/docs/simplesamlphp-changelog.md
index 398e131d681572446aa94e0c15ed7ad3807570ac..c11d88a414e7004a38ceabbaa48056b22aaa1451 100644
--- a/docs/simplesamlphp-changelog.md
+++ b/docs/simplesamlphp-changelog.md
@@ -47,6 +47,8 @@ Released TBD
   * Other bug fixes and numerous documentation enhancements.
 
 ### API and user interface
+  * Updated to Xmlseclibs 3.0.
+    Minimum PHP version is now 5.4, mcrypt requirement dropped.
   * Added a PSR-4 autoloader for modules. Now modules can declare their
     classes under the SimpleSAML\Module namespace.
   * Added new hook for module loader exception handling `exception_handler`.
diff --git a/docs/simplesamlphp-install.md b/docs/simplesamlphp-install.md
index 1261e5864a44204d52d548e29cccc5dfd56fceb3..ee573309c7faf91e29803f82d422d4059c19a77c 100644
--- a/docs/simplesamlphp-install.md
+++ b/docs/simplesamlphp-install.md
@@ -31,11 +31,10 @@ Prerequisites
 -------------
 
  * Some webserver capable of executing PHP scripts.
- * PHP version >= 5.3.0.
+ * PHP version >= 5.4.0.
  * Support for the following PHP extensions:
    * Always required: `date`, `dom`, `hash`, `libxml`, `openssl`, `pcre`, `SPL`, `zlib`, `json`
    * When automatically checking for latest versions, and used by some modules: `cURL`
-   * When using encryption or digital signatures: `mcrypt`
    * When authenticating against LDAP server: `ldap`
    * When authenticating against RADIUS server: `radius`
    * When using native PHP session handler: `session`
diff --git a/docs/simplesamlphp-upgrade-notes-1.15.md b/docs/simplesamlphp-upgrade-notes-1.15.md
index 3ed941d9a9a0b04040f93be09f742c7ff2beb487..09360b07d5eaa4fbea422c6573601af7de73023c 100644
--- a/docs/simplesamlphp-upgrade-notes-1.15.md
+++ b/docs/simplesamlphp-upgrade-notes-1.15.md
@@ -1,6 +1,8 @@
 Upgrade notes for SimpleSAMLphp 1.15
 ====================================
 
+Minimum required PHP version is 5.4. Dependency on mcrypt has been dropped.
+
 A new templating system based on Twig has been introduced. The old templating
 system is still available but should be considered deprecated.
 
diff --git a/modules/core/hooks/hook_sanitycheck.php b/modules/core/hooks/hook_sanitycheck.php
index ec7e58ae1cf3c38d673f56c67f5ceceb6f63165f..512fc568833bd799663eaf429af7ef03dff81454 100644
--- a/modules/core/hooks/hook_sanitycheck.php
+++ b/modules/core/hooks/hook_sanitycheck.php
@@ -23,7 +23,7 @@ function core_hook_sanitycheck(&$hookinfo) {
 		$hookinfo['info'][] = '[core] In config.php technicalcontact_email is set properly';
 	}
 	
-	if (version_compare(phpversion(), '5.3', '>=')) {
+	if (version_compare(phpversion(), '5.4', '>=')) {
 		$hookinfo['info'][] = '[core] You are running a PHP version suitable for SimpleSAMLphp.';
 	} else {
 		$hookinfo['errors'][] = '[core] You are running an old PHP installation. Please check the requirements for your SimpleSAMLphp version and upgrade.';
diff --git a/modules/core/www/frontpage_config.php b/modules/core/www/frontpage_config.php
index 7ef02e5ff351130adc3b48932ca27034700bcd32..97ce582e3fbf039c73fb74757e3deb1d790ace52 100644
--- a/modules/core/www/frontpage_config.php
+++ b/modules/core/www/frontpage_config.php
@@ -123,8 +123,8 @@ if (SimpleSAML\Module::isModuleEnabled('radius')) {
 $funcmatrix = array();
 $funcmatrix[] = array(
 	'required' => 'required', 
-	'descr' => 'PHP Version >= 5.3. You run: ' . phpversion(),
-	'enabled' => version_compare(phpversion(), '5.3', '>='));
+	'descr' => 'PHP Version >= 5.4. You run: ' . phpversion(),
+	'enabled' => version_compare(phpversion(), '5.4', '>='));
 foreach ($functionchecks AS $func => $descr) {
 	$funcmatrix[] = array('descr' => $descr[1], 'required' => $descr[0], 'enabled' => function_exists($func));
 }