1
$\begingroup$

I understand how private keys are generated from public keys in a setup like Bitcoin (using ECDSA).

I understand that anyone can verify they have the 'correct' private key using a digital signature in this setup.

In either KP-ABE or CP-ABE, how are either attributes or access policies 'encoded' into the secret keys/ciphertext? Is there a specific algorithm that then allows the owner of the key to prove that that key is generated using those attributes?

$\endgroup$
  • $\begingroup$ "Is there a specific algorithm that then allows the owner of the key to prove that that key is generated using those attributes?" That's not something that makes sense in the case of ABE, because encryption doesn't really prove anything as is the case for digital signatures such as ECDSA. Since it is up to the implementer to create an encoding of user secret keys, those can contain the attributes as strings that make up the key. There is nothing that prevents the implementer from adding this information. It's usually unnecessary. The question is, what are you trying to achieve. $\endgroup$ – Artjom B. Mar 3 '17 at 19:47
  • $\begingroup$ Apologies for my beginner's understanding and any wrong terminology (just getting into crypto). So, based on what you said, it sounds like the attributes become encoded inside the secret key when the implementer creates the keys. Then, when that secret key is used to decrypt a ciphertext, the attributes inside the key somehow allow it to 'unlock' the access policy inside the ciphertext. It's probably the last step I understand the least so far - how the access policy can 'read' the attributes inside the key to determine if they are adequate. Still doing research. $\endgroup$ – SingularityFuture Mar 3 '17 at 20:10
  • $\begingroup$ It looks like you're more interested in the evaluation step of a policy with a set of attributes. Then you need to understand the role of a secret sharing scheme such as shamir's secret sharing. This doesn't have much to do how the user secret key structure is encoded and written to a file. $\endgroup$ – Artjom B. Mar 4 '17 at 1:58
  • $\begingroup$ Thank you - those technical terms are exactly what I need to research the real topic I'm after in more depth. I appreciate it! $\endgroup$ – SingularityFuture Mar 4 '17 at 14:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.