Packages

p

tsec.cipher

symmetric

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
  2. trait AADEncryptor[F[_], A, K[_]] extends AuthEncryptor[F, A, K]
  3. trait AEADAPI[A, K[_]] extends AuthCipherAPI[A, K]

    Our AEAD algebra *

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

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

  5. trait AECipher[A] extends AnyRef

    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]

    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]
  8. trait AuthEncryptor[F[_], A, K[_]] extends Encryptor[F, A, K]
  9. type AuthTag[A] = symmetric.AuthTag.Type[A]
  10. trait BlockCipher[A] extends Cipher[A]

    Our general typeclass over block ciphers

  11. trait Cipher[A] extends AnyRef

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

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

    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

    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
  15. trait Encryptor[F[_], A, K[_]] extends AnyRef
  16. type Iv[A] = symmetric.Iv.Type[A]
  17. trait IvGen[F[_], A] extends AnyRef
  18. type PlainText = symmetric.PlainText.Type
  19. type RawCipherText[A] = symmetric.RawCipherText.Type[A]

Value Members

  1. val NISTIvLengthBytes: Int
  2. val NISTTagLengthBits: Int

    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

  3. object AAD extends ArrayNewt
  4. object AEADCipher
  5. object AES
  6. object AuthTag extends ArrayHKNewt
  7. object Iv extends ArrayHKNewt
  8. object PlainText extends ArrayNewt
  9. object RawCipherText extends ArrayHKNewt

Inherited from AnyRef

Inherited from Any

Ungrouped