/lib/bouncycastle/docs/org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.html
HTML | 463 lines | 386 code | 54 blank | 23 comment | 0 complexity | 8ecdb4c87d99e79784ba7de5d59af90f MD5 | raw file
Possible License(s): LGPL-2.1, BSD-3-Clause, Apache-2.0
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<!--NewPage-->
3<HTML>
4<HEAD>
5<!-- Generated by javadoc (build 1.6.0) on Mon Jan 11 13:46:39 EST 2010 -->
6<TITLE>
7KeyAgreement (Bouncy Castle Library 1.45 API Specification)
8</TITLE>
9
10<META NAME="date" CONTENT="2010-01-11">
11
12<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">
13
14<SCRIPT type="text/javascript">
15function windowTitle()
16{
17 if (location.href.indexOf('is-external=true') == -1) {
18 parent.document.title="KeyAgreement (Bouncy Castle Library 1.45 API Specification)";
19 }
20}
21</SCRIPT>
22<NOSCRIPT>
23</NOSCRIPT>
24
25</HEAD>
26
27<BODY BGCOLOR="white" onload="windowTitle();">
28<HR>
29
30
31<!-- ========= START OF TOP NAVBAR ======= -->
32<A NAME="navbar_top"><!-- --></A>
33<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
34<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
35<TR>
36<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
37<A NAME="navbar_top_firstrow"><!-- --></A>
38<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
39 <TR ALIGN="center" VALIGN="top">
40 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
41 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
42 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
43 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
44 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
45 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
46 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
47 </TR>
48</TABLE>
49</TD>
50<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
51<b>Bouncy Castle Cryptography Library 1.45</b></EM>
52</TD>
53</TR>
54
55<TR>
56<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
57 <A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/ECUtil.html" title="class in org.bouncycastle.jce.provider.asymmetric.ec"><B>PREV CLASS</B></A>
58 <A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.DH.html" title="class in org.bouncycastle.jce.provider.asymmetric.ec"><B>NEXT CLASS</B></A></FONT></TD>
59<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
60 <A HREF="../../../../../../index.html?org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.html" target="_top"><B>FRAMES</B></A>
61 <A HREF="KeyAgreement.html" target="_top"><B>NO FRAMES</B></A>
62 <SCRIPT type="text/javascript">
63 <!--
64 if(window==top) {
65 document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
66 }
67 //-->
68</SCRIPT>
69<NOSCRIPT>
70 <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
71</NOSCRIPT>
72
73
74</FONT></TD>
75</TR>
76<TR>
77<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
78 SUMMARY: <A HREF="#nested_class_summary">NESTED</A> | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
79<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
80DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
81</TR>
82</TABLE>
83<A NAME="skip-navbar_top"></A>
84<!-- ========= END OF TOP NAVBAR ========= -->
85
86<HR>
87<!-- ======== START OF CLASS DATA ======== -->
88<H2>
89<FONT SIZE="-1">
90org.bouncycastle.jce.provider.asymmetric.ec</FONT>
91<BR>
92Class KeyAgreement</H2>
93<PRE>
94java.lang.Object
95 <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by ">javax.crypto.KeyAgreementSpi
96 <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.bouncycastle.jce.provider.asymmetric.ec.KeyAgreement</B>
97</PRE>
98<DL>
99<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.DH.html" title="class in org.bouncycastle.jce.provider.asymmetric.ec">KeyAgreement.DH</A>, <A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.DHC.html" title="class in org.bouncycastle.jce.provider.asymmetric.ec">KeyAgreement.DHC</A>, <A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.DHwithSHA1KDF.html" title="class in org.bouncycastle.jce.provider.asymmetric.ec">KeyAgreement.DHwithSHA1KDF</A>, <A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.MQV.html" title="class in org.bouncycastle.jce.provider.asymmetric.ec">KeyAgreement.MQV</A>, <A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.MQVwithSHA1KDF.html" title="class in org.bouncycastle.jce.provider.asymmetric.ec">KeyAgreement.MQVwithSHA1KDF</A></DD>
100</DL>
101<HR>
102<DL>
103<DT><PRE>public class <B>KeyAgreement</B><DT>extends javax.crypto.KeyAgreementSpi</DL>
104</PRE>
105
106<P>
107Diffie-Hellman key agreement using elliptic curve keys, ala IEEE P1363
108 both the simple one, and the simple one with cofactors are supported.
109
110 Also, MQV key agreement per SEC-1
111<P>
112
113<P>
114<HR>
115
116<P>
117<!-- ======== NESTED CLASS SUMMARY ======== -->
118
119<A NAME="nested_class_summary"><!-- --></A>
120<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
121<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
122<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
123<B>Nested Class Summary</B></FONT></TH>
124</TR>
125<TR BGCOLOR="white" CLASS="TableRowColor">
126<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
127<CODE>static class</CODE></FONT></TD>
128<TD><CODE><B><A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.DH.html" title="class in org.bouncycastle.jce.provider.asymmetric.ec">KeyAgreement.DH</A></B></CODE>
129
130<BR>
131 </TD>
132</TR>
133<TR BGCOLOR="white" CLASS="TableRowColor">
134<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
135<CODE>static class</CODE></FONT></TD>
136<TD><CODE><B><A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.DHC.html" title="class in org.bouncycastle.jce.provider.asymmetric.ec">KeyAgreement.DHC</A></B></CODE>
137
138<BR>
139 </TD>
140</TR>
141<TR BGCOLOR="white" CLASS="TableRowColor">
142<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
143<CODE>static class</CODE></FONT></TD>
144<TD><CODE><B><A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.DHwithSHA1KDF.html" title="class in org.bouncycastle.jce.provider.asymmetric.ec">KeyAgreement.DHwithSHA1KDF</A></B></CODE>
145
146<BR>
147 </TD>
148</TR>
149<TR BGCOLOR="white" CLASS="TableRowColor">
150<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
151<CODE>static class</CODE></FONT></TD>
152<TD><CODE><B><A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.MQV.html" title="class in org.bouncycastle.jce.provider.asymmetric.ec">KeyAgreement.MQV</A></B></CODE>
153
154<BR>
155 </TD>
156</TR>
157<TR BGCOLOR="white" CLASS="TableRowColor">
158<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
159<CODE>static class</CODE></FONT></TD>
160<TD><CODE><B><A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.MQVwithSHA1KDF.html" title="class in org.bouncycastle.jce.provider.asymmetric.ec">KeyAgreement.MQVwithSHA1KDF</A></B></CODE>
161
162<BR>
163 </TD>
164</TR>
165</TABLE>
166
167<!-- ======== CONSTRUCTOR SUMMARY ======== -->
168
169<A NAME="constructor_summary"><!-- --></A>
170<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
171<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
172<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
173<B>Constructor Summary</B></FONT></TH>
174</TR>
175<TR BGCOLOR="white" CLASS="TableRowColor">
176<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
177<CODE>protected </CODE></FONT></TD>
178<TD><CODE><B><A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.html#KeyAgreement(java.lang.String, org.bouncycastle.crypto.BasicAgreement, org.bouncycastle.crypto.DerivationFunction)">KeyAgreement</A></B>(java.lang.String kaAlgorithm,
179 <A HREF="../../../../../../org/bouncycastle/crypto/BasicAgreement.html" title="interface in org.bouncycastle.crypto">BasicAgreement</A> agreement,
180 <A HREF="../../../../../../org/bouncycastle/crypto/DerivationFunction.html" title="interface in org.bouncycastle.crypto">DerivationFunction</A> kdf)</CODE>
181
182<BR>
183 </TD>
184</TR>
185</TABLE>
186
187<!-- ========== METHOD SUMMARY =========== -->
188
189<A NAME="method_summary"><!-- --></A>
190<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
191<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
192<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
193<B>Method Summary</B></FONT></TH>
194</TR>
195<TR BGCOLOR="white" CLASS="TableRowColor">
196<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
197<CODE>protected java.security.Key</CODE></FONT></TD>
198<TD><CODE><B><A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.html#engineDoPhase(java.security.Key, boolean)">engineDoPhase</A></B>(java.security.Key key,
199 boolean lastPhase)</CODE>
200
201<BR>
202 </TD>
203</TR>
204<TR BGCOLOR="white" CLASS="TableRowColor">
205<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
206<CODE>protected byte[]</CODE></FONT></TD>
207<TD><CODE><B><A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.html#engineGenerateSecret()">engineGenerateSecret</A></B>()</CODE>
208
209<BR>
210 </TD>
211</TR>
212<TR BGCOLOR="white" CLASS="TableRowColor">
213<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
214<CODE>protected int</CODE></FONT></TD>
215<TD><CODE><B><A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.html#engineGenerateSecret(byte[], int)">engineGenerateSecret</A></B>(byte[] sharedSecret,
216 int offset)</CODE>
217
218<BR>
219 </TD>
220</TR>
221<TR BGCOLOR="white" CLASS="TableRowColor">
222<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
223<CODE>protected javax.crypto.SecretKey</CODE></FONT></TD>
224<TD><CODE><B><A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.html#engineGenerateSecret(java.lang.String)">engineGenerateSecret</A></B>(java.lang.String algorithm)</CODE>
225
226<BR>
227 </TD>
228</TR>
229<TR BGCOLOR="white" CLASS="TableRowColor">
230<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
231<CODE>protected void</CODE></FONT></TD>
232<TD><CODE><B><A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.html#engineInit(java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom)">engineInit</A></B>(java.security.Key key,
233 java.security.spec.AlgorithmParameterSpec params,
234 java.security.SecureRandom random)</CODE>
235
236<BR>
237 </TD>
238</TR>
239<TR BGCOLOR="white" CLASS="TableRowColor">
240<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
241<CODE>protected void</CODE></FONT></TD>
242<TD><CODE><B><A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.html#engineInit(java.security.Key, java.security.SecureRandom)">engineInit</A></B>(java.security.Key key,
243 java.security.SecureRandom random)</CODE>
244
245<BR>
246 </TD>
247</TR>
248</TABLE>
249 <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
250<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
251<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
252<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
253</TR>
254<TR BGCOLOR="white" CLASS="TableRowColor">
255<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
256</TR>
257</TABLE>
258
259<P>
260
261<!-- ========= CONSTRUCTOR DETAIL ======== -->
262
263<A NAME="constructor_detail"><!-- --></A>
264<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
265<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
266<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
267<B>Constructor Detail</B></FONT></TH>
268</TR>
269</TABLE>
270
271<A NAME="KeyAgreement(java.lang.String, org.bouncycastle.crypto.BasicAgreement, org.bouncycastle.crypto.DerivationFunction)"><!-- --></A><H3>
272KeyAgreement</H3>
273<PRE>
274protected <B>KeyAgreement</B>(java.lang.String kaAlgorithm,
275 <A HREF="../../../../../../org/bouncycastle/crypto/BasicAgreement.html" title="interface in org.bouncycastle.crypto">BasicAgreement</A> agreement,
276 <A HREF="../../../../../../org/bouncycastle/crypto/DerivationFunction.html" title="interface in org.bouncycastle.crypto">DerivationFunction</A> kdf)</PRE>
277<DL>
278</DL>
279
280<!-- ============ METHOD DETAIL ========== -->
281
282<A NAME="method_detail"><!-- --></A>
283<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
284<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
285<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
286<B>Method Detail</B></FONT></TH>
287</TR>
288</TABLE>
289
290<A NAME="engineDoPhase(java.security.Key, boolean)"><!-- --></A><H3>
291engineDoPhase</H3>
292<PRE>
293protected java.security.Key <B>engineDoPhase</B>(java.security.Key key,
294 boolean lastPhase)
295 throws java.security.InvalidKeyException,
296 java.lang.IllegalStateException</PRE>
297<DL>
298<DD><DL>
299<DT><B>Specified by:</B><DD><CODE>engineDoPhase</CODE> in class <CODE>javax.crypto.KeyAgreementSpi</CODE></DL>
300</DD>
301<DD><DL>
302
303<DT><B>Throws:</B>
304<DD><CODE>java.security.InvalidKeyException</CODE>
305<DD><CODE>java.lang.IllegalStateException</CODE></DL>
306</DD>
307</DL>
308<HR>
309
310<A NAME="engineGenerateSecret()"><!-- --></A><H3>
311engineGenerateSecret</H3>
312<PRE>
313protected byte[] <B>engineGenerateSecret</B>()
314 throws java.lang.IllegalStateException</PRE>
315<DL>
316<DD><DL>
317<DT><B>Specified by:</B><DD><CODE>engineGenerateSecret</CODE> in class <CODE>javax.crypto.KeyAgreementSpi</CODE></DL>
318</DD>
319<DD><DL>
320
321<DT><B>Throws:</B>
322<DD><CODE>java.lang.IllegalStateException</CODE></DL>
323</DD>
324</DL>
325<HR>
326
327<A NAME="engineGenerateSecret(byte[], int)"><!-- --></A><H3>
328engineGenerateSecret</H3>
329<PRE>
330protected int <B>engineGenerateSecret</B>(byte[] sharedSecret,
331 int offset)
332 throws java.lang.IllegalStateException,
333 javax.crypto.ShortBufferException</PRE>
334<DL>
335<DD><DL>
336<DT><B>Specified by:</B><DD><CODE>engineGenerateSecret</CODE> in class <CODE>javax.crypto.KeyAgreementSpi</CODE></DL>
337</DD>
338<DD><DL>
339
340<DT><B>Throws:</B>
341<DD><CODE>java.lang.IllegalStateException</CODE>
342<DD><CODE>javax.crypto.ShortBufferException</CODE></DL>
343</DD>
344</DL>
345<HR>
346
347<A NAME="engineGenerateSecret(java.lang.String)"><!-- --></A><H3>
348engineGenerateSecret</H3>
349<PRE>
350protected javax.crypto.SecretKey <B>engineGenerateSecret</B>(java.lang.String algorithm)
351 throws java.security.NoSuchAlgorithmException</PRE>
352<DL>
353<DD><DL>
354<DT><B>Specified by:</B><DD><CODE>engineGenerateSecret</CODE> in class <CODE>javax.crypto.KeyAgreementSpi</CODE></DL>
355</DD>
356<DD><DL>
357
358<DT><B>Throws:</B>
359<DD><CODE>java.security.NoSuchAlgorithmException</CODE></DL>
360</DD>
361</DL>
362<HR>
363
364<A NAME="engineInit(java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom)"><!-- --></A><H3>
365engineInit</H3>
366<PRE>
367protected void <B>engineInit</B>(java.security.Key key,
368 java.security.spec.AlgorithmParameterSpec params,
369 java.security.SecureRandom random)
370 throws java.security.InvalidKeyException,
371 java.security.InvalidAlgorithmParameterException</PRE>
372<DL>
373<DD><DL>
374<DT><B>Specified by:</B><DD><CODE>engineInit</CODE> in class <CODE>javax.crypto.KeyAgreementSpi</CODE></DL>
375</DD>
376<DD><DL>
377
378<DT><B>Throws:</B>
379<DD><CODE>java.security.InvalidKeyException</CODE>
380<DD><CODE>java.security.InvalidAlgorithmParameterException</CODE></DL>
381</DD>
382</DL>
383<HR>
384
385<A NAME="engineInit(java.security.Key, java.security.SecureRandom)"><!-- --></A><H3>
386engineInit</H3>
387<PRE>
388protected void <B>engineInit</B>(java.security.Key key,
389 java.security.SecureRandom random)
390 throws java.security.InvalidKeyException</PRE>
391<DL>
392<DD><DL>
393<DT><B>Specified by:</B><DD><CODE>engineInit</CODE> in class <CODE>javax.crypto.KeyAgreementSpi</CODE></DL>
394</DD>
395<DD><DL>
396
397<DT><B>Throws:</B>
398<DD><CODE>java.security.InvalidKeyException</CODE></DL>
399</DD>
400</DL>
401<!-- ========= END OF CLASS DATA ========= -->
402<HR>
403
404
405<!-- ======= START OF BOTTOM NAVBAR ====== -->
406<A NAME="navbar_bottom"><!-- --></A>
407<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
408<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
409<TR>
410<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
411<A NAME="navbar_bottom_firstrow"><!-- --></A>
412<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
413 <TR ALIGN="center" VALIGN="top">
414 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
415 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
416 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
417 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
418 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
419 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
420 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
421 </TR>
422</TABLE>
423</TD>
424<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
425<b>Bouncy Castle Cryptography Library 1.45</b></EM>
426</TD>
427</TR>
428
429<TR>
430<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
431 <A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/ECUtil.html" title="class in org.bouncycastle.jce.provider.asymmetric.ec"><B>PREV CLASS</B></A>
432 <A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.DH.html" title="class in org.bouncycastle.jce.provider.asymmetric.ec"><B>NEXT CLASS</B></A></FONT></TD>
433<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
434 <A HREF="../../../../../../index.html?org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.html" target="_top"><B>FRAMES</B></A>
435 <A HREF="KeyAgreement.html" target="_top"><B>NO FRAMES</B></A>
436 <SCRIPT type="text/javascript">
437 <!--
438 if(window==top) {
439 document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
440 }
441 //-->
442</SCRIPT>
443<NOSCRIPT>
444 <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
445</NOSCRIPT>
446
447
448</FONT></TD>
449</TR>
450<TR>
451<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
452 SUMMARY: <A HREF="#nested_class_summary">NESTED</A> | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
453<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
454DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
455</TR>
456</TABLE>
457<A NAME="skip-navbar_bottom"></A>
458<!-- ======== END OF BOTTOM NAVBAR ======= -->
459
460<HR>
461
462</BODY>
463</HTML>