• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java DHPrivateKeyParameters类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.bouncycastle.crypto.params.DHPrivateKeyParameters的典型用法代码示例。如果您正苦于以下问题:Java DHPrivateKeyParameters类的具体用法?Java DHPrivateKeyParameters怎么用?Java DHPrivateKeyParameters使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



DHPrivateKeyParameters类属于org.bouncycastle.crypto.params包,在下文中一共展示了DHPrivateKeyParameters类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: generateKeyPair

import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public AsymmetricCipherKeyPair generateKeyPair()
  {
      BigInteger      p, g, x, y;
      int             qLength = param.getStrength() - 1;
      DHParameters    dhParams = param.getParameters();

      p = dhParams.getP();
      g = dhParams.getG();
  
      //
      // calculate the private key
      //
x = new BigInteger(qLength, param.getRandom());

      //
      // calculate the public key.
      //
      y = g.modPow(x, p);

      return new AsymmetricCipherKeyPair(
              new DHPublicKeyParameters(y, dhParams),
              new DHPrivateKeyParameters(x, dhParams));
  }
 
开发者ID:thangbn,项目名称:Direct-File-Downloader,代码行数:24,代码来源:DHKeyPairGenerator.java


示例2: generateKeyPair

import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public AsymmetricCipherKeyPair generateKeyPair()
  {
      BigInteger      p, g, x, y;
      int             qLength = param.getStrength() - 1;
      DHParameters    dhParams = param.getParameters();

      p = dhParams.getP();
      g = dhParams.getG();
 
      //
      // calculate the private key
      //
x = new BigInteger(qLength, param.getRandom());

      //
      // calculate the public key.
      //
      y = g.modPow(x, p);

      return new AsymmetricCipherKeyPair(
              new DHPublicKeyParameters(y, dhParams),
              new DHPrivateKeyParameters(x, dhParams));
  }
 
开发者ID:thangbn,项目名称:Direct-File-Downloader,代码行数:24,代码来源:DHBasicKeyPairGenerator.java


示例3: init

import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public void init(
    CipherParameters    param)
{
    AsymmetricKeyParameter  kParam;

    if (param instanceof ParametersWithRandom)
    {
        ParametersWithRandom rParam = (ParametersWithRandom)param;
        kParam = (AsymmetricKeyParameter)rParam.getParameters();
    }
    else
    {
        kParam = (AsymmetricKeyParameter)param;
    }

    if (!(kParam instanceof DHPrivateKeyParameters))
    {
        throw new IllegalArgumentException("DHEngine expects DHPrivateKeyParameters");
    }

    this.key = (DHPrivateKeyParameters)kParam;
    this.dhParams = key.getParameters();
}
 
开发者ID:redfish64,项目名称:TinyTravelTracker,代码行数:24,代码来源:DHBasicAgreement.java


示例4: generatePrivateKeyParameter

import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
static public AsymmetricKeyParameter generatePrivateKeyParameter(
    PrivateKey    key)
    throws InvalidKeyException
{
    if (key instanceof DHPrivateKey)
    {
        DHPrivateKey    k = (DHPrivateKey)key;

        return new DHPrivateKeyParameters(k.getX(),
            new DHParameters(k.getParams().getP(), k.getParams().getG(), null, k.getParams().getL()));
    }
                    
    throw new InvalidKeyException("can't identify DH private key.");
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:15,代码来源:DHUtil.java


示例5: calculateDHBasicAgreement

import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public static byte[] calculateDHBasicAgreement(DHPublicKeyParameters publicKey,
                                               DHPrivateKeyParameters privateKey)
{

    DHBasicAgreement basicAgreement = new DHBasicAgreement();
    basicAgreement.init(privateKey);
    BigInteger agreementValue = basicAgreement.calculateAgreement(publicKey);

    /*
     * RFC 5246 8.1.2. Leading bytes of Z that contain all zero bits are stripped before it is
     * used as the pre_master_secret.
     */
    return BigIntegers.asUnsignedByteArray(agreementValue);
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:15,代码来源:TlsDHUtils.java


示例6: generateEphemeralClientKeyExchange

import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public static DHPrivateKeyParameters generateEphemeralClientKeyExchange(SecureRandom random,
                                                                        DHParameters dhParams, OutputStream output)
    throws IOException
{

    AsymmetricCipherKeyPair dhAgreeClientKeyPair = generateDHKeyPair(random, dhParams);
    DHPrivateKeyParameters dhAgreeClientPrivateKey = (DHPrivateKeyParameters)dhAgreeClientKeyPair
        .getPrivate();

    BigInteger Yc = ((DHPublicKeyParameters)dhAgreeClientKeyPair.getPublic()).getY();
    byte[] keData = BigIntegers.asUnsignedByteArray(Yc);
    TlsUtils.writeOpaque16(keData, output);

    return dhAgreeClientPrivateKey;
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:16,代码来源:TlsDHUtils.java


示例7: calculateMessage

import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
/**
 * calculate our initial message.
 */
public BigInteger calculateMessage()
{
    DHKeyPairGenerator dhGen = new DHKeyPairGenerator();
    dhGen.init(new DHKeyGenerationParameters(random, dhParams));
    AsymmetricCipherKeyPair dhPair = dhGen.generateKeyPair();

    this.privateValue = ((DHPrivateKeyParameters)dhPair.getPrivate()).getX();

    return ((DHPublicKeyParameters)dhPair.getPublic()).getY();
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:14,代码来源:DHAgreement.java


示例8: generateKeyPair

import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public AsymmetricCipherKeyPair generateKeyPair()
{
    DHKeyGeneratorHelper helper = DHKeyGeneratorHelper.INSTANCE;
    DHParameters dhp = param.getParameters();

    BigInteger x = helper.calculatePrivate(dhp, param.getRandom()); 
    BigInteger y = helper.calculatePublic(dhp, x);

    return new AsymmetricCipherKeyPair(
        new DHPublicKeyParameters(y, dhp),
        new DHPrivateKeyParameters(x, dhp));
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:13,代码来源:DHKeyPairGenerator.java


示例9: calculateDHBasicAgreement

import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public static byte[] calculateDHBasicAgreement(DHPublicKeyParameters publicKey, DHPrivateKeyParameters privateKey)
{
    DHBasicAgreement basicAgreement = new DHBasicAgreement();
    basicAgreement.init(privateKey);
    BigInteger agreementValue = basicAgreement.calculateAgreement(publicKey);

    /*
     * RFC 5246 8.1.2. Leading bytes of Z that contain all zero bits are stripped before it is
     * used as the pre_master_secret.
     */
    return BigIntegers.asUnsignedByteArray(agreementValue);
}
 
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:13,代码来源:TlsDHUtils.java


示例10: generateEphemeralClientKeyExchange

import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public static DHPrivateKeyParameters generateEphemeralClientKeyExchange(SecureRandom random, DHParameters dhParams,
    OutputStream output) throws IOException
{
    AsymmetricCipherKeyPair kp = generateDHKeyPair(random, dhParams);

    DHPublicKeyParameters dhPublic = (DHPublicKeyParameters) kp.getPublic();
    writeDHParameter(dhPublic.getY(), output);

    return (DHPrivateKeyParameters) kp.getPrivate();
}
 
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:11,代码来源:TlsDHUtils.java


示例11: generateEphemeralServerKeyExchange

import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public static DHPrivateKeyParameters generateEphemeralServerKeyExchange(SecureRandom random, DHParameters dhParams,
    OutputStream output) throws IOException
{
    AsymmetricCipherKeyPair kp = generateDHKeyPair(random, dhParams);

    DHPublicKeyParameters dhPublic = (DHPublicKeyParameters)kp.getPublic();
    new ServerDHParams(dhPublic).encode(output);

    return (DHPrivateKeyParameters)kp.getPrivate();
}
 
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:11,代码来源:TlsDHUtils.java


示例12: checkKeySize

import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
private void checkKeySize(
    int privateValueSize,
    DHPrivateKeyParameters priv)
{
    if (privateValueSize != 0)
    {
        if (priv.getX().bitLength() != privateValueSize)
        {
            fail("limited key check failed for key size " + privateValueSize);
        }
    }
}
 
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:13,代码来源:DHTest.java


示例13: testGPWithRandom

import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
private void testGPWithRandom(
    DHKeyPairGenerator kpGen)
{
    //
    // generate first pair
    //
    AsymmetricCipherKeyPair     pair = kpGen.generateKeyPair();

    DHPublicKeyParameters       pu1 = (DHPublicKeyParameters)pair.getPublic();
    DHPrivateKeyParameters      pv1 = (DHPrivateKeyParameters)pair.getPrivate();
    //
    // generate second pair
    //
    pair = kpGen.generateKeyPair();

    DHPublicKeyParameters       pu2 = (DHPublicKeyParameters)pair.getPublic();
    DHPrivateKeyParameters      pv2 = (DHPrivateKeyParameters)pair.getPrivate();

    //
    // two way
    //
    DHAgreement    e1 = new DHAgreement();
    DHAgreement    e2 = new DHAgreement();

    e1.init(new ParametersWithRandom(pv1, new SecureRandom()));
    e2.init(new ParametersWithRandom(pv2, new SecureRandom()));

    BigInteger   m1 = e1.calculateMessage();
    BigInteger   m2 = e2.calculateMessage();

    BigInteger   k1 = e1.calculateAgreement(pu2, m2);
    BigInteger   k2 = e2.calculateAgreement(pu1, m1);
    
    if (!k1.equals(k2))
    {
        fail("basic with random 2-way test failed");
    }
}
 
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:39,代码来源:DHTest.java


示例14: testSimpleWithRandom

import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
private void testSimpleWithRandom(
    DHBasicKeyPairGenerator kpGen)
{
    //
    // generate first pair
    //
    AsymmetricCipherKeyPair     pair = kpGen.generateKeyPair();

    DHPublicKeyParameters       pu1 = (DHPublicKeyParameters)pair.getPublic();
    DHPrivateKeyParameters      pv1 = (DHPrivateKeyParameters)pair.getPrivate();
    //
    // generate second pair
    //
    pair = kpGen.generateKeyPair();

    DHPublicKeyParameters       pu2 = (DHPublicKeyParameters)pair.getPublic();
    DHPrivateKeyParameters      pv2 = (DHPrivateKeyParameters)pair.getPrivate();

    //
    // two way
    //
    DHBasicAgreement    e1 = new DHBasicAgreement();
    DHBasicAgreement    e2 = new DHBasicAgreement();

    e1.init(new ParametersWithRandom(pv1, new SecureRandom()));
    e2.init(new ParametersWithRandom(pv2, new SecureRandom()));

    BigInteger   k1 = e1.calculateAgreement(pu2);
    BigInteger   k2 = e2.calculateAgreement(pu1);

    if (!k1.equals(k2))
    {
        fail("basic with random 2-way test failed");
    }
}
 
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:36,代码来源:DHTest.java


示例15: init

import org.bouncycastle.crypto.params.DHPrivateKeyParameters; //导入依赖的package包/类
public void init(
    CipherParameters    param)
{
    AsymmetricKeyParameter  kParam;

    if (param instanceof ParametersWithRandom)
    {
        ParametersWithRandom    rParam = (ParametersWithRandom)param;

        this.random = rParam.getRandom();
        kParam = (AsymmetricKeyParameter)rParam.getParameters();
    }
    else
    {
        this.random = new SecureRandom();
        kParam = (AsymmetricKeyParameter)param;
    }

    
    if (!(kParam instanceof DHPrivateKeyParameters))
    {
        throw new IllegalArgumentException("DHEngine expects DHPrivateKeyParameters");
    }

    this.key = (DHPrivateKeyParameters)kParam;
    this.dhParams = key.getParameters();
}
 
开发者ID:redfish64,项目名称:TinyTravelTracker,代码行数:28,代码来源:DHAgreement.java



注:本文中的org.bouncycastle.crypto.params.DHPrivateKeyParameters类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ResponseParser类代码示例发布时间:2022-05-22
下一篇:
Java Tango类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap