Package

tsec.cipher

symmetric

Permalink

package symmetric

Source
package.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. symmetric
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type AAD = symmetric.AAD.Type

    Permalink
  2. trait AADEncryptor[F[_], A, K[_]] extends AuthEncryptor[F, A, K]

    Permalink
  3. trait AEADAPI[A, K[_]] extends AuthCipherAPI[A, K]

    Permalink

    Our AEAD algebra *

  4. trait AEADCipher[A] extends AECipher[A]

    Permalink

    Typeclass evidence for a construction that serves as encryption for Authenticated encryption with Additional Data

  5. trait AECipher[A] extends AnyRef

    Permalink

    Typeclass evidence that some type A is also an Authenticated Encryption Cipher

    Typeclass evidence that some type A is also an Authenticated Encryption Cipher

    It does not inherit from cipher, to simply exist as an evidence typeclass

  6. trait AES[A] extends BlockCipher[A] with AEADCipher[A]

    Permalink

    Our typeclass generalizing over AES, that lends itself to variable key sizes (128, 192 and 256 bits).

  7. trait AuthCipherAPI[A, K[_]] extends CipherAPI[A, K]

    Permalink
  8. trait AuthEncryptor[F[_], A, K[_]] extends Encryptor[F, A, K]

    Permalink
  9. type AuthTag[A] = symmetric.AuthTag.Type[A]

    Permalink
  10. trait BlockCipher[A] extends Cipher[A]

    Permalink

    Our general typeclass over block ciphers

  11. trait Cipher[A] extends AnyRef

    Permalink

    Our general cipher type class, to carry cipher name information, block

  12. trait CipherAPI[A, K[_]] extends AnyRef

    Permalink

    Our high level cipher algebra, wherein the implicit Scala cipher is placed as a type parameter for future libsodium algebra compatibility

    Our high level cipher algebra, wherein the implicit Scala cipher is placed as a type parameter for future libsodium algebra compatibility

    A

    The cipher algorithm

    K

    Key type constructor

  13. trait CipherMode[M] extends AnyRef

    Permalink

    This trait propagates type information about a parametrized M being a symmetric cipher mode of operation

  14. case class CipherText[A](content: RawCipherText[A], nonce: Iv[A]) extends Product with Serializable

    Permalink
  15. trait Encryptor[F[_], A, K[_]] extends AnyRef

    Permalink
  16. type Iv[A] = symmetric.Iv.Type[A]

    Permalink
  17. trait IvGen[F[_], A] extends AnyRef

    Permalink
  18. type PlainText = symmetric.PlainText.Type

    Permalink
  19. type RawCipherText[A] = symmetric.RawCipherText.Type[A]

    Permalink

Value Members

  1. object AAD extends ArrayNewt with Serializable

    Permalink
  2. object AEADCipher

    Permalink
  3. object AES

    Permalink
  4. object AuthTag extends ArrayHKNewt with Serializable

    Permalink
  5. object Iv extends ArrayHKNewt with Serializable

    Permalink
  6. val NISTIvLengthBytes: Int

    Permalink
  7. val NISTTagLengthBits: Int

    Permalink

    In our implementation, we will use the most secure tag size as defined by: http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf Iv length of 96 bits is recommended as per the spec on page 8

  8. object PlainText extends ArrayNewt with Serializable

    Permalink
  9. object RawCipherText extends ArrayHKNewt with Serializable

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped