From 409e8109d8076058e4f154272270a79b6844da18 Mon Sep 17 00:00:00 2001 From: iximeow Date: Fri, 28 Nov 2014 03:15:21 -0800 Subject: Refactor CBC utils --- src/solvers/Challenge10.scala | 46 ++++++++++++++++++------------------------- 1 file changed, 19 insertions(+), 27 deletions(-) (limited to 'src/solvers') diff --git a/src/solvers/Challenge10.scala b/src/solvers/Challenge10.scala index a130106..7880327 100644 --- a/src/solvers/Challenge10.scala +++ b/src/solvers/Challenge10.scala @@ -6,9 +6,8 @@ import ixee.cryptopals.utils.StreamUtils._ import ixee.cryptopals.utils.ConversionUtils._ import ixee.cryptopals.utils.FunctionUtils._ import ixee.cryptopals.utils._ +import ixee.cryptopals.utils.crypto._ import io.github.marklister.base64.Base64._ -import javax.crypto.Cipher -import javax.crypto.spec.SecretKeySpec object Challenge10 { val path = "./data/10.txt" @@ -22,30 +21,23 @@ object Challenge10 { .toByteArray def run = { - val encInstance = CryptoUtils.cbcEncryptInstance( - "AES", - "YELLOW SUBMARINE".asBytes.toArray, - Stream.continually(0.toByte).take(16) - ) - - val decInstance = CryptoUtils.cbcDecryptInstance( - "AES", - "YELLOW SUBMARINE".asBytes.toArray, - Stream.continually(0.toByte).take(16) - ) - - val s = "foo bar frobnicator the quick brown fox jumps over the lazy dog".asBytes - - val enc = encInstance.enc(s) ++ encInstance.end() - val dec = decInstance.dec(enc) - println(dec.startsWith(enc)) - - val decInstance2 = CryptoUtils.cbcDecryptInstance( - "AES", - "YELLOW SUBMARINE".asBytes.toArray, - Stream.continually(0.toByte).take(16) - ) - - decInstance2.dec(ciphertext) + def cbcBuilder = SchemeBuilder("AES", "YELLOW SUBMARINE".asBytes) + .cbc(Stream.continually(0.toByte).take(16)) + + val encInstance = cbcBuilder.encrypt + val decInstance = cbcBuilder.decrypt + + val s = "fooo bar frobnicator the quick brown fox jumps over the lazy dog".asBytes + + println(s) + val enc = encInstance.end(s) + val dec = decInstance.end(enc) + println(enc) + println(dec) + println(dec.startsWith(s)) + + val decInstance2 = cbcBuilder.decrypt + + decInstance2.end(ciphertext) } } -- cgit v1.1