An editable blockchain construction method applied to vehicle information broadcasting
Patent Information
- Application Number
- CN202311225955.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-21
- Publication Date
- 2026-09-29
- Estimated Expiration
- 2043-09-21
AI Technical Summary
但这些方案面临着区块链匿名性和透明性带来的非法信息传播的风险
Smart Images

Figure CN117499044B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the fields of vehicle networking and blockchain, and involves Chameleon hash and Schnorr signature technology. Background Technology
[0002] Achieving efficient and secure data sharing in the Internet of Vehicles (IoV) is crucial for the development of intelligent transportation. Traditional IoV systems employ a centralized architecture, making them vulnerable to single-point attacks and man-in-the-middle attacks, thus posing a security risk of vehicle communication data tampering. While existing solutions incorporate blockchain to address this security issue, these solutions face the risk of illegal information dissemination due to the anonymity and transparency of blockchain. Editable blockchain technology, as a potential solution, enables compliant modification and deletion of IoV data. Therefore, this paper proposes an editable blockchain construction method for vehicle information broadcasting, ensuring the reliability of broadcast information while allowing compliant modification and deletion of data, thereby effectively preventing the abuse of IoV systems to spread inappropriate content. Summary of the Invention
[0003] The purpose of this invention is to construct an editable blockchain for vehicle networking systems, used for vehicle information broadcasting. Compared to traditional blockchain-based vehicle networking systems, this system allows users to effectively and legally modify and delete data on the blockchain. To achieve an editable blockchain, this invention designs a decentralized chameleon hash scheme (CHCET) with double trapdoors based on Schnorr threshold signatures, and constructs an editable blockchain based on this CHCET scheme. To prevent abuse of editing permissions, a threshold number of nodes in the editing committee need to cooperate to generate the temporary trapdoor information required to create a chameleon hash collision. To ensure user ownership of data, creating a pair of chameleon hash collisions requires the joint participation of the user and the editing committee. This invention employs the following technical methods:
[0004] Step 1: System initialization, input security parameter λ, output system parameter param pub =<G,g,H,H1,t,n> Vehicle node P is randomly selected. Use it as your private key and set the public key pk=g sk ;
[0005] Step 2: P broadcasts message m and its Schnorr signature σ. Upon receiving m and σ, the vehicle node forwards them to surrounding vehicle nodes and returns a message to P indicating its willingness to act as a witness to the broadcast message. P selects nodes to form an editing committee based on the received information and system parameters.
[0006] Step 3: Input the editorial committee's public key PK, message m, calculate the chameleon hash P, and output the chameleon hash tuple CH.
[0007] Step 4: Input the chameleon hash tuple CH, the supervisor A, recalculate the value of the chameleon hash, and determine the validity of CH;
[0008] Step 5: P rebroadcasts message m' and m''s Schnorr signature σ', and the editorial board generates a temporary trapdoor message Etd;
[0009] Step 6: Input the chameleon hash tuple CH, message m' and temporary trapdoor Etd, P computes the new chameleon hash tuple CH'.
[0010] Step 7: Input the chameleon hash tuples CH and CH', and the supervisor R determines whether CH' is a valid collision. Attached Figure Description
[0011] Figure 1 , Figure 2 The execution steps and process of the present invention are described in detail. Figure 3 , Figure 4 , Figure 5 , Figure 6 The invention provides a detailed description of its efficiency in calculating chameleon hashes, generating trapdoors, creating chameleon hash collisions, and verifying chameleon hash collisions, comparing these efficiency with other methods. Detailed Implementation
[0012] The technical methods described in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings. It should be noted that the following description is only a part of the embodiments of the present invention, and not all embodiments.
[0013] This invention provides a method for constructing an editable blockchain for vehicle information broadcasting, the specific steps of which are as follows:
[0014] Step 1: System Initialization Phase
[0015] CHCET.ChInit(λ)→param pub Given the system security parameter λ, generate a cyclic multiplicative group G of prime order q and generator g. P is randomly selected. Use it as your private key and set the public key pk=g sk .
[0016] Define H:{0,1} * →G and This is a collision-resistant hash function. The number of nodes participating in witnessing the message is set to n, and the threshold for collaboratively generating a temporary trapdoor is set to t, where t ≥ n / 2 to prevent rogue key attacks. Output system common parameters param pub =<G,g,H,H1,t,n> .
[0017] Step Two: Editorial Board Formation Stage
[0018] CHCET.CtteGen(param pub ,m,sk)→(S,PK): Vehicle node P uses its private key sk to sign message m, broadcasts m to surrounding vehicle nodes, forms an editing committee with vehicle nodes willing to act as witnesses, and outputs the editing committee member list S and public key PK.
[0019] 1. P is randomly selected Calculate y = g x e = H(pk,y,m), v = x + sk*e. The Schnorr signature of broadcast message m and m is σ = (e,v).
[0020] 2. Each node i that receives m and the signature σ broadcasts it to its surrounding nodes. Nodes i that participate in witnessing message m are randomly selected. Calculate Then put D i E i Send to P. Based on the system parameter t-of-n, select nodes as members of the editorial board and generate an editorial board member list S = <i,D i E i > i∈n .
[0021] 3. Based on the received (D) i E i Following the order of n, t, and dKG, a communication tree T is constructed among the nodes. The node that receives the response earliest becomes the root node of T, and the node that receives the response latest becomes the leaf node of T. The editorial committee members perform (n, t)-DKG sharing of the group's public-private key pair (SK, PK), and each node has a share s of the recovery private key SK. i Finally, the list of editorial board members (S) and the group public key (PK) are broadcast.
[0022] Step 3: Calculate the Chameleon Hash Phase
[0023] CHCET.ChGen(PK,m,σ)→(CH,W): Vehicle node P uses public key PK and signature information σ to calculate the chameleon hash value m, and outputs the chameleon hash tuple CH and the list of unparticipated nodes W.
[0024] 1. In the bottom-up process, each node i waits for an aggregate commitment from its direct child node j. and the list of missing nodes W j For missing child nodes, node i is added to the list of missing nodes. (w i It is the set of direct child nodes of node i. The binding value ρ is calculated for node i. i =H1(i,m,W i ) and a single commitment value Node i then computes its own aggregate commitment. Finally, W i Passed to its parent node.
[0025] 2. Root calculates the aggregate commitment. Missing node list W = <i,D i E i > i∈S Set the challenge value cl = H(C,PK,m,W), and broadcast C,cl and W.
[0026] 3. P calculates the chameleon hash ch and broadcasts the chameleon hash tuple CH = (ch, r, m, C, cl, σ):
[0027]
[0028] h = C(PKy) cl
[0029] Step 4: Chameleon Hash Value Verification Phase
[0030] CHCET.ChVerify(CH) → Status: Supervisor A verifies the validity of the chameleon hash tuple and outputs the verification result. If the verification is successful, Status = Valid; otherwise, Status = Invalid.
[0031] 1. A extracts parameters (ch,r,m,C,cl,σ) from CH, verifies whether σ is a valid Schnorr signature, and continues if it is valid, otherwise outputs Status=Invalid.
[0032] 2.A Recalculate the Chameleon Hash if If it does, output Status = Valid; otherwise, output Status = Invalid.
[0033] Step 5: Temporary Trapdoor Generation Phase
[0034] CHCET.EtdGen(m',σ')→(Etd,W'): P broadcasts a new message m' and signature σ', the editorial board generates a temporary trapdoor Etd needed to create a chameleon hash collision, and outputs a list of unparticipated nodes W'.
[0035] 1. P is randomly selected Calculate y = g x′ e' = H(pk,y',m'), v' = x' + sk*e'. P broadcasts a new message m' and m''s Schnorr signature σ' = (e',v').
[0036] 2. In the bottom-up process, node i is randomly selected. Calculate Waiting for the aggregation commitment from the direct child node j and the list of missing nodes W′ j Node i recalculates ρ' i =H1(i,m',W') i ), and And update the list of missing nodes. Finally, W' i and Passed to its parent node.
[0037] 3. Root calculates the aggregate commitment of message m'. Missing node list W' = <i,D' i ,E' i > i∈S The challenge value cl' = H(C',Y,m',W') is broadcast, along with C', cl' and W'.
[0038] 4. In the bottom-up process, node i computes the individual response r to messages m and m'. i =d i +e i ·ρ i +cl·λ i ·s i ,r' i =d' i +e' i ·ρ' i +cl'·λ i ·s i And wait for the aggregate response from each direct child node j. and Node i then calculates its own aggregate response. and Finally, Passed to its parent node.
[0039] 5. Root calculates the aggregate response of messages m and m'. And broadcast the temporary trapdoor parameters Etd = (R, R', C', cl', σ') and W.
[0040] Step Six: Creating the Chameleon Hash Collision Phase
[0041] CHCET.Forge(CH,Etd,m')→CH': Input chameleon hash tuple CH, temporary trapdoor Etd and message m', P computes message pair chameleon hash collisions (m,ch) and (m',ch').
[0042] 1. P executes HCET.EtdGen(m',σ') to obtain the temporary trapdoor Etd = (R,R',C',cl'), and verifies whether (R',C') is a valid Schnorr threshold signature. If it is valid, continue; otherwise, output Status = Invalid.
[0043] 2. P calculates r' as follows and broadcasts the chameleon hash tuple CH' = (ch', r', m', C', cl', σ'):
[0044] ch′=g m′ (g r′ ) R′+x′·cl′
[0045]
[0046]
[0047] Step 7: Chameleon Hash Collision Verification Phase
[0048] CHCET.ForgeVerify(CH,CH') → Status: The supervisor A verifies whether the chameleon hash collision was successful. If successful, output Status = Success; otherwise, output Status = False.
[0049] 1. A extracts (ch',r',m',C',cl',σ') from CH', verifies the validity of the Schnorr threshold signature (R',C') and σ'. If valid, it continues; otherwise, it outputs Status = Invalid.
[0050] 2. A executes CHCET.ChGen(PK,m',σ') to calculate ch'. If ch≠ch', output Status = False; otherwise, output Status = Success.
Claims
1. A method for constructing an editable blockchain for vehicle information broadcasting, comprising the following steps: Step 1: System initialization, input system security parameter λ, generate prime numbers of order λ. and generators are cyclic multiplication group Set up a collision-resistant hash function and Set the number of vehicle nodes participating in witnessing the message to [number]. Set the threshold for collaboratively generating temporary trapdoors to . Output system parameters Vehicle node P is randomly selected. Use it as its private key, and calculate the public key. ; Step 2: Editorial Committee Generation, Input System Parameters ,information and P's private key Output the list of editorial board members. and group public key ; Step 3: Calculate the Chameleon Hash, input the group public key. ,information as well as Schnorr signature Output Chameleon Hash Tuple and list of missing nodes ; Step 4: Chameleon hash verification, input the chameleon hash tuple. ,judge If valid, output the result. Otherwise output ; Step 5: Generate a temporary trapdoor and input the message. as well as Schnorr signature Output temporary trapdoor and list of missing nodes ; Step Six: Create a chameleon hash collision, input the chameleon hash tuple. New news and temporary trapdoor The algorithm outputs a new chameleon hash tuple. ; Step 7: Chameleon Hash Collision Verification, input the chameleon hash tuple. and If it is a valid collision, then output Otherwise output .