File: Poco.Crypto.CipherKeyImpl.html

package info (click to toggle)
poco-doc 1.3.6-1
  • links: PTS
  • area: main
  • in suites: buster, jessie, jessie-kfreebsd, squeeze, stretch, wheezy
  • size: 10,076 kB
  • ctags: 9,611
  • sloc: makefile: 31
file content (148 lines) | stat: -rw-r--r-- 10,731 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class Poco::Crypto::CipherKeyImpl</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta name="author" content="Applied Informatics Software Engineering GmbH and Contributors"/>
<meta name="publisher" content="Applied Informatics Software Engineering GmbH and Contributors"/>
<meta name="copyright" content="Copyright (c) 2009, Applied Informatics Software Engineering GmbH and Contributors"/>
<meta name="language" content="en"/>
<meta name="date" content="2009-11-24"/>
<meta name="generator" content="PocoDoc"/>
<link rel="stylesheet" href="css/styles.css" type="text/css"/>
</head>
<body bgcolor="#ffffff" leftmargin="0" topmargin="0">
<div class="header">
<h1 class="namespace"><a href="Poco.Crypto.html" class="namespace">Poco::Crypto</a></h1>
<h1 class="symbol">class CipherKeyImpl</h1>
</div>
<div class="body">
<p>
<b>Library:</b> Crypto<br />
<b>Package:</b> Cipher<br />
<b>Header:</b> Poco/Crypto/CipherKeyImpl.h</p>
<h2>Description</h2>
<div class="description">
<p>An implementation of the <a href="Poco.Crypto.CipherKey.html" title="class Poco::Crypto::CipherKey">CipherKey</a> class for OpenSSL's crypto library. </p>
</div>
<h2>Inheritance</h2>
<p><b>Direct Base Classes: </b><a href="Poco.RefCountedObject.html" title="class Poco::RefCountedObject">Poco::RefCountedObject</a></p>
<p><b>All Base Classes: </b><a href="Poco.RefCountedObject.html" title="class Poco::RefCountedObject">Poco::RefCountedObject</a></p>
<h2>Member Summary</h2>
<p><b>Member Functions: </b><a href="Poco.Crypto.CipherKeyImpl.html#109" title="Poco::Crypto::CipherKeyImpl::blockSize()">blockSize</a>, <a href="Poco.Crypto.CipherKeyImpl.html#118" title="Poco::Crypto::CipherKeyImpl::cipher()">cipher</a>, <a href="Poco.Crypto.CipherKeyImpl.html#115" title="Poco::Crypto::CipherKeyImpl::getIV()">getIV</a>, <a href="Poco.Crypto.CipherKeyImpl.html#112" title="Poco::Crypto::CipherKeyImpl::getKey()">getKey</a>, <a href="Poco.Crypto.CipherKeyImpl.html#110" title="Poco::Crypto::CipherKeyImpl::ivSize()">ivSize</a>, <a href="Poco.Crypto.CipherKeyImpl.html#108" title="Poco::Crypto::CipherKeyImpl::keySize()">keySize</a>, <a href="Poco.Crypto.CipherKeyImpl.html#111" title="Poco::Crypto::CipherKeyImpl::mode()">mode</a>, <a href="Poco.Crypto.CipherKeyImpl.html#107" title="Poco::Crypto::CipherKeyImpl::name()">name</a>, <a href="Poco.Crypto.CipherKeyImpl.html#116" title="Poco::Crypto::CipherKeyImpl::setIV()">setIV</a>, <a href="Poco.Crypto.CipherKeyImpl.html#113" title="Poco::Crypto::CipherKeyImpl::setKey()">setKey</a></p>
<p><b>Inherited Functions: </b><a href="Poco.RefCountedObject.html#9659" title="Poco::RefCountedObject::duplicate()">duplicate</a>, <a href="Poco.RefCountedObject.html#9661" title="Poco::RefCountedObject::referenceCount()">referenceCount</a>, <a href="Poco.RefCountedObject.html#9660" title="Poco::RefCountedObject::release()">release</a></p>
<h2>Types</h2>
<h3><a name="87">ByteVec</a></h3>
<p class="decl">typedef std::vector &lt; unsigned char &gt; <a href="Poco.Crypto.CipherKeyImpl.html#87" title="Poco::Crypto::CipherKeyImpl::ByteVec">ByteVec</a>;</p>
<div class="description">
<p></p>
</div>
<h3><a name="88">Ptr</a></h3>
<p class="decl">typedef <a href="Poco.AutoPtr.html" title="class Poco::AutoPtr">Poco::AutoPtr</a> &lt; <a href="Poco.Crypto.CipherKeyImpl.html" title="class Poco::Crypto::CipherKeyImpl">CipherKeyImpl</a> &gt; <a href="Poco.Crypto.CipherKeyImpl.html#88" title="Poco::Crypto::CipherKeyImpl::Ptr">Ptr</a>;</p>
<div class="description">
<p></p>
</div>
<h2>Enumerations</h2>
<h3><a name="89">Mode</a></h3>
<div class="description">
<p><a href="Poco.Crypto.Cipher.html" title="class Poco::Crypto::Cipher">Cipher</a> mode of operation. This mode determines how multiple blocks are connected; this is essential to improve security. </p>
</div>
<p class="decl"><a name="90">MODE_STREAM_CIPHER</a></p>
<div class="description">
<p>Stream cipher </p>
</div>
<p class="decl"><a name="91">MODE_ECB</a></p>
<div class="description">
<p>Electronic codebook (plain concatenation) </p>
</div>
<p class="decl"><a name="92">MODE_CBC</a></p>
<div class="description">
<p><a href="Poco.Crypto.Cipher.html" title="class Poco::Crypto::Cipher">Cipher</a> block chaining (default) </p>
</div>
<p class="decl"><a name="93">MODE_CFB</a></p>
<div class="description">
<p><a href="Poco.Crypto.Cipher.html" title="class Poco::Crypto::Cipher">Cipher</a> feedback </p>
</div>
<p class="decl"><a name="94">MODE_OFB</a></p>
<div class="description">
<p>Output feedback </p>
</div>
<h2>Constructors</h2>
<h3><a name="104">CipherKeyImpl</a></h3>
<p class="decl"><a href="Poco.Crypto.CipherKeyImpl.html" title="class Poco::Crypto::CipherKeyImpl">CipherKeyImpl</a>(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; name<br />);</p>
<div class="description">
<p>Creates a new <a href="Poco.Crypto.CipherKeyImpl.html" title="class Poco::Crypto::CipherKeyImpl">CipherKeyImpl</a> object. Autoinitializes key and initialization vector. </p>
</div>
<h3><a name="100">CipherKeyImpl</a></h3>
<p class="decl"><a href="Poco.Crypto.CipherKeyImpl.html" title="class Poco::Crypto::CipherKeyImpl">CipherKeyImpl</a>(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; name,<br />&nbsp;&nbsp;&nbsp;&nbsp;const <a href="Poco.Crypto.CipherKeyImpl.html#87" title="Poco::Crypto::CipherKeyImpl::ByteVec">ByteVec</a> &amp; key,<br />&nbsp;&nbsp;&nbsp;&nbsp;const <a href="Poco.Crypto.CipherKeyImpl.html#87" title="Poco::Crypto::CipherKeyImpl::ByteVec">ByteVec</a> &amp; iv<br />);</p>
<div class="description">
<p>Creates a new <a href="Poco.Crypto.CipherKeyImpl.html" title="class Poco::Crypto::CipherKeyImpl">CipherKeyImpl</a> object, using the  given cipher name, key and initialization vector. </p>
</div>
<h3><a name="95">CipherKeyImpl</a></h3>
<p class="decl"><a href="Poco.Crypto.CipherKeyImpl.html" title="class Poco::Crypto::CipherKeyImpl">CipherKeyImpl</a>(<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; name,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; passphrase,<br />&nbsp;&nbsp;&nbsp;&nbsp;const std::string &amp; salt,<br />&nbsp;&nbsp;&nbsp;&nbsp;int iterationCount<br />);</p>
<div class="description">
<p>Creates a new <a href="Poco.Crypto.CipherKeyImpl.html" title="class Poco::Crypto::CipherKeyImpl">CipherKeyImpl</a> object, using the given cipher name, passphrase, salt value and iteration count. </p>
</div>
<h2>Destructor</h2>
<h3><a name="106">~CipherKeyImpl</a> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">virtual ~<a href="Poco.Crypto.CipherKeyImpl.html" title="class Poco::Crypto::CipherKeyImpl">CipherKeyImpl</a>();</p>
<div class="description">
<p>Destroys the <a href="Poco.Crypto.CipherKeyImpl.html" title="class Poco::Crypto::CipherKeyImpl">CipherKeyImpl</a>. </p>
</div>
<h2>Member Functions</h2>
<h3><a name="109">blockSize</a></h3>
<p class="decl">int blockSize() const;</p>
<div class="description">
<p>Returns the block size of the <a href="Poco.Crypto.Cipher.html" title="class Poco::Crypto::Cipher">Cipher</a>. </p>
</div>
<h3><a name="118">cipher</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">const <a href="#85" title="EVP_CIPHER">EVP_CIPHER</a> * cipher();</p>
<div class="description">
<p>Returns the cipher object </p>
</div>
<h3><a name="115">getIV</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">const <a href="Poco.Crypto.CipherKeyImpl.html#87" title="Poco::Crypto::CipherKeyImpl::ByteVec">ByteVec</a> &amp; getIV() const;</p>
<div class="description">
<p>Returns the initialization vector (IV) for the <a href="Poco.Crypto.Cipher.html" title="class Poco::Crypto::Cipher">Cipher</a>. </p>
</div>
<h3><a name="112">getKey</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">const <a href="Poco.Crypto.CipherKeyImpl.html#87" title="Poco::Crypto::CipherKeyImpl::ByteVec">ByteVec</a> &amp; getKey() const;</p>
<div class="description">
<p>Returns the key for the <a href="Poco.Crypto.Cipher.html" title="class Poco::Crypto::Cipher">Cipher</a>. </p>
</div>
<h3><a name="110">ivSize</a></h3>
<p class="decl">int ivSize() const;</p>
<div class="description">
<p>Returns the IV size of the <a href="Poco.Crypto.Cipher.html" title="class Poco::Crypto::Cipher">Cipher</a>. </p>
</div>
<h3><a name="108">keySize</a></h3>
<p class="decl">int keySize() const;</p>
<div class="description">
<p>Returns the key size of the <a href="Poco.Crypto.Cipher.html" title="class Poco::Crypto::Cipher">Cipher</a>. </p>
</div>
<h3><a name="111">mode</a></h3>
<p class="decl"><a href="Poco.Crypto.CipherKeyImpl.html#89" title="enum  Poco::Crypto::CipherKeyImpl::Mode">Mode</a> mode() const;</p>
<div class="description">
<p>Returns the <a href="Poco.Crypto.Cipher.html" title="class Poco::Crypto::Cipher">Cipher</a>'s mode of operation. </p>
</div>
<h3><a name="107">name</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">const std::string &amp; name() const;</p>
<div class="description">
<p>Returns the name of the <a href="Poco.Crypto.Cipher.html" title="class Poco::Crypto::Cipher">Cipher</a>. </p>
</div>
<h3><a name="116">setIV</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">void setIV(<br />&nbsp;&nbsp;&nbsp;&nbsp;const <a href="Poco.Crypto.CipherKeyImpl.html#87" title="Poco::Crypto::CipherKeyImpl::ByteVec">ByteVec</a> &amp; iv<br />);</p>
<div class="description">
<p>Sets the initialization vector (IV) for the <a href="Poco.Crypto.Cipher.html" title="class Poco::Crypto::Cipher">Cipher</a>. </p>
</div>
<h3><a name="113">setKey</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">void setKey(<br />&nbsp;&nbsp;&nbsp;&nbsp;const <a href="Poco.Crypto.CipherKeyImpl.html#87" title="Poco::Crypto::CipherKeyImpl::ByteVec">ByteVec</a> &amp; key<br />);</p>
<div class="description">
<p>Sets the key for the <a href="Poco.Crypto.Cipher.html" title="class Poco::Crypto::Cipher">Cipher</a>. </p>
</div>
<p class="footer">POCO C++ Libraries 1.3.6-all<br />
Copyright &copy; 2009, <a href="http://pocoproject.org/" target="_blank">Applied Informatics Software Engineering GmbH and Contributors</a></p>

</div>
</body>
</html>