Write, autoreview, editor, reviewer
3,129
edits
No edit summary |
|||
Line 58: | Line 58: | ||
* <math>h</math>: Upper bound on H gate. | * <math>h</math>: Upper bound on H gate. | ||
* <math>k</math>: All keys | * <math>k</math>: All keys | ||
* <math>\pi</math>: Global permutation which are used to encrypt the states. | * <math>\pi</math>: Global permutation which are used to encrypt the states, this is a random permutation of 3m bits<math>\pi \in S_{3m}</math> | ||
* <math>S_{3m}</math>: Permutation group. | |||
* MAC: Message authentication code, MAC = (Tag, Ver) | * MAC: Message authentication code, MAC = (Tag, Ver) | ||
* HE: Classical fully homomorphic public-key encryption scheme | |||
* TC: Trap Code scheme which is a building block for FHE scheme. | |||
* <math>pk_i, sk_i, evk_i</math>: <math>i_{th}</math> homomorphic key set generated from HE.KeyGen(). Public key for encryption, secret key for decryption, evaluation function key, respectively for given k, the security parameter. | * <math>pk_i, sk_i, evk_i</math>: <math>i_{th}</math> homomorphic key set generated from HE.KeyGen(). Public key for encryption, secret key for decryption, evaluation function key, respectively for given k, the security parameter. | ||
* <math>\tilde{\sigma}</math>: ciphertext | * <math>\tilde{\sigma}</math>: ciphertext | ||
* <math>x, z</math>: Randomly picked bit strings to encrypt with Quantum one time pad. <math>x[i] \in \{0, 1\}^{3m}, z[i] \in \{0, 1\}^{3m}</math> | |||
* <math>\rho_{evk}</math>: evaluation key | |||
==Pseudo Code== | ==Pseudo Code== | ||
Line 86: | Line 89: | ||
** <math>\pi_i \xleftarrow[r]{r} S_{3m}</math> | ** <math>\pi_i \xleftarrow[r]{r} S_{3m}</math> | ||
** <math>(g_i, \gamma_i^{in}, \gamma_i^{mid}, \gamma_i^{out}) \xleftarrow[]{}</math> TrapTP.GadgetGen<math>(sk_{i-1})</math> | ** <math>(g_i, \gamma_i^{in}, \gamma_i^{mid}, \gamma_i^{out}) \xleftarrow[]{}</math> TrapTP.GadgetGen<math>(sk_{i-1})</math> | ||
** <math>\Gamma_i \xleftarrow[]{}</math> MAC.Sign(HE.ENC<math>_{pk_i}(g_i, \pi_i)) \otimes</math> TrapTP.ENC<math>((\pi_i, k, sk_0, ..., sk_t, pk_i), \gamma^{mid}_i \otimes</math> TrapTP.Enc<math>(sk, \gamma^{in}_i, \gamma^{out}_i</math> | ** <math>\Gamma_i \xleftarrow[]{}</math> MAC.Sign(HE.ENC<math>_{pk_i}(g_i, \pi_i)) \otimes</math> TrapTP.ENC<math>((\pi_i, k, sk_0, ..., sk_t, pk_i), \gamma^{mid}_i \otimes</math> TrapTP.Enc<math>(sk, \gamma^{in}_i, \gamma^{out}_i)</math> | ||
* <math>keys \xleftarrow[]{}</math> MAC.Sign<math>(evk_0, ..., evk_t, pk_0, ..., pk_t,</math> HE.Enc<math>_{pk_0}(\pi))</math> | * <math>keys \xleftarrow[]{}</math> MAC.Sign<math>(evk_0, ..., evk_t, pk_0, ..., pk_t,</math> HE.Enc<math>_{pk_0}(\pi))</math> | ||
* <math>\rho_{evk} \xleftarrow[]{} (keys, \mu^{P}_0, ..., \mu^{P}_p, \mu^{T}_0, ..., \mu^{T}_t, \mu^{H}_0, ..., \mu^{H}_h, \Gamma_1, ..., \Gamma_t)</math> | * <math>\rho_{evk} \xleftarrow[]{} (keys, \mu^{P}_0, ..., \mu^{P}_p, \mu^{T}_0, ..., \mu^{T}_t, \mu^{H}_0, ..., \mu^{H}_h, \Gamma_1, ..., \Gamma_t)</math> | ||
Line 180: | Line 183: | ||
==Further Information== | ==Further Information== | ||
==References== | |||
* [https://www.crcpress.com/Introduction-to-Modern-Cryptography/Katz-Lindell/p/book/9781466570269 Introduction to Modern Cryptography]: Message Authentication Code is chosen from here | |||
<div style='text-align: right;'>''*contributed by Rhea Parekh''</div> | <div style='text-align: right;'>''*contributed by Rhea Parekh''</div> |