diff --git a/src/security/detail/openssl-helper.cpp b/src/security/detail/openssl-helper.cpp
index 92ec501..b5c9e5e 100644
--- a/src/security/detail/openssl-helper.cpp
+++ b/src/security/detail/openssl-helper.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2017 Regents of the University of California.
+ * Copyright (c) 2013-2018 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -43,6 +43,16 @@
   case DigestAlgorithm::BLAKE2S_256:
     return EVP_blake2s256();
 #endif
+#if OPENSSL_VERSION_NUMBER >= 0x10101001L
+  case DigestAlgorithm::SHA3_224:
+    return EVP_sha3_224();
+  case DigestAlgorithm::SHA3_256:
+    return EVP_sha3_256();
+  case DigestAlgorithm::SHA3_384:
+    return EVP_sha3_384();
+  case DigestAlgorithm::SHA3_512:
+    return EVP_sha3_512();
+#endif
   default:
     return nullptr;
   }
diff --git a/src/security/detail/openssl.hpp b/src/security/detail/openssl.hpp
index 99d20cb..252d370 100644
--- a/src/security/detail/openssl.hpp
+++ b/src/security/detail/openssl.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2017 Regents of the University of California.
+ * Copyright (c) 2013-2018 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -33,7 +33,6 @@
 #include <openssl/ec.h>
 #include <openssl/err.h>
 #include <openssl/evp.h>
-#include <openssl/hmac.h>
 #include <openssl/pem.h>
 #include <openssl/rand.h>
 #include <openssl/rsa.h>
diff --git a/src/security/security-common.cpp b/src/security/security-common.cpp
index 5e5fa31..1d0d4f2 100644
--- a/src/security/security-common.cpp
+++ b/src/security/security-common.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2017 Regents of the University of California.
+ * Copyright (c) 2013-2018 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -89,6 +89,14 @@
       return os << "BLAKE2b-512";
     case DigestAlgorithm::BLAKE2S_256:
       return os << "BLAKE2s-256";
+    case DigestAlgorithm::SHA3_224:
+      return os << "SHA3-224";
+    case DigestAlgorithm::SHA3_256:
+      return os << "SHA3-256";
+    case DigestAlgorithm::SHA3_384:
+      return os << "SHA3-384";
+    case DigestAlgorithm::SHA3_512:
+      return os << "SHA3-512";
   }
   return os << static_cast<int>(algorithm);
 }
diff --git a/src/security/security-common.hpp b/src/security/security-common.hpp
index 9685dc3..c2fa8f4 100644
--- a/src/security/security-common.hpp
+++ b/src/security/security-common.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2017 Regents of the University of California.
+ * Copyright (c) 2013-2018 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -110,6 +110,10 @@
   SHA512 = 4,
   BLAKE2B_512 = 10,
   BLAKE2S_256 = 11,
+  SHA3_224 = 20,
+  SHA3_256 = 21,
+  SHA3_384 = 22,
+  SHA3_512 = 23,
 };
 
 std::ostream&
