A Linear Network Coding Method Based on BLS

Through the BLS-based linear network coding method, bilinear mapping and hash function are used to generate signatures, which solves the problem of contamination attacks in network coding, ensures data integrity and authenticity, reduces user computing complexity, and improves network throughput and stability.

CN116743313BActive Publication Date: 2025-09-05FUJIAN NORMAL UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310842757.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-11
Publication Date
2025-09-05
Estimated Expiration
2043-07-11

AI Technical Summary

Technical Problem

Existing linear homomorphic signature schemes are computationally expensive and easy to forge, pollution attacks in network coding are difficult to prevent, and network throughput and stability are difficult to improve.

Method used

A linear network coding method based on BLS is adopted to reduce the computational complexity and resist contamination attacks by generating system parameters, user keys, signature generation and verification processes, and utilizing bilinear mapping and hash functions.

Benefits of technology

Effectively prevent pollution attacks, ensure data integrity and authenticity, reduce user computing complexity, and improve network throughput and stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116743313B_ABST
    Figure CN116743313B_ABST
Patent Text Reader

Abstract

The present invention relates to a linear network coding method based on BLS. The source node divides the file to be signed into several file blocks and represents them as a prime domain #imgabs0# k dimensional vectors, which are then augmented to become a set of linearly independent vectors; a subspace generated based on this set of vectors is signed, and a label for the subspace and a signature for each basis vector are generated. The signatures are loaded into a data packet and sent to a downstream node; after receiving the data packet, the intermediate router or the destination node verifies the signature of the data packet from the same source node; the intermediate router linearly combines all verified data packets to form a new data packet and sends it to the downstream node; if the destination node receives a predetermined number of verified data packets, it can parse the original data sent by the source node. The present invention can not only resist pollution attacks in network coding and ensure data integrity and authenticity, but also reduce user computing complexity and ensure secure and efficient data transmission.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data authentication in information security, and in particular to a linear network coding method based on BLS. Background Art

[0002] In traditional network communication technologies, network nodes can only perform simple store-and-forward operations on received data, without any processing of the data content. In other words, nodes other than the data source and destination nodes are solely responsible for routing. This inaction by network nodes makes it difficult for actual network throughput to reach the upper bound of network capacity. In 2000, Ahlswede et al. proposed the concept of network coding. Unlike traditional "store-and-forward" routing protocols, network coding is an information exchange technology that combines routing and coding. It allows network nodes to encode the content of transmitted information before forwarding it, effectively improving network throughput and enhancing network stability. However, networks based on network coding are vulnerable to pollution attacks. Pollution attacks occur when an attacker compromises certain network nodes and maliciously injects tampered or forged information into the network. This injected erroneous information, after being forwarded by intermediate routers, spreads rapidly throughout the network, causing widespread contamination and preventing the destination node from correctly receiving the authentic information. Therefore, addressing pollution attacks in network coding presents a significant challenge.

[0003] Homomorphic signatures are essential for addressing pollution attacks on network coding, and linear homomorphic signatures are particularly well-suited for linear network coding, where encoding and decoding is simple. They not only improve network throughput but also effectively prevent pollution attacks. In 2009, Boneh and Freeman first formalized the concept of linear homomorphic signatures and presented two different linear homomorphic signature schemes, proving their security under a random oracle model. While research on linear homomorphic signatures has yielded considerable results, the computational cost of generating signatures remains relatively high.

[0004] Most linear homomorphic signature schemes are based on the homomorphic compression function used in the Boneh and Freeman schemes mentioned above. Constructed. Signing each vector requires at least k+1 group exponential operations and k-1 group multiplication operations, and the computational overhead of generating the signature is expensive. Some solutions are based on homomorphic compression functions. Although this method only requires one exponential operation on the group to sign a data vector, all data vectors are signed using the same exponential base, m i The corresponding content is known, which means that the signature based on this homomorphic compression function is easy to forge. Summary of the Invention

[0005] The purpose of the present invention is to ensure the integrity and authenticity of data during transmission, solve the pollution attack problem in network coding, and reduce the computational complexity of users when generating signatures in vector subspaces, and provide a linear network coding method based on BLS.

[0006] To achieve the above object, the technical solution of the present invention is: a linear network coding method based on BLS, comprising the following steps:

[0007] (1) Generate system parameters:

[0008] The cloud service provider CSP selects the security parameter λ and the large prime number N from the public key cryptography function library to generate the system parameters And broadcast to system users, where is a cyclic group of order large prime number q, e: is an asymmetric bilinear map, is an isomorphic mapping, g, u, v are groups The random generator of h is the group Random generator of , H1: H2: are two collision-resistant hash functions, and N is the maximum dimension of the subspace;

[0009] (2) Generate user key:

[0010] User U firstly enters the prime domain Randomly select an element and calculate its commitment, and finally set its own private key sk and the corresponding public key pk;

[0011] (3) Generate signature:

[0012] User U first pre-processes the signature file M and divides the file M into n blocks {m′1, m′2, ..., m′ n}, each block is represented as a k-dimensional vector Next, we augment it to make it a linearly independent n+k dimensional vector Append n-dimensional unit vectors e1, e2, ..., e to each vector in turn n One of the vector groups; the n-dimensional subspace generated by the augmented vector group is recorded as Then, user U randomly selects vid∈{0,1} * As the unique identifier of the subspace, calculate the label τ of the subspace V and use your own private key to identify the basis vectors {m1, m2, ..., m n Finally, user U is the source node and signs each vector of the subspace label τ, vector m iand its corresponding signature σ i Encapsulate it into a data packet and send it to the downstream node; the maximum dimension of the augmented vector does not exceed N;

[0013] (4) Signature verification:

[0014] The intermediate router or sink node first verifies the validity of the subspace label τ in the received data packet. If τ is invalid, the packet was not sent by the source node. Otherwise, the vector signature is verified. If the vector signature fails verification, the packet is a contaminated fake packet and will be discarded. Otherwise, the packet is a correct packet and passes verification. For the sink node, only after receiving a predetermined number of correct data packets can it parse the original data sent by the source node.

[0015] (5) Export signature:

[0016] After the intermediate router verifies all received data packets, it performs any linear combination of the verified data packets from the same source node to derive another vector in the same subspace. and its corresponding signature It is then combined with the subspace label τ to form a new data packet and forwarded to the next node; the signatures corresponding to other vectors in the same subspace can be derived by the corresponding method.

[0017] In one embodiment of the present invention, the user key in step (2) is generated as follows: User U from the prime domain Randomly select an integer x as your private key sk and calculate the corresponding public key

[0018] In one embodiment of the present invention, the signature is generated in step (3) as follows:

[0019] (3.1) User U first divides the file M to be signed into n blocks {m′1, m′2, ..., m′ n}, each block is represented as a k-dimensional vector

[0020] (3.2) User U appends n-dimensional unit vectors e1, e2, ..., e1 to each vector in the k-dimensional vector. n One of them, so that it is expanded into a set of linearly independent n+k dimensional vectors

[0021] (3.3) User U will have {m1, m2, ..., m n The n-dimensional subspace generated by the basis vector is recorded as And randomly select vid∈{0,1} * As a unique identifier of the subspace;

[0022] (3.4) User U from the prime domain Randomly select two integers r1 and r2 and calculate the corresponding commitment

[0023] (3.5) User U calculates the label of the subspace τ = H1(vid,pk,g1,g2,u1,u2,v1,v2) x ;

[0024] (3.6) User U calculates the basis vector m in the subspace i ={m ij} 1≤j≤k+n ,in Corresponding signature j represents the vector m i Corresponding component m ij Subscript of ;

[0025] (3.7) User U labels the subspace τ, vector m i and its corresponding signature σ i Load it into a data packet and send the data packet to the downstream node as a source node.

[0026] In one embodiment of the present invention, the signature verification in step (4) is performed as follows:

[0027] (4.1) The intermediate router or sink node first verifies the validity of the subspace label τ in the received data packet, calculates the bilinear pairing e(τ,h) and e(H1(vid,pk,g1,g2,u1,u2,v1,v2),pk), and then determines whether the two are equal;

[0028] (4.2) If the two values ​​in (4.1) are equal, the data packet received by the intermediate router or sink node comes from the source node. By parsing τ, vid, pk, g1, g2, u1, u2, v1, v2 are recovered. Then, the intermediate router or sink node calculates the bilinear pairing e(σ i ,h) and and determine whether the two are equal;

[0029] (4.3) If the two values ​​in (4.2) are equal, then the data packet received by the intermediate router or the destination node passes the verification, and the result output is 1, indicating that the signature contained in the data packet is a valid signature corresponding to its vector; otherwise, the output is 0. If the destination node receives a predetermined number of correct and verified data packets, it can parse the original data sent by the source node.

[0030] In one embodiment of the present invention, the signature is derived in step (5) as follows:

[0031] (5.1) Intermediate routing for correct data packets from the same source node Perform linear combination to obtain another vector in the same subspace V The linear combination coefficient c i From the Suyu A randomly selected element from

[0032] (5.2) Intermediate routing calculation vector Corresponding signature

[0033] (5.3) The intermediate routing subspace label τ, vector and its corresponding signature Load it into a new data packet and send it to the downstream node.

[0034] Compared with the existing technology, the present invention has the following advantages: First, the present invention determines the maximum value N of the data packet based on the limitations of network transmission and the security parameters adopted by the design scheme. In practical applications, data packets generally refer to IP data packets. Due to the interface limitations of the transmission equipment in the data link layer, the maximum transmission unit of the data packet is 1500 bytes, and the maximum data content carried is 1460 bytes. Then, based on the group order q being 160 bits, the maximum dimension of the vector corresponding to the data content can be obtained. Typically, a data packet consists of a header and a payload. The header contains the subspace label τ, the subspace vector dimension k, and the augmented vector dimension n. The payload contains the augmented subspace vector and its signature. The subspace label τ contains the unique identifier vid and the shared information used in the signature. Finally, in order to strike a balance between computational cost, transmission cost, and security, we generate the system parameters from the group Select three random generators g, u, v, and generate signatures from the prime field. Randomly select two integers r1 and r2 and calculate the corresponding commitment Designing a homomorphic compression function A linear network coding signature scheme based on BLS is constructed. In this scheme, the source node only needs to calculate a set of basis vectors {m1, m2, ..., m n} to sign the entire subspace, and through experimental analysis, the scheme only needs to use Exponential operations on subgroups and Therefore, our solution has certain advantages in reducing the computational complexity of users and is more user-friendly. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 It is a system model diagram of the method of the present invention;

[0036] Figure 2 It is the linear network coding communication process of the method of the present invention;

[0037] Figure 3 Schematic diagram of linear network coding of the method of the present invention;

[0038] Figure 4 is a flow chart of the method of the present invention. DETAILED DESCRIPTION

[0039] In order to illustrate the technical solution disclosed in the present invention in detail, further description is given below in conjunction with the accompanying drawings and specific embodiments.

[0040] The purpose of the present invention is to realize network coding transmission of files from source nodes to destination nodes through BLS-based linear homomorphic signature technology to resist pollution attacks in network coding, thereby ensuring the integrity and authenticity of data and ensuring secure and efficient data transmission.

[0041] The BLS-based linear network coding signature method proposed in the present invention is further described below with reference to the accompanying drawings and implementation examples, but is not intended to limit the present invention.

[0042] The present invention provides a linear network coding method based on BLS, and the users involved are as follows:

[0043] Cloud Service Provider (CSP): responsible for generating the global parameters of the system.

[0044] Source node: Internet user U, first divides the collected files into several file blocks before communication, and represents each block as a prime field The k-dimensional vector on the network is augmented into a set of linearly independent vectors, and then the subspace generated based on this set of vectors is signed. Finally, the generated subspace label, basis vector and its corresponding signature information are encapsulated into a data packet and sent to the intermediate router.

[0045] Intermediate router: A router or repeater with computing capabilities that is responsible for storing, encoding, and forwarding the correct data packets received.

[0046] Destination node: An Internet user that can verify all received data packets and parse the original file when a predetermined number of correct data packets are received.

[0047] The specific steps of the method of the present invention are as follows:

[0048] (1) Generate system parameters:

[0049] The cloud service provider CSP selects the security parameter λ and the large prime number N from the public key cryptography function library to generate the system parameters And broadcast to system users, where is a cyclic group of order large prime number q, e: is an asymmetric bilinear map, is an isomorphic mapping, g, u, v are groups The random generator of h is the group Random generator of , H1: H2: are two collision-resistant hash functions, and N is the maximum dimension of the subspace.

[0050] (2) Generate user key:

[0051] User U firstly enters the prime domain Randomly select an element and calculate the commitment to it, and finally set your own private key sk and the corresponding public key pk.

[0052] (3) Generate signature:

[0053] User U divides and augments his file M into a set of linearly independent basis vectors in the vector subspace V, and uses his private key to calculate the signature corresponding to the subspace label τ and this set of basis vectors.

[0054] (3.1) User U first divides the file M to be signed into n blocks {m′1, m′2, ..., m′ n}, each block is represented as a k-dimensional vector

[0055] (3.2) User U appends n-dimensional unit vectors e1, e2, ..., e1 to each vector in this set of vectors. n One of them, so that it is expanded into a set of linearly independent n+k dimensional vectors

[0056] (3.3) User U will have {m1, m2, ..., m n The n-dimensional subspace generated by the basis vector is recorded as And randomly select vid∈{0,1} * As a unique identifier of the subspace;

[0057] (3.4) User U from the prime domain Randomly select two integers r1 and r2 and calculate the corresponding commitment

[0058] (3.5) User U calculates the label of the subspace τ = H1(vid,pk,g1,g2,u1,u2,v1,v2) x ;

[0059] (3.6) User U calculates the basis vector m in the subspace i ={m ij} 1≤j≤k+n ,in Corresponding signature j represents the vector m i Corresponding component m ij Subscript of ;

[0060] (3.7) User U labels the subspace τ, vector m i and its corresponding signature σ i Load it into a data packet and send the data packet to the downstream node as a source node.

[0061] (4) Signature verification:

[0062] The intermediate routing or destination node verifies the data packet from the same source node and uses the public key of the source node to verify the subspace label τ and vector m contained in the data packet. i The corresponding signature σ i .

[0063] (4.1) The intermediate router or sink node first verifies the validity of the subspace label τ in the received data packet, calculates the bilinear pairing e(τ,h) and e(H1(vid,pk,g1,g2,u1,u2,v1,v2),pk), and then determines whether the two are equal;

[0064] (4.2) If the two values ​​in (4.1) are equal, the data packet received by the intermediate router or sink node comes from the source node, and vid, pk, g1, g2, u1, u2, v1, v2 can be recovered by parsing τ. Then, the intermediate router or sink node calculates the bilinear pairing e(σ i ,h) and and determine whether the two are equal;

[0065] (4.3) If the two values ​​in (4.2) are equal, then the data packet received by the intermediate router or sink node has passed verification, and the result output is 1, indicating that the signature contained in the data packet is a valid signature corresponding to its vector. Otherwise, the output is 0. If the sink node receives a predetermined number of data packets that have passed verification, it can parse the original data sent by the source node.

[0066] (5) Export signature:

[0067] The intermediate router verifies the data packets from the same source node and performs arbitrary linear combinations on the verified packets to form new data packets and send them to the downstream node.

[0068] (5.1) Intermediate routing for correct data packets from the same source node Perform linear combination to obtain another vector in the same subspace V The linear combination coefficient c i From the Suyu A randomly selected element from

[0069] (5.2) The intermediate routing calculates the vector Corresponding signature

[0070] (5.3) The intermediate routing subspace label τ, vector and its corresponding signature Load it into a new data packet and send it to the downstream node.

[0071] For the above method, the symbols and definitions are described as follows:

[0072] CSP: Cloud service provider, responsible for generating the global parameters of the system.

[0073] U: Internet user U, the owner of the file to be signed.

[0074] Cyclic groups of order large prime number q.

[0075] A finite field with q elements, where the elements are 0, 1, 2, …, q-1.

[0076] The finite field after removing the zero elements.

[0077] e: from arrive Bilinear pairings of .

[0078] g, u, v: cyclic group The generator of .

[0079] h: cyclic group The generator of .

[0080] H1(·), H2(·): A bit string {0,1} of arbitrary length * arrive The hash function of .

[0081] sk: private key of user U.

[0082] pk: public key of user U.

[0083] M: Document to be signed.

[0084] m′ i : The i-th original vector corresponding to file M, where

[0085] m i : The i-th augmented vector corresponding to file M, where

[0086] m ij : Augmented vector m i The corresponding j-th component, where

[0087] V: consists of basis vectors {m1, m2, ..., m n}The vector subspace generated.

[0088] vid: Identifier of subspace V.

[0089] τ: label of subspace V.

[0090] σ i : vector m i The corresponding signature.

[0091] c i : Linear combination coefficients, from the prime domain A randomly selected element from .

[0092] g r : g raised to the power of r.

[0093] u r : u raised to the power of r.

[0094] v r : v raised to the power of r.

[0095] ab: Multiply elements a and b.

[0096] m1, m2, ..., m n Add, that is

[0097] σ1, σ2, …, σ n Multiply, that is

[0098] The present invention divides and expands the file to be signed into linearly independent subspace vectors, and only needs to generate the basis vectors {m1, m2, ..., m n}The signature of the subspace is completed by signing one by one, because other vectors in the subspace can be represented by this set of basis vectors {m1, ..., m n} to generate any linear combination. In order to ensure the balance between computational cost, transmission cost and security, the homomorphic compression function is improved so that the signature calculation of a vector only needs to be performed. Exponential operations on subgroups and Multiplication operations on the subgroup effectively reduce user computational complexity. Furthermore, intermediate routing or destination nodes can verify received data packets, discard false packets, and linearly combine verified data packets from the same source node to generate a new data packet for transmission, effectively avoiding contamination attacks. If the destination node receives a predetermined number of verified data packets, it can parse the original data sent by the source node. Therefore, the present invention not only resists contamination attacks in network coding and ensures data integrity and authenticity, but also reduces user computational complexity and ensures secure and efficient data transmission.

[0099] The above are preferred embodiments of the present invention. Any changes made according to the technical solution of the present invention, as long as the resulting functions and effects do not exceed the scope of the technical solution of the present invention, shall fall within the scope of protection of the present invention.

Claims

1. A linear network coding method based on BLS, characterized in that: The steps include: (1) Generate system parameters: The cloud service provider CSP selects the security parameter λ and the large prime number N from the public key cryptography function library to generate the system parameters And broadcast to system users, where is a cyclic group of order large prime number q, is an asymmetric bilinear map, is an isomorphic mapping, g, u, v are groups The random generator of h is the group The random generator of are two collision-resistant hash functions, and N is the maximum dimension of the subspace; (2) Generate user key: User U firstly enters the prime domain Randomly select an element and calculate its commitment, and finally set its own private key sk and the corresponding public key pk; (3) Generate signature: User U first pre-processes the signature file M and divides the file M into n blocks {m1′, m′2, ..., m′ n }, each block is represented as a k-dimensional vector Next, we augment it to make it a linearly independent n+k dimensional vector Append n-dimensional unit vectors e1, e2, ..., e to each vector in turn n One of the vector groups; the n-dimensional subspace generated by the augmented vector group is recorded as Then, user U randomly selects vid∈{0,1} * As the unique identifier of the subspace, calculate the label τ of the subspace V and use your own private key to identify the basis vectors {m1, m2, ..., m n Finally, user U is the source node and signs each vector of the subspace label τ, vector m i and its corresponding signature σ i Encapsulate it into a data packet and send it to the downstream node; the maximum dimension of the augmented vector does not exceed N; In step (3), the signature is generated as follows: (3.1) User U first divides the file M to be signed into n blocks {m1′, m′2, ..., m′ n }, each block is represented as a k-dimensional vector (3.2) User U appends n-dimensional unit vectors e1, e2, ..., e1 to each vector in the k-dimensional vector. n One of them, so that it is expanded into a set of linearly independent n+k dimensional vectors 1≤i≤n; (3.3) User U will have {m1, m2, ..., m n The n-dimensional subspace generated by the basis vector is recorded as And randomly select vid∈{0,1} * As a unique identifier of the subspace; (3.4) User U from the prime domain Randomly select two integers r1 and r2 and calculate the corresponding commitment (3.5) User U calculates the label of the subspace τ = H1(vid,pk,g1,g2,u1,u2,v1,v2) x ; (3.6) User U calculates the basis vector m in the subspace i ={m ij } 1≤j≤k+n ,in Signature corresponding to 1≤i≤n j represents the vector m i Corresponding component m ij The subscript of (3.7) User U labels the subspace τ, vector m i and its corresponding signature σ i Load it into a data packet and send the data packet to the downstream node as a source node; (4) Signature verification: The intermediate router or sink node first verifies the validity of the subspace label τ in the received data packet. If τ is invalid, the packet was not sent by the source node. Otherwise, the vector signature is verified. If the vector signature fails verification, the packet is a contaminated fake packet and will be discarded. Otherwise, the packet is a correct packet and passes verification. For the sink node, only after receiving a predetermined number of correct data packets can it parse the original data sent by the source node. (5) Export signature: After the intermediate router verifies all received data packets, it performs any linear combination of the verified data packets from the same source node to derive another vector in the same subspace. and its corresponding signature It is then combined with the subspace label τ to form a new data packet and forwarded to the next node; the signatures corresponding to other vectors in the same subspace can be derived by the corresponding method.

2. A linear network coding method based on BLS according to claim 1, characterized in that: In step (2), the user key is generated as follows: N>, user U from the prime domain Randomly select an integer x as your private key sk and calculate the corresponding public key 3. A linear network coding method based on BLS according to claim 1, characterized in that: In step (4), signature verification is performed as follows: (4.1) The intermediate router or sink node first verifies the validity of the subspace label τ in the received data packet, calculates the bilinear pairing e(τ,h) and e(H1(vid,pk,g1,g2,u1,u2,v1,v2),pk), and then determines whether the two are equal; (4.2) If the two values ​​in (4.1) are equal, the data packet received by the intermediate router or sink node comes from the source node. By parsing τ, vid, pk, g1, g2, u1, u2, v1, v2 are recovered. Then, the intermediate router or sink node calculates the bilinear pairing e(σ i ,h) and and determine whether the two are equal; (4.3) If the two values ​​in (4.2) are equal, then the data packet received by the intermediate router or the destination node passes the verification, and the result output is 1, indicating that the signature contained in the data packet is a valid signature corresponding to its vector; otherwise, the output is 0. If the destination node receives a predetermined number of correct and verified data packets, it can parse the original data sent by the source node.

4. A linear network coding method based on BLS according to claim 3, characterized in that: In step (5), the signature is derived as follows: (5.1) Intermediate routing for correct data packets from the same source node Perform linear combination to obtain another vector in the same subspace V The linear combination coefficient c i From the Suyu A randomly selected element from (5.2) Intermediate routing calculation vector Corresponding signature (5.3) The intermediate routing subspace label τ, vector and its corresponding signature Load it into a new data packet and send it to the downstream node.

Citation Information

Patent Citations

  • Digital signature method and digital signature device as well as digital signature verification method and digital signature verification device

    CN104579666A

  • Identity-based lightweight linear homomorphic network coded signature method

    CN111404689A