Example #1
0
def aes_ctr(rawInput, rawKey, rawIV):
    inputBlocks = chunks(rawInput, 16)
    rawOutput = b''
    for block in inputBlocks:
        keyStream = aes_ecb_enc(rawIV, rawKey)
        rawOutput += raw_xor(keyStream, block)
        rawIV = incrementIV(rawIV)
    return rawOutput
Example #2
0
def aes_ctr(rawInput, rawKey, rawIV):
    inputBlocks = chunks(rawInput, 16);
    rawOutput = b'';
    for block in inputBlocks:
        keyStream = aes_ecb_enc(rawIV, rawKey);
        rawOutput += raw_xor(keyStream, block);
        rawIV = incrementIV(rawIV);
    return rawOutput;
def encryption_oracle(rawInput):
    key = generateAESKey();
    iv = generateAESKey();
    prependAmount = 5 + (getOneRandomByte() % 6); #slight bias...
    appendAmount = 5 + (getOneRandomByte() % 6); #slight bias...
    plaintext = (b'x' * prependAmount) + rawInput + (b'y' * appendAmount);

    if ((getOneRandomByte() & 0x1)):
        return aes_ecb_enc(addPKCS7Padding(plaintext, 16), key);
    else:
        return aes_cbc_enc(addPKCS7Padding(plaintext, 16), key, iv);
Example #4
0
def encryption_oracle(rawInput):
    key = generateAESKey()
    iv = generateAESKey()
    prependAmount = 5 + (getOneRandomByte() % 6)
    #slight bias...
    appendAmount = 5 + (getOneRandomByte() % 6)
    #slight bias...
    plaintext = (b'x' * prependAmount) + rawInput + (b'y' * appendAmount)

    if ((getOneRandomByte() & 0x1)):
        return aes_ecb_enc(addPKCS7Padding(plaintext, 16), key)
    else:
        return aes_cbc_enc(addPKCS7Padding(plaintext, 16), key, iv)
Example #5
0
def encryptProfile(profile):
    return aes_ecb_enc(addPKCS7Padding(bytes(profile, 'UTF-8'), 16), aesKey)
def constant_ecb_encrypt(rawInput):
    return aes_ecb_enc(addPKCS7Padding(rawInput, 16), global_aes_key);
Example #7
0
def encryptProfile(profile):
    return aes_ecb_enc(addPKCS7Padding(bytes(profile, 'UTF-8'), 16), aesKey);
Example #8
0
def constant_ecb_encrypt(rawInput):
    return aes_ecb_enc(addPKCS7Padding(rawInput, 16), global_aes_key)