AESCTR
tsec.cipher.symmetric.jca.AESCTR
sealed abstract class AESCTR[A] extends JCACipherAPI[A, CTR, NoPadding], AES[A]
Attributes
- Source
- AESCTR.scala
- Graph
-
- Supertypes
-
trait AES[A]trait AEADCipher[A]trait AECipher[A]trait BlockCipher[A]trait Cipher[A]class Objecttrait Matchableclass AnyShow all
- Known subtypes
Members list
Value members
Concrete methods
Attributes
- Source
- AESCTR.scala
Our default Iv strategy for CTR mode produces randomized IVs
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
- Source
- AESCTR.scala
Inherited methods
Attributes
- Inherited from:
- SymmetricKeyGenAPI (hidden)
- Source
- SymmetricKeyGenAPI.scala
Attributes
- Inherited from:
- CipherAPI
- Source
- CipherAPI.scala
Attributes
- Inherited from:
- CipherAPI
- Source
- CipherAPI.scala
Attributes
- Inherited from:
- CipherAPI
- Source
- CipherAPI.scala
Attributes
- Inherited from:
- CipherAPI
- Source
- CipherAPI.scala
Attributes
- Inherited from:
- SymmetricKeyGenAPI (hidden)
- Source
- SymmetricKeyGenAPI.scala
Attributes
- Inherited from:
- Cipher
- Source
- package.scala
Attributes
- Inherited from:
- SymmetricKeyGenAPI (hidden)
- Source
- SymmetricKeyGenAPI.scala
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:
- AES
- Source
- package.scala
Implicits
Implicits
Attributes
- Source
- AESCTR.scala
implicit def genEncryptor[F[_] : Sync](implicit evidence$1: Sync[F], c: BlockCipher[A]): JCAPrimitiveCipher[F, A, CTR, NoPadding]
Attributes
- Source
- AESCTR.scala
Inherited implicits
Attributes
- Inherited from:
- JCAKeyGen (hidden)
- Source
- BlockCipherEV.scala
implicit def newKeyGen[F[_]](implicit F: Sync[F], B: BlockCipher[A]): SymmetricKeyGen[F, A, SecretKey]
Attributes
- Inherited from:
- JCAKeyGen (hidden)
- Source
- BlockCipherEV.scala
In this article