Packages

trait CryptoPureApi extends EncryptionOps with SigningOps with HmacOps with HkdfOps with HashOps

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CryptoPureApi
  2. HashOps
  3. HkdfOps
  4. HmacOps
  5. SigningOps
  6. EncryptionOps
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def decryptWith[M](encrypted: Encrypted[M], symmetricKey: SecureRandomness, scheme: SymmetricKeyScheme = defaultSymmetricKeyScheme)(deserialize: (ByteString) => Either[DeserializationError, M]): Either[DecryptionError, M]

    Decrypts a message encrypted using encryptWith

    Decrypts a message encrypted using encryptWith

    Definition Classes
    EncryptionOps
  2. abstract def decryptWith[M](encrypted: Encrypted[M], symmetricKey: SymmetricKey)(deserialize: (ByteString) => Either[DeserializationError, M]): Either[DecryptionError, M]

    Decrypts a message encrypted using encryptWith

    Decrypts a message encrypted using encryptWith

    Definition Classes
    EncryptionOps
  3. abstract def decryptWith[M](encrypted: Encrypted[M], privateKey: EncryptionPrivateKey)(deserialize: (ByteString) => Either[DeserializationError, M]): Either[DecryptionError, M]

    Decrypts a message encrypted using encryptWith

    Decrypts a message encrypted using encryptWith

    Definition Classes
    EncryptionOps
  4. abstract def defaultHashAlgorithm: HashAlgorithm
    Definition Classes
    HashOps
  5. abstract def defaultSymmetricKeyScheme: SymmetricKeyScheme
    Definition Classes
    EncryptionOps
  6. abstract def encryptWith[M <: HasVersionedToByteString](message: M, symmetricKey: SecureRandomness, version: ProtocolVersion, scheme: SymmetricKeyScheme = defaultSymmetricKeyScheme): Either[EncryptionError, Encrypted[M]]

    Encrypts the given message with the given randomness as the symmetric key for the given scheme.

    Encrypts the given message with the given randomness as the symmetric key for the given scheme.

    TODO(i4612): this is a bit of a kludge; a cleaner way would be to provide a conversion from SecureRandom to SymmetricKey, and use the encryptWith method, but that's annoying to do with Tink. Clean up once Tink is removed,

    Definition Classes
    EncryptionOps
  7. abstract def encryptWith[M <: HasVersionedToByteString](message: M, symmetricKey: SymmetricKey, version: ProtocolVersion): Either[EncryptionError, Encrypted[M]]

    Encrypts the given message with the given symmetric key

    Encrypts the given message with the given symmetric key

    Definition Classes
    EncryptionOps
  8. abstract def encryptWith[M <: HasVersionedToByteString](message: M, publicKey: EncryptionPublicKey, version: ProtocolVersion): Either[EncryptionError, Encrypted[M]]

    Encrypts the given bytes using the given public key

    Encrypts the given bytes using the given public key

    Definition Classes
    EncryptionOps
  9. abstract def generateSymmetricKey(scheme: SymmetricKeyScheme = defaultSymmetricKeyScheme): Either[EncryptionKeyGenerationError, SymmetricKey]

    Generates and returns a random symmetric key using the specified scheme.

    Generates and returns a random symmetric key using the specified scheme.

    Definition Classes
    EncryptionOps
  10. abstract def sign(bytes: ByteString, signingKey: SigningPrivateKey): Either[SigningError, Signature]
    Attributes
    protected[crypto]
    Definition Classes
    SigningOps
  11. abstract def verifySignature(bytes: ByteString, publicKey: SigningPublicKey, signature: Signature): Either[SignatureCheckError, Unit]
    Attributes
    protected[crypto]
    Definition Classes
    SigningOps

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def build(purpose: HashPurpose, algorithm: HashAlgorithm = defaultHashAlgorithm): HashBuilder

    Creates a HashBuilder for computing a hash with the given purpose.

    Creates a HashBuilder for computing a hash with the given purpose. For different purposes purpose1 and purpose2, all implementations must ensure that it is computationally infeasible to find a sequence bs of com.google.protobuf.ByteStrings such that bs.foldLeft(hashBuilder(purpose1))((b, hb) => hb.add(b)).finish and bs.foldLeft(hashBuilder(purpose2))((b, hb) => hb.add(b)).finish yield the same hash.

    Definition Classes
    HashOps
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. def defaultHmacAlgorithm: HmacAlgorithm
    Definition Classes
    HmacOps
  8. def digest(purpose: HashPurpose, bytes: ByteString, algorithm: HashAlgorithm = defaultHashAlgorithm): Hash

    Convenience method for build(purpose).addWithoutLengthPrefix(bytes).finish

    Convenience method for build(purpose).addWithoutLengthPrefix(bytes).finish

    Definition Classes
    HashOps
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. def hkdfExpand(keyMaterial: SecureRandomness, outputBytes: Int, info: HkdfInfo, algorithm: HmacAlgorithm = defaultHmacAlgorithm): Either[HkdfError, SecureRandomness]

    Produce a new secret from the given secret and purpose

    Produce a new secret from the given secret and purpose

    keyMaterial

    Cryptographically secure, uniformly random initial key material. Must be at least as long as the length of the hash function chosen for the HMAC scheme.

    outputBytes

    The length of the produced secret. May be at most 255 times the size of the output of the selected hashing algorithm. If you need to derive multiple keys, set the info parameter to different values, for each key that you need.

    info

    Specify the purpose of the derived key (optional). Note that you can derive multiple independent keys from the same key material by varying the purpose.

    algorithm

    The hash algorithm to be used for the HKDF construction

    Definition Classes
    HkdfOps
  14. def hmacWithSecret(secret: HmacSecret, message: ByteString, algorithm: HmacAlgorithm = defaultHmacAlgorithm): Either[HmacError, Hmac]
    Definition Classes
    HmacOps
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. def sign(hash: Hash, signingKey: SigningPrivateKey): Either[SigningError, Signature]

    Signs the given hash using the private signing key.

    Signs the given hash using the private signing key.

    Definition Classes
    SigningOps
  20. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. def verifySignature(hash: Hash, publicKey: SigningPublicKey, signature: Signature): Either[SignatureCheckError, Unit]

    Confirms if the provided signature is a valid signature of the payload using the public key

    Confirms if the provided signature is a valid signature of the payload using the public key

    Definition Classes
    SigningOps
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from HashOps

Inherited from HkdfOps

Inherited from HmacOps

Inherited from SigningOps

Inherited from EncryptionOps

Inherited from AnyRef

Inherited from Any

Ungrouped