⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ecnrsigner.html

📁 java非对称加密的源代码
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!--NewPage--><HTML><HEAD><!-- Generated by javadoc (build 1.5.0_08) on Wed Nov 07 10:29:41 EST 2007 --><TITLE>ECNRSigner (Bouncy Castle Library 1.38 API Specification)</TITLE><META NAME="keywords" CONTENT="org.bouncycastle.crypto.signers.ECNRSigner class"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){    parent.document.title="ECNRSigner (Bouncy Castle Library 1.38 API Specification)";}</SCRIPT><NOSCRIPT></NOSCRIPT></HEAD><BODY BGCOLOR="white" onload="windowTitle();"><!-- ========= START OF TOP NAVBAR ======= --><A NAME="navbar_top"><!-- --></A><A HREF="#skip-navbar_top" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">  <TR ALIGN="center" VALIGN="top">  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>  </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><b>Bouncy Castle Cryptography Library 1.38</b></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">&nbsp;<A HREF="../../../../org/bouncycastle/crypto/signers/ECGOST3410Signer.html" title="class in org.bouncycastle.crypto.signers"><B>PREV CLASS</B></A>&nbsp;&nbsp;<A HREF="../../../../org/bouncycastle/crypto/signers/GOST3410Signer.html" title="class in org.bouncycastle.crypto.signers"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">  <A HREF="../../../../index.html?org/bouncycastle/crypto/signers/ECNRSigner.html" target="_top"><B>FRAMES</B></A>  &nbsp;&nbsp;<A HREF="ECNRSigner.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;&nbsp;<SCRIPT type="text/javascript">  <!--  if(window==top) {    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');  }  //--></SCRIPT><NOSCRIPT>  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_top"></A><!-- ========= END OF TOP NAVBAR ========= --><HR><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">org.bouncycastle.crypto.signers</FONT><BR>Class ECNRSigner</H2><PRE>java.lang.Object  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.bouncycastle.crypto.signers.ECNRSigner</B></PRE><DL><DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/bouncycastle/crypto/DSA.html" title="interface in org.bouncycastle.crypto">DSA</A></DD></DL><HR><DL><DT><PRE>public class <B>ECNRSigner</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/bouncycastle/crypto/DSA.html" title="interface in org.bouncycastle.crypto">DSA</A></DL></PRE><P>EC-NR as described in IEEE 1363-2000<P><P><HR><P><!-- ======== CONSTRUCTOR SUMMARY ======== --><A NAME="constructor_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"><B>Constructor Summary</B></FONT></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><B><A HREF="../../../../org/bouncycastle/crypto/signers/ECNRSigner.html#ECNRSigner()">ECNRSigner</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD></TR></TABLE>&nbsp;<!-- ========== METHOD SUMMARY =========== --><A NAME="method_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"><B>Method Summary</B></FONT></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;java.math.BigInteger[]</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/bouncycastle/crypto/signers/ECNRSigner.html#generateSignature(byte[])">generateSignature</A></B>(byte[]&nbsp;digest)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;generate a signature for the given message using the key we were initialised with.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;void</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/bouncycastle/crypto/signers/ECNRSigner.html#init(boolean, org.bouncycastle.crypto.CipherParameters)">init</A></B>(boolean&nbsp;forSigning,     <A HREF="../../../../org/bouncycastle/crypto/CipherParameters.html" title="interface in org.bouncycastle.crypto">CipherParameters</A>&nbsp;param)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initialise the signer for signature generation or signature verification.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;boolean</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/bouncycastle/crypto/signers/ECNRSigner.html#verifySignature(byte[], java.math.BigInteger, java.math.BigInteger)">verifySignature</A></B>(byte[]&nbsp;digest,                java.math.BigInteger&nbsp;r,                java.math.BigInteger&nbsp;s)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true if the value r and s represent a signature for the  message passed in.</TD></TR></TABLE>&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD></TR></TABLE>&nbsp;<P><!-- ========= CONSTRUCTOR DETAIL ======== --><A NAME="constructor_detail"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"><B>Constructor Detail</B></FONT></TH></TR></TABLE><A NAME="ECNRSigner()"><!-- --></A><H3>ECNRSigner</H3><PRE>public <B>ECNRSigner</B>()</PRE><DL></DL><!-- ============ METHOD DETAIL ========== --><A NAME="method_detail"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"><B>Method Detail</B></FONT></TH></TR></TABLE><A NAME="init(boolean, org.bouncycastle.crypto.CipherParameters)"><!-- --></A><H3>init</H3><PRE>public void <B>init</B>(boolean&nbsp;forSigning,                 <A HREF="../../../../org/bouncycastle/crypto/CipherParameters.html" title="interface in org.bouncycastle.crypto">CipherParameters</A>&nbsp;param)</PRE><DL><DD><B>Description copied from interface: <CODE><A HREF="../../../../org/bouncycastle/crypto/DSA.html#init(boolean, org.bouncycastle.crypto.CipherParameters)">DSA</A></CODE></B></DD><DD>initialise the signer for signature generation or signature verification.<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/DSA.html#init(boolean, org.bouncycastle.crypto.CipherParameters)">init</A></CODE> in interface <CODE><A HREF="../../../../org/bouncycastle/crypto/DSA.html" title="interface in org.bouncycastle.crypto">DSA</A></CODE></DL></DD><DD><DL><DT><B>Parameters:</B><DD><CODE>forSigning</CODE> - true if we are generating a signature, false otherwise.<DD><CODE>param</CODE> - key parameters for signature generation.</DL></DD></DL><HR><A NAME="generateSignature(byte[])"><!-- --></A><H3>generateSignature</H3><PRE>public java.math.BigInteger[] <B>generateSignature</B>(byte[]&nbsp;digest)</PRE><DL><DD>generate a signature for the given message using the key we were initialised with.  Generally, the order of the curve should be at  least as long as the hash of the message of interest, and with  ECNR it *must* be at least as long.<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/DSA.html#generateSignature(byte[])">generateSignature</A></CODE> in interface <CODE><A HREF="../../../../org/bouncycastle/crypto/DSA.html" title="interface in org.bouncycastle.crypto">DSA</A></CODE></DL></DD><DD><DL><DT><B>Parameters:</B><DD><CODE>digest</CODE> - the digest to be signed.<DT><B>Returns:</B><DD>two big integers representing the r and s values respectively.<DT><B>Throws:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/DataLengthException.html" title="class in org.bouncycastle.crypto">DataLengthException</A></CODE> - if the digest is longer than the key allows</DL></DD></DL><HR><A NAME="verifySignature(byte[], java.math.BigInteger, java.math.BigInteger)"><!-- --></A><H3>verifySignature</H3><PRE>public boolean <B>verifySignature</B>(byte[]&nbsp;digest,                               java.math.BigInteger&nbsp;r,                               java.math.BigInteger&nbsp;s)</PRE><DL><DD>return true if the value r and s represent a signature for the  message passed in. Generally, the order of the curve should be at  least as long as the hash of the message of interest, and with  ECNR, it *must* be at least as long.  But just in case the signer applied mod(n) to the longer digest, this implementation will apply mod(n) during verification.<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/DSA.html#verifySignature(byte[], java.math.BigInteger, java.math.BigInteger)">verifySignature</A></CODE> in interface <CODE><A HREF="../../../../org/bouncycastle/crypto/DSA.html" title="interface in org.bouncycastle.crypto">DSA</A></CODE></DL></DD><DD><DL><DT><B>Parameters:</B><DD><CODE>digest</CODE> - the digest to be verified.<DD><CODE>r</CODE> - the r value of the signature.<DD><CODE>s</CODE> - the s value of the signature.<DT><B>Throws:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/DataLengthException.html" title="class in org.bouncycastle.crypto">DataLengthException</A></CODE> - if the digest is longer than the key allows</DL></DD></DL><!-- ========= END OF CLASS DATA ========= --><HR><!-- ======= START OF BOTTOM NAVBAR ====== --><A NAME="navbar_bottom"><!-- --></A><A HREF="#skip-navbar_bottom" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_bottom_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">  <TR ALIGN="center" VALIGN="top">  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>  </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><b>Bouncy Castle Cryptography Library 1.38</b></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">&nbsp;<A HREF="../../../../org/bouncycastle/crypto/signers/ECGOST3410Signer.html" title="class in org.bouncycastle.crypto.signers"><B>PREV CLASS</B></A>&nbsp;&nbsp;<A HREF="../../../../org/bouncycastle/crypto/signers/GOST3410Signer.html" title="class in org.bouncycastle.crypto.signers"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">  <A HREF="../../../../index.html?org/bouncycastle/crypto/signers/ECNRSigner.html" target="_top"><B>FRAMES</B></A>  &nbsp;&nbsp;<A HREF="ECNRSigner.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;&nbsp;<SCRIPT type="text/javascript">  <!--  if(window==top) {    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');  }  //--></SCRIPT><NOSCRIPT>  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_bottom"></A><!-- ======== END OF BOTTOM NAVBAR ======= --><HR></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -