PageRenderTime 38ms CodeModel.GetById 15ms app.highlight 18ms RepoModel.GetById 1ms app.codeStats 0ms

/lib/bouncycastle/docs/org/bouncycastle/jce/provider/asymmetric/ec/KeyAgreement.html

https://bitbucket.org/arkban/somersault
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>&nbsp;</TD>
 41  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
 42  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
 43  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
 44  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
 45  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
 46  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</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&nbsp;<A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/ECUtil.html" title="class in org.bouncycastle.jce.provider.asymmetric.ec"><B>PREV CLASS</B></A>&nbsp;
 58&nbsp;<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>  &nbsp;
 61&nbsp;<A HREF="KeyAgreement.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
 62&nbsp;<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:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
 79<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
 80DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<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&nbsp;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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
132</TR>
133<TR BGCOLOR="white" CLASS="TableRowColor">
134<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
135<CODE>static&nbsp;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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
140</TR>
141<TR BGCOLOR="white" CLASS="TableRowColor">
142<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
143<CODE>static&nbsp;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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
148</TR>
149<TR BGCOLOR="white" CLASS="TableRowColor">
150<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
151<CODE>static&nbsp;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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
156</TR>
157<TR BGCOLOR="white" CLASS="TableRowColor">
158<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
159<CODE>static&nbsp;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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
164</TR>
165</TABLE>
166&nbsp;
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&nbsp;kaAlgorithm,
179             <A HREF="../../../../../../org/bouncycastle/crypto/BasicAgreement.html" title="interface in org.bouncycastle.crypto">BasicAgreement</A>&nbsp;agreement,
180             <A HREF="../../../../../../org/bouncycastle/crypto/DerivationFunction.html" title="interface in org.bouncycastle.crypto">DerivationFunction</A>&nbsp;kdf)</CODE>
181
182<BR>
183&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
184</TR>
185</TABLE>
186&nbsp;
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 &nbsp;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&nbsp;key,
199              boolean&nbsp;lastPhase)</CODE>
200
201<BR>
202&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
203</TR>
204<TR BGCOLOR="white" CLASS="TableRowColor">
205<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
206<CODE>protected &nbsp;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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
211</TR>
212<TR BGCOLOR="white" CLASS="TableRowColor">
213<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
214<CODE>protected &nbsp;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[]&nbsp;sharedSecret,
216                     int&nbsp;offset)</CODE>
217
218<BR>
219&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
220</TR>
221<TR BGCOLOR="white" CLASS="TableRowColor">
222<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
223<CODE>protected &nbsp;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&nbsp;algorithm)</CODE>
225
226<BR>
227&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
228</TR>
229<TR BGCOLOR="white" CLASS="TableRowColor">
230<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
231<CODE>protected &nbsp;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&nbsp;key,
233           java.security.spec.AlgorithmParameterSpec&nbsp;params,
234           java.security.SecureRandom&nbsp;random)</CODE>
235
236<BR>
237&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
238</TR>
239<TR BGCOLOR="white" CLASS="TableRowColor">
240<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
241<CODE>protected &nbsp;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&nbsp;key,
243           java.security.SecureRandom&nbsp;random)</CODE>
244
245<BR>
246&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
247</TR>
248</TABLE>
249&nbsp;<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&nbsp;
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&nbsp;kaAlgorithm,
275                       <A HREF="../../../../../../org/bouncycastle/crypto/BasicAgreement.html" title="interface in org.bouncycastle.crypto">BasicAgreement</A>&nbsp;agreement,
276                       <A HREF="../../../../../../org/bouncycastle/crypto/DerivationFunction.html" title="interface in org.bouncycastle.crypto">DerivationFunction</A>&nbsp;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&nbsp;key,
294                                          boolean&nbsp;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[]&nbsp;sharedSecret,
331                                   int&nbsp;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&nbsp;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&nbsp;key,
368                          java.security.spec.AlgorithmParameterSpec&nbsp;params,
369                          java.security.SecureRandom&nbsp;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&nbsp;key,
389                          java.security.SecureRandom&nbsp;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>&nbsp;</TD>
415  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
416  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
417  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
418  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
419  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
420  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</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&nbsp;<A HREF="../../../../../../org/bouncycastle/jce/provider/asymmetric/ec/ECUtil.html" title="class in org.bouncycastle.jce.provider.asymmetric.ec"><B>PREV CLASS</B></A>&nbsp;
432&nbsp;<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>  &nbsp;
435&nbsp;<A HREF="KeyAgreement.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
436&nbsp;<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:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
453<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
454DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<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>