def aes_pad_ (data):
    """Adds padding to the data such that the size of the data is a multiple of
    16 bytes
    
    data: the data string
    Returns a tuple:(pad_len, data). pad_len denotes the number of bytes added
    as padding; data is the new data string with padded bytes at the end
    """
    pad_len = len(data) % 16
    if (0 != pad_len):
        pad_len = 16 - pad_len
        pad_bytes = bytearray (15)
        data += str(pad_bytes[:pad_len])
    return (pad_len, data)