diff --git a/src/security/encryption-manager.hpp b/src/security/encryption-manager.hpp
index 44eafb7..a6f319b 100644
--- a/src/security/encryption-manager.hpp
+++ b/src/security/encryption-manager.hpp
@@ -5,8 +5,8 @@
  * See COPYING for copyright and distribution information.
  */
 
-#ifndef NDN_ENCRYPTION_MANAGER_HPP
-#define NDN_ENCRYPTION_MANAGER_HPP
+#ifndef NDN_SECURITY_ENCRYPTION_MANAGER_HPP
+#define NDN_SECURITY_ENCRYPTION_MANAGER_HPP
 
 #include "../../name.hpp"
 #include "../security-common.hpp"
@@ -15,20 +15,23 @@
 
 class EncryptionManager {
 public:
-  virtual ~EncryptionManager() {}
-    
-  virtual void 
-  createSymmetricKey(const Name& keyName, KeyType keyType, const Name& signkeyName = Name(), bool isSymmetric = true) = 0;
+  virtual ~EncryptionManager()
+  {
+  }
+
+  virtual void
+  createSymmetricKey(const Name& keyName, KeyType keyType,
+                     const Name& signkeyName = Name(), bool isSymmetric = true) = 0;
 
   virtual ConstBufferPtr
-  encrypt(const Name& keyName, const uint8_t* data, size_t dataLength, bool useSymmetric = false, 
+  encrypt(const Name& keyName, const uint8_t* data, size_t dataLength, bool useSymmetric = false,
           EncryptMode encryptMode = ENCRYPT_MODE_DEFAULT) = 0;
 
   virtual ConstBufferPtr
-  decrypt(const Name& keyName, const uint8_t* data, size_t dataLength, bool useSymmetric = false, 
+  decrypt(const Name& keyName, const uint8_t* data, size_t dataLength, bool useSymmetric = false,
           EncryptMode encryptMode = ENCRYPT_MODE_DEFAULT) = 0;
 };
 
-}
+} // namespace ndn
 
-#endif
+#endif // NDN_SECURITY_ENCRYPTION_MANAGER_HPP
