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

项目:irma_future_id    文件:KDFFeedbackNoCounterTests.java   
public void receiveCAVPVectors(String name, Properties config,
                               Properties vectors)
{


    // create Mac based PRF from PRF property, create the KDF
    final Mac prf = CAVPReader.createPRF(config);
    final KDFFeedbackBytesGenerator gen = new KDFFeedbackBytesGenerator(prf);

    final int count = Integer.parseInt(vectors.getProperty("COUNT"));
    final int l = Integer.parseInt(vectors.getProperty("L"));
    final byte[] ki = Hex.decode(vectors.getProperty("KI"));
    final byte[] iv = Hex.decode(vectors.getProperty("IV"));
    final byte[] fixedInputData = Hex.decode(vectors.getProperty("FixedInputData"));
    final KDFFeedbackParameters params = KDFFeedbackParameters.createWithoutCounter(ki, iv, fixedInputData);
    gen.init(params);

    final byte[] koGenerated = new byte[l / 8];
    gen.generateBytes(koGenerated, 0, koGenerated.length);

    final byte[] koVectors = Hex.decode(vectors.getProperty("KO"));

    compareKO(name, config, count, koGenerated, koVectors);
}
项目:bc-java    文件:KDFFeedbackNoCounterTests.java   
public void receiveCAVPVectors(String name, Properties config,
                               Properties vectors)
{


    // create Mac based PRF from PRF property, create the KDF
    final Mac prf = CAVPReader.createPRF(config);
    final KDFFeedbackBytesGenerator gen = new KDFFeedbackBytesGenerator(prf);

    final int count = Integer.parseInt(vectors.getProperty("COUNT"));
    final int l = Integer.parseInt(vectors.getProperty("L"));
    final byte[] ki = Hex.decode(vectors.getProperty("KI"));
    final byte[] iv = Hex.decode(vectors.getProperty("IV"));
    final byte[] fixedInputData = Hex.decode(vectors.getProperty("FixedInputData"));
    final KDFFeedbackParameters params = KDFFeedbackParameters.createWithoutCounter(ki, iv, fixedInputData);
    gen.init(params);

    final byte[] koGenerated = new byte[l / 8];
    gen.generateBytes(koGenerated, 0, koGenerated.length);

    final byte[] koVectors = Hex.decode(vectors.getProperty("KO"));

    compareKO(name, config, count, koGenerated, koVectors);
}
项目:gwt-crypto    文件:KDFFeedbackBytesGenerator.java   
public void init(DerivationParameters params)
{
    if (!(params instanceof KDFFeedbackParameters))
    {
        throw new IllegalArgumentException("Wrong type of arguments given");
    }

    KDFFeedbackParameters feedbackParams = (KDFFeedbackParameters)params;

    // --- init mac based PRF ---

    this.prf.init(new KeyParameter(feedbackParams.getKI()));

    // --- set arguments ---

    this.fixedInputData = feedbackParams.getFixedInputData();

    int r = feedbackParams.getR();
    this.ios = new byte[r / 8];

    if (feedbackParams.useCounter())
    {
        // this is more conservative than the spec
        BigInteger maxSize = TWO.pow(r).multiply(BigInteger.valueOf(h));
        this.maxSizeExcl = maxSize.compareTo(INTEGER_MAX) == 1 ?
            Integer.MAX_VALUE : maxSize.intValue();
    }
    else
    {
        this.maxSizeExcl = Integer.MAX_VALUE;
    }

    this.iv = feedbackParams.getIV();
    this.useCounter = feedbackParams.useCounter();

    // --- set operational state ---

    generatedBytes = 0;
}
项目:Aki-SSL    文件:KDFFeedbackBytesGenerator.java   
public void init(DerivationParameters params)
{
    if (!(params instanceof KDFFeedbackParameters))
    {
        throw new IllegalArgumentException("Wrong type of arguments given");
    }

    KDFFeedbackParameters feedbackParams = (KDFFeedbackParameters)params;

    // --- init mac based PRF ---

    this.prf.init(new KeyParameter(feedbackParams.getKI()));

    // --- set arguments ---

    this.fixedInputData = feedbackParams.getFixedInputData();

    int r = feedbackParams.getR();
    this.ios = new byte[r / 8];

    if (feedbackParams.useCounter())
    {
        // this is more conservative than the spec
        BigInteger maxSize = TWO.pow(r).multiply(BigInteger.valueOf(h));
        this.maxSizeExcl = maxSize.compareTo(INTEGER_MAX) == 1 ?
            Integer.MAX_VALUE : maxSize.intValue();
    }
    else
    {
        this.maxSizeExcl = Integer.MAX_VALUE;
    }

    this.iv = feedbackParams.getIV();
    this.useCounter = feedbackParams.useCounter();

    // --- set operational state ---

    generatedBytes = 0;
}
项目:TinyTravelTracker    文件:KDFFeedbackBytesGenerator.java   
public void init(DerivationParameters params)
{
    if (!(params instanceof KDFFeedbackParameters))
    {
        throw new IllegalArgumentException("Wrong type of arguments given");
    }

    KDFFeedbackParameters feedbackParams = (KDFFeedbackParameters)params;

    // --- init mac based PRF ---

    this.prf.init(new KeyParameter(feedbackParams.getKI()));

    // --- set arguments ---

    this.fixedInputData = feedbackParams.getFixedInputData();

    int r = feedbackParams.getR();
    this.ios = new byte[r / 8];

    if (feedbackParams.useCounter())
    {
        // this is more conservative than the spec
        BigInteger maxSize = TWO.pow(r).multiply(BigInteger.valueOf(h));
        this.maxSizeExcl = maxSize.compareTo(INTEGER_MAX) == 1 ?
            Integer.MAX_VALUE : maxSize.intValue();
    }
    else
    {
        this.maxSizeExcl = Integer.MAX_VALUE;
    }

    this.iv = feedbackParams.getIV();
    this.useCounter = feedbackParams.useCounter();

    // --- set operational state ---

    generatedBytes = 0;
}
项目:CryptMeme    文件:KDFFeedbackBytesGenerator.java   
public void init(DerivationParameters params)
{
    if (!(params instanceof KDFFeedbackParameters))
    {
        throw new IllegalArgumentException("Wrong type of arguments given");
    }

    KDFFeedbackParameters feedbackParams = (KDFFeedbackParameters)params;

    // --- init mac based PRF ---

    this.prf.init(new KeyParameter(feedbackParams.getKI()));

    // --- set arguments ---

    this.fixedInputData = feedbackParams.getFixedInputData();

    int r = feedbackParams.getR();
    this.ios = new byte[r / 8];

    if (feedbackParams.useCounter())
    {
        // this is more conservative than the spec
        BigInteger maxSize = TWO.pow(r).multiply(BigInteger.valueOf(h));
        this.maxSizeExcl = maxSize.compareTo(INTEGER_MAX) == 1 ?
            Integer.MAX_VALUE : maxSize.intValue();
    }
    else
    {
        this.maxSizeExcl = Integer.MAX_VALUE;
    }

    this.iv = feedbackParams.getIV();
    this.useCounter = feedbackParams.useCounter();

    // --- set operational state ---

    generatedBytes = 0;
}
项目:irma_future_id    文件:KDFFeedbackBytesGenerator.java   
public void init(DerivationParameters params)
{
    if (!(params instanceof KDFFeedbackParameters))
    {
        throw new IllegalArgumentException("Wrong type of arguments given");
    }

    KDFFeedbackParameters feedbackParams = (KDFFeedbackParameters)params;

    // --- init mac based PRF ---

    this.prf.init(new KeyParameter(feedbackParams.getKI()));

    // --- set arguments ---

    this.fixedInputData = feedbackParams.getFixedInputData();

    int r = feedbackParams.getR();
    this.ios = new byte[r / 8];

    if (feedbackParams.useCounter())
    {
        // this is more conservative than the spec
        BigInteger maxSize = TWO.pow(r).multiply(BigInteger.valueOf(h));
        this.maxSizeExcl = maxSize.compareTo(INTEGER_MAX) == 1 ?
            Integer.MAX_VALUE : maxSize.intValue();
    }
    else
    {
        this.maxSizeExcl = Integer.MAX_VALUE;
    }

    this.iv = feedbackParams.getIV();
    this.useCounter = feedbackParams.useCounter();

    // --- set operational state ---

    generatedBytes = 0;
}
项目:bc-java    文件:KDFFeedbackBytesGenerator.java   
public void init(DerivationParameters params)
{
    if (!(params instanceof KDFFeedbackParameters))
    {
        throw new IllegalArgumentException("Wrong type of arguments given");
    }

    KDFFeedbackParameters feedbackParams = (KDFFeedbackParameters)params;

    // --- init mac based PRF ---

    this.prf.init(new KeyParameter(feedbackParams.getKI()));

    // --- set arguments ---

    this.fixedInputData = feedbackParams.getFixedInputData();

    int r = feedbackParams.getR();
    this.ios = new byte[r / 8];

    if (feedbackParams.useCounter())
    {
        // this is more conservative than the spec
        BigInteger maxSize = TWO.pow(r).multiply(BigInteger.valueOf(h));
        this.maxSizeExcl = maxSize.compareTo(INTEGER_MAX) == 1 ?
            Integer.MAX_VALUE : maxSize.intValue();
    }
    else
    {
        this.maxSizeExcl = Integer.MAX_VALUE;
    }

    this.iv = feedbackParams.getIV();
    this.useCounter = feedbackParams.useCounter();

    // --- set operational state ---

    generatedBytes = 0;
}
项目:irma_future_id    文件:KDFFeedbackCounterTests.java   
public void receiveCAVPVectors(String name, Properties config,
                               Properties vectors)
{
    //                out.println(" === " + name + " === ");
    //                out.println(" --- config --- ");
    //                out.println(config);
    //                out.println(" --- vectors --- ");
    //                out.println(vectors);

    // always skip AFTER_FIXED
    if (!config.getProperty("CTRLOCATION").matches("AFTER_ITER"))
    {
        return;
    }

    // create Mac based PRF from PRF property, create the KDF
    final Mac prf = CAVPReader.createPRF(config);
    final KDFFeedbackBytesGenerator gen = new KDFFeedbackBytesGenerator(prf);


    Matcher matcherForR = CAVPReader.PATTERN_FOR_R.matcher(config.getProperty("RLEN"));
    if (!matcherForR.matches())
    {
        throw new IllegalStateException("RLEN value should always match");
    }
    final int r = Integer.parseInt(matcherForR.group(1));

    final int count = Integer.parseInt(vectors.getProperty("COUNT"));
    final int l = Integer.parseInt(vectors.getProperty("L"));
    final byte[] ki = Hex.decode(vectors.getProperty("KI"));
    final byte[] iv = Hex.decode(vectors.getProperty("IV"));
    final byte[] fixedInputData = Hex.decode(vectors.getProperty("FixedInputData"));
    final KDFFeedbackParameters params = KDFFeedbackParameters.createWithCounter(ki, iv, fixedInputData, r);
    gen.init(params);

    final byte[] koGenerated = new byte[l / 8];
    gen.generateBytes(koGenerated, 0, koGenerated.length);

    final byte[] koVectors = Hex.decode(vectors.getProperty("KO"));

    compareKO(name, config, count, koGenerated, koVectors);
}
项目:bc-java    文件:KDFFeedbackCounterTests.java   
public void receiveCAVPVectors(String name, Properties config,
                               Properties vectors)
{
    //                out.println(" === " + name + " === ");
    //                out.println(" --- config --- ");
    //                out.println(config);
    //                out.println(" --- vectors --- ");
    //                out.println(vectors);

    // always skip AFTER_FIXED
    if (!config.getProperty("CTRLOCATION").matches("AFTER_ITER"))
    {
        return;
    }

    // create Mac based PRF from PRF property, create the KDF
    final Mac prf = CAVPReader.createPRF(config);
    final KDFFeedbackBytesGenerator gen = new KDFFeedbackBytesGenerator(prf);


    Matcher matcherForR = CAVPReader.PATTERN_FOR_R.matcher(config.getProperty("RLEN"));
    if (!matcherForR.matches())
    {
        throw new IllegalStateException("RLEN value should always match");
    }
    final int r = Integer.parseInt(matcherForR.group(1));

    final int count = Integer.parseInt(vectors.getProperty("COUNT"));
    final int l = Integer.parseInt(vectors.getProperty("L"));
    final byte[] ki = Hex.decode(vectors.getProperty("KI"));
    final byte[] iv = Hex.decode(vectors.getProperty("IV"));
    final byte[] fixedInputData = Hex.decode(vectors.getProperty("FixedInputData"));
    final KDFFeedbackParameters params = KDFFeedbackParameters.createWithCounter(ki, iv, fixedInputData, r);
    gen.init(params);

    final byte[] koGenerated = new byte[l / 8];
    gen.generateBytes(koGenerated, 0, koGenerated.length);

    final byte[] koVectors = Hex.decode(vectors.getProperty("KO"));

    compareKO(name, config, count, koGenerated, koVectors);
}