Paper 2020/403

Bringing Order to Chaos: The Case of Collision-Resistant Chameleon-Hashes

David Derler, DFINITY
Kai Samelin
Daniel Slamanig, Research Institute CODE, Universität der Bundeswehr München

Chameleon-hash functions, introduced by Krawczyk and Rabin at NDSS 2000, are trapdoor collision-resistant hash-functions parametrized by a public key. If the corresponding secret key is known, arbitrary collisions for the hash function can be efficiently found. Chameleon-hash functions have prominent applications in the design of cryptographic primitives, such as lifting non-adaptively secure signatures to adaptively secure ones. Recently, this primitive also received a lot of attention as a building block in more complex cryptographic applications ranging from editable blockchains to advanced signature and encryption schemes. We observe that in latter applications various different notions of collision-resistance are used, and it is not always clear if the respective notion does really cover what seems intuitively required by the application. Therefore, we revisit existing collision-resistance notions in the literature, study their relations, and - using the example of the recent redactable blockchain proposals - discuss which practical impact different notions of collision-resistance might have. Moreover, we provide a stronger, and arguably more desirable, notion of collision-resistance than what is known from the literature. Finally, we present a surprisingly simple and efficient black-box construction of chameleon-hash functions achieving this strong notion.

Available format(s)
Public-key cryptography
Publication info
A minor revision of an IACR publication in JOC 2024
Contact author(s)
david @ dfinity org
kaispapers @ gmail com
daniel slamanig @ unibw de
2024-07-08: revised
2020-04-13: received
See all versions
Short URL
Creative Commons Attribution


      author = {David Derler and Kai Samelin and Daniel Slamanig},
      title = {Bringing Order to Chaos: The Case of Collision-Resistant Chameleon-Hashes},
      howpublished = {Cryptology ePrint Archive, Paper 2020/403},
      year = {2020},
      doi = {},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.