# US 11,444,752 B2 · Systems and methods for data encryption and decryption in data transmission

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,444,752 B2
- Document ID: US11444752B2
- Status: Granted
- Kind: B2
- Application number: 16/726,871
- Filed: 2019-12-25
- Published: 2020-05-07
- Granted: 2022-09-13
- Earliest claimed: 2017-07-06
- Assignees: Beijing Didi Infinity Technology and Development Co., Ltd.
- Applicants: Beijing Didi Infinity Technology and Development Co., Ltd.
- Inventors: Yang Sun
- Web page: https://patentgrep.com/patent/US11444752B2

## CPC

- H04L 9/0825: {using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates}
- H04L 63/0442: {wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption (cryptographic mechanisms or cryptographic arrangements for public-key encryption H04L9/30)}
- H04L 9/0618: {Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/0836: {using tree structure or hierarchical structure}
- H04L 9/0866: {involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics}
- H04L 9/0869: {involving random numbers or seeds}
- H04L 9/088: {Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms (network architectures or network communication protocols for using time-dependent keys in a packet data network H04L63/068)}
- H04L 9/0891: {Revocation or update of secret information, e.g. encryption key update or rekeying}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/3066: {involving algebraic varieties, e.g. elliptic or hyper-elliptic curves}
- H04L 9/3073: {involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing}
- H04L 2209/76: Proxy, i.e. using intermediary entity to perform cryptographic operations
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method for decrypting an encrypted message in a cluster may be provided. The method may include generating, by a first private key generator, one or more system parameters and a master key using a security parameter of the cluster and a depth of the maximum of a unit vector, the cluster including a first member and a second member. The method may also include generating, by the first private key generator, a private key of the first member; The method may further include generating, by a second private key generator, a private key of the second member based on the one or more system parameters, the identification vector of the first member, the private key of the first member, and an identification vector of the second member; The method may still further include decrypting the encrypted message the private key of the first member or the second member.

## Claims

### Claim 1

A method for a fine-grained mobile access encryption, comprising:
generating one or more public key parameters pp and a master key msk based on a system security parameter λ, wherein the generating the one or more public key parameters pp and the master key msk based on the system security parameter λ comprises:
determining a prime p and bilinear groups by a private key generator (PKG) based on the system security parameter λ;
determining a revocation identity domain u and a validation domain v;
selecting a Hash function UCH and an auxiliary parameter domain R through the PKG;
selecting random numbers g and h and random exponents α and b from the bilinear groups through the PKG; and
generating the one or more public key parameters pp and the master key msk, wherein
u
=
[
0
,
p
-
1
2
]
,
v
=
[
p
+
1
2
,
p
-
1
]
,
α
⁢
⁢
b
∈
Z
p
,
pp=(g, gb, gb2, hb, e(g,g)α, UCH, R), e denotes a mapping function for determining bilinear groups, and msk=(α, b);
obtaining an identity attribute of a user;
generating a private key skI of the user based on the identity attribute and the master key msk;
encrypting offline data to generate a session key key1 of the offline data and a proxy cipher text ict of the offline data; and
encrypting online data to generate a session key key2 of the online data and a proxy cipher text ct of the online data.

### Claim 2 (depends on 1)

The method of claim 1, wherein the determining the prime p and the bilinear groups by the PKG based on the system security parameter λ comprises:
determining the prime p by the PKG based on the system security parameter λ;
determining a first group G and a second group GT based on the system security parameter λ; and
mapping one or more elements in the first group G to the second group GT using a mapping function to determine the bilinear groups.

### Claim 3 (depends on 1)

The method of claim 1, wherein the generating the private key skI of the user based on the identity attribute and the master key msk comprises:
selecting a random exponent t through the PKG;
obtaining the identity attribute of the user; and
generating the private key skI of the user based on the random exponent t, the identity attribute, and the master key msk,
wherein skI=(d0, d1, d2)=(gα, gb2t, (gb·Ih)t, g−t), d0, d1, and d2 are components of the private key skI, t∈Zp, I denotes the identity attribute of the user.

### Claim 4 (depends on 3)

The method of claim 3, wherein the encrypting the offline data to generate the session key key1 of the offline data and the proxy cipher text ict of the offline data comprises:
randomly selecting a first revocation set Sori={Iori,l, . . . , Iori,n};
obtaining a Hash function pair (chk, td), wherein chk and td are two parameters of the Hash function pair;
selecting a random number r′;
determining a dynamic authentication Iv;
selecting a random number s and random exponents si and sv;
determining cipher texts C0=gs, Ci,1=gbsi, Ci,2=(gb2Iihb)si, Cv,1=gbsv, and Cv,2=(gb2Ivhb)sv; and
determining the session key key1 of the offline data and the proxy cipher text ict of the offline data,
wherein, n denotes a count of revoked users, Ii∈u, i∈[n], n=|Sori|, Iv=UCHash(chk, Iori,1∥ . . . ∥Iori,n, r′), UCHash denotes a chameleon hash function, s∈Zp, si∈Zp, sv∈Zp, key1=e(g,g)αs, and ict=(key1, C0, (Ci,1, Ci,2)i∈[n], Cv,1, Cv,2, Sori, Iv, (si)i∈[n], sv, s, chk, td, r′).

### Claim 5 (depends on 4)

The method of claim 4, wherein the encrypting online data to generate the session key key2 of the online data and the proxy cipher text ct of the online data comprises:
obtaining a second revocation set S={I1, . . . , I|S|};
determining Imall,i=(Ii−Iori,i)·si;
determining a cipher text r; and
determining the session key key2 of the online data and the proxy cipher text ct of the online data, wherein i∈[|S|], r=UColl(td, Iori,1∥ . . . ∥Iori,|S|, r′, X), UColl denotes a collision hash function, X=C0∥{Ci,1∥Ci,2}i∈[|S|]∥Cv,1∥Cv,2∥{Imall,i}i∈[|S|], key2=e(g,g)αs, and ct=(C0, (Ci,1, Ci,2)i∈[|S|], Cv,1, Cv,2, {Imall,i}i∈[|S|], chk, r).

### Claim 6

A fine-grained mobile access encryption system, comprising:
at least one storage medium storing a set of instructions; and
at least one hardware processor configured to communicate with the at least one storage medium, wherein when executing the set of instructions, the at least one hardware processor is directed to:
generate one or more public key parameters pp and a master key msk based on a system security parameter λ, wherein to generate the one or more public key parameters pp and the master key msk based on the system security parameter λ, the at least one hardware processor is directed to:
determine a prime p and bilinear groups by a private key generator (PKG) based on the system security parameter λ;
determine a revocation identity domain u and a validation domain v;
select a Hash function UCH and an auxiliary parameter domain R through the PKG;
select random numbers g and h and random exponents α and b from the bilinear groups through the PKG; and
generate the one or more public key parameters pp and the master key msk, wherein
u
=
[
0
,
p
-
1
2
]
,
v
=
[
p
+
1
2
,
p
-
1
]
,
α
⁢
⁢
b
∈
Z
p
,
pp=(g, gb, gb2, hb, e(g,g)α, UCH, R) e denotes a mapping function for determining bilinear groups, and msk=(α, b);
obtain an identity attribute of a user; and
generate a private key skI of the user based on the identity attribute and the master key;
encrypt offline data to generate a session key key1 of the offline data and a proxy cipher text ict of the offline data; and
encrypt online data to generate a session key key2 of the online data and a proxy cipher text ct of the online data.

### Claim 7 (depends on 6)

The system of claim 6, wherein the at least one hardware processor is further directed to:
determine the prime p by the PKG based on the system security parameter λ;
determine a first group G and a second group GT based on the system security parameter λ; and
map one or more elements in the first group G to the second group GT using a mapping function e to determine the bilinear groups.

### Claim 8 (depends on 6)

The system of claim 6, wherein the at least one hardware processor is further directed to:
select a random exponent t through the PKG;
obtain the identity attribute of the user; and
generate the private key skI of the user based on the random exponent t, the identity attribute, and the master key msk,
wherein skI=(d0, d1, d2)=(gα, gb2t, (gb·Ih)t, g−t), d0, d1, and d2 are components of the private key skI, t∈Zp, I denotes the identity attribute of the user.

### Claim 9 (depends on 8)

The system of claim 8, wherein the at least one hardware processor is further directed to:
randomly select a first revocation set Sori={Iori,1, . . . , Iori,n};
obtain a Hash function pair (chk, td), wherein chk and td are two parameters of the Hash function pair;
select a random number r′;
determine a dynamic authentication Iv;
select a random number s and random exponents si and sv;
determine cipher texts C0=gs, Ci,1=gbsi, Ci,2=(gb2Iihb)si, Cv,1=gbsv, and Cv,2=(gb2Ivhb)sv; and
determine the session key key1 of the offline data and the proxy cipher text ict of the offline data,
wherein, n denotes a count of revoked users, Ii∈u, i∈[n], n=|Sori|, Iv=UCHash(chk, Iori,1∥ . . . ∥Iori,n, r′), UCHash denotes a chameleon hash function, s∈Zp, si∈Zp, sv∈Zp, key1=e(g,g)αs, and ict=(key1, C0, (Ci,1, Ci,2)i∈[n], Cv,1, Cv,2, Sori, Iv, (si)i∈[n], sv, s, chk, td, r′).

### Claim 10 (depends on 9)

The system of claim 9, wherein the at least one hardware processor is further directed to:
obtain a second revocation set S={I1, . . . , I|S|};
determine Imall,i=(Ii−Iori,i)·si;
determine a cipher text r; and
determine the session key key2 of the online data and the proxy cipher text ct of the online data,
wherein i∈[|S|], r=UColl(td, Iori,1∥ . . . ∥Iori,|S|, r′, X), UColl denotes a collision has function, X=C0∥{Ci,1∥Ci,2}i∈[|S|]∥Cv,1∥Cv,2∥{Imall,i}i∈[|S|], key2=e(g,g)αs, and ct=(C0, (Ci,1, Ci,2)i∈[|S|], Cv,1, Cv,2, {Imall,i}i∈[|S|], chk, r).
