A computerized method for encrypting a message according to a multi-authority attribute-based encryption scheme, the method comprising: storing an electronic message m comprising m i bits for encryption in a computerized storage media; executing a global setup algorithm to generate global parameters by: selecting LWE parameters and a noise distribution; generating a matrix B with a first column of data y of random elements and the remainder set as all 0s except the diagonal which is set to be 1; executing an authority setup algorithm to generate a public and secret key pair, by: generating a first LWE matrix A; generating a second LWE matrix H; setting the public key of the authority to be ( A,H) and the secret key to be T A; executing a key generation algorithm, by: computing a random identifier vector t for a user by applying a cryptographic hash function on a unique identifier; computing a vector k such that k*A= (1, t)*H; outputting vector k as the secret key; executing an encryption algorithm for the message m, by: for each bit m i of message m: generating a matrix X and a vector s and a matrix V whose first column is s; generating an LWE sample c i with LWE matrix A and secret X; generating an LWE sample c i' with LWE matrix H and secret X and adding M*V*B; computing m i ' as most significant bit of s*y; computing ( c i,c i') and m i XOR m i '; and storing an encrypted message in a computerized storage media, the encrypted message comprising, for each bit m i, ( c i, c i') and m i *=m i XOR m i'. storing an electronic message m comprising m i bits for encryption in a computerized storage media; executing a global setup algorithm to generate global parameters by: selecting LWE parameters and a noise distribution; generating a matrix B with a first column of data y of random elements and the remainder set as all 0s except the diagonal which is set to be 1; selecting LWE parameters and a noise distribution; generating a matrix B with a first column of data y of random elements and the remainder set as all 0s except the diagonal which is set to be 1; executing an authority setup algorithm to generate a public and secret key pair, by: generating a first LWE matrix A; generating a second LWE matrix H; setting the public key of the authority to be ( A,H) and the secret key to be T A; generating a first LWE matrix A; generating a second LWE matrix H; setting the public key of the authority to be ( A,H) and the secret key to be T A; executing a key generation algorithm, by: computing a random identifier vector t for a user by applying a cryptographic hash function on a unique identifier; computing a vector k such that k*A= (1, t)*H; outputting vector k as the secret key; computing a random identifier vector t for a user by applying a cryptographic hash function on a unique identifier; computing a vector k such that k*A= (1, t)*H; outputting vector k as the secret key; executing an encryption algorithm for the message m, by: for each bit m i of message m: generating a matrix X and a vector s and a matrix V whose first column is s; generating an LWE sample c i with LWE matrix A and secret X; generating an LWE sample c i' with LWE matrix H and secret X and adding M*V*B; computing m i ' as most significant bit of s*y; computing ( c i,c i') and m i XOR m i '; and generating a matrix X and a vector s and a matrix V whose first column is s; generating an LWE sample c i with LWE matrix A and secret X; generating an LWE sample c i' with LWE matrix H and secret X and adding M*V*B; computing m i ' as most significant bit of s*y; computing ( c i,c i') and m i XOR m i '; and storing an encrypted message in a computerized storage media, the encrypted message comprising, for each bit m i, ( c i, c i') and m i *=m i XOR m i'.