The Learning with Errors Problem