I read this paper and I found an error which is not very important but should be corrected:
page 9, in the Setup phase first one should generate an error vector e and then take v as A_0 * e and publish v as a part of the public key PK. Otherwise, if one just chooses v randomly and use it for encryption, nobody could do the associated decryption.