1
$\begingroup$

I'm trying to entertain a topic, I tried looking around, but I would like a a pointer or someone telling me simply "this cannot work".

I know that usual decryption by private key (whatever form) results in an encrypted value, this value can only be decrypted by using the original private key.

Is there a system out there that allows me to:

  1. Generate a Master Key.
  2. Derive a Child Key (Or multiple child keys) from MASTER.
  3. Derive Grandson Key or (Or Multiple) from CHILD.

Where Values encrypted by:

Grandson -> Can be decrypted by CHILD.

Child-> Can be decrypted by MASTER

Master -> Can only be decrypted by MASTER.

So DERIVED keys can decrypt downwards, but not upwards.

IMPORTANT: Each level have only access to their OWN key.

Does such a concept exist?

I appreciate any help!

I tried googling around and asking some gpts about it, they don't know how to say "this cannot work" and just spew out something about BIP32 or Eth Hashes that derive from each other, they encrypt but cannot decrypt, as expected.

I also tried looking in stack overflow and the answers seem not to be my usecase.

$\endgroup$
4
  • $\begingroup$ This may not meet all your needs, but a trivial approach would be to use public key encryption and pass a copy of the public key with each message, encrypting that public key with the parent's key so that the parent can get to it contents. $\endgroup$
    – Cort Ammon
    Commented Jun 12 at 5:16
  • 1
    $\begingroup$ I don't know whether this is suitable for your project, but it could also be realized using symmetric cryptography only: Master key (known only to master), HMAC of master key and username of child is given to child (known only to this child and master), child gives HMAC of his key and username from grandchild to grandchild and so on... $\endgroup$
    – BeloumiX
    Commented Jun 12 at 6:31
  • 1
    $\begingroup$ Does this help? eprint.iacr.org/2005/015.pdf $\endgroup$
    – Daniel S
    Commented Jun 12 at 6:38
  • $\begingroup$ Do you want public-key encryption or symmetric-key encryption? This is very easy to achieve for symmetric keys, and harder for public keys. $\endgroup$
    – Mikero
    Commented Jun 12 at 15:09

1 Answer 1

3
$\begingroup$

an efficient solution is to use Hierchical Identity-Based Encryption, in the line of [BBG05] https://eprint.iacr.org/2005/015.pdf.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.