diff options
Diffstat (limited to 'src/utils/crypto/SchemeBuilder.scala')
-rw-r--r-- | src/utils/crypto/SchemeBuilder.scala | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/utils/crypto/SchemeBuilder.scala b/src/utils/crypto/SchemeBuilder.scala new file mode 100644 index 0000000..ae92062 --- /dev/null +++ b/src/utils/crypto/SchemeBuilder.scala @@ -0,0 +1,13 @@ +package ixee.cryptopals.utils.crypto + +import javax.crypto.spec.SecretKeySpec +import javax.crypto.Cipher + +case class SchemeBuilder(cipherAlgo: String, private val bareKey: Seq[Byte]) { + def cipher = Cipher.getInstance(s"$cipherAlgo/ECB/NoPadding") + lazy val key = new SecretKeySpec(bareKey.toArray, cipherAlgo) + + def ecb = EcbBuilder(this) + def cbc(iv: Seq[Byte]) = CbcBuilder(this, iv) +} + |