# A Redactable Blockchain Scheme Supporting Quantum-Resistance and Trapdoor Updates
## 3 Hierarchical Identity-Based Chameleon Hash with Revocable Subkey
### Security Analysis
#### 3.3.2 Security
\begin{bmatrix}\mathbf{x}_{i}^{*}\\ \mathbf{x}\end{bmatrix} \in\mathbb{Z}_{q}^{(\overline{m}\times w)\times 1},\mathbf{ \widetilde{x}}\) is a vector whose \(ith\) row is 1, and the other rows are 0 with the probability of \(neg(n)\). In this ideal case, \(\mathbf{K}_{ID}\) is constant. However, in practice, when the key pair is updated, \(\mathbf{K}_{ID}\) is a matrix of changes. Therefore, it is possible to forge a \(R_{ID}\) that satisfies this situation with the probability of \(neg(n)\). 3. First, when a malicious user exists in a child node, its parent node can disable the child node trapdoor by updating the slave key information as well as the tag information, and at the same time add the child node's identity to the revocation list and remove its edit permissions. Secondly, if a malicious user delegates illegitimate trapdoor information to other users, we can update its trapdoor information by assigning its child node to other legitimate nodes and then updating its trapdoor information. If a malicious user makes a request to modify other private data or non-editable transactions, the regulator may be able to automatically lock the malicious user's edit permissions. Furthermore, if a malicious user refuses to cooperate in revoking an insecure trapdoor key, we can add the user to the revocation list, restrict its edit permissions, and then update the trapdoor information. For the above cases, the illegal behavior of malicious users can be fully considered and measures can be taken to ensure the overall security of the system. \(\square\)  
**Theorem 3** (_Resistance to collision_ _forgery under active attacks_). : _Assume that adversary \(\mathcal{A}\) can make most \(\mathcal{Q}\) adaptation queries. If \(\mathcal{A}\) can break the security of \(HIBCH\)-RS by a non-negligible advantage, the detailed proof is as defined by \(Expt_{\mathcal{A},HIBCH-RS}^{RCF}(n,q)\) in the following._  
Proof. : First, the challenger \(\mathcal{C}\) initializes set \(\mathcal{Q}_{Forge}\)=\(\emptyset\). During the phase, the challenger \(\mathcal{C}\) executes the following:  
Generate \(PP,MK\gets HIBCH-RS.Setup(1^{n},q)_{\mathcal{C}}\). Sample \(\mathbf{H}_{\mathbf{\ell}}\leftarrow\mathbb{Z}_{q}^{n\times n}\). Generate \(\mathbf{A}_{\mathbf{S}_{\mathbf{u}_{i}}^{\prime}},\mathbf{i}_{\mathbf{id}_{i}}\leftarrow SlaveKey( 1^{n},q,\mathbf{id}_{i})_{\mathcal{C}}\),  
and \(\mathbf{F}_{\mathbf{id}_{i}},\mathbf{R}_{\mathbf{id}_{i}},\mathbf{F}_{\mathbf{id}_{i}}\gets DelKey \Big{(}\mathbf{A}_{\mathbf{S}_{\mathbf{u}_{i}^{\prime}}},\mathbf{S}_{\mathbf{id}_{i}^{\prime}}, \mathbf{id}_{i}\Big{)}_{\mathcal{C}}\). \(pp:=\big{(}PP,\mathbf{H}_{\mathbf{\ell}},\mathbf{F}_{\mathbf{id}_{i}}\big{)},TI:=(pp,\mathbf{R}_{ \mathbf{id}_{i}},\mathbf{E}_{\mathbf{id}_{i}})\) and send \(pp\) to \(\mathcal{A}\). Second, \(\mathcal{A}\) query:  
\(M_{i},M_{i}^{\prime}\in\mathcal{M}\), and \(\mathbf{u}_{\mathbf{id}_{i}}\leftarrow\mathbb{Z}_{q}^{n\times 1},\mathbf{h}_{i},(str, \mathbf{ver})\leftarrow\mathbf{CH}(\mathbf{A},M_{i},\mathbf{E})\big{|}\mathbf{r}_{i}\). Generate \((M_{i},M_{i}^{\prime},\mathbf{h}_{i},\mathbf{r}_{i},(str,\mathbf{ver}))\). Then, the challenger \(\mathcal{C}\) executes the following:  
Sample \(\mathbf{d}_{\mathbf{id}_{i}}\leftarrow SampleD\big{(}\mathbf{R}_{\mathbf{id}_{i}},\mathbf{F}_{ \mathbf{id}_{i}},\mathbf{H}_{\mathbf{\ell}},\mathbf{u}_{\mathbf{id}_{i}},\sigma\big{)}\)  
if \(\exists(\mathbf{h}^{\prime\prime},M)and\ M^{\prime}\in\mathcal{Q}_{Forge}\bigwedge \mathbf{h}^{\prime\prime}\
eq\mathbf{h}\), and \(z=str-\mathbf{d}_{\mathbf{id}_{i}}\cdot\mathbf{ver},z>\frac{q}{4}\), return \(\bot\);  
otherwise, continue. Generate \(\mathbf{r}_{i}^{\prime}\leftarrow\textit{Forge}\big{(}\mathbf{F}_{\mathbf{id}_{i}},\mathbf{R} _{\mathbf{id}_{i}},\mathbf{E}_{\mathbf{id}_{i}^{\prime}},M^{\prime},\mathbf{h}\big{)}\) ;  
Send \(\mathbf{r}_{i}^{\prime}\) to \(\mathcal{A}\) and \(\mathcal{Q}_{Forge}\)=\(\mathcal{Q}_{Forge}\cup\{((str,\mathbf{ver}),\mathbf{h},M),((str,\mathbf{ver}),\mathbf{h},M^{\prime})\}\).