xyz.wiedenhoeft.scalacrypt

SymmetricBlockCipherSuite

abstract class SymmetricBlockCipherSuite[KeyType <: SymmetricKey] extends SymmetricBlockCipher[KeyType] with BlockCipherMode with BlockPadding

Represents a combination of cryptographic primitives to implement a block cipher that can be used on arbitrary iterators.

This class is meant to be extended by the following traits: * SymmetricBlockCipher * BlockCipherMode * BlockPadding

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SymmetricBlockCipherSuite
  2. BlockPadding
  3. BlockCipherMode
  4. SymmetricBlockCipher
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SymmetricBlockCipherSuite()

Abstract Value Members

  1. abstract def blockSize: Int

    Definition Classes
    BlockPadding
  2. abstract def decryptBlock(block: Seq[Byte]): Try[Seq[Byte]]

    Returns a function that decrypts single blocks using the key.

    Returns a function that decrypts single blocks using the key.

    Definition Classes
    SymmetricBlockCipher
  3. abstract def encryptBlock(block: Seq[Byte]): Try[Seq[Byte]]

    Returns a function that encrypts single blocks using the key.

    Returns a function that encrypts single blocks using the key.

    Definition Classes
    SymmetricBlockCipher
  4. abstract def key: KeyType

    The key used for en- and decryption.

    The key used for en- and decryption.

    Definition Classes
    SymmetricBlockCipher
  5. abstract def pad(input: Iterator[Seq[Byte]]): Iterator[Seq[Byte]]

    Takes an iterator of byte sequences and outputs an iterator of blocks for encryption.

    Takes an iterator of byte sequences and outputs an iterator of blocks for encryption.

    Each Seq that the returned iterator returns MUST be exactly blockSize long.

    Definition Classes
    BlockPadding
  6. abstract def postDecryptBlock(block: Seq[Byte], state: Option[Any]): (Seq[Byte], Option[Any])

    Process the block after it was decrypted.

    Process the block after it was decrypted.

    Definition Classes
    BlockCipherMode
  7. abstract def postEncryptBlock(block: Seq[Byte], state: Option[Any]): (Seq[Byte], Option[Any])

    Process the block after it was encrypted.

    Process the block after it was encrypted.

    Definition Classes
    BlockCipherMode
  8. abstract def preDecryptBlock(block: Seq[Byte], state: Option[Any]): (Seq[Byte], Option[Any])

    Process the block before it is decrypted.

    Process the block before it is decrypted.

    Definition Classes
    BlockCipherMode
  9. abstract def preEncryptBlock(block: Seq[Byte], state: Option[Any]): (Seq[Byte], Option[Any])

    Process the block before it is encrypted.

    Process the block before it is encrypted.

    Definition Classes
    BlockCipherMode
  10. abstract def unpad(input: Iterator[Seq[Byte]]): Iterator[Try[Seq[Byte]]]

    Takes an iterator of blocks and removes the padding.

    Takes an iterator of blocks and removes the padding.

    Each Seq that input contains must be exactly blockSize long.

    Definition Classes
    BlockPadding

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 clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def decrypt(input: Iterator[Seq[Byte]]): Iterator[Try[Seq[Byte]]]

  7. def decrypt(input: Seq[Byte]): Try[Seq[Byte]]

  8. def encrypt(input: Iterator[Seq[Byte]]): Iterator[Try[Seq[Byte]]]

  9. def encrypt(input: Seq[Byte]): Try[Seq[Byte]]

  10. final def eq(arg0: AnyRef): Boolean

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]

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

    Definition Classes
    AnyRef → Any
  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
  18. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  19. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  20. def toString(): String

    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from BlockPadding

Inherited from BlockCipherMode

Inherited from SymmetricBlockCipher[KeyType]

Inherited from AnyRef

Inherited from Any

Ungrouped