1
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
3
<title>Qt Cryptographic Architecture: QCA::RSAPrivateKey Class Reference</title>
4
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
5
<link href="tabs.css" rel="stylesheet" type="text/css">
7
<!-- Generated by Doxygen 1.4.6 -->
7
<!-- Generated by Doxygen 1.5.2 -->
10
10
<li><a href="index.html"><span>Main Page</span></a></li>
11
<li><a href="modules.html"><span>Modules</span></a></li>
11
12
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
12
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
13
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
13
14
<li><a href="files.html"><span>Files</span></a></li>
14
15
<li><a href="dirs.html"><span>Directories</span></a></li>
15
16
<li><a href="pages.html"><span>Related Pages</span></a></li>
16
17
<li><a href="examples.html"><span>Examples</span></a></li>
20
22
<li><a href="annotated.html"><span>Class List</span></a></li>
21
23
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
22
24
<li><a href="functions.html"><span>Class Members</span></a></li>
25
28
<a class="el" href="namespaceQCA.html">QCA</a>::<a class="el" href="classQCA_1_1RSAPrivateKey.html">RSAPrivateKey</a></div>
26
<h1>QCA::RSAPrivateKey Class Reference</h1><!-- doxytag: class="QCA::RSAPrivateKey" --><!-- doxytag: inherits="QCA::PrivateKey" -->RSA Private Key.
29
<h1>QCA::RSAPrivateKey Class Reference<br>
31
[<a class="el" href="group__UserAPI.html">QCA user API</a>]</small>
32
</h1><!-- doxytag: class="QCA::RSAPrivateKey" --><!-- doxytag: inherits="QCA::PrivateKey" -->RSA Private Key.
27
33
<a href="#_details">More...</a>
29
35
<code>#include <<a class="el" href="qca__publickey_8h-source.html">QtCrypto</a>></code>
38
44
Collaboration diagram for QCA::RSAPrivateKey:<p><center><img src="classQCA_1_1RSAPrivateKey__coll__graph.png" border="0" usemap="#QCA_1_1RSAPrivateKey__coll__map" alt="Collaboration graph"></center>
39
45
<map name="QCA_1_1RSAPrivateKey__coll__map">
40
<area href="classQCA_1_1PrivateKey.html" shape="rect" coords="145,268,265,292" alt="">
41
<area href="classQCA_1_1PKey.html" shape="rect" coords="93,190,181,214" alt="">
42
<area href="classQCA_1_1Algorithm.html" shape="rect" coords="54,100,169,124" alt="">
43
<area doxygen="qt.tag:" href="qshareddatapointer.html" shape="rect" coords="8,9,216,33" alt="">
46
<area shape="rect" href="classQCA_1_1PrivateKey.html" title="Generic private key." alt="" coords="167,279,303,305"><area shape="rect" href="classQCA_1_1PKey.html" title="General superclass for public (PublicKey) and private (PrivateKey) keys used with..." alt="" coords="115,199,211,225"><area shape="rect" href="classQCA_1_1Algorithm.html" title="General superclass for an algorithm." alt="" coords="64,103,195,129"><area shape="rect" doxygen="qt.tag:" href="qshareddatapointer.html" title="QSharedDataPointer\< Private \>" alt="" coords="5,7,253,33"><area shape="rect" title="d" alt="" coords="125,31,133,39"><area shape="rect" title="d" alt="" coords="125,99,133,107"><area shape="rect" title="d" alt="" coords="252,127,260,135"><area shape="rect" title="d" alt="" coords="232,275,240,283"><area shape="rect" title="d" alt="" coords="240,127,248,135"><area shape="rect" title="d" alt="" coords="172,195,180,203"></map>
45
47
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classQCA_1_1RSAPrivateKey-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
47
49
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
50
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1RSAPrivateKey.html#2c5892893af58b6964250312bda2b0ee">d</a> () const</td></tr>
52
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1RSAPrivateKey.html#80bafe468c7344b005cd845483fe4777">e</a> () const</td></tr>
54
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1RSAPrivateKey.html#34e269387ec9eb2ed402ccf537a25107">n</a> () const</td></tr>
56
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1RSAPrivateKey.html#820071e9608a4ec3b1f026494eda815e">p</a> () const</td></tr>
58
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1RSAPrivateKey.html#2b2ec083ae2a7adf9fd6ed6342845588">q</a> () const</td></tr>
60
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1RSAPrivateKey.html#f5ab9fe46f64af615a6f44d3098e8e59">RSAPrivateKey</a> (const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> &n, const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> &e, const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> &p, const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> &q, const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> &d, const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> &provider=<a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a>())</td></tr>
48
62
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1RSAPrivateKey.html#00dc97bdeb521f42325f3e13935c3e35">RSAPrivateKey</a> ()</td></tr>
50
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1RSAPrivateKey.html#f5ab9fe46f64af615a6f44d3098e8e59">RSAPrivateKey</a> (const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> &n, const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> &e, const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> &p, const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> &q, const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> &d, const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> &provider=<a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a>())</td></tr>
52
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1RSAPrivateKey.html#11924ddd8b2594472a2e9c7b19cbf74c">n</a> () const </td></tr>
54
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1RSAPrivateKey.html#d0b0937a56470b5979569a76bdd2cba1">e</a> () const </td></tr>
56
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1RSAPrivateKey.html#c30ffd0bbb72d73d40e9c8a2ac41e3f0">p</a> () const </td></tr>
58
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1RSAPrivateKey.html#5f5569279ef3f4a33e0b67eb742c15e2">q</a> () const </td></tr>
60
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classQCA_1_1RSAPrivateKey.html#8e65a4747d1089f11a4108ac486279f6">d</a> () const </td></tr>
63
65
<hr><a name="_details"></a><h2>Detailed Description</h2>
66
68
<hr><h2>Constructor & Destructor Documentation</h2>
67
<a class="anchor" name="00dc97bdeb521f42325f3e13935c3e35"></a><!-- doxytag: member="QCA::RSAPrivateKey::RSAPrivateKey" ref="00dc97bdeb521f42325f3e13935c3e35" args="()" --><p>
68
<table class="mdTable" cellpadding="2" cellspacing="0">
71
<table cellpadding="0" cellspacing="0" border="0">
69
<a class="anchor" name="00dc97bdeb521f42325f3e13935c3e35"></a><!-- doxytag: member="QCA::RSAPrivateKey::RSAPrivateKey" ref="00dc97bdeb521f42325f3e13935c3e35" args="()" -->
71
<div class="memproto">
72
<table class="memname">
73
<td class="md" nowrap valign="top">QCA::RSAPrivateKey::RSAPrivateKey </td>
74
<td class="md" valign="top">( </td>
75
<td class="mdname1" valign="top" nowrap> </td>
76
<td class="md" valign="top"> ) </td>
77
<td class="md" nowrap></td>
74
<td class="memname">QCA::RSAPrivateKey::RSAPrivateKey </td>
76
<td class="paramname"> </td>
77
<td> ) </td>
78
<td width="100%"></td>
83
<table cellspacing="5" cellpadding="0" border="0">
91
85
Generate an empty RSA private key.
96
<a class="anchor" name="f5ab9fe46f64af615a6f44d3098e8e59"></a><!-- doxytag: member="QCA::RSAPrivateKey::RSAPrivateKey" ref="f5ab9fe46f64af615a6f44d3098e8e59" args="(const BigInteger &n, const BigInteger &e, const BigInteger &p, const BigInteger &q, const BigInteger &d, const QString &provider=QString())" --><p>
97
<table class="mdTable" cellpadding="2" cellspacing="0">
100
<table cellpadding="0" cellspacing="0" border="0">
102
<td class="md" nowrap valign="top">QCA::RSAPrivateKey::RSAPrivateKey </td>
103
<td class="md" valign="top">( </td>
104
<td class="md" nowrap valign="top">const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> & </td>
105
<td class="mdname" nowrap> <em>n</em>, </td>
108
<td class="md" nowrap align="right"></td>
110
<td class="md" nowrap>const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> & </td>
111
<td class="mdname" nowrap> <em>e</em>, </td>
114
<td class="md" nowrap align="right"></td>
116
<td class="md" nowrap>const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> & </td>
117
<td class="mdname" nowrap> <em>p</em>, </td>
120
<td class="md" nowrap align="right"></td>
122
<td class="md" nowrap>const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> & </td>
123
<td class="mdname" nowrap> <em>q</em>, </td>
126
<td class="md" nowrap align="right"></td>
128
<td class="md" nowrap>const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> & </td>
129
<td class="mdname" nowrap> <em>d</em>, </td>
132
<td class="md" nowrap align="right"></td>
134
<td class="md" nowrap>const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> & </td>
135
<td class="mdname" nowrap> <em>provider</em> = <code><a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a>()</code></td>
139
<td class="md">) </td>
140
<td class="md" colspan="2"></td>
90
<a class="anchor" name="f5ab9fe46f64af615a6f44d3098e8e59"></a><!-- doxytag: member="QCA::RSAPrivateKey::RSAPrivateKey" ref="f5ab9fe46f64af615a6f44d3098e8e59" args="(const BigInteger &n, const BigInteger &e, const BigInteger &p, const BigInteger &q, const BigInteger &d, const QString &provider=QString())" -->
92
<div class="memproto">
93
<table class="memname">
95
<td class="memname">QCA::RSAPrivateKey::RSAPrivateKey </td>
97
<td class="paramtype">const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> & </td>
98
<td class="paramname"> <em>n</em>, </td>
101
<td class="paramkey"></td>
103
<td class="paramtype">const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> & </td>
104
<td class="paramname"> <em>e</em>, </td>
107
<td class="paramkey"></td>
109
<td class="paramtype">const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> & </td>
110
<td class="paramname"> <em>p</em>, </td>
113
<td class="paramkey"></td>
115
<td class="paramtype">const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> & </td>
116
<td class="paramname"> <em>q</em>, </td>
119
<td class="paramkey"></td>
121
<td class="paramtype">const <a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> & </td>
122
<td class="paramname"> <em>d</em>, </td>
125
<td class="paramkey"></td>
127
<td class="paramtype">const <a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a> & </td>
128
<td class="paramname"> <em>provider</em> = <code><a class="elRef" doxygen="qt.tag:" href="qstring.html">QString</a>()</code></td><td> </td>
133
<td></td><td></td><td width="100%"></td>
146
<table cellspacing="5" cellpadding="0" border="0">
154
140
Generate an RSA private key from specified parameters.
163
149
<tr><td valign="top"></td><td valign="top"><em>provider</em> </td><td>the provider to use, if a particular provider is required </td></tr>
169
155
<hr><h2>Member Function Documentation</h2>
170
<a class="anchor" name="11924ddd8b2594472a2e9c7b19cbf74c"></a><!-- doxytag: member="QCA::RSAPrivateKey::n" ref="11924ddd8b2594472a2e9c7b19cbf74c" args="() const " --><p>
171
<table class="mdTable" cellpadding="2" cellspacing="0">
174
<table cellpadding="0" cellspacing="0" border="0">
176
<td class="md" nowrap valign="top"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> QCA::RSAPrivateKey::n </td>
177
<td class="md" valign="top">( </td>
178
<td class="mdname1" valign="top" nowrap> </td>
179
<td class="md" valign="top"> ) </td>
180
<td class="md" nowrap> const</td>
186
<table cellspacing="5" cellpadding="0" border="0">
156
<a class="anchor" name="2c5892893af58b6964250312bda2b0ee"></a><!-- doxytag: member="QCA::RSAPrivateKey::d" ref="2c5892893af58b6964250312bda2b0ee" args="() const" -->
157
<div class="memitem">
158
<div class="memproto">
159
<table class="memname">
161
<td class="memname"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> QCA::RSAPrivateKey::d </td>
163
<td class="paramname"> </td>
164
<td> ) </td>
165
<td width="100%"> const</td>
172
The inverse of the exponent, module (p-1)(q-1).
177
<a class="anchor" name="80bafe468c7344b005cd845483fe4777"></a><!-- doxytag: member="QCA::RSAPrivateKey::e" ref="80bafe468c7344b005cd845483fe4777" args="() const" -->
178
<div class="memitem">
179
<div class="memproto">
180
<table class="memname">
182
<td class="memname"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> QCA::RSAPrivateKey::e </td>
184
<td class="paramname"> </td>
185
<td> ) </td>
186
<td width="100%"> const</td>
193
The public key exponent.
195
This value is the exponent chosen in the original key generator step
198
<a class="anchor" name="34e269387ec9eb2ed402ccf537a25107"></a><!-- doxytag: member="QCA::RSAPrivateKey::n" ref="34e269387ec9eb2ed402ccf537a25107" args="() const" -->
199
<div class="memitem">
200
<div class="memproto">
201
<table class="memname">
203
<td class="memname"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> QCA::RSAPrivateKey::n </td>
205
<td class="paramname"> </td>
206
<td> ) </td>
207
<td width="100%"> const</td>
194
214
The public key value.
196
This value is the actual public key value (the product of p and q, the random prime numbers used to generate the RSA key), also known as the public modulus. </td>
199
<a class="anchor" name="d0b0937a56470b5979569a76bdd2cba1"></a><!-- doxytag: member="QCA::RSAPrivateKey::e" ref="d0b0937a56470b5979569a76bdd2cba1" args="() const " --><p>
200
<table class="mdTable" cellpadding="2" cellspacing="0">
203
<table cellpadding="0" cellspacing="0" border="0">
205
<td class="md" nowrap valign="top"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> QCA::RSAPrivateKey::e </td>
206
<td class="md" valign="top">( </td>
207
<td class="mdname1" valign="top" nowrap> </td>
208
<td class="md" valign="top"> ) </td>
209
<td class="md" nowrap> const</td>
215
<table cellspacing="5" cellpadding="0" border="0">
223
The public key exponent.
225
This value is the exponent chosen in the original key generator step </td>
228
<a class="anchor" name="c30ffd0bbb72d73d40e9c8a2ac41e3f0"></a><!-- doxytag: member="QCA::RSAPrivateKey::p" ref="c30ffd0bbb72d73d40e9c8a2ac41e3f0" args="() const " --><p>
229
<table class="mdTable" cellpadding="2" cellspacing="0">
232
<table cellpadding="0" cellspacing="0" border="0">
234
<td class="md" nowrap valign="top"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> QCA::RSAPrivateKey::p </td>
235
<td class="md" valign="top">( </td>
236
<td class="mdname1" valign="top" nowrap> </td>
237
<td class="md" valign="top"> ) </td>
238
<td class="md" nowrap> const</td>
244
<table cellspacing="5" cellpadding="0" border="0">
216
This value is the actual public key value (the product of p and q, the random prime numbers used to generate the RSA key), also known as the public modulus.
219
<a class="anchor" name="820071e9608a4ec3b1f026494eda815e"></a><!-- doxytag: member="QCA::RSAPrivateKey::p" ref="820071e9608a4ec3b1f026494eda815e" args="() const" -->
220
<div class="memitem">
221
<div class="memproto">
222
<table class="memname">
224
<td class="memname"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> QCA::RSAPrivateKey::p </td>
226
<td class="paramname"> </td>
227
<td> ) </td>
228
<td width="100%"> const</td>
252
235
One of the two random primes used to generate the private key.
257
<a class="anchor" name="5f5569279ef3f4a33e0b67eb742c15e2"></a><!-- doxytag: member="QCA::RSAPrivateKey::q" ref="5f5569279ef3f4a33e0b67eb742c15e2" args="() const " --><p>
258
<table class="mdTable" cellpadding="2" cellspacing="0">
261
<table cellpadding="0" cellspacing="0" border="0">
240
<a class="anchor" name="2b2ec083ae2a7adf9fd6ed6342845588"></a><!-- doxytag: member="QCA::RSAPrivateKey::q" ref="2b2ec083ae2a7adf9fd6ed6342845588" args="() const" -->
241
<div class="memitem">
242
<div class="memproto">
243
<table class="memname">
263
<td class="md" nowrap valign="top"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> QCA::RSAPrivateKey::q </td>
264
<td class="md" valign="top">( </td>
265
<td class="mdname1" valign="top" nowrap> </td>
266
<td class="md" valign="top"> ) </td>
267
<td class="md" nowrap> const</td>
245
<td class="memname"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> QCA::RSAPrivateKey::q </td>
247
<td class="paramname"> </td>
248
<td> ) </td>
249
<td width="100%"> const</td>
273
<table cellspacing="5" cellpadding="0" border="0">
281
256
The second of the two random primes used to generate the private key.
286
<a class="anchor" name="8e65a4747d1089f11a4108ac486279f6"></a><!-- doxytag: member="QCA::RSAPrivateKey::d" ref="8e65a4747d1089f11a4108ac486279f6" args="() const " --><p>
287
<table class="mdTable" cellpadding="2" cellspacing="0">
290
<table cellpadding="0" cellspacing="0" border="0">
292
<td class="md" nowrap valign="top"><a class="el" href="classQCA_1_1BigInteger.html">BigInteger</a> QCA::RSAPrivateKey::d </td>
293
<td class="md" valign="top">( </td>
294
<td class="mdname1" valign="top" nowrap> </td>
295
<td class="md" valign="top"> ) </td>
296
<td class="md" nowrap> const</td>
302
<table cellspacing="5" cellpadding="0" border="0">
310
The inverse of the exponent, module (p-1)(q-1).
315
261
<hr>The documentation for this class was generated from the following file:<ul>
316
262
<li><a class="el" href="qca__publickey_8h-source.html">qca_publickey.h</a></ul>
317
<hr size="1"><address style="align: right;"><small>Generated on Fri Jul 6 12:15:23 2007 for Qt Cryptographic Architecture by
263
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Sep 6 19:14:33 2007 for Qt Cryptographic Architecture by
318
264
<a href="http://www.doxygen.org/index.html">
319
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
265
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>