Java 类org.bouncycastle.crypto.params.DESedeParameters 实例源码

项目:ipack    文件:PKCS12PBEUtils.java   
static CipherParameters createCipherParameters(ASN1ObjectIdentifier algorithm, ExtendedDigest digest, int blockSize, PKCS12PBEParams pbeParams, char[] password)
{
    PKCS12ParametersGenerator pGen = new PKCS12ParametersGenerator(digest);

    pGen.init(PKCS12ParametersGenerator.PKCS12PasswordToBytes(password), pbeParams.getIV(), pbeParams.getIterations().intValue());

    CipherParameters params;

    if (PKCS12PBEUtils.hasNoIv(algorithm))
    {
        params = pGen.generateDerivedParameters(PKCS12PBEUtils.getKeySize(algorithm));
    }
    else
    {
        params = pGen.generateDerivedParameters(PKCS12PBEUtils.getKeySize(algorithm), blockSize * 8);

        if (PKCS12PBEUtils.isDesAlg(algorithm))
        {
            DESedeParameters.setOddParity(((KeyParameter)((ParametersWithIV)params).getParameters()).getKey());
        }
    }
    return params;
}
项目:ipack    文件:DESedeKeyGenerator.java   
/**
 * initialise the key generator - if strength is set to zero
 * the key generated will be 192 bits in size, otherwise
 * strength can be 128 or 192 (or 112 or 168 if you don't count
 * parity bits), depending on whether you wish to do 2-key or 3-key
 * triple DES.
 *
 * @param param the parameters to be used for key generation
 */
public void init(
    KeyGenerationParameters param)
{
    this.random = param.getRandom();
    this.strength = (param.getStrength() + 7) / 8;

    if (strength == 0 || strength == (168 / 8))
    {
        strength = DESedeParameters.DES_EDE_KEY_LENGTH;
    }
    else if (strength == (112 / 8))
    {
        strength = 2 * DESedeParameters.DES_KEY_LENGTH;
    }
    else if (strength != DESedeParameters.DES_EDE_KEY_LENGTH
            && strength != (2 * DESedeParameters.DES_KEY_LENGTH))
    {
        throw new IllegalArgumentException("DESede key must be "
            + (DESedeParameters.DES_EDE_KEY_LENGTH * 8) + " or "
            + (2 * 8 * DESedeParameters.DES_KEY_LENGTH)
            + " bits long.");
    }
}
项目:Direct-File-Downloader    文件:DESedeKeyGenerator.java   
/**
 * initialise the key generator - if strength is set to zero
 * the key generated will be 192 bits in size, otherwise
 * strength can be 128 or 192 (or 112 or 168 if you don't count
 * parity bits), depending on whether you wish to do 2-key or 3-key
 * triple DES.
 *
 * @param param the parameters to be used for key generation
 */
public void init(
    KeyGenerationParameters param)
{
    super.init(param);

    if (strength == 0 || strength == (168 / 8))
    {
        strength = DESedeParameters.DES_EDE_KEY_LENGTH;
    }
    else if (strength == (112 / 8))
    {
        strength = 2 * DESedeParameters.DES_KEY_LENGTH;
    }
    else if (strength != DESedeParameters.DES_EDE_KEY_LENGTH
            && strength != (2 * DESedeParameters.DES_KEY_LENGTH))
    {
        throw new IllegalArgumentException("DESede key must be "
            + (DESedeParameters.DES_EDE_KEY_LENGTH * 8) + " or "
            + (2 * 8 * DESedeParameters.DES_KEY_LENGTH)
            + " bits long.");
    }
}
项目:gwt-crypto    文件:PKCS12PBEUtils.java   
static CipherParameters createCipherParameters(ASN1ObjectIdentifier algorithm, ExtendedDigest digest, int blockSize, PKCS12PBEParams pbeParams, char[] password)
{
    PKCS12ParametersGenerator pGen = new PKCS12ParametersGenerator(digest);

    pGen.init(PKCS12ParametersGenerator.PKCS12PasswordToBytes(password), pbeParams.getIV(), pbeParams.getIterations().intValue());

    CipherParameters params;

    if (PKCS12PBEUtils.hasNoIv(algorithm))
    {
        params = pGen.generateDerivedParameters(PKCS12PBEUtils.getKeySize(algorithm));
    }
    else
    {
        params = pGen.generateDerivedParameters(PKCS12PBEUtils.getKeySize(algorithm), blockSize * 8);

        if (PKCS12PBEUtils.isDesAlg(algorithm))
        {
            DESedeParameters.setOddParity(((KeyParameter)((ParametersWithIV)params).getParameters()).getKey());
        }
    }
    return params;
}
项目:gwt-crypto    文件:DESedeKeyGenerator.java   
/**
 * initialise the key generator - if strength is set to zero
 * the key generated will be 192 bits in size, otherwise
 * strength can be 128 or 192 (or 112 or 168 if you don't count
 * parity bits), depending on whether you wish to do 2-key or 3-key
 * triple DES.
 *
 * @param param the parameters to be used for key generation
 */
public void init(
    KeyGenerationParameters param)
{
    this.random = param.getRandom();
    this.strength = (param.getStrength() + 7) / 8;

    if (strength == 0 || strength == (168 / 8))
    {
        strength = DESedeParameters.DES_EDE_KEY_LENGTH;
    }
    else if (strength == (112 / 8))
    {
        strength = 2 * DESedeParameters.DES_KEY_LENGTH;
    }
    else if (strength != DESedeParameters.DES_EDE_KEY_LENGTH
            && strength != (2 * DESedeParameters.DES_KEY_LENGTH))
    {
        throw new IllegalArgumentException("DESede key must be "
            + (DESedeParameters.DES_EDE_KEY_LENGTH * 8) + " or "
            + (2 * 8 * DESedeParameters.DES_KEY_LENGTH)
            + " bits long.");
    }
}
项目:gwt-crypto    文件:DESedeKeyGenerator.java   
public byte[] generateKey()
{
    byte[]  newKey = new byte[strength];
    int     count = 0;

    do
    {
        random.nextBytes(newKey);

        DESedeParameters.setOddParity(newKey);
    }
    while (++count < MAX_IT && (DESedeParameters.isWeakKey(newKey, 0, newKey.length) || !DESedeParameters.isRealEDEKey(newKey, 0)));

    if (DESedeParameters.isWeakKey(newKey, 0, newKey.length) || !DESedeParameters.isRealEDEKey(newKey, 0))
    {
        throw new IllegalStateException("Unable to generate DES-EDE key");
    }

    return newKey;
}
项目:Aki-SSL    文件:PKCS12PBEUtils.java   
static CipherParameters createCipherParameters(ASN1ObjectIdentifier algorithm, ExtendedDigest digest, int blockSize, PKCS12PBEParams pbeParams, char[] password)
{
    PKCS12ParametersGenerator pGen = new PKCS12ParametersGenerator(digest);

    pGen.init(PKCS12ParametersGenerator.PKCS12PasswordToBytes(password), pbeParams.getIV(), pbeParams.getIterations().intValue());

    CipherParameters params;

    if (PKCS12PBEUtils.hasNoIv(algorithm))
    {
        params = pGen.generateDerivedParameters(PKCS12PBEUtils.getKeySize(algorithm));
    }
    else
    {
        params = pGen.generateDerivedParameters(PKCS12PBEUtils.getKeySize(algorithm), blockSize * 8);

        if (PKCS12PBEUtils.isDesAlg(algorithm))
        {
            DESedeParameters.setOddParity(((KeyParameter)((ParametersWithIV)params).getParameters()).getKey());
        }
    }
    return params;
}
项目:Aki-SSL    文件:DESedeKeyGenerator.java   
/**
 * initialise the key generator - if strength is set to zero
 * the key generated will be 192 bits in size, otherwise
 * strength can be 128 or 192 (or 112 or 168 if you don't count
 * parity bits), depending on whether you wish to do 2-key or 3-key
 * triple DES.
 *
 * @param param the parameters to be used for key generation
 */
public void init(
    KeyGenerationParameters param)
{
    this.random = param.getRandom();
    this.strength = (param.getStrength() + 7) / 8;

    if (strength == 0 || strength == (168 / 8))
    {
        strength = DESedeParameters.DES_EDE_KEY_LENGTH;
    }
    else if (strength == (112 / 8))
    {
        strength = 2 * DESedeParameters.DES_KEY_LENGTH;
    }
    else if (strength != DESedeParameters.DES_EDE_KEY_LENGTH
            && strength != (2 * DESedeParameters.DES_KEY_LENGTH))
    {
        throw new IllegalArgumentException("DESede key must be "
            + (DESedeParameters.DES_EDE_KEY_LENGTH * 8) + " or "
            + (2 * 8 * DESedeParameters.DES_KEY_LENGTH)
            + " bits long.");
    }
}
项目:Aki-SSL    文件:DESedeKeyGenerator.java   
public byte[] generateKey()
{
    byte[]  newKey = new byte[strength];
    int     count = 0;

    do
    {
        random.nextBytes(newKey);

        DESedeParameters.setOddParity(newKey);
    }
    while (++count < MAX_IT && (DESedeParameters.isWeakKey(newKey, 0, newKey.length) || !DESedeParameters.isRealEDEKey(newKey, 0)));

    if (DESedeParameters.isWeakKey(newKey, 0, newKey.length) || !DESedeParameters.isRealEDEKey(newKey, 0))
    {
        throw new IllegalStateException("Unable to generate DES-EDE key");
    }

    return newKey;
}
项目:TinyTravelTracker    文件:DESedeKeyGenerator.java   
/**
 * initialise the key generator - if strength is set to zero
 * the key generated will be 192 bits in size, otherwise
 * strength can be 128 or 192 (or 112 or 168 if you don't count
 * parity bits), depending on whether you wish to do 2-key or 3-key
 * triple DES.
 *
 * @param param the parameters to be used for key generation
 */
public void init(
    KeyGenerationParameters param)
{
    this.random = param.getRandom();
    this.strength = (param.getStrength() + 7) / 8;

    if (strength == 0 || strength == (168 / 8))
    {
        strength = DESedeParameters.DES_EDE_KEY_LENGTH;
    }
    else if (strength == (112 / 8))
    {
        strength = 2 * DESedeParameters.DES_KEY_LENGTH;
    }
    else if (strength != DESedeParameters.DES_EDE_KEY_LENGTH
            && strength != (2 * DESedeParameters.DES_KEY_LENGTH))
    {
        throw new IllegalArgumentException("DESede key must be "
            + (DESedeParameters.DES_EDE_KEY_LENGTH * 8) + " or "
            + (2 * 8 * DESedeParameters.DES_KEY_LENGTH)
            + " bits long.");
    }
}
项目:AcademicTorrents-Downloader    文件:DESedeKeyGenerator.java   
/**
 * initialise the key generator - if strength is set to zero
 * the key generated will be 192 bits in size, otherwise
 * strength can be 128 or 192 (or 112 or 168 if you don't count
 * parity bits), depending on whether you wish to do 2-key or 3-key
 * triple DES.
 *
 * @param param the parameters to be used for key generation
 */
public void init(
    KeyGenerationParameters param)
{
    super.init(param);

    if (strength == 0 || strength == (168 / 8))
    {
        strength = DESedeParameters.DES_EDE_KEY_LENGTH;
    }
    else if (strength == (112 / 8))
    {
        strength = 2 * DESedeParameters.DES_KEY_LENGTH;
    }
    else if (strength != DESedeParameters.DES_EDE_KEY_LENGTH
            && strength != (2 * DESedeParameters.DES_KEY_LENGTH))
    {
        throw new IllegalArgumentException("DESede key must be "
            + (DESedeParameters.DES_EDE_KEY_LENGTH * 8) + " or "
            + (2 * 8 * DESedeParameters.DES_KEY_LENGTH)
            + " bits long.");
    }
}
项目:CryptMeme    文件:DESedeKeyGenerator.java   
/**
 * initialise the key generator - if strength is set to zero
 * the key generated will be 192 bits in size, otherwise
 * strength can be 128 or 192 (or 112 or 168 if you don't count
 * parity bits), depending on whether you wish to do 2-key or 3-key
 * triple DES.
 *
 * @param param the parameters to be used for key generation
 */
public void init(
    KeyGenerationParameters param)
{
    this.random = param.getRandom();
    this.strength = (param.getStrength() + 7) / 8;

    if (strength == 0 || strength == (168 / 8))
    {
        strength = DESedeParameters.DES_EDE_KEY_LENGTH;
    }
    else if (strength == (112 / 8))
    {
        strength = 2 * DESedeParameters.DES_KEY_LENGTH;
    }
    else if (strength != DESedeParameters.DES_EDE_KEY_LENGTH
            && strength != (2 * DESedeParameters.DES_KEY_LENGTH))
    {
        throw new IllegalArgumentException("DESede key must be "
            + (DESedeParameters.DES_EDE_KEY_LENGTH * 8) + " or "
            + (2 * 8 * DESedeParameters.DES_KEY_LENGTH)
            + " bits long.");
    }
}
项目:irma_future_id    文件:PKCS12PBEUtils.java   
static CipherParameters createCipherParameters(ASN1ObjectIdentifier algorithm, ExtendedDigest digest, int blockSize, PKCS12PBEParams pbeParams, char[] password)
{
    PKCS12ParametersGenerator pGen = new PKCS12ParametersGenerator(digest);

    pGen.init(PKCS12ParametersGenerator.PKCS12PasswordToBytes(password), pbeParams.getIV(), pbeParams.getIterations().intValue());

    CipherParameters params;

    if (PKCS12PBEUtils.hasNoIv(algorithm))
    {
        params = pGen.generateDerivedParameters(PKCS12PBEUtils.getKeySize(algorithm));
    }
    else
    {
        params = pGen.generateDerivedParameters(PKCS12PBEUtils.getKeySize(algorithm), blockSize * 8);

        if (PKCS12PBEUtils.isDesAlg(algorithm))
        {
            DESedeParameters.setOddParity(((KeyParameter)((ParametersWithIV)params).getParameters()).getKey());
        }
    }
    return params;
}
项目:irma_future_id    文件:DESedeKeyGenerator.java   
/**
 * initialise the key generator - if strength is set to zero
 * the key generated will be 192 bits in size, otherwise
 * strength can be 128 or 192 (or 112 or 168 if you don't count
 * parity bits), depending on whether you wish to do 2-key or 3-key
 * triple DES.
 *
 * @param param the parameters to be used for key generation
 */
public void init(
    KeyGenerationParameters param)
{
    this.random = param.getRandom();
    this.strength = (param.getStrength() + 7) / 8;

    if (strength == 0 || strength == (168 / 8))
    {
        strength = DESedeParameters.DES_EDE_KEY_LENGTH;
    }
    else if (strength == (112 / 8))
    {
        strength = 2 * DESedeParameters.DES_KEY_LENGTH;
    }
    else if (strength != DESedeParameters.DES_EDE_KEY_LENGTH
            && strength != (2 * DESedeParameters.DES_KEY_LENGTH))
    {
        throw new IllegalArgumentException("DESede key must be "
            + (DESedeParameters.DES_EDE_KEY_LENGTH * 8) + " or "
            + (2 * 8 * DESedeParameters.DES_KEY_LENGTH)
            + " bits long.");
    }
}
项目:bc-java    文件:PKCS12PBEUtils.java   
static CipherParameters createCipherParameters(ASN1ObjectIdentifier algorithm, ExtendedDigest digest, int blockSize, PKCS12PBEParams pbeParams, char[] password)
{
    PKCS12ParametersGenerator pGen = new PKCS12ParametersGenerator(digest);

    pGen.init(PKCS12ParametersGenerator.PKCS12PasswordToBytes(password), pbeParams.getIV(), pbeParams.getIterations().intValue());

    CipherParameters params;

    if (PKCS12PBEUtils.hasNoIv(algorithm))
    {
        params = pGen.generateDerivedParameters(PKCS12PBEUtils.getKeySize(algorithm));
    }
    else
    {
        params = pGen.generateDerivedParameters(PKCS12PBEUtils.getKeySize(algorithm), blockSize * 8);

        if (PKCS12PBEUtils.isDesAlg(algorithm))
        {
            DESedeParameters.setOddParity(((KeyParameter)((ParametersWithIV)params).getParameters()).getKey());
        }
    }
    return params;
}
项目:bc-java    文件:DESedeKeyGenerator.java   
/**
 * initialise the key generator - if strength is set to zero
 * the key generated will be 192 bits in size, otherwise
 * strength can be 128 or 192 (or 112 or 168 if you don't count
 * parity bits), depending on whether you wish to do 2-key or 3-key
 * triple DES.
 *
 * @param param the parameters to be used for key generation
 */
public void init(
    KeyGenerationParameters param)
{
    this.random = param.getRandom();
    this.strength = (param.getStrength() + 7) / 8;

    if (strength == 0 || strength == (168 / 8))
    {
        strength = DESedeParameters.DES_EDE_KEY_LENGTH;
    }
    else if (strength == (112 / 8))
    {
        strength = 2 * DESedeParameters.DES_KEY_LENGTH;
    }
    else if (strength != DESedeParameters.DES_EDE_KEY_LENGTH
            && strength != (2 * DESedeParameters.DES_KEY_LENGTH))
    {
        throw new IllegalArgumentException("DESede key must be "
            + (DESedeParameters.DES_EDE_KEY_LENGTH * 8) + " or "
            + (2 * 8 * DESedeParameters.DES_KEY_LENGTH)
            + " bits long.");
    }
}
项目:ipack    文件:DESedeKeyGenerator.java   
public byte[] generateKey()
{
    byte[]  newKey = new byte[strength];

    do
    {
        random.nextBytes(newKey);

        DESedeParameters.setOddParity(newKey);
    }
    while (DESedeParameters.isWeakKey(newKey, 0, newKey.length));

    return newKey;
}
项目:oneops    文件:CmsCryptoDES.java   
/**
 * Generate des key.
 *
 * @param file the file
 * @throws java.io.IOException Signals that an I/O exception has occurred.
 */
public static void generateDESKey(String file) throws IOException {
    DESedeKeyGenerator kg = new DESedeKeyGenerator();
    KeyGenerationParameters kgp = new KeyGenerationParameters(
            new SecureRandom(),
            DESedeParameters.DES_EDE_KEY_LENGTH * 8);
    kg.init(kgp);
    byte[] key = kg.generateKey();
    BufferedOutputStream keystream =
            new BufferedOutputStream(new FileOutputStream(file));
    byte[] keyhex = Hex.encode(key);
    keystream.write(keyhex, 0, keyhex.length);
    keystream.flush();
    keystream.close();
}
项目:Direct-File-Downloader    文件:DESedeKeyGenerator.java   
public byte[] generateKey()
{
    byte[]  newKey = new byte[strength];

    do
    {
        random.nextBytes(newKey);

        DESedeParameters.setOddParity(newKey);
    }
    while (DESedeParameters.isWeakKey(newKey, 0, newKey.length));

    return newKey;
}
项目:libraries    文件:KeyGenerator.java   
public static KeyGenerator create() {
  final SecureRandom random = new SecureRandom();
  final KeyGenerationParameters parameters = new KeyGenerationParameters(
      random,
      DESedeParameters.DES_EDE_KEY_LENGTH * 8);
  final DESedeKeyGenerator keyGenerator = new DESedeKeyGenerator();
  keyGenerator.init(parameters);
  return new KeyGenerator(keyGenerator);
}
项目:gwt-crypto    文件:CTRDRBGTest.java   
public void init(boolean forEncryption, CipherParameters params)
    throws IllegalArgumentException
{
    byte[] k = Arrays.clone(((KeyParameter)params).getKey());

    DESedeParameters.setOddParity(k);

    if (!Arrays.areEqual(((KeyParameter)params).getKey(), k))
    {
        fail("key not odd parity");
    }

    cipher.init(forEncryption, params);
}
项目:TinyTravelTracker    文件:DESedeKeyGenerator.java   
public byte[] generateKey()
{
    byte[]  newKey = new byte[strength];

    do
    {
        random.nextBytes(newKey);

        DESedeParameters.setOddParity(newKey);
    }
    while (DESedeParameters.isWeakKey(newKey, 0, newKey.length));

    return newKey;
}
项目:AcademicTorrents-Downloader    文件:DESedeKeyGenerator.java   
public byte[] generateKey()
{
    byte[]  newKey = new byte[strength];

    do
    {
        random.nextBytes(newKey);

        DESedeParameters.setOddParity(newKey);
    }
    while (DESedeParameters.isWeakKey(newKey, 0, newKey.length));

    return newKey;
}
项目:CryptMeme    文件:DESedeKeyGenerator.java   
public byte[] generateKey()
{
    byte[]  newKey = new byte[strength];

    do
    {
        random.nextBytes(newKey);

        DESedeParameters.setOddParity(newKey);
    }
    while (DESedeParameters.isWeakKey(newKey, 0, newKey.length));

    return newKey;
}
项目:irma_future_id    文件:DESedeKeyGenerator.java   
public byte[] generateKey()
{
    byte[]  newKey = new byte[strength];

    do
    {
        random.nextBytes(newKey);

        DESedeParameters.setOddParity(newKey);
    }
    while (DESedeParameters.isWeakKey(newKey, 0, newKey.length));

    return newKey;
}
项目:irma_future_id    文件:CTRDRBGTest.java   
public void init(boolean forEncryption, CipherParameters params)
    throws IllegalArgumentException
{
    byte[] k = Arrays.clone(((KeyParameter)params).getKey());

    DESedeParameters.setOddParity(k);

    if (!Arrays.areEqual(((KeyParameter)params).getKey(), k))
    {
        fail("key not odd parity");
    }

    cipher.init(forEncryption, params);
}
项目:bc-java    文件:DESedeKeyGenerator.java   
public byte[] generateKey()
{
    byte[]  newKey = new byte[strength];

    do
    {
        random.nextBytes(newKey);

        DESedeParameters.setOddParity(newKey);
    }
    while (DESedeParameters.isWeakKey(newKey, 0, newKey.length));

    return newKey;
}
项目:bc-java    文件:CTRDRBGTest.java   
public void init(boolean forEncryption, CipherParameters params)
    throws IllegalArgumentException
{
    byte[] k = Arrays.clone(((KeyParameter)params).getKey());

    DESedeParameters.setOddParity(k);

    if (!Arrays.areEqual(((KeyParameter)params).getKey(), k))
    {
        fail("key not odd parity");
    }

    cipher.init(forEncryption, params);
}