# Proxy decrypt algorithm in Extended Proxy-Assisted Attribute Based Encryption (ABE) Scheme

Context

I'm trying to implement the Attribute-Based Encryption (ABE) scheme described in the paper - Extended Proxy-Assisted Approach: Achieving Revocable Fine-Grained Encryption of Cloud Data (Yang et al.).

To summarize the scheme in my own words - it is a CP-ABE scheme where decryption of a ciphertext c is performed in 2 stages - firstly, at the cloud server using the cloud server's CS secret key skcs together with a user-specific attribute-based proxy key pxku - and secondly, on the user's machine using their secret key sku.

The first stage is performed by the proxy decrypt algorithm PxDec. From the paper:

PxDec(skcs , pxku , c) → v: The proxy decryption algorithm takes as input CS’s private key, skcs , a user’s proxy key, pxku , and a ciphertext, c, and outputs an intermediate value, v. The CS runs this algorithm to help a user, u, partially decrypt an encrypted record requested by the user with the corresponding proxy key.

Problem

The paper goes on to describe the construction of the PxDec() algorithm and that is where I'm struggling with my understanding.

I've highlighted the problem section in the below excerpt, from the paper:

Question

Considering DecNd() operates on each node in the policy tree, one by one, what is the meaning of the set S and from where does it originate?

Then, what exactly does the (0) part mean in $$\Delta_{i,S}(0)$$ ?

Lastly, how does the recursive sub-routine DecNd() differentiate between ANDs and ORs in the policy tree?

(It may help to know that my background is in software engineering rather than cryptography or mathematics.)

• Your first question is completely off topic here and is way too broad. Please edit your question to make it on topic; I'll have to put it on hold for now. – Maarten Bodewes Feb 4 '19 at 1:16
• @Maarten thanks for your feedback. I've tried to constrain the question. Please let me know if I can improve it further... – doughgle Feb 4 '19 at 12:36