Encryption transmission method and system of electronic signature and storage medium

By generating public keys and private keys for users, fuzzy encryption of stroke data in the electronic signature process, and using the libp2p protocol to establish an end-to-end encrypted transmission channel, solves the problem of insufficient signature data transmission security in the existing technology, and achieves for greater security and independence.

CN119341754AActive Publication Date: 2025-01-21SHANGHAI YOULE DIGITAL TECH SOFTWARE CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411531109.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-30
Publication Date
2025-01-21
Estimated Expiration
2044-10-30

AI Technical Summary

Technical Problem

The existing electronic signature technology has insufficient security in the signature process, which is easily intercepted and tampered with, and relies on a third-party certificate authorization center, which poses a centralized security risk.

Method used

By generating a pair of public and private keys for each user, fuzzy encryption is performed on the stroke coordinate data during the signature process, and an end-to-end encrypted transmission channel is established using the libp2p protocol to transmit the encrypted signature data packet to the server. The server uses the public key to verify the authenticity of the signature and decrypt the stroke data.

Benefits of technology

It achieves instant encryption and secure transmission of signature data during transmission, reduces the risk of data interception and tampering, reduces dependence on third-party certification agencies, and improves the reliability and independence of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119341754A_ABST
    Figure CN119341754A_ABST
Patent Text Reader

Abstract

The invention discloses an encryption transmission method and system for an electronic signature and a storage medium, and the method comprises the steps: monitoring and capturing the coordinate data and timestamp of each stroke in a signature process of a user; and at the finishing position of each stroke, performing fuzzy encryption on the coordinate data to obtain a signature data packet, and signing the signature data packet by using a private key of a user to generate a digital signature. Establishing an end-to-end encrypted transmission channel based on a libp2p protocol, and transmitting the signature data packet to a server through the transmission channel; the server side verifies the authenticity of the signature of the signature data packet by using the public key of the user so as to ensure that the data is not tampered; then, the stroke data packet is decrypted, and the handwritten signature of the user is restored. According to the method, the instant encryption of the data is realized in the electronic signature drawing process, and the security of data transmission is ensured by adopting the libp2p protocol, so that the data is prevented from being intercepted and tampered in the transmission process, the dependence on a third-party certification authority is reduced, and the security and independence of the electronic signature are enhanced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of information security, and specifically relates to an encryption transmission method, system and storage medium for electronic signatures. Background Art

[0002] In the digital age, electronic signatures have become an important part of business transactions, not only because they provide an efficient authentication method, but also because they facilitate remote cooperation. With the development of network technology, the security and reliability of electronic signatures have received increasing attention. Existing technologies mainly use digital certificates and encrypted hash values ​​to protect electronic signatures. However, these methods usually only encrypt the data generated after the signature is completed, and do not pay enough attention to the security of data transmission during the signing process. In addition, existing protection measures often need to rely on a third-party certificate authority (CA) to verify the digital signature. For example, existing electronic signature technology usually uses digital certificates and hash algorithms to encrypt handwritten electronic signatures by hashing the signature content and combining random numbers and digital certificates generated by the certification authority (CA). The generated encrypted data packet is then decrypted by the CA center using the certificate private key to restore the handwritten signature data.

[0003] In summary, the defects of the prior art are as follows: (1) Security issues during the transmission process: Most of the current solutions on the market focus on encrypting the final electronic signature, mainly encrypting the static signature image, but ignore the secure transmission of data during the signature drawing process. There is a lack of real-time encryption and protection of dynamic stroke data during the signature process, making the data easy to be intercepted and tampered with during the transmission process; (2) Security needs to be improved: Although existing technologies have adopted a variety of encryption methods, there may still be risks of being cracked or tampered with in some cases, especially data leakage during transmission; (3) Limitations of reliance on third-party CAs: In existing technologies, the verification of digital signatures often requires reliance on a third-party certificate authority, which not only increases the complexity and dependency of operations, but also brings centralized security risks. For example, the certificate authority may become a target of attack. Summary of the invention

[0004] The purpose of the present invention is to provide an encrypted transmission method, system and storage medium for electronic signatures, aiming to solve the above-mentioned problems.

[0005] The present invention is mainly achieved through the following technical solutions: A method for encrypting and transmitting an electronic signature comprises the following steps: Step S1: The user registers and authenticates, then a pair of public and private keys is generated for each user for encryption and decryption of signature data; Step S2: During the user's signature process, the coordinate data and timestamp of each stroke are monitored and captured; at the end of each stroke, the coordinate data is fuzzy encrypted to generate an encrypted stroke data packet; all encrypted stroke data packets are combined into a signature data packet, and signed with the user's private key to generate a digital signature; Step S3: Establish an end-to-end encrypted transmission channel based on the libp2p protocol, and transmit the signed data packet to the server through the transmission channel; the server receives the signed data packet and stores it; Step S4: The server uses the user's public key to verify the authenticity of the signature of the signature data packet to ensure that the data has not been tampered with; then, the stroke data packet is decrypted to restore the user's handwritten signature.

[0006] In order to better implement the present invention, further, step S2 includes the following steps: Step S21: Create a canvas: Use Flutter's CustomPaint and Canvas classes to create a signature canvas; Step S22: Capture stroke data: monitor the user's touch events, capture the coordinate data and timestamp during the drawing process; use GestureDetector to monitor onPanUpdate events to obtain coordinate data in real time; Step S23: Fuzzy encrypt stroke data: At the end of each stroke, the captured coordinate data is fuzzy encrypted.

[0007] In order to better implement the present invention, further, in the step S2, different linear transformations are used to perform fuzzy encryption on the coordinate data, and the coordinate data is fuzzy encrypted based on the linear equation c=(a×t+b)modm, wherein t is a plaintext character, c is a ciphertext character, m is the size of the character set, and a and b are key parameters; in the step S4, the decryption process restores the original plaintext character through the inverse element, and the decryption function is t=a(-1)×(c−b)mod m, wherein a(-1) is the multiplication inverse element of a modulo m.

[0008] In order to better implement the present invention, further, in step S2, fuzzy encryption of coordinate data includes the following steps: Step A1: Create a coordinates list, which contains three sublists. Each sublist contains two double-precision floating-point numbers, representing the x value and y value of the coordinate point respectively. Step A2: Select two integers as key parameters a and b, where a is coprime with the maximum value of the coordinate data; Step A3: traverse each coordinate point in the coordinates list and process its x value and y value; each double-precision floating point number is first multiplied by 1000 and rounded to an integer, and then affine encryption calculation is performed based on the linear equation and combined with the key parameters a and b, and the encryption calculation result is an integer, which is then divided by 1000 and converted back to a double-precision floating point number to form the encrypted coordinate list encryptedCoordinates.

[0009] In order to better implement the present invention, further, in step S4, the decryption process includes the following steps: Step B1: Calculate the modular inverse a_inv of the key a, ensuring that it satisfies the condition (a×a_inv)%m=1; Step B2: define findModularInverse function to find modular inverse, and traverse all integers from 1 to modulus m to find the number that meets the conditions; Step B3: Based on the findModularInverse function, traverse the encryptedCoordinates list and decrypt each encrypted coordinate point; multiply the encrypted double-precision floating point number by 1000 and round it to an integer, and then calculate it based on the decryption function and using the modular inverse element a_inv and the key b; divide the calculation result by 1000 to convert it back to a double-precision floating point number, and obtain the decrypted coordinate list decryptedCoordinates.

[0010] In order to better implement the present invention, further, step S3 includes the following steps: Step S31: Initialize libp2p: Use libp2p to create a node, and call libp2p.create() method to initialize the node; Step S32: Find relay nodes: Use libp2p's node discovery mechanism to find relay nodes, and add relay node addresses to the node's boot list; Step S33: Establish a secure transmission channel: Use the encryption mechanism provided by libp2p to establish an end-to-end encrypted channel, and call the node.dial(destination) method to establish a connection with the target node.

[0011] The present invention is mainly achieved through the following technical solutions: An electronic signature encryption transmission system is based on the above-mentioned electronic signature encryption transmission method, comprising a registration and verification module, an asymmetric encryption module, a signature stroke real-time monitoring module, a stroke data encryption module, a transmission module and a verification and decryption module; The registration and verification module is used to realize user registration and identity authentication in the system; the asymmetric encryption module is used to generate a pair of public keys and private keys for the user, which are used to encrypt and decrypt signature data; the signature stroke real-time monitoring module is used to monitor and capture the coordinate data and timestamp of each stroke; the stroke data encryption module is used to fuzzy encrypt the coordinate data at the end of each stroke, generate an encrypted stroke data packet, and synthesize a signature data packet; the transmission module is used to transmit the signature data packet to the server based on the libp2p protocol; the verification and decryption module is used to verify the signature data packet and decrypt the stroke data packet to restore the user's handwritten signature.

[0012] A computer-readable storage medium stores a computer program, which implements the above-mentioned electronic signature encryption transmission method when executed by a processor.

[0013] The beneficial effects of the present invention are as follows: (1) The present invention realizes real-time encryption of data during the electronic signature drawing process, and adopts the libp2p protocol to ensure the security of data transmission, thereby preventing data from being intercepted and tampered with during the transmission process. In addition, the present invention uses the distributed network architecture and encryption mechanism provided by libp2p to replace the traditional centralized authentication method, reducing the dependence on third-party authentication agencies, thereby reducing potential security risks, and improving the reliability and independence of the system, and enhancing the security and independence of electronic signatures. The present invention innovatively embeds the encryption process into each step of the electronic signature. The present invention can provide users with a higher level of security protection and can adapt to various application scenarios. It can be applied in the fields of finance and banking, law and government, medical and insurance, enterprise and business, education and research.

[0014] (2) During the signing process, the present invention uses data capture and encryption technology to capture the stroke coordinate data and timestamp when the user signs, record the dynamic process of the signature, and encrypt the stroke data through an encryption algorithm to generate an encrypted stroke data packet. This encryption method not only protects the user's signature data, but also retains the original characteristics of the signature, providing a reliable basis for signature verification. The present invention uses public and private keys for encryption and signing to ensure the authenticity and confidentiality of the data. In terms of data transmission, the present invention uses the libp2p protocol to establish an end-to-end encrypted transmission channel to ensure the security and integrity of the data during transmission. The present invention uses the libp2p protocol to provide end-to-end encrypted transmission to prevent data from being intercepted. Secondly, the present invention improves the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 It is a flow chart of the present invention. DETAILED DESCRIPTION

[0016] Embodiment 1: A method for encrypting and transmitting electronic signatures. During the electronic signature drawing process, fuzzy encryption of coordinate axes is performed at the end of different strokes. Then, secure transmission is performed through libp2p to ensure high security and efficiency of the signature content. Specifically, the following steps are included: 1. Use libp2p protocol to establish a secure point-to-point transmission channel; 1) Initialize libp2p: Use libp2p to create a node and set transmission parameters.

[0017] Call libp2p.create() method to initialize the node.

[0018] 2) Find relay nodes: Use libp2p's node discovery mechanism to find relay nodes.

[0019] Add the relay node address to the node's boot list.

[0020] Relay nodes connect various nodes in the network, especially in peer-to-peer networks, where they can help expand network coverage and improve data transmission efficiency. In libp2p networks, relay nodes can serve as a bridge between two nodes that cannot be directly connected to achieve data forwarding. Relay nodes are usually used to handle NAT penetration issues and help nodes establish connections in complex network environments. However, it is best to be in the same LAN and connect directly.

[0021] 3) Establish a secure transmission channel: Use the encryption mechanism provided by libp2p to establish an end-to-end encrypted channel.

[0022] Call the node.dial(destination) method to establish a connection with the target node.

[0023] The libp2p is a modular network stack specifically designed to handle communication needs in peer-to-peer (P2P) networks. It was developed by Protocol Labs to address the limitations of traditional network protocols and provide a flexible and efficient framework to support decentralized applications.

[0024] 2. During the signature drawing process, the coordinates of each stroke are fuzzy encrypted; 1) Create a canvas: Create a signature canvas using Flutter's CustomPaint and Canvas classes.

[0025] Define the drawing area and set canvas parameters.

[0026] 2) Capture stroke data: Listen to the user's touch events and capture the coordinate data and timestamps during the drawing process.

[0027] Use GestureDetector to listen to onPanUpdate events to obtain real-time coordinates.

[0028] 3) Fuzzy encrypted stroke data: At the end of each stroke, the captured coordinate data is fuzzy encrypted.

[0029] 3. Transmit the encrypted signature data through libp2p; 4. Decrypt the signed data at the receiving end and restore the original signature.

[0030] The application fields of the present invention are as follows: I. Finance and banking: used for online contract signing and document transmission to ensure the authenticity and security of transactions.

[0031] For example, loan agreements, credit card applications, investment contracts, etc.

[0032] II. Legal and Government: Used to sign legal and government documents to ensure the document is tamper-proof and the identity of the signatory is authentic.

[0033] For example, legal contracts, government permits, tax documents, etc.

[0034] III. Medical and Insurance: Used to sign medical records, insurance contracts and claim documents, ensuring the privacy and security of patient and customer information.

[0035] For example, medical consent forms, insurance policies, claims applications, etc.

[0036] IV. Enterprise and Business: Used for signing employee contracts, confidentiality agreements and other business documents in a remote working environment to ensure the security of business processes.

[0037] For example, employee contracts, supply chain contracts, confidentiality agreements, etc.

[0038] V. Education and Research: Used to sign academic papers, research project contracts, and student registration documents to ensure the authenticity and security of the documents.

[0039] For example, academic publications, research contracts, student registration forms, etc.

[0040] The present invention simplifies the system architecture, eliminates the reliance on third-party certification agencies, and reduces the complexity and maintenance costs of the system. The present invention enhances dynamic data protection: each stroke data is encrypted during the signing process to prevent data leakage or tampering during transmission and storage. The present invention improves transmission security: an end-to-end encrypted transmission channel is established using the libp2p protocol to ensure the security of signature data during transmission. The present invention enhances the user experience: by optimizing the encryption and transmission algorithms, the user's operation fluency and convenience when performing electronic signatures are ensured, and the present invention has good practicality.

[0041] Embodiment 2: A method for encrypted transmission of electronic signatures, such as Figure 1 As shown, the following steps are included: Step 1: Initialization and Setup User registration and identity verification: Users need to register in the system and verify their identity through multi-factor authentication (such as SMS, email, and identity verification application).

[0042] Key generation: The system generates a pair of public and private keys for each user, which are used to encrypt and decrypt signature data. The public key can be made public, while the private key needs to be stored securely.

[0043] Public and private keys are two key components in asymmetric encryption (or public key cryptography) algorithms. Asymmetric encryption algorithms use a pair of keys: a public key and a private key. The public key is used to encrypt data and the private key is used to decrypt data, or the public key is used to verify a signature and the private key is used to generate a signature.

[0044] Step 2: Signing Process Create a canvas: Create a canvas on your mobile device or computer where users can write their signature with their finger or a stylus.

[0045] Capture stroke data: Capture the coordinate data and timestamp of each stroke as the user signs.

[0046] Encrypted stroke data: At the end of each stroke, the coordinate data is fuzzy encrypted to generate an encrypted stroke data packet.

[0047] Generate a signature data packet: combine all encrypted stroke data into a signature data packet, sign it with the user's private key, and generate a digital signature.

[0048] Step 3: Data Transfer Use libp2p transmission: Establish an end-to-end encrypted transmission channel through the libp2p protocol and transmit the signed data packet to the server.

[0049] Receiving and storing: After receiving the data packet, the server uses the user's public key to verify the authenticity of the signature and stores the encrypted data packet.

[0050] Step 4: Verify and decrypt Data verification: When the signature needs to be verified, the server uses the user's public key to verify the authenticity of the signature to ensure that the data has not been tampered with.

[0051] Data decryption: As needed, use the server-side private key to decrypt the stroke data and restore the user's handwritten signature.

[0052] Show Signature: Display the decrypted signature in the application for contract verification or other purposes.

[0053] Preferably, the judgment of the completion of the stroke is realized by monitoring the user's finger pressing and lifting gestures and recording the timestamp and coordinate data at the same time. The advantage is that the integrity, sequence and security of the stroke writing can be guaranteed, and the restoration of the signature is more realistic.

[0054] Preferably, different linear transformations are used to encrypt the coordinate data. The basic principle is to use the linear equation c=(a×t+b)modm for encryption, where t is the plaintext character, c is the ciphertext character, a and b are key parameters, and m is the size of the character set. The decryption process needs to restore the original plaintext character through the inverse element. The decryption function is t=a(-1)×(c−b)modm. a(-1) is the multiplicative inverse element of a modulo m. The decryption process needs to restore the original plaintext character through the inverse element. The specific steps are as follows: 1. A list named coordinates is defined in the main function. The list contains three sublists. Each sublist contains two double-precision floating-point numbers, representing the x and y values ​​of the coordinate points.

[0055] 2. Select two integers a and b as the key parameters of the affine cipher algorithm, where a must be coprime with the maximum value of the coordinate data.

[0056] 3. Use the map function to traverse each coordinate point in the coordinates list and process its x and y values. Each floating point number is first multiplied by 1000 and rounded to an integer, and then combined with keys a and b for affine encryption calculation. The encryption result is an integer, which is then divided by 1000 and converted back to a double-precision floating point number to form the encrypted coordinate list encryptedCoordinates.

[0057] 4. Output the encrypted coordinate list encryptedCoordinates for inspection.

[0058] 5. To decrypt, we need to calculate the modular inverse a_inv of the key a, ensuring that it satisfies the condition (a*a_inv)%m=1. The findModularInverse function is defined to find the modular inverse, which traverses all integers from 1 to the modulus m to find a number that meets the condition.

[0059] 6. Traverse the encryptedCoordinates list and decrypt each encrypted coordinate point. The decryption process includes multiplying the encrypted double-precision floating point number by 1000 and rounding it to an integer, and then calculating it using the modular inverse element a_inv and the key b. Divide the calculation result by 1000 to convert it back to a double-precision floating point number to obtain the decrypted coordinate list decryptedCoordinates.

[0060] 7. Output the decrypted coordinate list decryptedCoordinates for inspection.

[0061] The specific codes for the above steps are as follows: void main() { / / Assume this is the original coordinate data List <List <double>>coordinates=[[100.0,200.0],[500.0,600.0],]; / / Select keys a and b / / Here a must be an integer coprime with the maximum value of the coordinate data range int a=7; / / Affine cipher key parameter a int b=3; / / Affine cipher key parameter b / / Encrypted coordinate data List <List <double>>encryptedCoordinates=coordinates.map((coord){return coord.map((c){ / / Convert double-precision floating-point numbers to integers and perform modulo operations / / Dart does not have a direct modulus operator for floating point numbers, so it needs to be converted to an integer first int encryptedX=((c*1000).round()*a+b)%(1000*1000); / / Convert the result back to a double precision floating point number return encryptedX / 1000.0; }).toList(); }).toList(); / / Print the encrypted coordinate data print("Encrypted Coordinates:"); for(var coord inencryptedCoordinates){print(coord);} / / In order to decrypt, we need to find the inverse of a, a_inv, so that (a*a_inv)%m=1 / / Here we simplify the process and assume that m is a large enough number so that the inverse of a exists int m=1000*1000; / / Moduli, here we assume it is 1000000, in actual application it should be determined according to the data range int a_inv=findModularInverse(a,m); / / Decrypt coordinate data List <List <double>>decryptedCoordinates=encryptedCoordinates.map((coord){return coord.map((c)} / / Convert the encrypted coordinates to integers int encryptedValue=(c*1000).round(); / / Decryption operation int decryptedValue=(a_inv*(encryptedValue-b)%m)~ / 1000; return decryptedValue.toDouble(); }).toList(); }).toList(); / / Find the inverse of a modulo m int findModularInverse(int a,int m) {for(int x=1;x <m;x++){if((a*x)%m==1){return x;} } The present invention uses the libp2p protocol to create an end-to-end encrypted channel to ensure the security and integrity of the signature data during transmission. The distributed network architecture and encryption mechanism provided by libp2p are used to replace the traditional centralized authentication method and reduce the dependence on third-party certification agencies. The present invention generates an encrypted stroke data packet by fuzzy encryption of the coordinate axis at the end of different strokes to prevent data from being tampered with or leaked. After receiving the encrypted data packet, the server uses the private key to decrypt it and restore the complete signature content.

[0062] The above description is only a preferred embodiment of the present invention and does not limit the present invention in any form. Any simple modification or equivalent change made to the above embodiment based on the technical essence of the present invention shall fall within the protection scope of the present invention.< / double> < / double> < / double>

Claims

1. A method for encrypting and transmitting an electronic signature, characterized in that: The following steps are involved: Step S1: The user performs registration and / or identity authentication, and then generates a pair of public and private keys for the user to encrypt and decrypt signature data; Step S2: During the user's signature process, the coordinate data and timestamp of each stroke are monitored and captured; at the end of each stroke, the coordinate data is fuzzy encrypted to generate an encrypted stroke data packet; all encrypted stroke data packets are combined to obtain a signature data packet, and the signature data packet is signed with the user's private key to generate a digital signature; Step S3: Establish an end-to-end encrypted transmission channel based on the libp2p protocol, and transmit the signed data packet to the server through the transmission channel; the server receives the signed data packet and stores it; Step S4: The server uses the user's public key to verify the authenticity of the signature of the signature data packet to ensure that the data has not been tampered with; then, the stroke data packet is decrypted to restore the user's handwritten signature.

2. The method for encrypting and transmitting an electronic signature according to claim 1, characterized in that: The step S2 comprises the following steps: Step S21: Create a canvas: Use Flutter's CustomPaint and Canvas classes to create a signature canvas; Step S22: Capture stroke data: monitor the user's touch events, capture the coordinate data and timestamp of each stroke during the drawing process; use GestureDetector to monitor onPanUpdate events to obtain coordinate data in real time; Step S23: Fuzzy encrypt the coordinate data of the strokes: At the end of each stroke, the captured coordinate data is fuzzy encrypted.

3. The method for encrypting and transmitting an electronic signature according to claim 1 or 2, characterized in that: In the step S2, different linear transformations are used to perform fuzzy encryption on the coordinate data, and the coordinate data is fuzzy encrypted based on the linear equation c=(a×t+b)modm, where t is a plaintext character, c is a ciphertext character, m is the size of the character set, and a and b are key parameters; in the step S4, the decryption process restores the original plaintext character through the inverse element, and the decryption function is t=a(-1)×(c−b)mod m, where a(-1) is the multiplication inverse element of a modulo m.

4. The method for encrypting and transmitting an electronic signature according to claim 3, characterized in that: In step S2, fuzzy encryption of coordinate data includes the following steps: Step A1: Create a coordinates list, which contains three sublists. Each sublist contains two double-precision floating-point numbers, representing the x value and y value of the coordinate point respectively. Step A2: Select two integers as key parameters a and b, where a is coprime with the maximum value of the coordinate data; Step A3: traverse each coordinate point in the coordinates list and process its x value and y value; each double-precision floating point number is first multiplied by 1000 and rounded to an integer, and then affine encryption calculation is performed based on the linear equation and combined with the key parameters a and b, and the encryption calculation result is an integer, which is then divided by 1000 and converted back to a double-precision floating point number to form the encrypted coordinate list encryptedCoordinates.

5. The method for encrypting and transmitting an electronic signature according to claim 4, characterized in that: In step S4, the decryption process includes the following steps: Step B1: Calculate the modular inverse a_inv of the key a, ensuring that it satisfies the condition (a×a_inv)%m=1; Step B2: define findModularInverse function to find modular inverse, and traverse all integers from 1 to modulus m to find the number that meets the conditions; Step B3: Based on the findModularInverse function, traverse the encryptedCoordinates list and decrypt each encrypted coordinate point; multiply the encrypted double-precision floating point number by 1000 and round it to an integer, and then calculate it based on the decryption function and using the modular inverse element a_inv and the key b; divide the calculation result by 1000 to convert it back to a double-precision floating point number, and obtain the decrypted coordinate list decryptedCoordinates.

6. The method for encrypting and transmitting an electronic signature according to claim 1, characterized in that: The step S3 comprises the following steps: Step S31: Initialize libp2p: Use libp2p to create a node, and call libp2p.create() method to initialize the node; Step S32: Find relay nodes: Use libp2p's node discovery mechanism to find relay nodes, and add relay node addresses to the node's boot list; Step S33: Establish a secure transmission channel: Use the encryption mechanism provided by libp2p to establish an end-to-end encrypted channel, and call the node.dial(destination) method to establish a connection with the target node.

7. An electronic signature encryption transmission system, based on the electronic signature encryption transmission method according to any one of claims 1 to 6, characterized in that: It includes registration and verification module, asymmetric encryption module, signature stroke real-time monitoring module, stroke data encryption module, transmission module and verification and decryption module; The registration and verification module is used to implement user registration and identity authentication in the system; the asymmetric encryption module is used to generate a pair of public and private keys for the user, which are used to encrypt and decrypt signature data; the signature stroke real-time monitoring module is used to monitor and capture the coordinate data and timestamp of each stroke; the stroke data encryption module is used to fuzzy encrypt the coordinate data at the end of each stroke, generate an encrypted stroke data packet, and synthesize a signature data packet; The transmission module is used to transmit the signed data packet to the server based on the libp2p protocol; The verification and decryption module is used to verify the signature data packet and decrypt the stroke data packet to restore the user's handwritten signature.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the encryption transmission method of the electronic signature described in any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Electronic signature protection and restoration method and system, electronic equipment and storage medium

    CN113486406A

  • Electronic file secure transmission method and system based on electronic signature, and medium

    CN116015945A

  • Electronic biometric (dynamic) signature references enrollment method

    US20150280921A1