summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/oracle.go32
-rw-r--r--lib/rand.go2
2 files changed, 1 insertions, 33 deletions
diff --git a/lib/oracle.go b/lib/oracle.go
index 29338ff..8a449a1 100644
--- a/lib/oracle.go
+++ b/lib/oracle.go
@@ -25,38 +25,6 @@ func init() {
}
}
-// Given an input `in`, this function AES encrypts `in` using a
-// randomly generate 16-byte key using ECB or CBC mode and returns the
-// cipher.
-func OracleAESRandomEncrypt(in []byte) []byte {
- // Generate random key.
- key, err := RandomBytes(16)
- if err != nil {
- panic(err)
- }
- // Generate random initialization vector; needed for AES CBC.
- iv, err := RandomBytes(16)
- if err != nil {
- panic(err)
- }
-
- // Add 5-10 bytes at the beginning and end of `in`
- in = append(randomBytesWithLengthBetween(5, 10), in...)
- in = append(in, randomBytesWithLengthBetween(5, 10)...)
-
- // Randomly encrypt `in` with AES in ECB or CBC mode.
- m := RandomInt(0, 1)
- var out []byte
- if m == 0 {
- // Encrypt with AES in ECB mode.
- out = AESEncryptECB(in, key)
- } else {
- // Encrypt with AES in CBC mode.
- out = AESEncryptCBC(in, key, iv)
- }
- return out
-}
-
func OracleAESEncryptECB(in []byte) []byte {
return AESEncryptECB(append(in, Base64ToBytes(oracleUnknown)...), oracleKey)
}
diff --git a/lib/rand.go b/lib/rand.go
index 1ba1679..be95366 100644
--- a/lib/rand.go
+++ b/lib/rand.go
@@ -37,7 +37,7 @@ func RandomBytes(size int) ([]byte, error) {
}
// Randomly generates `min` to `max` bytes.
-func randomBytesWithLengthBetween(min, max int64) []byte {
+func RandomBytesWithLengthBetween(min, max int64) []byte {
bs := make([]byte, RandomInt(min, max))
_, err := rand.Read(bs)
if err != nil {