NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.3: NDN, CCN, CCNx, content centric networks
API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ndnSIM
ndnSIM documentation
All Attributes
All GlobalValues
All LogComponents
All TraceSources
Todo List
Deprecated List
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
block-cipher.hpp
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2013-2017 Regents of the University of California.
4
*
5
* This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
6
*
7
* ndn-cxx library is free software: you can redistribute it and/or modify it under the
8
* terms of the GNU Lesser General Public License as published by the Free Software
9
* Foundation, either version 3 of the License, or (at your option) any later version.
10
*
11
* ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY
12
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
14
*
15
* You should have received copies of the GNU General Public License and GNU Lesser
16
* General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see
17
* <http://www.gnu.org/licenses/>.
18
*
19
* See AUTHORS.md for complete list of ndn-cxx authors and contributors.
20
*/
21
22
#ifndef NDN_CXX_SECURITY_TRANSFORM_BLOCK_CIPHER_HPP
23
#define NDN_CXX_SECURITY_TRANSFORM_BLOCK_CIPHER_HPP
24
25
#include "
transform-base.hpp
"
26
#include "../security-common.hpp"
27
28
namespace
ndn
{
29
namespace
security
{
30
namespace
transform
{
31
38
class
BlockCipher
:
public
Transform
39
{
40
public
:
51
BlockCipher
(
BlockCipherAlgorithm
algo,
CipherOperator
op,
52
const
uint8_t* key,
size_t
keyLen,
53
const
uint8_t* iv,
size_t
ivLen);
54
55
~BlockCipher
();
56
57
private
:
61
void
62
preTransform()
final
;
63
69
size_t
70
convert(
const
uint8_t* data,
size_t
dataLen)
final
;
71
75
void
76
finalize()
final
;
77
81
void
82
fillOutputBuffer();
83
87
bool
88
isConverterEmpty()
const
;
89
90
private
:
91
void
92
initializeAesCbc(
const
uint8_t* key,
size_t
keyLen,
93
const
uint8_t* iv,
size_t
ivLen,
CipherOperator
op);
94
95
private
:
96
class
Impl
;
97
const
unique_ptr<Impl> m_impl;
98
};
99
100
unique_ptr<Transform>
101
blockCipher
(
BlockCipherAlgorithm
algo,
CipherOperator
op,
102
const
uint8_t* key,
size_t
keyLen,
103
const
uint8_t* iv,
size_t
ivLen);
104
105
}
// namespace transform
106
}
// namespace security
107
}
// namespace ndn
108
109
#endif // NDN_CXX_SECURITY_TRANSFORM_BLOCK_CIPHER_HPP
transform-base.hpp
There are three types of module in a transformation chain: Source, Transform, and Sink...
ndn
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-strategy-choice-helper.hpp:34
ndn::security::transform::BlockCipher::Impl
Definition:
block-cipher.cpp:31
ndn::BlockCipherAlgorithm
BlockCipherAlgorithm
Definition:
security-common.hpp:116
ndn::CipherOperator
CipherOperator
Definition:
security-common.hpp:124
ndn::security::transform::blockCipher
unique_ptr< Transform > blockCipher(BlockCipherAlgorithm algo, CipherOperator op, const uint8_t *key, size_t keyLen, const uint8_t *iv, size_t ivLen)
Definition:
block-cipher.cpp:160
websocketpp::transport::asio::socket::error::security
Catch-all error for security policy errors that don't fit in other categories.
Definition:
base.hpp:79
ndn::security::transform::BlockCipher::~BlockCipher
~BlockCipher()
transform
ndn::security::transform::Transform
Abstraction of an intermediate transformation module.
Definition:
transform-base.hpp:185
ndn::security::transform::BlockCipher
The module to encrypt data using block cipher.
Definition:
block-cipher.hpp:38
ndn::security::transform::BlockCipher::BlockCipher
BlockCipher(BlockCipherAlgorithm algo, CipherOperator op, const uint8_t *key, size_t keyLen, const uint8_t *iv, size_t ivLen)
Create a block cipher.
Definition:
block-cipher.cpp:52
ndnSIM
ndn-cxx
src
security
transform
block-cipher.hpp
Generated on Thu Nov 2 2017 03:30:28 for ndnSIM by
1.8.11