登録して招待リンクを共有すると、動画再生報酬と紹介報酬を獲得できます。

Pratik Sarkar
@pratiks_crypto
Cryptography Research Consultant @obsiduslabs | PhD in Cryptography, Boston University | ex-Researcher at @SUPRA_Labs, @Meta and @Visa Research
参加 December 2018
457 フォロー中    843 ファン
Very interesting work by @guruvamsip @commonwarexyz to obtain Batch decryption using pairings + high school algebra: 1. Each client chooses a random k_i, encrypts their message under k_i^2 and the validator's pk in the target group. Each client also provides pk.k_i^2, and k_i in group 1 and group 2. 2. The validators decrypt the sum of all the encrypted k_i's (denote it as K) by sending a single decryption share. 3. Given the decryption of K^2 as pk.K^2 one can compute the individual pk.k_i^2 as follows: (Ignore the pk for now) K^2 =(k_1 + k_2 + k_3)^2 = k_1^2 + k_2^2 + k_3^2 + cross terms. (This omits a lot of crucial details for simplicity) Suppose you want to decrypt the message under k_i^2 using K^2: 1. The cross terms can be removed by combining k_i in g_1 and k_j in g_2 (and vice versa) using pairings for all j!=i. This allows to remove the cross terms. 2. Then the individual pk.k_j^2 can be removed by using the client-provided material. The brilliance lies in figuring out the optimal amount of information to put into the ciphertext, which allows the cross-term removal (using pairings) while preventing an adversary from decrypting the client ciphertexts without the decryption of the sum K. Kudos on the great work!
もっと見る
It turns out all you need to deploy an encrypted mempool (via Batched Threshold Encryption) is an off-the shelf DKG. No CRS required. Ciphertext overhead is 2G1 + G2 + 2F and partial decryptions are a single G1 element. Decryption runs in O(B log^2 B) time.
もっと見る