diff --git a/src/algo/encrypt-params.hpp b/src/algo/encrypt-params.hpp
new file mode 100644
index 0000000..2be5d99
--- /dev/null
+++ b/src/algo/encrypt-params.hpp
@@ -0,0 +1,61 @@
+#ifndef NDN_GEP_ENCRYPT_PARAMS_HPP
+#define NDN_GEP_ENCRYPT_PARAMS_HPP
+
+#include <ndn-cxx/encoding/buffer-stream.hpp>
+
+namespace ndn {
+namespace gep {
+
+enum EncryptionMode {
+  ENCRYPT_MODE_ECB_AES,
+  ENCRYPT_MODE_CBC_AES,
+  ENCRYPT_MODE_RSA
+};
+
+enum PaddingScheme {
+  PADDING_SCHEME_PKCS7,
+  PADDING_SCHEME_PKCS1v15,
+  PADDING_SCHEME_OAEP_SHA
+};
+
+namespace algo {
+
+class EncryptParams
+{
+public:
+  EncryptParams(EncryptionMode encryptMode, PaddingScheme paddingScheme, uint8_t ivLength);
+
+  virtual
+  ~EncryptParams()
+  {
+  }
+
+  void
+  setIV(const Buffer& iv);
+
+  void
+  setEncryptMode(const EncryptionMode& encryptMode);
+
+  void
+  setPaddingScheme(const PaddingScheme& paddingScheme);
+
+  Buffer
+  getIV() const;
+
+  EncryptionMode
+  getEncryptMode() const;
+
+  PaddingScheme
+  getPaddingScheme() const;
+
+private:
+  EncryptionMode m_encryptMode;
+  PaddingScheme m_paddingScheme;
+  Buffer m_iv;
+};
+
+} // namespace algo
+} // namespace gep
+} // namespace ndn
+
+#endif // NDN_GEP_ENCRYPT_PARAMS_HPP
