亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? basersaprivatekey.java

?? jpeg2000編解碼
?? JAVA
字號:
// $Id: BaseRSAPrivateKey.java,v 1.1.1.1 2002/08/27 12:32:13 grosbois Exp $//// $Log: BaseRSAPrivateKey.java,v $// Revision 1.1.1.1  2002/08/27 12:32:13  grosbois// Add cryptix 3.2//// Revision 1.7  2000/08/17 11:41:00  edwin// java.* -> xjava.*//// Revision 1.6  1999/07/12 20:34:21  edwin// renaming java.security.interfaces.RSAPrivateKey and RSAPublicKey to CryptixRSAPrivateKey and CryptixRSAPublicKey. This is one more step to JDK1.2 compatibility.//// Revision 1.5  1997/11/23 03:09:18  hopwood// + Mostly documentation changes.//// Revision 1.4.1  1997/11/22  hopwood// + Swapped order of n and d parameters to setRsaParams, to be consistent//   with BaseRSAPublicKey.//// Revision 1.4  1997/11/20 19:46:57  hopwood// + cryptix.util.* name changes.//// Revision 1.3  1997/11/05 08:01:56  raif// *** empty log message ***//// Revision 1.2  1997/11/04 19:33:31  raif// *** empty log message ***//// Revision 1.1.1.1  1997/11/03 22:36:56  hopwood// + Imported to CVS (tagged as 'start').//// Revision 0.1.0.2  1997/08/27  David Hopwood// + Misc. fixes.//// Revision 0.1.0.1  1997/08/23  David Hopwood// + Now u = q^-1 (mod p), not p^-1 (mod q). Apart from PGP, this is//   more commonly used (e.g. see the P1363 draft).// + Added check that uq = 1 (mod p). If this check fails, a debugging//   message is printed, and the given value of u is ignored. This is//   worthwhile because uq (mod p) is much faster to calculate than//   q^-1 (mod p), and it makes the code robust against errors where//   p and q are incorrectly swapped.//// Revision 0.1.0.0  1997/07/23  R. Naffah// + Original version.//// $Endlog$/* * Copyright (c) 1997 Systemics Ltd * on behalf of the Cryptix Development Team.  All rights reserved. */package cryptix.provider.rsa;import cryptix.util.core.Debug;import cryptix.util.core.BI;import java.io.PrintWriter;import java.math.BigInteger;import java.security.InvalidParameterException;import xjava.security.interfaces.CryptixRSAPrivateKey;import xjava.security.interfaces.RSAFactors;/** * An abstract class representing an RSA private key. * <p> * <b>Copyright</b> &copy; 1997 * <a href="http://www.systemics.com/">Systemics Ltd</a> on behalf of the * <a href="http://www.systemics.com/docs/cryptix/">Cryptix Development Team</a>. * <br>All rights reserved. * <p> * <b>$Revision: 1.1.1.1 $</b> * @author  Raif S. Naffah * @author  David Hopwood * @since   Cryptix 2.2.2 */public abstract class BaseRSAPrivateKeyimplements CryptixRSAPrivateKey, RSAFactors{// Debugging methods and vars.//...........................................................................    private static final boolean DEBUG = Debug.GLOBAL_DEBUG;    private static final int debuglevel =        DEBUG ? Debug.getLevel("RSA", "BaseRSAPrivateKey") : 0;    private static final PrintWriter err = DEBUG ? Debug.getOutput() : null;    private static void debug(String s) { err.println("BaseRSAPrivateKey: " + s); }// Variables//...........................................................................    private static final BigInteger ZERO = BigInteger.valueOf(0L);    private static final BigInteger ONE =  BigInteger.valueOf(1L);    /**     * Public decryption modulus. It is the product of the two <i>p</i>     * and <i>q</i> factors.     */    private BigInteger n;    /**     * Private encryption exponent. Traditionally referred to as <i>d</i>.     */    private BigInteger d;    /**     * The first factor of the public modulus <i>n</i> traditionally     * referred to as <i>p</i>.     */    private BigInteger p;    /**     * The second factor of the public modulus <i>n</i> traditionally     * referred to as <i>q</i>.     */    private BigInteger q;    /**     * The result of <i>q</i>^-1 (mod <i>p</i>), called the 'multiplicative     * inverse' and traditionally referred to as <i>u</i>. This is used in     * modular exponentiation operations using the Chinese Remainder     * Theorem (CRT).     */    private BigInteger u;// Constructor//...........................................................................    /**     * Constructs an RSA private key, without setting the parameters.     * Subclasses should call one of the setRsaParams methods in each of     * their constructors.     */    protected BaseRSAPrivateKey() {}// RSAKey interface methods implementation//...........................................................................    /**     * Return the public modulus <i>n</i>: the product of both <i>p</i>     * and <i>q</i>.     *     * @return the public modulus <i>n</i>: the product of both <i>p</i>     *         and <i>q</i>.     */    public BigInteger getModulus() { return n; }    /**     * Return the private exponent <i>d</i>.     *     * @return the private exponent <i>d</i>.     */    public BigInteger getExponent() { return d; }// RSAFactors interface methods implementation//...........................................................................    /**     * Returns <i>p</i>, the first factor of the public modulus.     *     * @return the first factor <i>p</i>     */    public BigInteger getP() { return p; }    /**     * Return <i>q</i>, the second factor of the public modulus.     *     * @return the second factor <i>q</i>     */    public BigInteger getQ() { return q; }    /**     * Returns the multiplicative inverse of <i>q</i> modulo <i>p</i>. The     * values <i>p</i> and <i>q</i> are those returned by the <i>getP()</i>     * and <i>getQ()</i> methods respectively.     *     * @return the multiplicative inverse of <i>q</i> modulo <i>p</i>.     */    public BigInteger getInverseOfQModP() { return u; }// Key interface methods implementation//...........................................................................    /**     * Returns the name of the algorithm, for this class always "RSA".     *     * @return the name of the algorithm, "RSA".     */    public String getAlgorithm() { return "RSA"; }// Own methods//...........................................................................    /**     * Sets the RSA parameters <i>n</i> and <i>d</i>.     *     * @exception NullPointerException if n == null || d == null     */    protected void setRsaParams(BigInteger n, BigInteger d) {        if (n == null) throw new NullPointerException("n == null");        if (d == null) throw new NullPointerException("d == null");        this.n = n;        this.d = d;    }    /**     * Sets the RSA parameters <i>d</i>, <i>p</i>, <i>q</i>, and <i>u</i>,     * to allow fast execution of mathematical operations performed later     * on during the life of this key. <i>u</i> may be null, in which case     * it is calculated automatically.     *     * @exception NullPointerException if d == null || p == null || q == null     * @exception InvalidParameterException if u must be calculated, and     *              gcd(q, p) != 1     */    protected void setRsaParams(BigInteger d, BigInteger p, BigInteger q,                                BigInteger u) {        if (d == null) throw new NullPointerException("d == null");        this.n = p.multiply(q);        this.d = d;        this.p = p;        this.q = q;        if (u != null && !u.multiply(q).mod(p).equals(ONE)) {            if (DEBUG && debuglevel >= 1) debug("uq != 1 (mod p)");            u = null;        }        if (u == null) {            try {                u = q.modInverse(p);            } catch (ArithmeticException ae) {                if (DEBUG && debuglevel >= 1) {                    if (p.compareTo(ZERO) <= 0) debug("p <= 0");                    if (p.equals(q)) debug("p == q");                    if (!p.isProbablePrime(80)) debug("p is composite");                    if (!q.isProbablePrime(80)) debug("q is composite");                }                throw new InvalidParameterException("gcd(q, p) != 1");            }        }        this.u = u;    }    /**     * Returns a string representation of this key. This may reveal     * private information when debugging is enabled, and should be used     * with care.     *     * @return a string representation of this key.     */    public String toString() {        if (DEBUG && debuglevel >= 5) {            return "<----- RSAPrivateKey:\n" +                   "         d: " + BI.dumpString(d) +                   "         p: " + BI.dumpString(p) +                   "         q: " + BI.dumpString(q) +                   "q^-1 mod p: " + BI.dumpString(u) +                   "----->\n";        } else {            return "<BaseRSAPrivateKey>";        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区三区免费看| 在线观看av一区| 日韩视频一区在线观看| 色综合久久综合网| 久久99精品一区二区三区三区| 久久午夜色播影院免费高清| 色综合一区二区| 麻豆精品在线视频| 亚洲免费观看在线视频| 91精品在线免费| 成人免费高清在线| 麻豆中文一区二区| 久久福利视频一区二区| 亚洲夂夂婷婷色拍ww47| 久久久久久久久一| 欧美电影在哪看比较好| 色综合天天视频在线观看 | 成人97人人超碰人人99| 亚洲国产成人tv| 国产精品三级视频| 精品免费国产一区二区三区四区| 欧美高清www午色夜在线视频| 91免费视频网| 国产一区二区三区综合| 午夜影院久久久| 亚洲欧洲精品一区二区三区不卡| 亚洲精品在线免费观看视频| 欧美电影影音先锋| 国产午夜一区二区三区| 久久久久久久久蜜桃| 一区在线播放视频| 无码av免费一区二区三区试看| 亚洲精品国久久99热| 国产精品午夜在线观看| 亚洲小少妇裸体bbw| 久久国产精品免费| 日本高清免费不卡视频| 色偷偷久久一区二区三区| 欧美日本精品一区二区三区| 欧美色欧美亚洲另类二区| 欧洲色大大久久| 久久久不卡网国产精品二区| 亚洲午夜三级在线| 国产精品一卡二卡| 从欧美一区二区三区| 欧美人动与zoxxxx乱| 国产精品毛片大码女人| 秋霞国产午夜精品免费视频| 五月婷婷欧美视频| 成人av在线资源| 日韩欧美中文字幕精品| 亚洲国产欧美在线人成| 国产一区二区三区日韩| 欧美人与禽zozo性伦| 亚洲同性同志一二三专区| 亚洲综合精品久久| 成人性生交大合| 久久综合网色—综合色88| 日韩高清在线观看| 国产一区二区三区精品欧美日韩一区二区三区| 91亚洲午夜精品久久久久久| 久久久www成人免费毛片麻豆 | 欧美亚洲一区二区在线| 在线观看欧美黄色| 国产精品久久久99| 天天操天天色综合| 日本二三区不卡| 亚洲天天做日日做天天谢日日欢 | 欧美一区二区性放荡片| ww久久中文字幕| 蜜臀久久99精品久久久久宅男| 欧美亚洲一区三区| 亚洲精品乱码久久久久久久久| av欧美精品.com| 日韩亚洲欧美在线| 日韩精彩视频在线观看| 波多野结衣在线一区| 国产亚洲一本大道中文在线| 国产麻豆精品theporn| 精品久久久久久无| 国产一区二区美女| 久久久亚洲午夜电影| 国模冰冰炮一区二区| 欧美在线观看一区| 亚洲午夜视频在线| 69堂精品视频| 极品瑜伽女神91| 欧美韩国一区二区| 久久99国产乱子伦精品免费| 欧美大尺度电影在线| 亚洲色欲色欲www| 91精彩视频在线| 亚洲成人福利片| 日韩你懂的在线观看| 国产麻豆日韩欧美久久| 国产精品国产自产拍高清av王其| 91在线porny国产在线看| 亚洲精品你懂的| 欧美一区二区三区在线观看视频 | 国产精品免费aⅴ片在线观看| 国产成人免费视频精品含羞草妖精| 国产情人综合久久777777| 亚洲一区二区三区在线播放| 欧美日韩一区 二区 三区 久久精品 | 在线观看国产91| 免费成人小视频| 日本一区二区三区视频视频| 91成人免费电影| 精品一区二区成人精品| 国产精品欧美综合在线| 欧美高清视频不卡网| 国产精品中文字幕日韩精品| 亚洲美女少妇撒尿| 欧美成人三级在线| 在线观看视频一区| 国产xxx精品视频大全| 精品国产露脸精彩对白| 91麻豆产精品久久久久久 | 欧美激情自拍偷拍| 91国模大尺度私拍在线视频| 精品一区二区在线免费观看| 亚洲女人****多毛耸耸8| 欧美一区二区三区四区在线观看 | 麻豆国产一区二区| 亚洲欧美日韩一区二区三区在线观看| 欧美肥大bbwbbw高潮| 99久久综合色| 国产一区二区三区久久久| 亚洲123区在线观看| 亚洲三级电影网站| 国产欧美一区二区精品性| 欧美一区日本一区韩国一区| 色综合久久中文综合久久牛| 国产成人精品影视| 久久国产生活片100| 午夜国产精品一区| 亚洲黄色免费电影| 亚洲三级在线观看| 国产精品色婷婷| 日本一区二区不卡视频| 2020国产精品自拍| 日韩免费观看高清完整版在线观看| 日本电影欧美片| 一本大道av一区二区在线播放| 国产福利一区二区三区视频| 精品伊人久久久久7777人| 免费在线观看视频一区| 婷婷成人综合网| 亚洲福利视频一区二区| 亚洲午夜久久久久久久久电影网 | 日韩1区2区日韩1区2区| 一区二区三区在线播放| 欧美电影免费观看完整版| 91精品国产色综合久久不卡电影| 在线免费亚洲电影| 在线视频欧美精品| 欧美日韩免费观看一区三区| 91传媒视频在线播放| 欧美在线观看你懂的| 欧美亚洲一区二区在线观看| 欧美午夜精品免费| 欧美日韩国产另类不卡| 欧美一区午夜精品| 精品成人佐山爱一区二区| 久久综合九色综合欧美98| 久久综合久久鬼色中文字| 国产亚洲欧美日韩日本| 国产精品久久三| 一区二区高清免费观看影视大全| 亚洲一区二区三区在线| 日韩电影在线一区二区三区| 日本vs亚洲vs韩国一区三区二区| 久热成人在线视频| 国产成人综合亚洲网站| 色婷婷综合视频在线观看| 欧美日韩黄色一区二区| 久久综合久久鬼色中文字| 国产精品久久福利| 日韩高清一级片| 岛国一区二区三区| 欧美体内she精视频| 日韩精品中文字幕在线一区| 日本一区二区高清| 亚洲高清免费观看高清完整版在线观看| 丝袜亚洲精品中文字幕一区| 激情亚洲综合在线| 91国产精品成人| 日韩欧美中文一区| 亚洲桃色在线一区| 麻豆91小视频| 色婷婷精品久久二区二区蜜臂av| 欧美一卡二卡三卡| 亚洲人吸女人奶水| 久久99国产精品免费| 欧洲一区二区av| 日本一区二区三区视频视频| 日本欧美久久久久免费播放网| 国产aⅴ综合色| 日韩欧美激情四射| 亚洲一区二区欧美|