Skip to content

Deterministic public keys while signing? #2

Description

@desertkun

As part of my blockchain project, I am trying to store a generated ring signature on a chain. Every public key exists on the same blockchain before, but the idea is to hide whoever signed the message from a particular group. Because of the blockchain nature, the order of the public keys is going to be deterministic.

ring_sign doc says

key_index: The index to the corresponding public key. Note that they key
index should be unpredictable; shuffle the public keys before generating
the ring signature if this is not the case.

Does that still imply that I am good to go with generation of public keys order just from the history of previous records?

Pseudo code:

public_keys = get_public_keys(blockchain)  # deterministic
index = public_keys.index(me)
signature = ring_sign(message, public_keys, index)
...
# later on from an observer that verifies the chain
rign_verify(message, public_keys)  # index is not known here

Since from the observer perspective, the keys are ordered as they're added to the chain, and not clear what index has been used, am I good to go? Or do I have to shuffle the keys and store shuffled public keys as part of signature? I am reluctant of doing that because it's just redundant info since public keys already present.

Thanks.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions