/lib/bouncycastle/docs/org/bouncycastle/crypto/engines/RSABlindingEngine.html
https://bitbucket.org/arkban/somersault · HTML · 352 lines · 290 code · 40 blank · 22 comment · 0 complexity · e1efc18f7a168dbb6cedac8033a2622a MD5 · raw file
- <!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.6.0) on Mon Jan 11 13:46:35 EST 2010 -->
- <TITLE>
- RSABlindingEngine (Bouncy Castle Library 1.45 API Specification)
- </TITLE>
- <META NAME="date" CONTENT="2010-01-11">
- <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
- <SCRIPT type="text/javascript">
- function windowTitle()
- {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="RSABlindingEngine (Bouncy Castle Library 1.45 API Specification)";
- }
- }
- </SCRIPT>
- <NOSCRIPT>
- </NOSCRIPT>
- </HEAD>
- <BODY BGCOLOR="white" onload="windowTitle();">
- <HR>
- <!-- ========= 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> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
- <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
- </TR>
- </TABLE>
- </TD>
- <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
- <b>Bouncy Castle Cryptography Library 1.45</b></EM>
- </TD>
- </TR>
- <TR>
- <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
- <A HREF="../../../../org/bouncycastle/crypto/engines/RSABlindedEngine.html" title="class in org.bouncycastle.crypto.engines"><B>PREV CLASS</B></A>
- <A HREF="../../../../org/bouncycastle/crypto/engines/RSAEngine.html" title="class in org.bouncycastle.crypto.engines"><B>NEXT CLASS</B></A></FONT></TD>
- <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
- <A HREF="../../../../index.html?org/bouncycastle/crypto/engines/RSABlindingEngine.html" target="_top"><B>FRAMES</B></A>
- <A HREF="RSABlindingEngine.html" target="_top"><B>NO FRAMES</B></A>
- <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: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
- <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
- DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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.engines</FONT>
- <BR>
- Class RSABlindingEngine</H2>
- <PRE>
- java.lang.Object
- <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.bouncycastle.crypto.engines.RSABlindingEngine</B>
- </PRE>
- <DL>
- <DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/bouncycastle/crypto/AsymmetricBlockCipher.html" title="interface in org.bouncycastle.crypto">AsymmetricBlockCipher</A></DD>
- </DL>
- <HR>
- <DL>
- <DT><PRE>public class <B>RSABlindingEngine</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/bouncycastle/crypto/AsymmetricBlockCipher.html" title="interface in org.bouncycastle.crypto">AsymmetricBlockCipher</A></DL>
- </PRE>
- <P>
- This does your basic RSA Chaum's blinding and unblinding as outlined in
- "Handbook of Applied Cryptography", page 475. You need to use this if you are
- trying to get another party to generate signatures without them being aware
- of the message they are signing.
- <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/engines/RSABlindingEngine.html#RSABlindingEngine()">RSABlindingEngine</A></B>()</CODE>
- <BR>
- </TD>
- </TR>
- </TABLE>
-
- <!-- ========== 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> int</CODE></FONT></TD>
- <TD><CODE><B><A HREF="../../../../org/bouncycastle/crypto/engines/RSABlindingEngine.html#getInputBlockSize()">getInputBlockSize</A></B>()</CODE>
- <BR>
- Return the maximum size for an input block to this engine.</TD>
- </TR>
- <TR BGCOLOR="white" CLASS="TableRowColor">
- <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
- <CODE> int</CODE></FONT></TD>
- <TD><CODE><B><A HREF="../../../../org/bouncycastle/crypto/engines/RSABlindingEngine.html#getOutputBlockSize()">getOutputBlockSize</A></B>()</CODE>
- <BR>
- Return the maximum size for an output block to this engine.</TD>
- </TR>
- <TR BGCOLOR="white" CLASS="TableRowColor">
- <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
- <CODE> void</CODE></FONT></TD>
- <TD><CODE><B><A HREF="../../../../org/bouncycastle/crypto/engines/RSABlindingEngine.html#init(boolean, org.bouncycastle.crypto.CipherParameters)">init</A></B>(boolean forEncryption,
- <A HREF="../../../../org/bouncycastle/crypto/CipherParameters.html" title="interface in org.bouncycastle.crypto">CipherParameters</A> param)</CODE>
- <BR>
- Initialise the blinding engine.</TD>
- </TR>
- <TR BGCOLOR="white" CLASS="TableRowColor">
- <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
- <CODE> byte[]</CODE></FONT></TD>
- <TD><CODE><B><A HREF="../../../../org/bouncycastle/crypto/engines/RSABlindingEngine.html#processBlock(byte[], int, int)">processBlock</A></B>(byte[] in,
- int inOff,
- int inLen)</CODE>
- <BR>
- Process a single block using the RSA blinding algorithm.</TD>
- </TR>
- </TABLE>
- <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>
-
- <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="RSABlindingEngine()"><!-- --></A><H3>
- RSABlindingEngine</H3>
- <PRE>
- public <B>RSABlindingEngine</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 forEncryption,
- <A HREF="../../../../org/bouncycastle/crypto/CipherParameters.html" title="interface in org.bouncycastle.crypto">CipherParameters</A> param)</PRE>
- <DL>
- <DD>Initialise the blinding engine.
- <P>
- <DD><DL>
- <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/AsymmetricBlockCipher.html#init(boolean, org.bouncycastle.crypto.CipherParameters)">init</A></CODE> in interface <CODE><A HREF="../../../../org/bouncycastle/crypto/AsymmetricBlockCipher.html" title="interface in org.bouncycastle.crypto">AsymmetricBlockCipher</A></CODE></DL>
- </DD>
- <DD><DL>
- <DT><B>Parameters:</B><DD><CODE>forEncryption</CODE> - true if we are encrypting (blinding), false otherwise.<DD><CODE>param</CODE> - the necessary RSA key parameters.</DL>
- </DD>
- </DL>
- <HR>
- <A NAME="getInputBlockSize()"><!-- --></A><H3>
- getInputBlockSize</H3>
- <PRE>
- public int <B>getInputBlockSize</B>()</PRE>
- <DL>
- <DD>Return the maximum size for an input block to this engine.
- For RSA this is always one byte less than the key size on
- encryption, and the same length as the key size on decryption.
- <P>
- <DD><DL>
- <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/AsymmetricBlockCipher.html#getInputBlockSize()">getInputBlockSize</A></CODE> in interface <CODE><A HREF="../../../../org/bouncycastle/crypto/AsymmetricBlockCipher.html" title="interface in org.bouncycastle.crypto">AsymmetricBlockCipher</A></CODE></DL>
- </DD>
- <DD><DL>
- <DT><B>Returns:</B><DD>maximum size for an input block.</DL>
- </DD>
- </DL>
- <HR>
- <A NAME="getOutputBlockSize()"><!-- --></A><H3>
- getOutputBlockSize</H3>
- <PRE>
- public int <B>getOutputBlockSize</B>()</PRE>
- <DL>
- <DD>Return the maximum size for an output block to this engine.
- For RSA this is always one byte less than the key size on
- decryption, and the same length as the key size on encryption.
- <P>
- <DD><DL>
- <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/AsymmetricBlockCipher.html#getOutputBlockSize()">getOutputBlockSize</A></CODE> in interface <CODE><A HREF="../../../../org/bouncycastle/crypto/AsymmetricBlockCipher.html" title="interface in org.bouncycastle.crypto">AsymmetricBlockCipher</A></CODE></DL>
- </DD>
- <DD><DL>
- <DT><B>Returns:</B><DD>maximum size for an output block.</DL>
- </DD>
- </DL>
- <HR>
- <A NAME="processBlock(byte[], int, int)"><!-- --></A><H3>
- processBlock</H3>
- <PRE>
- public byte[] <B>processBlock</B>(byte[] in,
- int inOff,
- int inLen)</PRE>
- <DL>
- <DD>Process a single block using the RSA blinding algorithm.
- <P>
- <DD><DL>
- <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/bouncycastle/crypto/AsymmetricBlockCipher.html#processBlock(byte[], int, int)">processBlock</A></CODE> in interface <CODE><A HREF="../../../../org/bouncycastle/crypto/AsymmetricBlockCipher.html" title="interface in org.bouncycastle.crypto">AsymmetricBlockCipher</A></CODE></DL>
- </DD>
- <DD><DL>
- <DT><B>Parameters:</B><DD><CODE>in</CODE> - the input array.<DD><CODE>inOff</CODE> - the offset into the input buffer where the data starts.<DD><CODE>inLen</CODE> - the length of the data to be processed.
- <DT><B>Returns:</B><DD>the result of the RSA process.
- <DT><B>Throws:</B>
- <DD><CODE><A HREF="../../../../org/bouncycastle/crypto/DataLengthException.html" title="class in org.bouncycastle.crypto">DataLengthException</A></CODE> - the input block is too large.</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> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
- <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
- </TR>
- </TABLE>
- </TD>
- <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
- <b>Bouncy Castle Cryptography Library 1.45</b></EM>
- </TD>
- </TR>
- <TR>
- <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
- <A HREF="../../../../org/bouncycastle/crypto/engines/RSABlindedEngine.html" title="class in org.bouncycastle.crypto.engines"><B>PREV CLASS</B></A>
- <A HREF="../../../../org/bouncycastle/crypto/engines/RSAEngine.html" title="class in org.bouncycastle.crypto.engines"><B>NEXT CLASS</B></A></FONT></TD>
- <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
- <A HREF="../../../../index.html?org/bouncycastle/crypto/engines/RSABlindingEngine.html" target="_top"><B>FRAMES</B></A>
- <A HREF="RSABlindingEngine.html" target="_top"><B>NO FRAMES</B></A>
- <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: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
- <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
- DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
- </TR>
- </TABLE>
- <A NAME="skip-navbar_bottom"></A>
- <!-- ======== END OF BOTTOM NAVBAR ======= -->
- <HR>
- </BODY>
- </HTML>