Multi-Input Inner Product Encryption: Function-hiding instantiations without Random Oracles