AES256CTR

tsec.cipher.symmetric.jca.AES256CTR$
See theAES256CTR companion trait

Attributes

Companion
trait
Source
AESCTR.scala
Graph
Supertypes
trait AES256[AES256CTR]
class AESCTR[AES256CTR]
trait AES[AES256CTR]
trait Cipher[AES256CTR]
class Object
trait Matchable
class Any
Show all
Self type
AES256CTR.type

Members list

Value members

Inherited methods

def buildKey[F[_]](rawKey: Array[Byte])(implicit S: SymmetricKeyGen[F, AES256CTR, SecretKey]): F[K[Alg]]

Attributes

Inherited from:
SymmetricKeyGenAPI (hidden)
Source
SymmetricKeyGenAPI.scala

Attributes

Inherited from:
AESCTR
Source
AESCTR.scala

Attributes

Inherited from:
CipherAPI
Source
CipherAPI.scala
def defaultIvStrategy[F[_] : Sync](implicit evidence$2: Sync[F], c: BlockCipher[AES256CTR]): IvGen[F, A]

Our default Iv strategy for CTR mode produces randomized IVs

Our default Iv strategy for CTR mode produces randomized IVs

Attributes

Inherited from:
AESCTR
Source
AESCTR.scala

Attributes

Inherited from:
CipherAPI
Source
CipherAPI.scala

Attributes

Inherited from:
CipherAPI
Source
CipherAPI.scala

Attributes

Inherited from:
CipherAPI
Source
CipherAPI.scala
def generateKey[F[_]](implicit S: SymmetricKeyGen[F, AES256CTR, SecretKey]): F[K[Alg]]

Attributes

Inherited from:
SymmetricKeyGenAPI (hidden)
Source
SymmetricKeyGenAPI.scala
def incrementalIvStrategy[F[_]](implicit F: Sync[F]): CounterIvGen[F, A]

An incremental iv generator, intended for use with a single key.

An incremental iv generator, intended for use with a single key.

See: https://crypto.stanford.edu/~dabo/cs255/lectures/PRP-PRF.pdf, courtesy of dan boneh

For a 128 bit iv, we use a 64 bit leftmost bits as a nonce, and the rightmost 64 bits (zeroed out) as the counter.

This means, using the incremental strategy, you can safely generate generate 264 - 106 different nonces maximum, each of which can safely increment a maximum of 2^^64 blocks.

264 - 106 is a safe limit to possibly avoid overflowing the safe number of nonces you can generate with one key.

Attributes

Inherited from:
AESCTR
Source
AESCTR.scala

Attributes

Inherited from:
SymmetricKeyGenAPI (hidden)
Source
SymmetricKeyGenAPI.scala
def unsafeGenerateKey(implicit S: IdKeyGen[AES256CTR, SecretKey]): K[Alg]

Attributes

Inherited from:
SymmetricKeyGenAPI (hidden)
Source
SymmetricKeyGenAPI.scala

Inherited fields

Attributes

Inherited from:
AES
Source
package.scala

Attributes

Inherited from:
AES
Source
package.scala

Attributes

Inherited from:
AES256
Source
AES256.scala

Attributes

Inherited from:
AES
Source
package.scala

Implicits

Inherited implicits

implicit val ae: AESCTR[AES256CTR]

Attributes

Inherited from:
AESCTR
Source
AESCTR.scala
implicit def genEncryptor[F[_] : Sync](implicit evidence$1: Sync[F], c: BlockCipher[AES256CTR]): JCAPrimitiveCipher[F, A, CTR, NoPadding]

Attributes

Inherited from:
AESCTR
Source
AESCTR.scala
implicit def idKeyGen(implicit B: BlockCipher[AES256CTR]): IdKeyGen[A, SecretKey]

Attributes

Inherited from:
JCAKeyGen (hidden)
Source
BlockCipherEV.scala
implicit def newKeyGen[F[_]](implicit F: Sync[F], B: BlockCipher[AES256CTR]): SymmetricKeyGen[F, A, SecretKey]

Attributes

Inherited from:
JCAKeyGen (hidden)
Source
BlockCipherEV.scala