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

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

?? ecgost3410signer.java

?? 內容:基于jdk1.4的加密算法的具體實現
?? JAVA
字號:
package org.bouncycastle.crypto.signers;import org.bouncycastle.math.ec.ECConstants;import org.bouncycastle.math.ec.ECPoint;import org.bouncycastle.crypto.params.ECKeyParameters;import org.bouncycastle.crypto.params.ParametersWithRandom;import org.bouncycastle.crypto.params.ECPrivateKeyParameters;import org.bouncycastle.crypto.params.ECPublicKeyParameters;import org.bouncycastle.crypto.CipherParameters;import org.bouncycastle.crypto.DSA;import java.security.SecureRandom;import java.math.BigInteger;/** * GOST R 34.10-2001 Signature Algorithm */public class ECGOST3410Signer    implements DSA{    ECKeyParameters key;    SecureRandom    random;    public void init(        boolean                 forSigning,        CipherParameters        param)    {        if (forSigning)        {            if (param instanceof ParametersWithRandom)            {                ParametersWithRandom    rParam = (ParametersWithRandom)param;                this.random = rParam.getRandom();                this.key = (ECPrivateKeyParameters)rParam.getParameters();            }            else            {                this.random = new SecureRandom();                this.key = (ECPrivateKeyParameters)param;            }        }        else        {            this.key = (ECPublicKeyParameters)param;        }    }    /**     * generate a signature for the given message using the key we were     * initialised with. For conventional GOST3410 the message should be a GOST3411     * hash of the message of interest.     *     * @param message the message that will be verified later.     */    public BigInteger[] generateSignature(        byte[] message)    {        byte[] mRev = new byte[message.length]; // conversion is little-endian        for (int i = 0; i != mRev.length; i++)        {            mRev[i] = message[mRev.length - 1 - i];        }                BigInteger e = new BigInteger(1, mRev);        BigInteger n = key.getParameters().getN();        BigInteger r = null;        BigInteger s = null;        do // generate s        {            BigInteger k = null;            do // generate r            {                do                {                    k = new BigInteger(n.bitLength(), random);                }                while (k.equals(ECConstants.ZERO));                ECPoint p = key.getParameters().getG().multiply(k);                BigInteger x = p.getX().toBigInteger();                r = x.mod(n);            }            while (r.equals(ECConstants.ZERO));            BigInteger d = ((ECPrivateKeyParameters)key).getD();            s = (k.multiply(e)).add(d.multiply(r)).mod(n);        }        while (s.equals(ECConstants.ZERO));        BigInteger[]  res = new BigInteger[2];        res[0] = r;        res[1] = s;        return res;    }    /**     * return true if the value r and s represent a GOST3410 signature for     * the passed in message (for standard GOST3410 the message should be     * a GOST3411 hash of the real message to be verified).     */    public boolean verifySignature(        byte[]      message,        BigInteger  r,        BigInteger  s)    {        byte[] mRev = new byte[message.length]; // conversion is little-endian        for (int i = 0; i != mRev.length; i++)        {            mRev[i] = message[mRev.length - 1 - i];        }                BigInteger e = new BigInteger(1, mRev);        BigInteger n = key.getParameters().getN();        // r in the range [1,n-1]        if (r.compareTo(ECConstants.ONE) < 0 || r.compareTo(n) >= 0)        {            return false;        }        // s in the range [1,n-1]        if (s.compareTo(ECConstants.ONE) < 0 || s.compareTo(n) >= 0)        {            return false;        }        BigInteger v = e.modInverse(n);        BigInteger z1 = s.multiply(v).mod(n);        BigInteger z2 = (n.subtract(r)).multiply(v).mod(n);        ECPoint G = key.getParameters().getG(); // P        ECPoint Q = ((ECPublicKeyParameters)key).getQ();        ECPoint point = G.multiply(z1).add(Q.multiply(z2));        BigInteger R = point.getX().toBigInteger().mod(n);        return R.equals(r);    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品在线播放| 亚洲图片你懂的| 欧美无砖专区一中文字| 大胆亚洲人体视频| 国产呦萝稀缺另类资源| 精品一区二区三区视频在线观看| 日韩va亚洲va欧美va久久| 国产精品久久免费看| 欧美一级电影网站| 91精品在线一区二区| 欧美福利视频一区| 欧美喷水一区二区| 欧美久久高跟鞋激| 欧美一区二区三区思思人| 欧美一区二区三区在线看| 日韩欧美中文一区二区| 久久香蕉国产线看观看99| 国产精品水嫩水嫩| 亚洲免费观看在线观看| 亚洲国产视频一区二区| 奇米精品一区二区三区在线观看一| 日本在线不卡视频| 国产精品一区二区三区99| 成人精品国产一区二区4080| 色综合一个色综合亚洲| 成人av影院在线| 午夜日韩在线电影| 日本不卡一二三| 国产乱人伦精品一区二区在线观看| 国产成人综合自拍| 色94色欧美sute亚洲线路一久| 宅男在线国产精品| 日韩欧美中文字幕一区| 国产精品久久网站| 日韩中文字幕不卡| 成人黄色小视频| 欧美日韩国产成人在线91| 日韩免费一区二区三区在线播放| 国产精品热久久久久夜色精品三区| 亚洲午夜视频在线观看| 经典一区二区三区| 91在线观看一区二区| 日韩一区二区在线免费观看| 国产精品视频一二三区| 婷婷六月综合亚洲| www.日本不卡| 久久综合五月天婷婷伊人| 一区二区三区小说| 高清日韩电视剧大全免费| 欧美区一区二区三区| 亚洲天堂2014| 国产一区二区91| 欧美一级片在线| 亚洲综合999| 99久久精品国产精品久久| 欧美电视剧免费全集观看| 一个色妞综合视频在线观看| 风间由美性色一区二区三区| 日韩美女在线视频| 亚洲成人一二三| 色噜噜狠狠一区二区三区果冻| 国产三区在线成人av| 久88久久88久久久| 91精品在线麻豆| 天天做天天摸天天爽国产一区| 91免费国产在线| 国产精品麻豆99久久久久久| 经典三级视频一区| 欧美大片在线观看一区二区| 日韩综合小视频| 欧美日精品一区视频| 亚洲在线视频一区| 色av综合在线| 亚洲一区二区黄色| 欧美性大战久久| 亚洲午夜久久久久| 欧美视频中文字幕| 五月天激情小说综合| 欧美日韩一卡二卡三卡| 亚洲h精品动漫在线观看| 欧美最新大片在线看| 亚洲成人久久影院| 欧美一级日韩不卡播放免费| 奇米精品一区二区三区四区| 精品久久五月天| 国产河南妇女毛片精品久久久| 日本一区二区三区四区| 成人免费高清在线| 亚洲精品国产精华液| 欧美中文字幕一二三区视频| 午夜亚洲福利老司机| 91精品国产入口在线| 老鸭窝一区二区久久精品| 日韩精品在线网站| 国产精品亚洲一区二区三区妖精| 国产精品久线在线观看| 色综合久久66| 奇米一区二区三区av| 国产视频亚洲色图| 欧亚洲嫩模精品一区三区| 青草av.久久免费一区| 国产视频一区在线播放| 在线看不卡av| 国内精品视频一区二区三区八戒| 中文字幕av不卡| 欧美色精品天天在线观看视频| 日本在线不卡视频| 国产精品久久精品日日| 欧美日韩国产成人在线免费| 免费久久精品视频| 欧美在线free| 美女在线一区二区| 国产精品久久久久影院色老大| 欧美色涩在线第一页| 国产乱人伦偷精品视频免下载| 亚洲欧美国产三级| 精品国产一区二区精华| 欧美无人高清视频在线观看| 国产在线不卡一卡二卡三卡四卡| 亚洲免费观看高清完整版在线观看| 在线播放中文一区| www.亚洲激情.com| 美国一区二区三区在线播放| 成人免费一区二区三区视频| 日韩精品中文字幕一区| 一本久久综合亚洲鲁鲁五月天 | 久久亚洲春色中文字幕久久久| 成人动漫一区二区在线| 麻豆中文一区二区| 亚洲自拍偷拍麻豆| 中文字幕高清一区| 精品国内二区三区| 欧美中文字幕不卡| 91视频一区二区| 国产99精品在线观看| 男女性色大片免费观看一区二区 | 亚洲一区在线观看免费观看电影高清 | 国产美女久久久久| 午夜免费久久看| 亚洲日本乱码在线观看| 亚洲国产精品黑人久久久| 欧美一区二区免费| 欧美日韩不卡在线| 欧美综合一区二区三区| av在线一区二区三区| 国产成人精品免费视频网站| 久久爱www久久做| 蜜桃视频一区二区三区在线观看| 日韩精品国产欧美| 视频一区中文字幕| 日本成人中文字幕| 日韩不卡免费视频| 奇米影视一区二区三区小说| 日本欧美一区二区三区| 日韩高清不卡在线| 日韩电影在线一区| 麻豆91在线看| 国产一区二区三区免费| 国产乱人伦偷精品视频不卡| 国产精品影视在线观看| 国产一区二区在线影院| 国产成人免费视频网站高清观看视频| 精品午夜久久福利影院| 国产成人午夜精品影院观看视频 | 色婷婷狠狠综合| 欧美性一级生活| 欧美肥妇bbw| 欧美一卡2卡三卡4卡5免费| 日韩午夜小视频| 久久无码av三级| 中文字幕高清一区| 一区二区欧美精品| 日韩精品一级二级| 久久成人av少妇免费| 国产成人av自拍| 色婷婷亚洲综合| 日韩免费一区二区| 中文字幕一区二区三区不卡 | 99精品欧美一区二区三区小说| 精品日本一线二线三线不卡| 欧美电影在哪看比较好| 欧美电影免费观看完整版| 久久精品亚洲乱码伦伦中文| 中文一区在线播放| 一区二区三区四区国产精品| 性做久久久久久久免费看| 久久99精品一区二区三区三区| 国产91精品免费| 国产精品每日更新| 国产精品免费观看视频| 亚洲综合视频在线观看| 日本在线不卡一区| 99视频在线精品| 欧美一级高清片| 亚洲精品高清在线| 国产久卡久卡久卡久卡视频精品| 欧美亚洲日本一区| 国产亚洲污的网站| 日本一不卡视频| 91丨九色porny丨蝌蚪|