US 12,238,212 B2
Decentralized multi-authority attribute-based encryption
Pratish Datta, Sunnyvale, CA (US); Ilan Komargodski, Tel Aviv (IL); and Brent Waters, Austin, TX (US)
Assigned to NTT Research, Inc., Sunnyvale, CA (US)
Appl. No. 18/030,436
Filed by NTT Research, Inc., Sunnyvale, CA (US)
PCT Filed Oct. 4, 2021, PCT No. PCT/US2021/053415
§ 371(c)(1), (2) Date Apr. 5, 2023,
PCT Pub. No. WO2022/076327, PCT Pub. Date Apr. 14, 2022.
Claims priority of provisional application 63/087,866, filed on Oct. 5, 2020.
Prior Publication US 2023/0379153 A1, Nov. 23, 2023
Int. Cl. H04L 29/06 (2006.01); G06F 21/00 (2013.01); H04L 9/08 (2006.01); H04L 9/30 (2006.01); H04L 9/32 (2006.01)
CPC H04L 9/3093 (2013.01) [H04L 9/0869 (2013.01); H04L 9/3236 (2013.01)] 20 Claims
OG exemplary drawing
 
1. 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 mi bits for encryption in a computerized storage medium;
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 of an authority, 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 TA;
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 a secret key for the user;
executing an encryption algorithm for the message m, by:
for each bit mi of message m:
generating a matrix x and a vector s and a matrix V whose first column is s;
 generating an LWE sample ci with LWE matrix A and secret X;
 generating an LWE sample ci′ with LWE matrix H and secret X and adding M*V*B;
 computing mi′ as most significant bit of sky;
computing (ci,ci′) and mi XOR mi′; and
storing an encrypted message in a computerized storage medium, the encrypted message comprising, for each bit mi, (ci,ci′) and mi*=mi XOR mi′.