变色龙哈希函数(Chameleon Hash Function)最早由Krawczyk和Rabin[17]提出,一个变色龙哈希函数的公私钥对是由接收者根据一个给定的生成算法产生的。“变色龙”的意思是陷门信息的拥有者可以在不改变函数输出的前提下,随意的改变函数的输入。在变色龙哈希函数中,掌握陷门信息的人能够很容易的计算出一个随机输入的碰撞,但对于没有掌握陷门信息的人,基于变色龙哈希函数的区块链仍然是不可篡改的。
Shamir首次提出秘密共享的方案[18],利用拉格朗日插值多项式构造了一个门限秘密共享方案,将一个秘密分成n个秘密份额,发送给各个秘密持有者,某个特权节点在搜集不少于k个秘密份额后,即可重构出完整的秘密信息。反之,对于任何小于k个秘密份额重构,特权节点都不能通过陷门重构获得该秘密。