I recently came across this fascinating paper, and was wondering about whether the GL-SPHF that the paper constructs can be used to create a witness encryption scheme for algebraic branching programs. That is, if Alice could derive the appropriate parameters $\Gamma$ and $\theta$ for the GL-SPHF for a given algebraic branching program, then she could derive a symmetric key from the hash $H$ computed from the private hashing key $hk$, encrypt some data, then send the encrypted data along with the public hashing key $hp$ and public parameters to Bob. Now, Bob will only be able to derive the symmetric key if he knows an appropriate witness.
Applied to algebraic branching programs, this seems to be a useful technique, but an application to witness encryption is not mentioned in the paper. What am I missing? Is the above scheme insecure for some reason? Or are ABPs not as powerful as I am understanding? Or something else?
Thanks, and apologies if the answer is obvious.