Object/Trait

tsec.cipher.symmetric.bouncy

ChaCha20Poly1305IETF

Related Docs: trait ChaCha20Poly1305IETF | package bouncy

Permalink

object ChaCha20Poly1305IETF extends IETFChaCha20Cipher[ChaCha20Poly1305IETF, ChaCha20IETFEngine]

Source
ChaCha20Poly1305IETF.scala
Linear Supertypes
IETFChaCha20Cipher[ChaCha20Poly1305IETF, ChaCha20IETFEngine], ChaCha20Cipher[ChaCha20Poly1305IETF, ChaCha20IETFEngine], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ChaCha20Poly1305IETF
  2. IETFChaCha20Cipher
  3. ChaCha20Cipher
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. val KeySize: Int

    Permalink
    Definition Classes
    ChaCha20Cipher
  5. val TagSize: Int

    Permalink
    Definition Classes
    ChaCha20Cipher
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. implicit def authEncryptor[F[_]](implicit F: Sync[F]): AADEncryptor[F, ChaCha20Poly1305IETF, BouncySecretKey]

    Permalink
    Definition Classes
    ChaCha20Cipher
  8. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def defaultIvGen[F[_]](implicit F: Sync[F]): IvGen[F, ChaCha20Poly1305IETF]

    Permalink
    Definition Classes
    ChaCha20Cipher
  10. implicit def defaultKeyGen[F[_]](implicit F: Sync[F]): SymmetricKeyGen[F, ChaCha20Poly1305IETF, BouncySecretKey]

    Permalink
    Definition Classes
    ChaCha20Cipher
  11. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. def getCipherImpl: ChaCha20IETFEngine

    Permalink
    Attributes
    protected
    Definition Classes
    ChaCha20Poly1305IETF → ChaCha20Cipher
  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  16. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  19. val nonceSize: Int

    Permalink
    Definition Classes
    ChaCha20Poly1305IETF → ChaCha20Cipher
  20. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  22. def poly1305Auth(key: KeyParameter, aad: AAD, in: Array[Byte], inSize: Int, tagOut: Array[Byte], tOutOffset: Int): Unit

    Permalink

    Mutates the internal

    Mutates the internal

    Attributes
    protected
    Definition Classes
    IETFChaCha20Cipher → ChaCha20Cipher
  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  24. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  25. def unsafeDecrypt(ct: CipherText[ChaCha20Poly1305IETF], k: BouncySecretKey[ChaCha20Poly1305IETF]): PlainText

    Permalink

    Decrypt the plaintext using the chacha function.

    Decrypt the plaintext using the chacha function.

    Using the DJB ciphers, encryption and decryption are the same operation applied. simply in reverse, thus, the init parameter in the StreamCipher is irrelevant.

    We assume the ciphertext is of the form cipherText || block Thus, it must have a minimum size of at least one.

    Definition Classes
    ChaCha20Cipher
  26. def unsafeDecryptAAD(ct: CipherText[ChaCha20Poly1305IETF], k: BouncySecretKey[ChaCha20Poly1305IETF], aad: AAD): PlainText

    Permalink

    Decrypt the plaintext using the chacha function.

    Decrypt the plaintext using the chacha function.

    Using the DJB ciphers, encryption and decryption are the same operation applied. simply in reverse, thus, the init parameter in the StreamCipher is irrelevant.

    We assume the ciphertext is of the form cipherText || block Thus, it must have a minimum size of at least one.

    Run the empty block on the cipher, run the encryption algorithm (which is essentially decryption) and compare the tag computed from the original ciphertext.

    Definition Classes
    ChaCha20Cipher
  27. def unsafeDecryptDetached(ct: CipherText[ChaCha20Poly1305IETF], authTag: AuthTag[ChaCha20Poly1305IETF], k: BouncySecretKey[ChaCha20Poly1305IETF]): PlainText

    Permalink

    Decrypt the plaintext using the chacha function.

    Decrypt the plaintext using the chacha function.

    Run an empty block of 64 bytes through the cipher to generate the Poly1305 key. Decrypt the plaintext, generate the authentication tag and compare it to the supplied tag.

    Definition Classes
    ChaCha20Cipher
  28. def unsafeDecryptDetachedAAD(ct: CipherText[ChaCha20Poly1305IETF], authTag: AuthTag[ChaCha20Poly1305IETF], k: BouncySecretKey[ChaCha20Poly1305IETF], aad: AAD): PlainText

    Permalink
    Definition Classes
    ChaCha20Cipher
  29. def unsafeEncrypt(plainText: PlainText, k: BouncySecretKey[ChaCha20Poly1305IETF], iv: Iv[ChaCha20Poly1305IETF]): CipherText[ChaCha20Poly1305IETF]

    Permalink

    Encrypt the plaintext using the chacha function.

    Encrypt the plaintext using the chacha function.

    Run an empty block of 64 bytes through the cipher to generate the Poly1305 key. Encrypt the plaintext, then return the block and the tag concatenated like:

    cipherText || block

    Definition Classes
    ChaCha20Cipher
  30. def unsafeEncryptAAD(plainText: PlainText, k: BouncySecretKey[ChaCha20Poly1305IETF], iv: Iv[ChaCha20Poly1305IETF], aad: AAD): CipherText[ChaCha20Poly1305IETF]

    Permalink

    Encrypt the plaintext using the chacha function.

    Encrypt the plaintext using the chacha function.

    Run an empty block of 64 bytes through the cipher to generate the Poly1305 key. Encrypt the plaintext, then return the block and the tag concatenated like:

    cipherText || block

    Definition Classes
    ChaCha20Cipher
  31. def unsafeEncryptDetached(plainText: PlainText, k: BouncySecretKey[ChaCha20Poly1305IETF], iv: Iv[ChaCha20Poly1305IETF]): (CipherText[ChaCha20Poly1305IETF], AuthTag[ChaCha20Poly1305IETF])

    Permalink

    Encrypt the plaintext using the chacha function.

    Encrypt the plaintext using the chacha function.

    Run an empty block of 64 bytes through the cipher to generate the Poly1305 key. Encrypt the plaintext, then return the block and the tag in a separate fashion.

    Definition Classes
    ChaCha20Cipher
  32. def unsafeEncryptDetachedAAD(plainText: PlainText, k: BouncySecretKey[ChaCha20Poly1305IETF], iv: Iv[ChaCha20Poly1305IETF], aad: AAD): (CipherText[ChaCha20Poly1305IETF], AuthTag[ChaCha20Poly1305IETF])

    Permalink

    Encrypt the plaintext using the chacha function.

    Encrypt the plaintext using the chacha function.

    Run an empty block of 64 bytes through the cipher to generate the Poly1305 key. Encrypt the plaintext, then return the block and the tag in a separate fashion.

    Definition Classes
    ChaCha20Cipher
  33. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from IETFChaCha20Cipher[ChaCha20Poly1305IETF, ChaCha20IETFEngine]

Inherited from ChaCha20Cipher[ChaCha20Poly1305IETF, ChaCha20IETFEngine]

Inherited from AnyRef

Inherited from Any

Ungrouped