An electronic signature encryption transmission method, system and storage medium
By generating public and private keys for encryption during the signing process and establishing an end-to-end encrypted transmission channel using the libp2p protocol, the security and dependency issues in the electronic signature transmission process are solved, achieving instant encryption and secure transmission of signature data.
Patent Information
- Application Number
- CN202411531109.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-30
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2044-10-30
AI Technical Summary
Existing technologies neglect the security of data during the signature drawing process in the transmission of electronic signatures, which poses risks such as insecure data transmission, susceptibility to tampering, and reliance on third-party certificate authorities.
Asymmetric encryption technology is used to generate public and private keys, real-time monitoring and obfuscating of encrypted signature stroke data, and an end-to-end encrypted transmission channel is established using the libp2p protocol. The authenticity of the signature is verified and the stroke data is decrypted using the public key.
It enables instant encryption and secure transmission of signature data, reduces reliance on third-party certification authorities, enhances the security and independence of electronic signatures, and ensures the integrity and authenticity of data during transmission.
Smart Images

Figure CN119341754B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the technical field of information security, specifically relating to an encrypted transmission method, system, and storage medium for electronic signatures. Background Technology
[0002] In the digital age, electronic signatures have become a crucial element in business transactions, not only because they provide an efficient method of identity verification, but also because they facilitate remote collaboration. With the development of network technology, the security and reliability of electronic signatures are receiving increasing attention. Existing technologies primarily protect electronic signatures through digital certificates and cryptographic hash values. However, these methods typically only encrypt the data generated after signing, neglecting the security of data transmission during the signing process. Furthermore, existing protection measures often rely on third-party Certificate Authorities (CAs) for digital signature verification. For example, current electronic signature technologies typically utilize digital certificates and hash algorithms to hash the signature content, then combine this hash with a random number and a digital certificate generated by the CA to encrypt the handwritten electronic signature. The resulting encrypted data packet is then decrypted by the CA using its private key to reconstruct the handwritten signature data.
[0003] In summary, the shortcomings of the existing technology are as follows:
[0004] (1) Security issues during transmission: Most solutions on the market today focus on encrypting the final electronic signature, mainly encrypting static signature images, while neglecting the secure transmission of data during the signature drawing process. They lack real-time encryption and protection of dynamic stroke data during the signature process, making the data easy to be intercepted and tampered with during transmission.
[0005] (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;
[0006] (3) Restrictions on reliance on third-party CAs: In the existing technology, the verification of digital signatures often requires reliance on third-party certificate authorities, which not only increases the complexity and dependence of the operation, but also brings centralized security risks, such as the certificate authority may become a target of attack. Summary of the Invention
[0007] The purpose of this invention is to provide an encrypted transmission method, system, and storage medium for electronic signatures, in order to solve the aforementioned problems.
[0008] This invention is mainly achieved through the following technical solutions:
[0009] A method for encrypted transmission of electronic signatures includes the following steps:
[0010] Step S1: Users register and authenticate themselves. Then, a public key and private key pair is generated for each user to encrypt and decrypt signature data.
[0011] Step S2: During the user signature process, listen to and capture the coordinate data and timestamp of each stroke; at the end of each stroke, perform fuzzy encryption on the coordinate data to generate an encrypted stroke data packet; combine all the encrypted stroke data packets into a signature data packet, and sign it with the user's private key to generate a digital signature.
[0012] 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;
[0013] Step S4: The server uses the user's public key to verify the authenticity of the signature data packet to ensure that the data has not been tampered with; then, it decrypts the stroke data packet to restore the user's handwritten signature.
[0014] To better realize the present invention, step S2 further includes the following steps:
[0015] Step S21: Create a canvas: Create a signature canvas using Flutter's CustomPaint and Canvas classes;
[0016] Step S22: Capture stroke data: Listen for user touch events and capture coordinate data and timestamps during the drawing process; use GestureDetector to listen for the onPanUpdate event to obtain coordinate data in real time;
[0017] Step S23: Encrypt stroke data in a fuzzy manner: At the end of each stroke, the captured coordinate data is fuzzily encrypted.
[0018] To better implement the present invention, further, in step S2, the coordinate data is fuzzily encrypted using different linear transformations, based on the linear equation c = (a × t + b) mod m, where t is the plaintext character, c is the ciphertext character, m is the size of the character set, and a and b are key parameters; in step S4, the decryption process uses the inverse to restore the original plaintext character, and the decryption function is t = a(-1) × (c − b) mod m, where a(-1) is the multiplicative inverse of a modulo m.
[0019] To better realize the present invention, further, in step S2, the fuzzy encryption of the coordinate data includes the following steps:
[0020] Step A1: Create a list of coordinates, which contains three sublists. Each sublist contains two double-precision floating-point numbers, representing the x and y values of the coordinates, respectively.
[0021] Step A2: Select two integers as key parameters a and b, where a is coprime to the maximum value of the coordinate data;
[0022] Step A3: Iterate through each coordinate point in the coordinates list and process its x and y values; each double-precision floating-point number is first multiplied by 1000 and rounded to the nearest integer, then affine encryption is performed based on the linear equation and combined with the key parameters a and b, and the result of the encryption calculation is an integer, then divided by 1000 to convert it back to a double-precision floating-point number, forming the encrypted coordinate list encryptedCoordinates.
[0023] To better implement the present invention, further, in step S4, the decryption process includes the following steps:
[0024] Step B1: Calculate the modular inverse a_inv of key a, ensuring that it satisfies the condition (a×a_inv)%m=1;
[0025] Step B2: Define the findModularInverse function to find the modular inverse, traversing all integers from 1 to the modulus m to find numbers that meet the conditions;
[0026] Step B3: Iterate through the encryptedCoordinates list using the findModularInverse function and decrypt each encrypted coordinate point; multiply the encrypted double-precision floating-point number by 1000 and round it to the nearest integer, then calculate using the decryption function and the modular inverse a_inv and 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.
[0027] To better realize the present invention, step S3 further includes the following steps:
[0028] Step S31: Initialize libp2p: Use libp2p to create nodes and call the libp2p.create() method to initialize the nodes;
[0029] Step S32: Find relay nodes: Use libp2p's node discovery mechanism to find relay nodes and add the relay node address to the node's bootstrap list;
[0030] 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.
[0031] This invention is mainly achieved through the following technical solutions:
[0032] An encrypted transmission system for electronic signatures, based on the aforementioned encrypted transmission method for electronic signatures, includes a registration and verification module, an asymmetric encryption module, a real-time signature stroke monitoring module, a stroke data encryption module, a transmission module, and a verification and decryption module.
[0033] The registration and verification module enables users to register and authenticate their identities within the system; the asymmetric encryption module generates a public and private key pair for each user, used to encrypt and decrypt signature data; the real-time signature stroke monitoring module monitors and captures the coordinate data and timestamp of each stroke; the stroke data encryption module performs fuzzy encryption on the coordinate data at the end of each stroke, generating an encrypted stroke data packet to synthesize a signature data packet; the transmission module transmits the signature data packet to the server based on the libp2p protocol; and the verification and decryption module verifies the signature data packet and decrypts the stroke data packet to reconstruct the user's handwritten signature.
[0034] A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the above-described method for encrypted transmission of electronic signatures.
[0035] The beneficial effects of this invention are as follows:
[0036] (1) This invention achieves real-time data encryption during the electronic signature drawing process and uses the libp2p protocol to ensure the security of data transmission, thereby preventing data from being intercepted and tampered with during transmission. Furthermore, this invention uses the distributed network architecture and encryption mechanism provided by libp2p to replace the traditional centralized authentication method, reducing reliance on third-party authentication authorities, thus lowering potential security risks and improving the reliability and independence of the system, enhancing the security and independence of electronic signatures. This invention innovatively embeds the encryption process into every step of the electronic signature process, providing users with a higher level of security protection and adapting to various application scenarios. It can be applied in fields such as finance and banking, law and government, healthcare and insurance, enterprise and commerce, and education and research.
[0037] (2) During the signing process, this invention employs data capture and encryption techniques to capture the stroke coordinates and timestamps of the user's signature, recording the dynamic process of the signature. Furthermore, it encrypts the stroke data using an encryption algorithm, generating an encrypted stroke data packet. This encryption method protects the user's signature data while preserving the original characteristics of the signature, providing a reliable foundation for signature verification. This invention uses public and private keys for encryption and signing, ensuring the authenticity and confidentiality of the data. Regarding data transmission, this invention utilizes the libp2p protocol to establish an end-to-end encrypted transmission channel, ensuring the security and integrity of the data during transmission. This invention utilizes the libp2p protocol to provide end-to-end encrypted transmission, preventing data interception. Secondly, this invention improves the user experience. Attached Figure Description
[0038] Figure 1 This is a flowchart of the present invention. Detailed Implementation
[0039] Example 1:
[0040] An encrypted transmission method for electronic signatures involves fuzzy encryption of coordinate axes at the end of different strokes during the electronic signature drawing process; then, secure transmission is performed via libp2p to ensure high security and efficiency of the signature content. Specifically, it includes the following steps:
[0041] 1. Establish a secure peer-to-peer transmission channel using the libp2p protocol;
[0042] 1) Initialize libp2p:
[0043] Use libp2p to create a node and set the transmission parameters.
[0044] The libp2p.create() method is called to initialize the node.
[0045] 2) Finding relay nodes:
[0046] The node discovery mechanism of libp2p is used to find the relay node.
[0047] Add the relay node address to the node's bootstrap list.
[0048] Relay nodes play a crucial role in connecting various nodes in a network, especially in point-to-point networks. They help extend network coverage and improve data transmission efficiency. In libp2p networks, relay nodes act as bridges connecting two nodes that cannot directly connect, enabling data forwarding. Relay nodes are commonly used to handle NAT traversal issues, helping nodes establish connections in complex network environments. However, it's best to keep them within the same local area network (LAN) for direct connections.
[0049] 3) Establish a secure transmission channel:
[0050] Establish an end-to-end encrypted channel using the encryption mechanism provided by libp2p.
[0051] Call the node.dial(destination) method to establish a connection with the target node.
[0052] libp2p is a modular network stack specifically designed to handle communication needs in peer-to-peer (P2P) networks. Developed by Protocol Labs, it aims to address the limitations of traditional network protocols and provide a flexible and efficient framework to support decentralized applications.
[0053] 2. During the signature drawing process, the coordinates of each stroke are subjected to fuzzy encryption.
[0054] 1) Create a canvas:
[0055] Use Flutter's CustomPaint and Canvas classes to create a signature canvas.
[0056] Define the drawing area and set the canvas parameters.
[0057] 2) Capture stroke data:
[0058] Listen for user touch events and capture coordinate data and timestamps during the drawing process.
[0059] Use GestureDetector to listen for the onPanUpdate event to obtain real-time coordinates.
[0060] 3) Encrypted stroke data:
[0061] At the end of each stroke, the captured coordinate data is fuzzily encrypted.
[0062] 3. Transmit the encrypted signature data via libp2p;
[0063] 4. Decrypt the signature data at the receiving end to restore the original signature.
[0064] The application areas of this invention are as follows:
[0065] I. Finance and Banking: Used for online contract signing and document transfer to ensure the authenticity and security of transactions.
[0066] For example, loan agreements, credit card applications, investment contracts, etc.
[0067] II. Law and Government: Used for signing legal and government documents, ensuring the immutability of the documents and the authenticity of the signatory's identity.
[0068] For example, legal contracts, government permits, tax documents, etc.
[0069] III. Healthcare and Insurance: Used for signing medical records, insurance contracts, and claims documents, ensuring the privacy and security of patient and client information.
[0070] For example, medical consent forms, insurance policies, and claim applications.
[0071] IV. Enterprise and Business: For signing employee contracts, confidentiality agreements, and other business documents in remote work environments, ensuring the security of business processes.
[0072] For example, employee contracts, supply chain contracts, confidentiality agreements, etc.
[0073] V. Education and Research: Used for signing academic papers, research project contracts, and student registration documents, ensuring the authenticity and security of the documents.
[0074] Examples include academic publications, research contracts, and student registration forms.
[0075] This invention simplifies the system architecture, eliminates reliance on third-party certification authorities, and reduces system complexity and maintenance costs. It enhances dynamic data protection by encrypting each stroke of data during the signing process, preventing leakage or tampering during transmission and storage. It improves transmission security by using the libp2p protocol to establish an end-to-end encrypted transmission channel, ensuring the security of signed data during transmission. Finally, it enhances the user experience by optimizing encryption and transmission algorithms, ensuring smooth and convenient operation for users when performing electronic signatures, thus demonstrating good practicality.
[0076] Example 2:
[0077] An encrypted transmission method for electronic signatures, such as Figure 1 As shown, it includes the following steps:
[0078] Step 1: Initialization and Setup
[0079] 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 applications).
[0080] Key generation: The system generates a public and private key pair for each user, used for encrypting and decrypting signed data. The public key can be made public, while the private key must be stored securely.
[0081] Public and private keys are two key components of asymmetric encryption (or public-key encryption) 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.
[0082] Step 2: Signature Process
[0083] Create a canvas: Create a canvas on your mobile device or computer where you can write your signature with your finger or a stylus.
[0084] Capture stroke data: During the user signature process, capture the coordinate data and timestamp of each stroke.
[0085] Encrypted stroke data: At the end of each stroke, the coordinate data is fuzzily encrypted to generate an encrypted stroke data package.
[0086] Generate a signature data packet: Combine all the encrypted stroke data into a signature data packet, and sign it with the user's private key to generate a digital signature.
[0087] Step 3: Data transmission
[0088] Using libp2p for transmission: Establish an end-to-end encrypted transmission channel via the libp2p protocol to transmit signed data packets to the server.
[0089] Receiving and storing: After receiving a data packet, the server uses the user's public key to verify the authenticity of the signature and stores the encrypted data packet.
[0090] Step 4: Verification and Decryption
[0091] Data verification: When signature verification is required, the server uses the user's public key to verify the authenticity of the signature and ensure that the data has not been tampered with.
[0092] Data decryption: As needed, use the server's private key to decrypt the stroke data and restore the user's handwritten signature.
[0093] Display Signature: Displays the decrypted signature in the application for contract verification or other purposes.
[0094] Preferably, the completion of a stroke is determined by listening to the user's finger pressing and lifting gestures while simultaneously recording the timestamp and coordinate data. This method ensures the integrity, sequence, and security of the stroke writing, resulting in a more authentic signature reconstruction.
[0095] Preferably, different linear transformations are used to encrypt the coordinate data. The basic principle is to use the linear equation c = (a × t + b) mod m 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 requires using the inverse to reconstruct the original plaintext character. The decryption function is t = a(-1) × (c − b) mod m. a(-1) is the multiplicative inverse of a modulo m. The specific steps are as follows:
[0096] 1. In the main function, a list named coordinates is defined. This list contains three sublists, each containing two double-precision floating-point numbers, representing the x and y values of the coordinates.
[0097] 2. Choose two integers a and b as the key parameters for the affine cipher algorithm, where a must be coprime with the maximum value of the coordinate data.
[0098] 3. Use the `map` function to iterate through 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 the nearest integer, then combined with keys `a` and `b` for affine encryption. The encrypted result is an integer, which is then divided by 1000 to convert it back to a double-precision floating-point number, forming the encrypted coordinate list `encryptedCoordinates`.
[0099] 4. Output the encrypted coordinates list encryptedCoordinates for inspection.
[0100] 5. To decrypt, the modular inverse of key a, a_inv, needs to be calculated, ensuring that it satisfies the condition (a*a_inv)%m=1. The findModularInverse function is defined to find the modular inverse; this function iterates through all integers from 1 to the modulus m to find a number that meets the condition.
[0101] 6. Iterate through the `encryptedCoordinates` list and decrypt each encrypted coordinate point. The decryption process involves multiplying the encrypted double-precision floating-point number by 1000 and rounding it to the nearest integer, then performing calculations using the modular inverse a_inv and the key b. Divide the result by 1000 to convert it back to a double-precision floating-point number, obtaining the decrypted coordinate list `decryptedCoordinates`.
[0102] 7. Output the decrypted coordinates list decryptedCoordinates for inspection.
[0103] The specific code for the above steps is as follows:
[0104] void main() {
[0105] / / Assuming this is the original coordinate data List <List <double>>coordinates=[[100.0,200.0],[500.0,600.0],];
[0106] / / Select keys a and b
[0107] / / Here, 'a' must be an integer coprime to the maximum value of the coordinate data range.
[0108] int a = 7; / / Key parameter a for the affine cipher
[0109] int b = 3; / / Affine cipher key parameter b
[0110] / / Encrypted coordinate data List <List <double>>encryptedCoordinates=coordinates.map((coord){return coord.map((c){
[0111] / / Convert a double-precision floating-point number to an integer and perform modulo arithmetic.
[0112] Dart does not have a direct modulo operator for floating-point numbers, so they need to be converted to integers first.
[0113] int encryptedX=((c*1000).round()*a+b)%(1000*1000);
[0114] / / Convert the result back to a double-precision floating-point number: return encryptedX / 1000.0;
[0115] }).toList();
[0116] }).toList();
[0117] / / Print the encrypted coordinates: print("Encrypted Coordinates:");
[0118] for(var coord inencryptedCoordinates){print(coord);}
[0119] / / To decrypt, we need to find the modular inverse of a, a_inv, such that (a*a_inv)%m=1
[0120] / / This is a simplified approach, assuming m is a sufficiently large number such that the modular inverse of a exists. int m = 1000 * 1000; / / Modulus, assumed to be 1000000 here, but should be determined based on the data range in actual applications.
[0121] int a_inv=findModularInverse(a,m);
[0122] / / Decrypt coordinate data
[0123] List <List <double>>decryptedCoordinates=encryptedCoordinates.map((coord){return coord.map((c)}
[0124] / / Convert the encrypted coordinates to an integer: int encryptedValue = (c * 1000).round();
[0125] / / Decryption operation
[0126] int decryptedValue=(a_inv*(encryptedValue-b)%m)~ / 1000;
[0127] return decryptedValue.toDouble();
[0128] }).toList();
[0129] }).toList();
[0130] / / Find the modular inverse of a modulo m
[0131] int findModularInverse(int a,int m)
[0132] {for(int x=1;x <m;x++){if((a*x)%m==1){return x;}
[0133] }
[0134] This invention utilizes the libp2p protocol to create an end-to-end encrypted channel, ensuring the security and integrity of signature data during transmission. It replaces traditional centralized authentication methods with the distributed network architecture and encryption mechanism provided by libp2p, reducing reliance on third-party authentication authorities. This invention generates encrypted stroke data packets by performing fuzzy encryption on the coordinate axes at the end of different strokes, preventing data tampering or leakage. Upon receiving the encrypted data packet, the server decrypts it using its private key to restore the complete signature content.
[0135] The above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention in any way. Any simple modifications or equivalent changes made to the above embodiments 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 encrypted transmission of electronic signatures, characterized in that, Includes the following steps: Step S1: The user registers and / or authenticates, and then a public key and private key pair is generated for the user to encrypt and decrypt signature data; Step S2: During the user signing process, listen to and capture the coordinate data and timestamp of each stroke; at the end of each stroke, perform fuzzy encryption on the coordinate data to generate an encrypted stroke data packet; combine all the encrypted stroke data packets to obtain a signature data packet, and sign it 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 data packet to ensure that the data has not been tampered with; then, it decrypts the stroke data packet to restore the user's handwritten signature.
2. The encrypted transmission method for an electronic signature according to claim 1, characterized in that, Step S2 includes the following steps: Step S21: Create a canvas: Create a signature canvas using Flutter's CustomPaint and Canvas classes; Step S22: Capture stroke data: Listen for user touch events and capture the coordinate data and timestamp of each stroke during the drawing process; use GestureDetector to listen for the onPanUpdate event to obtain coordinate data in real time; Step S23: Encrypt the coordinate data of strokes in a fuzzy manner: At the end of each stroke, the captured coordinate data is fuzzily encrypted.
3. The encrypted transmission method for an electronic signature according to claim 1 or 2, characterized in that, In step S2, the coordinate data is fuzzily encrypted using different linear transformations. The coordinate data is fuzzily encrypted based on the linear equation c = (a × t + b) mod m, where t is the plaintext character, c is the ciphertext character, m is the size of the character set, and a and b are key parameters. In step S4, the decryption process restores the original plaintext character using the inverse. The decryption function is t = a(-1) × (c − b) mod m, where a(-1) is the multiplicative inverse of a modulo m.
4. The encrypted transmission method for an electronic signature according to claim 3, characterized in that, In step S2, the fuzzy encryption of the coordinate data includes the following steps: Step A1: Create a list of coordinates, which contains three sublists. Each sublist contains two double-precision floating-point numbers, representing the x and y values of the coordinates, respectively. Step A2: Select two integers as key parameters a and b, where a is coprime to the maximum value of the coordinate data; Step A3: Iterate through each coordinate point in the coordinates list and process its x and y values; each double-precision floating-point number is first multiplied by 1000 and rounded to the nearest integer, then affine encryption is performed based on the linear equation and combined with the key parameters a and b, and the result of the encryption calculation is an integer, then divided by 1000 to convert it back to a double-precision floating-point number, forming the encrypted coordinate list encryptedCoordinates.
5. The encrypted transmission method for 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 key a, ensuring that it satisfies the condition (a×a_inv)%m=1; Step B2: Define the findModularInverse function to find the modular inverse, traversing all integers from 1 to the modulus m to find numbers that meet the conditions; Step B3: Iterate through the encryptedCoordinates list using the findModularInverse function and decrypt each encrypted coordinate point; multiply the encrypted double-precision floating-point number by 1000 and round it to the nearest integer, then calculate using the decryption function and the modular inverse a_inv and 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 encrypted transmission method for an electronic signature according to claim 1, characterized in that, Step S3 includes the following steps: Step S31: Initialize libp2p: Use libp2p to create nodes and call the libp2p.create() method to initialize the nodes; Step S32: Find relay nodes: Use libp2p's node discovery mechanism to find relay nodes and add the relay node address to the node's bootstrap 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 encrypted transmission system for electronic signatures, based on the encrypted transmission method for electronic signatures according to any one of claims 1-6, characterized in that, It includes a registration and verification module, an asymmetric encryption module, a real-time signature stroke monitoring module, a stroke data encryption module, a transmission module, and a verification and decryption module. The registration and verification module is used to enable users to register and authenticate their identities in the system; the asymmetric encryption module is used to generate a pair of public and private keys for users to encrypt and decrypt signature data; the real-time signature stroke monitoring module is used to monitor and capture the coordinate data and timestamp of each stroke; the stroke data encryption module is used to perform fuzzy encryption on the coordinate data at the end of each stroke to generate an encrypted stroke data packet to synthesize a signature data packet. The transmission module is used to transmit signed data packets 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 executed by a processor, the program implements the encrypted transmission method of the electronic signature as described in any one of claims 1-6.
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