Search in sources :

Example 1 with Checksum

use of tech.pegasys.signers.bls.keystore.model.Checksum in project signers by ConsenSys.

the class KeyStore method encryptUsingCipherFunction.

private static Crypto encryptUsingCipherFunction(final Bytes secret, final String password, final KdfParam kdfParam, final Cipher cipher) {
    final Bytes decryptionKey = kdfParam.generateDecryptionKey(password);
    final Bytes cipherMessage = applyCipherFunction(decryptionKey, cipher, true, secret.toArrayUnsafe());
    final Bytes checksumMessage = calculateSHA256Checksum(decryptionKey, cipherMessage);
    final Checksum checksum = new Checksum(checksumMessage);
    final Cipher encryptedCipher = new Cipher(cipher.getCipherFunction(), cipher.getCipherParam(), cipherMessage);
    final Kdf kdf = new Kdf(kdfParam);
    return new Crypto(kdf, checksum, encryptedCipher);
}
Also used : Bytes(org.apache.tuweni.bytes.Bytes) Crypto(tech.pegasys.signers.bls.keystore.model.Crypto) Checksum(tech.pegasys.signers.bls.keystore.model.Checksum) Cipher(tech.pegasys.signers.bls.keystore.model.Cipher) Kdf(tech.pegasys.signers.bls.keystore.model.Kdf)

Aggregations

Bytes (org.apache.tuweni.bytes.Bytes)1 Checksum (tech.pegasys.signers.bls.keystore.model.Checksum)1 Cipher (tech.pegasys.signers.bls.keystore.model.Cipher)1 Crypto (tech.pegasys.signers.bls.keystore.model.Crypto)1 Kdf (tech.pegasys.signers.bls.keystore.model.Kdf)1