Examples of PBEParametersGenerator


Examples of org.bouncycastle.crypto.PBEParametersGenerator

            int                     type,
            int                     hash,
            int                     keySize,
            int                     ivSize)
        {   
            PBEParametersGenerator  generator = makePBEGenerator(type, hash);
            byte[]                  key;
            CipherParameters        param;
   
            if (type == PKCS12)
            {
                key = PBEParametersGenerator.PKCS12PasswordToBytes(keySpec.getPassword());
            }
            else
            {  
                key = PBEParametersGenerator.PKCS5PasswordToBytes(keySpec.getPassword());
            }
           
            generator.init(key, keySpec.getSalt(), keySpec.getIterationCount());
   
            if (ivSize != 0)
            {
                param = generator.generateDerivedParameters(keySize, ivSize);
            }
            else
            {
                param = generator.generateDerivedParameters(keySize);
            }
   
            for (int i = 0; i != key.length; i++)
            {
                key[i] = 0;
View Full Code Here

Examples of org.bouncycastle.crypto.PBEParametersGenerator

        static private PBEParametersGenerator makePBEGenerator(
            int                     type,
            int                     hash)
        {
            PBEParametersGenerator  generator;
   
            if (type == PKCS5S1)
            {
                switch (hash)
                {
View Full Code Here

Examples of org.bouncycastle.crypto.PBEParametersGenerator

            {
                throw new IllegalArgumentException("Need a PBEParameter spec with a PBE key.");
            }
   
            PBEParameterSpec        pbeParam = (PBEParameterSpec)spec;
            PBEParametersGenerator  generator = makePBEGenerator(type, hash);
            byte[]                  key = pbeKey.getEncoded();
            CipherParameters        param;
   
            generator.init(key, pbeParam.getSalt(), pbeParam.getIterationCount());

            if (ivSize != 0)
            {
                param = generator.generateDerivedParameters(keySize, ivSize);
            }
            else
            {
                param = generator.generateDerivedParameters(keySize);
            }

            if (targetAlgorithm.startsWith("DES"))
            {
                if (param instanceof ParametersWithIV)
View Full Code Here

Examples of org.bouncycastle.crypto.PBEParametersGenerator

            {
                throw new IllegalArgumentException("Need a PBEParameter spec with a PBE key.");
            }
   
            PBEParameterSpec        pbeParam = (PBEParameterSpec)spec;
            PBEParametersGenerator  generator = makePBEGenerator(type, hash);
            byte[]                  key = pbeKey.getEncoded();
            CipherParameters        param;
   
            generator.init(key, pbeParam.getSalt(), pbeParam.getIterationCount());

            param = generator.generateDerivedMacParameters(keySize);
   
            for (int i = 0; i != key.length; i++)
            {
                key[i] = 0;
            }
View Full Code Here

Examples of org.bouncycastle.crypto.PBEParametersGenerator

        if (pbkdfParams.getKeyLength() != null) {
            keySize = pbkdfParams.getKeyLength().intValue() * 8;
        }
        int iterationCount = pbkdfParams.getIterationCount().intValue();
        byte[] salt = pbkdfParams.getSalt();
        PBEParametersGenerator generator = new PKCS5S2ParametersGenerator();
        generator.init(PBEParametersGenerator.PKCS5PasswordToBytes(password), salt, iterationCount);
        return generator.generateDerivedParameters(keySize);
    }
View Full Code Here

Examples of org.bouncycastle.crypto.PBEParametersGenerator

public class AESDecrypterBC extends AESCryptoBase implements AESDecrypter {

  public AESDecrypterBC( byte[] pwBytes, byte[] salt, byte[] pwVerification ) throws ZipException {
    super.saltBytes = salt;

    PBEParametersGenerator generator = new PKCS5S2ParametersGenerator();
    generator.init( pwBytes, salt, ITERATION_COUNT );

    cipherParameters = generator.generateDerivedParameters(KEY_SIZE_BIT*2 + 16);
    byte[] keyBytes = ((KeyParameter)cipherParameters).getKey();

    this.cryptoKeyBytes = new byte[ KEY_SIZE_BYTE ];
    System.arraycopy( keyBytes, 0, cryptoKeyBytes, 0, KEY_SIZE_BYTE );

    this.authenticationCodeBytes = new byte[ KEY_SIZE_BYTE ];
    System.arraycopy( keyBytes, KEY_SIZE_BYTE, authenticationCodeBytes, 0, KEY_SIZE_BYTE );

    // based on SALT + PASSWORD (password is probably correct)
    this.pwVerificationBytes = new byte[ 2 ];
    System.arraycopy( keyBytes, KEY_SIZE_BYTE*2, this.pwVerificationBytes, 0, 2 );

    if( !ByteArrayHelper.isEqual( this.pwVerificationBytes, pwVerification ) ) {
      throw new ZipException("wrong password - " + ByteArrayHelper.toString(this.pwVerificationBytes) + "/ " + ByteArrayHelper.toString(pwVerification));
    }

    // create the first 16 bytes of the key sequence again (using pw+salt)
    generator.init( pwBytes, salt, ITERATION_COUNT );
    cipherParameters = generator.generateDerivedParameters(KEY_SIZE_BIT);

    // checksum added to the end of the encrypted data, update on each encryption call
    this.mac = new HMac( new SHA1Digest() );
    mac.init( new KeyParameter(authenticationCodeBytes) );

View Full Code Here

Examples of org.bouncycastle.crypto.PBEParametersGenerator

  /**
   * Setup AES encryption based on pwBytes using WinZipAES approach
   * with SALT and pwVerification bytes based on password+salt.
   */
  public AESEncrypterBC( byte[] pwBytes ) throws ZipException {
    PBEParametersGenerator generator = new PKCS5S2ParametersGenerator();
    this.saltBytes = createSalt();
    generator.init( pwBytes, saltBytes, ITERATION_COUNT );

    // create 2 byte[16] for two keys and one byte[2] for pwVerification
    // 1. encryption / 2. athentication (via HMAC/hash) /
    cipherParameters = generator.generateDerivedParameters(KEY_SIZE_BIT*2 + 16);
    byte[] keyBytes = ((KeyParameter)cipherParameters).getKey();

    this.cryptoKeyBytes = new byte[ KEY_SIZE_BYTE ];
    System.arraycopy( keyBytes, 0, cryptoKeyBytes, 0, KEY_SIZE_BYTE );

    this.authenticationCodeBytes = new byte[ KEY_SIZE_BYTE ];
    System.arraycopy( keyBytes, KEY_SIZE_BYTE, authenticationCodeBytes, 0, KEY_SIZE_BYTE );

    // based on SALT + PASSWORD (password is probably correct)
    this.pwVerificationBytes = new byte[ 2 ];
    System.arraycopy( keyBytes, KEY_SIZE_BYTE*2, pwVerificationBytes, 0, 2 );

    // create the first 16 bytes of the key sequence again (using pw+salt)
    generator.init( pwBytes, saltBytes, ITERATION_COUNT );
    cipherParameters = generator.generateDerivedParameters(KEY_SIZE_BIT);

    // checksum added to the end of the encrypted data, update on each encryption call
    this.mac = new HMac( new SHA1Digest() );
    mac.init( new KeyParameter(authenticationCodeBytes) );

View Full Code Here

Examples of org.bouncycastle.crypto.PBEParametersGenerator

        cipher.init(encrypt, params);
        return cipher;
    }

    private CipherParameters createCipherParams() throws Exception {
        PBEParametersGenerator generator = createPBEParametersGenerator();
        initPBEParamsGenerator(generator);
        int keylen = getKeyLength();
        return generator.generateDerivedParameters(keylen, BLOCK_SIZE);
    }
View Full Code Here

Examples of org.bouncycastle.crypto.PBEParametersGenerator

        cipher.init(encrypt, params);
        return cipher;
    }

    private CipherParameters createCipherParams() {
        PBEParametersGenerator generator = createPBEParametersGenerator();
        initPBEParamsGenerator(generator);
        return generator.generateDerivedParameters(keyLength.getBits(), BLOCK_SIZE);
    }
View Full Code Here

Examples of org.bouncycastle.crypto.PBEParametersGenerator

        int         iterationCount = dIn.readInt();

        HMac                    hMac = new HMac(new SHA1Digest());
        MacInputStream          mIn = new MacInputStream(dIn, hMac);
        PBEParametersGenerator  pbeGen = new PKCS12ParametersGenerator(new SHA1Digest());
        byte[]                  passKey = PBEParametersGenerator.PKCS12PasswordToBytes(password);

        pbeGen.init(passKey, salt, iterationCount);

        hMac.init(pbeGen.generateDerivedMacParameters(hMac.getMacSize()));

        for (int i = 0; i != passKey.length; i++)
        {
            passKey[i] = 0;
        }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.