Method for verifying an electronic file and related electronic device
By including hash values in electronic files and storing them in the public ledger network, the problem of electronic file signature verification relying on third-party competent authorities is solved, and strong protection and integrity verification of electronic file content is achieved, reducing security risks.
Patent Information
- Application Number
- CN202380073802.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-10-18
- Filing Date
- 2023-10-11
- Publication Date
- 2025-06-06
AI Technical Summary
In the prior art, the signature verification of electronic documents depends on the third-party signature certificate authority, and there are security risks and trust issues, especially when the security and reliability of the third-party competent authority are questioned.
By including hash values in electronic files and storing these hash values in a public ledger network, fingerprinting and integrity protection of the content of electronic files is achieved, so that there is no need to rely on third-party signature certificate authorities.
This method provides strong protection for electronic files through a distributed method, reduces the security risk of tampered files, improves the integrity and immutability of files, and enhances security and trust.
Smart Images

Figure CN120112926A_ABST
Abstract
Description
[0001] The present disclosure relates to the field of electronic document control and management. The present disclosure relates to a method for verifying an electronic document and a related electronic device. Background Art
[0002] Documents such as electronic documents may require signatures, such as digital signatures. For example, the parties to the contract provide their signatures. Digital signatures may be provided by third-party authorities such as signature providers and / or signature certificate authorities to verify the authenticity and integrity of sensitive documents (e.g., legal documents), such as for confirming the identity of each party who signs the document and ensuring that the document has not been tampered with during such a signing process. However, third-party authorities also have risks, namely security risks. In particular, third-party authorities have sensitive documents and may become targets of attack and destruction (e.g., cyber attacks conducted by third-party signature certificate authorities). In addition, since trust is completely placed on such third-party authorities, the possibility of collusion or manipulation (e.g., by changing the content of the document internally) cannot be ruled out. Finally, for example, when signing a legal document and / or during the time period for signing a legal document, when a company's ownership transfer and / or bankruptcy process occurs, the signer of the document may lose access to the platform provided by the third-party authority. Summary of the invention
[0003] Therefore, there is a need for electronic devices and methods for authenticating electronic documents that mitigate, alleviate or address existing shortcomings and provide an additional layer of security by eliminating the need for a third-party authority. In other words, the present disclosure allows for fingerprinting and / or integrity protection of the contents of a signed document and enables the signed document to be stored in an immutable ledger without relying on a third-party signing certificate authority.
[0004] A method for implementing verification of a second file performed by a first electronic device is disclosed. The second file is implemented based on the first file by including a signature. The first file includes a first main part and a first secondary part. The method includes determining a first hash value based on the first main part of the first file. The method includes including the first hash value in the first secondary part of the first file. The method includes determining a second hash value based on the second file. The second file includes a second main part, a second secondary part and the signature. The method includes transmitting a first transaction including the second hash value to a public ledger network.
[0005] In addition, a first electronic device is disclosed. The first electronic device includes a memory circuit, a processor circuit, and an interface. The first electronic device is configured to perform any one of the methods disclosed herein.
[0006] A computer-readable storage medium is disclosed that stores one or more programs, the one or more programs including instructions that, when executed by a first electronic device, cause the first electronic device to perform any one of the methods disclosed herein.
[0007] The advantage of the present disclosure is that the disclosed electronic device and method for implementing verification of the second file provide strong protection of the second file in a distributed manner (e.g., by each signatory) without relying on a third party (e.g., an independent party). The present disclosure may bring reduced security risks of accepting tampered files. In addition, the present disclosure may bring reduced security risks because it relies on a decentralized process, thereby eliminating third parties. The disclosed public ledger allows for transparent, secure, tamper-proof and immutable storage of hash values, thereby ensuring tamper-proofness. No one can change or tamper with the second hash value recorded on the public ledger.
[0008] A method for verifying the validity of an electronic file performed by a second electronic device is disclosed. The method includes obtaining the electronic file. The electronic file includes a first part and a second part. The method includes determining a third hash value based on the first part of the electronic file. The method includes obtaining a fourth hash value from a public ledger network. The fourth hash value is associated with a second file. The method includes comparing the fourth hash value with the third hash value. The method includes determining whether the comparison meets a standard. The method includes successfully verifying the validity of the electronic file when the comparison meets the standard.
[0009] In addition, a second electronic device is disclosed. The second electronic device includes a memory circuit, a processor circuit, and an interface. The second electronic device is configured to perform any one of the methods disclosed herein.
[0010] A computer-readable storage medium is disclosed that stores one or more programs, the one or more programs including instructions that, when executed by a second electronic device, cause the second electronic device to perform any one of the methods disclosed herein.
[0011] The advantage of the present disclosure is that the disclosed electronic device and method for verifying the validity of an electronic file provides a more secure verification of the validity of the electronic file, such as the validity of the content and / or signature in terms of integrity. For example, the content of a received file can be verified in terms of integrity via the disclosed method (rather than the signature verification provided by the signature provider, where only the signature is verified as to whether it is from the signatory on a given date). The disclosed public ledger allows the retrieval of a transparent, tamper-proof and immutable fourth hash value, and can be used to verify the third hash value, thereby showing whether the electronic file has been tampered with. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The above and other features and advantages of the present disclosure will become apparent to those skilled in the art through the following detailed description of exemplary embodiments of the present disclosure with reference to the accompanying drawings, in which:
[0013] Figure 1A to Figure 1B is a diagram schematically illustrating an example representation 1 of a first file and an example representation 2 of a second file according to the present disclosure,
[0014] Figure 2 is a diagram schematically illustrating an example process for implementing verification of a second file according to the present disclosure,
[0015] Figure 3 is a diagram schematically illustrating an example process for verifying the validity of an electronic file according to the present disclosure,
[0016] Figure 4 is a flowchart illustrating an exemplary method executed by a first electronic device to implement verification of a second file according to the present disclosure,
[0017] Figure 5 is a block diagram illustrating an exemplary first electronic device according to the present disclosure,
[0018] Figure 6 is a flowchart illustrating an exemplary method executed by a second electronic device for verifying the validity of an electronic file according to the present disclosure, and
[0019] Figure 7 is a block diagram illustrating an exemplary second electronic device according to the present disclosure. DETAILED DESCRIPTION
[0020] Various exemplary embodiments and details are described below with reference to the accompanying drawings when relevant. It should be noted that the drawings may or may not be drawn to scale, and in all drawings, elements with similar structures or functions are represented by similar reference numerals. It should also be noted that the drawings are intended only to facilitate the description of the embodiments. The drawings are not intended to be a detailed description of the present disclosure or a limitation on the scope of the present disclosure. In addition, the illustrated embodiments do not necessarily have all the aspects or advantages shown. The aspects or advantages described in conjunction with a particular embodiment are not necessarily limited to that embodiment, and can be practiced in any other embodiment, even if not so described or not explicitly so described.
[0021] For the sake of clarity, the drawings are schematic and simplified, and they only show details that are helpful for understanding the present disclosure, while other details are omitted. Throughout, the same reference numerals are used for the same or corresponding parts.
[0022] The files disclosed herein (e.g., the first file and / or the second file and / or the electronic file) may be viewed as electronic files, such as files that can be processed by a computing device (e.g., the electronic device disclosed herein). The files disclosed herein may include a primary part and a secondary part. For example, the primary part is the body of the file. The secondary part is one or more of the following: a header part, a footer part, a hidden text part, a signature part, and a metadata part.
[0023] The document disclosed herein (e.g., the first document and / or the second document and / or the electronic document) may be a legal document, such as a contract, which may include one or more clauses. The body of the document may include one or more clauses of the document. For example, the header of the document includes information about the signing party (e.g., the contracting entity) and / or internal identifiers and / or any other suitable type of information. The clauses specify certain conditions under which the parties to the contract agree to act within the contract period. Therefore, the responsibilities and / or obligations depend on how each clause is written in the contract. Before signing a legal document, such a document needs to be verified and authenticated.
[0024] The disclosed technology can be viewed as a blockchain-based document verification technology for authenticating documents (such as legal documents, such as contracts). The disclosed technology can verify the integrity of the document and allow the remaining party to proceed to sign the document after successful verification and / or authentication. In other words, the disclosed technology can provide public proof of the validity of the document. By providing public proof of the validity (e.g., integrity) of a document or certificate, the disclosed technology can serve as a verification information clearinghouse for documents.
[0025] Figure 1A to Figure 1B is a diagram schematically illustrating an example representation 1 of a first file (eg, an unsigned file) and an example representation 2 of a second file (eg, a signed file) according to the present disclosure.
[0026] For example, the first document is a document sent to a party for signature, and the second document is the first document with the signature.
[0027] Figure 1A1 is an illustration of an example representation 1 of an example document, such as a first document 10 (e.g., an unsigned document). For example, the first document 10 may be a legal document, such as a contract between two or more parties. The first document 10 includes a first main portion 10A and first secondary portions 10B, 10C. The first main portion 10A may be the body of the first document 10. The first main portion 10A is, for example, the body of the first document 10, which may include one or more clauses. The first secondary portions 10B, 10C may be a header portion and / or a footer portion and / or an appendix of the first document 10. For example, the header 10B of the first document 10 includes information about the signing parties (e.g., contracting entities) and / or internal identifiers and / or any other suitable type of information.
[0028] Figure 1A A first hash value 12A is shown as part of the first secondary portion 10B. According to the disclosed method, the first hash value 12A is determined based on the first main portion 10A of the first file 10. The first hash value may be determined by applying a hash function to the first main portion 10A of the first file 10 (e.g., the body of the first file 10).
[0029] For example, a hash function may be viewed as a cryptographic function (e.g., a one-way cryptographic function) for checking integrity protection. For example, the hash function takes the first main part 10A of the first file 10B as input and provides a first hash value 12 as output. In one or more examples, the hash function may be a secure hash algorithm 256-bit, i.e., SHA-256. The first hash value 12 may be viewed as a code for implementing an integrity check on the first main part 10A of the first file 10 (e.g., the body of the first file). For example, the first hash value 12 is a certain value (e.g., an integer value, an alphanumeric value). In the disclosed method, the first electronic device includes the first hash value 12 in the first secondary part 10B of the first file 10 (e.g., the header of the first file).
[0030] The present disclosure provides a method for converting a hash value including a second hash value (e.g., Figure 1B The first transaction of the second hash value 26) is transmitted (e.g., registered and / or recorded) to a public ledger network (e.g., a blockchain network) to implement access to the second file (e.g., Figure 1B The disclosed method is performed by a first electronic device (such as a registration device).
[0031] Figure 1B 2 is a diagram illustrating an example representation 2 of a second file 20 (eg, a signature file). The second file 20 is based on the first file (eg, Figure 1A The first file 10 of the second file 20 is implemented by including the signature 24. In other words, the second file 20 is, for example, the first file (for example, Figure 1A For example, the second file 20 is a first file including a signature 24. The signature 24 may be performed by one party (e.g., a platform provided by a third party to electronically and / or digitally sign files and / or agreements).
[0032] Signature 24 may be an electronic signature and / or a digital signature. Signature 24 may be a signature authorized and supervised by a signature certificate authority (e.g., a third party). Signature 24 may indicate that the first signatory approves and / or accepts the first document (e.g., an unsigned document), such as Figure 1A One or more clauses included in the first file 10.
[0033] The second document 20 may be a legal document, such as a contract between two or more parties. For example, the second document includes a second main part 20A and second secondary parts 20B, 20C. The second main part 20A may be the body of the second document 20. The body of the second document 20 may include one or more clauses. The second secondary parts 20B, 20C may be a header part and / or a footer part and / or an appendix. For example, the header 20B of the second document 20 includes information about the signing party (e.g., the contracting entity) and / or an internal identifier and / or any other suitable type of information.
[0034] The second hash value 26 may be determined by applying a hash function to the second file 20 (e.g., the second main portion 20A of the second file, the second secondary portions 20B, 20C of the second file, and the signature 24). For example, the hash function takes the second file 20 as input and provides the second hash value 26 as output. In one or more examples, the hash function may be a secure hash algorithm 256-bit, i.e., SHA-256. The second hash value may be an identifier of the second main portion 20A (e.g., the body) of the second file, the second secondary portion (e.g., the header) 20B, 20C of the second file, and the signature 24. The second hash value 26 may be a code for implementing an integrity check on the second file 20. For example, the second hash value 26 may be a numerical value (e.g., an integer value) and / or an alphanumeric value.
[0035] Figure 2 is a schematic illustration of a method for implementing the second file (eg, Figure 1B An illustration of an example process 500 for verifying a second file 20).
[0036] The first electronic device 300 (e.g., acting as a registrar) transmits 502 the first transaction 504 including the second hash value 26 to the public account network 800 for verification of the second file. In other words, the first electronic device 300 can record and / or register and / or store the first transaction 504 including the second hash value 26 on the public account network 800. The first electronic device 300 transmits the first transaction 504 to a node of the public account network 800, which can then broadcast the recording task to other nodes in the public account network 800. In other words, the first transaction 504 can be transmitted to one or more nodes (e.g., computing devices) in the public account network 800. The public account network 800 can be associated with a decentralized and / or distributed public account. The public account network 800 can be associated with an immutable public account (e.g., a book that keeps transactions unchangeable).
[0037] The first transaction 504 may be a transaction to be verified by one or more nodes of the public ledger network 800. One or more nodes of the public ledger network 800 may verify the first transaction 504. The first transaction 504 including the second hash value 26 may be recorded (e.g., transmitted and attached) in the public ledger network by one or more nodes forming the public ledger network 800. For example, the first transaction 504 including the second hash value 26 is recorded in the public ledger network using a data storage operation (e.g., a prefix-based operation, a storage operation, and a data encoding operation).
[0038] Figure 3 6 is a diagram schematically illustrating an example process 600 performed by a second electronic device for verifying the validity of an electronic file according to the present disclosure. The electronic file can be viewed as a file to be verified and / or verified for integrity. In some examples, the electronic file can be any file that is checked against a corresponding hash value stored in a public ledger. The second electronic device 400 can be viewed as a verifier device configured to verify the electronic file according to the present disclosure.
[0039] The electronic document includes a first part and a second part. The first part can be the body of the electronic document. For example, the body of the electronic document includes one or more clauses of the electronic document. In one or more examples, the second part is a header of the electronic document. For example, the header of the electronic document includes information about the signing party (e.g., the contracting entity) and / or an internal identifier and / or any other suitable type of information.
[0040] The second electronic device 400 determines a third hash value based on the first portion of the electronic file. The third hash value may be determined by applying a hash function to the first portion and the second portion of the electronic file. The second electronic device 400 may determine the hash function based on transaction data from the public ledger network. The transaction data may be associated with a second transaction transmitted by the first electronic device 300 (e.g., a registration device) for implementing verification of the electronic file. The transaction data may be associated with one or more parameters associated with a second file (e.g., a hash of which is stored in a public ledger). The one or more parameters associated with the second file may include the type of hash function and / or data storage operation.
[0041] The hash function applied to the entire electronic file (including the first part and the second part) can be combined with the hash function applied to the second file to record the first transaction in Figure 2 and Figure 1B The hash functions in the illustrated public ledger networks are the same.
[0042] The second electronic device 400 obtains 602 a fourth hash value 604 from the public ledger network 800. The fourth hash value 604 is Figure 1B The fourth hash value 604 may be associated with the second file and previously recorded (eg, stored) in the public network ledger for future verification.
[0043] The second electronic device 400 compares the fourth hash value 604 with the third hash value 606. The second electronic device 400 determines whether the comparison satisfies the criteria. When the comparison satisfies the criteria, the second electronic device 400 successfully verifies the validity of the electronic file.
[0044] When the fourth hash value 604 is the same as (eg, equal to) the third hash value 606 , the comparison may satisfy the criterion.
[0045] An electronic file is any file that can be checked to be a valid file or be disregarded as an invalid file (eg, a tampered file).
[0046] In one or more examples, when the comparison satisfies the criteria (e.g., fourth hash value 604 equals third hash value 606), the electronic file can be considered the second file, considered a valid file whose integrity has not been compromised, e.g., does not include one or more unauthorized modifications (e.g., has not been tampered with).
[0047] When the fourth hash value 604 matches the third hash value 606 , the second electronic device 400 successfully verifies the validity of the electronic file.
[0048] (For example, Figure 2 The second file 20 is composed of (for example, Figure 2The first electronic device 300 transmits (eg, records) the information to the first electronic device 300. Figure 2 In the public ledger network illustrated.
[0049] When the electronic file is valid according to the standards disclosed herein, the electronic file stored by the device 400 can be verified as the second file 20 that does not include one or more unauthorized modifications. By means of the implementation of the blockchain process of the public ledger network 800, the retrieved fourth hash value is the same as the recorded second hash value.
[0050] In one or more examples, when the comparison does not meet the criteria (e.g., the fourth hash value 604 is not equal to the third hash value 606), the electronic device 400 determines that the electronic file includes one or more unauthorized modifications. When the comparison does not meet the criteria, the electronic file is not the same as the second file. For example, the electronic file may be a tampered file or an incorrect file.
[0051] Figure 4 1 shows a flowchart of an exemplary method 100 executed by a first electronic device to implement verification of a second file according to the present disclosure. The first electronic device may be a first electronic device disclosed herein, such as Figure 2 , Figure 3 and Figure 5 The first electronic device 300.
[0052] The second file is implemented based on the first file by including a signature. In one or more examples, the first file does not include a signature (e.g., an unsigned file). In one or more examples, the second file includes a signature (e.g., a signed file). In one or more examples, the second file is a signed version of the first file. In one or more examples, the second file is the first file including a signature. The signature is, for example, performed via a third party (e.g., a platform for electronically and / or digitally signing files and / or agreements via a third party). For example, a third party can be viewed as a signing certificate entity and / or a signing certificate authority. In one or more examples, the signature indicates that the first signatory approves and / or accepts one or more clauses included in the first file (e.g., an unsigned file).
[0053] The first file includes a first main part and a first secondary part. In one or more example methods, the first main part is a body part of the first file, and wherein the first secondary part of the first file includes one or more of the following: a header part, a footer part, a hidden text part, a signature part, and a metadata part.
[0054] In one or more examples, the first main part can be considered as the body of the first document (e.g., excluding the header and / or footer and / or appendix). For example, the body of the first document includes one or more clauses of the first document. In one or more examples, the first secondary part can be considered as the header and / or footer and / or cover and / or appendix and / or metadata of the first document. For example, the header of the first document includes information about the signing party (e.g., the contracting entity) and / or an internal identifier and / or any other suitable type of information. The metadata of the first document is, for example, source code, and / or a title of the file, and / or one or more attributes characterizing the first document.
[0055] The method 100 includes determining S102 a first hash value based on a first main portion of a first file. In one or more examples, the first hash value can be viewed as a code for checking the integrity of the first main portion of the first file. In other words, the first hash value can be a code for checking the integrity of a body of the first file. The first hash value is used to protect the integrity of the first main portion of the first file, such as the body of the first file. For example, the first hash value is a numerical value (e.g., an integer value and / or an alphanumeric value).
[0056] The method 100 includes including S104 the first hash value in a first secondary portion of the first file. In one or more examples, including the first hash value in the first secondary portion of the first file includes including (e.g., appending and / or adding and / or inserting) the first hash value (e.g., associated with the body of the first file) in a header of the first file, such as Figure 1A In other words, the header of the first file includes, for example, the first hash value of the body of the first file. In one or more examples, including the first hash value in the first secondary portion of the first file includes not modifying the first primary portion (e.g., the body) of the first file (e.g., to prevent modification of the first hash value), but modifying the first secondary portion (e.g., the header). In one or more examples, the second primary portion of the first file includes the first hash value.
[0057] Method 100 includes determining S106 a second hash value based on a second file. The second file includes a second main part, a second secondary part, and a signature. In one or more example methods, the second main part is a main body of the second file. In one or more example methods, the second secondary part of the second file includes one or more of the following: a header part, a footer part, a hidden text part, a signature part, and a metadata part. In one or more examples, the second file includes a first secondary part including a first hash value, a first main part, and a signature. For example, the signature is performed by one or more signing parties involved in the protocol. For example, one or more signing parties perform a signature in a first file including a first secondary part and a first main part including a first hash value for providing a second file. In other words, for example, the second file has the same content as the first main part, a first secondary part (including the first hash value), and a signature. For example, one or more signing parties may determine one or more corresponding second hash values based on the second file.
[0058] In one or more examples, the second main portion may be considered to be the body of the second document (e.g., excluding the header and / or footer and / or appendix). For example, the body of the second document includes one or more clauses of the second document. For example, the body of the second document (e.g., a signed document) may be considered to be the body of the first document (e.g., an unsigned document) including the signature. In one or more examples, the second secondary portion may be considered to be the header and / or footer and / or cover and / or appendix of the second document. For example, the header of the second document includes information about the signing party (e.g., a contracting entity) and / or an internal identifier and / or any other suitable type of information. For example, the header of the second document may be the same as the header of the first document.
[0059] In one or more examples, the second hash value is an identifier of a second main portion (e.g., body) of the second file, a second secondary portion (e.g., header) of the second file, and the signature. In other words, the second hash value is an identifier of the second file (e.g., signature file). For example, the second hash value is a numerical value (e.g., an integer value). For example, the second hash value can be an alphanumeric value.
[0060] Method 100 includes transmitting S108 a first transaction including a second hash value to a public ledger network. For example, a public ledger is a register, for example, an immutable public ledger, such as an immutable decentralized public ledger. In one or more examples, transmitting a first transaction including a second hash value to a public ledger network can be viewed as recording and / or registering the first transaction in a public ledger via a public ledger network (e.g., via one or more nodes of a public ledger network). In one or more example methods, a first electronic device can be viewed as a registration device for registering and / or recording a first transaction including a second hash value in a public ledger. For example, a first transaction can be viewed as a blockchain transaction. For example, a first transaction is transmitted across a portion of a public ledger network, and one or more nodes process it to be added to a block of a blockchain or public ledger. For example, once added to a public ledger and the block is processed, the second hash value is attached to the blockchain and is now immutable. For example, a first transaction is assembled in a first device, but a Bitcoin signature is not performed in the first device (such as a partially signed Bitcoin transaction using PSBT). For example, a first transaction is Bitcoin signed in a second device and broadcast to a public ledger network from a third device.
[0061] In one or more example methods, the signature is an electronic signature and / or a digital signature. In one or more examples, the signature can be a signature authorized and supervised by a signing certificate authority (e.g., a signature generated using a digital certificate and cryptographically bound to a second file using a public key infrastructure (PKI)). For example, the second file (e.g., a signed file) is provided to one or more signatories by a third-party signing certificate authority.
[0062] In one or more example methods, determining S102 a first hash value includes determining S102A a first hash value by applying a hash function to a first main portion of a first file. In one or more examples, a hash function may be viewed as a cryptographic function (e.g., a one-way cryptographic function) for protecting integrity. For example, a hash function treats a first main portion of a first file as an input and provides a first hash value as an output. For example, a hash function generates a first hash value (e.g., a fixed-size output of input data) based on a first main portion of a first file (e.g., input data characterized by a length). In one or more examples, the hash function may be a secure hash algorithm 256-bit, i.e., SHA-256. In one or more examples, the hash function may be a self-describing hash function, such as a multi-hash function. In one or more examples, the hash function may be a hash function pre-agreed by one or more signing parties, the hash function being pre-agreed to be the same hash function used to encrypt a first main portion of a first file, so as to transmit a first transaction to a public ledger network and / or for verifying the validity of a second file such as a signed file by searching for a second hash value in a public ledger network. For example, a hash function is selected based on a desired level of security.
[0063] In one or more example methods, determining S106 a second hash value includes determining S106A a second hash value by applying a hash function to a second file including a second main part, a second secondary part, and a signature. In one or more examples, the hash function regards the second file (e.g., the second main part, the second secondary part (including the first hash value) and the signature) as input. For example, the hash function regards the second hash value as output. For example, the hash function generates a second hash value (e.g., a fixed size output of encrypted data) based on the second file (e.g., input data characterized by a length). In one or more examples, the hash function may be a secure hash algorithm 256-bit, i.e., SHA-256. In one or more examples, the hash function may be a self-describing hash function, such as a multi-hash function. In one or more examples, the hash function may be a hash function pre-agreed by one or more signing parties, the hash function being pre-agreed to be the same hash function used to encrypt the second file (e.g., the second main part, the second secondary part, and the signature) so as to transmit the first transaction to the public account network and / or to verify the validity of a second file such as a signature file by searching for a second hash value in the public account network. A first hash function that takes the first main portion of the first file as input to provide a first hash value may be the same as a second hash function that takes the second file as input to provide a second hash value. The first hash function may be different from the second hash function. In order to verify the validity of the second file, one or more signing parties may need to apply the first hash function and the second hash function to the first main portion of the first file and the order of the second file, respectively. In some examples, the hash function applied to generate the first hash value may be the same as the hash function applied to generate the second hash value. In some examples, the hash function applied to generate the first hash value may be a different hash function from the hash function applied to generate the second hash value.
[0064] In one or more example methods, the second secondary portion of the second file is based on the first secondary portion of the first file. In one or more examples, the second secondary portion (e.g., header) of the second file includes the first secondary portion (e.g., header) of the first file including the first hash value (e.g., Figure 1A to Figure 1B exemplified). The header of the second file may be based on the header of the first file. The header of the second file may be the same as the header of the first file. In other words, the headers of both the second file and the first file include the first hash value.
[0065] In one or more example methods, transmitting S108 a first transaction including a second hash value to a public account network includes generating S108A a first transaction including a second hash value. In one or more example methods, transmitting S108 a first transaction including a second hash value to a public account network includes transmitting S108B a first transaction to a public account network. In one or more examples, transmitting a first transaction including a second hash value to a public account network includes broadcasting the first transaction to the public account network. In other words, the first transaction may be transmitted to one or more nodes (e.g., a computing device) in a public account network. For example, each of the one or more nodes included in the public account network may obtain (e.g., receive) an identical copy of the first transaction including a second hash value. In one or more examples, the public account network is a distributed and / or decentralized public account. In addition, the first transaction is verified by a node of the public account network. In one or more examples, the first transaction is a valid transaction. In other words, one or more nodes may approve the first transaction as a valid transaction (e.g., verify the first transaction). The block associated with the first transaction may be appended to a chain of blocks (e.g., blocks representing other independent transactions) in a public ledger network (e.g., a blockchain network). In other words, the block associated with the first transaction is, for example, recorded in a public ledger (e.g., transmitted and appended to a block in the public ledger). For example, generating the first transaction may include creating a blockchain transaction object representing the first transaction.
[0066] In one or more examples, generation and / or transmission of the first transaction may be performed by different (e.g., independent) electronic devices. A first level electronic device may generate the first transaction. The first level electronic device may not perform transaction signing, such as to verify transaction credentials (e.g., partially signed Bitcoin transactions, PSBT) used to record the first transaction in a public ledger network. Transaction signing may be performed by a first level two electronic device. The first transaction may be transmitted to the public ledger network by a first level three electronic device. In one or more examples, the disclosed technology may improve security by avoiding exposure of a transaction private key. In one or more examples, the disclosed technology may facilitate air gap signature devices, such as electronic devices that do not require the use of any radio frequency to transmit transactions to a public ledger network.
[0067] In one or more example methods, generating S108A a first transaction including a second hash value includes generating S108AA a first transaction including a second hash using one or more of the following operations: a prefix-based operation, a storage operation, and a data encoding operation. In one or more examples, generating a first transaction including a second hash value may be performed using one or more operations for recording and / or storing data (e.g., a second hash value including a first hash) in a public ledger network (e.g., a blockchain). For example, a prefix-based operation may be viewed as an operation to store a second hash value by appending a prefix before the second hash value. For example, a storage operation may be viewed as an operation to store a second hash value by applying an OP_RETURN opcode (e.g., a return function that returns a second hash value). For example, a data encoding operation may be viewed as an operation to store a second hash value by encoding the second hash value (e.g., by representing the second hash value in hexadecimal format). For example, a storage operation may be viewed as an operation to store a second hash value by using an address field.
[0068] In one or more example methods, transmitting S108 the first transaction to the public ledger network includes generating S108C a second transaction, the second transaction including one or more parameters associated with the second file. In one or more example methods, transmitting S108 the first transaction to the public ledger network includes transmitting S108D the second transaction to the public ledger network. In one or more examples, the second transaction may describe parameters associated with the second file, which are stored in the public ledger network. For example, one or more parameters may be relevant for verification purposes, such as to enable the verifier to use the stored and / or recorded hash value to verify the validity of the electronic file. In one or more examples, the one or more parameters may include parameters for verifying the electronic file. In one or more example methods, one or more parameters associated with the second file include a type of hash function and / or data storage operation. One or more parameters are used, for example, to describe and identify operations that occur when recording (e.g., hashing and storage). In one or more examples, the hash function can be viewed as a hash function applied to provide a first hash value and / or a second hash value, respectively. In one or more examples, the hash function may include a first hash function (e.g., applied to a first main portion of a first file) and / or a second hash function (e.g., applied to a second file including a second main portion, a second secondary portion, and a signature). In one or more examples, one or more parameters may be viewed as one or more parameters used by a second electronic device (e.g., a verifier) to verify an electronic file by applying the same hash function to the electronic file for verification. For example, the one or more parameters may identify a hash function initially applied to a first main portion (header) of a first file (e.g., an unsigned file) and / or a second file (e.g., a signed file) and / or a type of data storage operation (e.g., a prefix-based operation and / or a storage operation and / or a data encoding operation) used to generate a first transaction including a second hash value (e.g., used to store the second hash value in a public ledger network).
[0069] In one or more example methods, the public ledger network is associated with a public ledger that is an immutable public ledger. In one or more examples, the public ledger network can be viewed as a decentralized and / or distributed public ledger network. In one or more examples, the public ledger network is an immutable public ledger network (e.g., storing any records and / or transactions and / or keeping them unchangeable).
[0070] In one or more example methods, method 100 includes obtaining S110 a transaction identifier associated with a second file on a public ledger network. In one or more examples, obtaining a transaction identifier associated with a second file on a public ledger network includes, for example, receiving a transaction identifier from one or more nodes of the public ledger network. For example, obtaining a transaction identifier associated with a second file on a public ledger network includes generating a transaction identifier. For example, obtaining a transaction identifier may include creating a block associated with a first transaction in a public ledger network (e.g., a blockchain) (e.g., a chain attached to a block) and returning a transaction identifier by one of the nodes. The block may include a second hash value (e.g., a unique cryptographic hash) and / or a timestamp and / or transaction data (e.g., one or more parameters). In one or more examples, the transaction identifier may be a second hash value. In other words, the second hash value may be considered an identification number of the first transaction. In one or more examples, the transaction identifier is not a second hash value. In other words, for example, a transaction identifier is generated based on a second hash value in a public ledger network, wherein the generated transaction identifier is different from the second hash value. For example, transmitting the first transaction may trigger obtaining any other suitable parameters for identifying the first transaction.
[0071] Figure 5 FIG. 3 is a block diagram of an exemplary first electronic device 300 according to the present disclosure. The first electronic device 300 includes a memory circuit 301, a processor circuit 302, and an interface 303. The first electronic device 300 is configured to execute Figure 4 In other words, the first electronic device 300 is configured to implement verification of the second file. The first electronic device 300 can be regarded as a registration device. The second file is implemented based on the first file by including a signature. For example, the first file is a file sent to a party for signature, and the second file is the first file with a signature. The first file includes a first main part and a first secondary part.
[0072] The first electronic device 300 is configured to determine (eg, using the processor circuit 302 ) a first hash value based on a first main portion of the first file.
[0073] The first electronic device 300 is configured to include (eg, using the processor circuit 302 ) a first hash value in a first minor portion of a first file.
[0074] The first electronic device 300 is configured to determine (eg, using the processor circuit 302) a second hash value based on the second file. The second file includes a second primary portion, a second secondary portion, and a signature.
[0075] The first electronic device 300 is configured to transmit (eg, using the processor circuit 302 and / or the interface 303 ) a first transaction including the second hash value to the public ledger network.
[0076] Processor circuit 302 is optionally configured to perform Figure 4 The operations of the electronic device 300 may be embodied in the form of an executable logic routine (e.g., lines of code, software program, etc.) stored on a non-transitory computer-readable medium (e.g., memory circuit 301) and executed by the processor circuit 302.
[0077] Furthermore, the operation of the first electronic device 300 may be considered as a method that the first electronic device 300 is configured to perform. In addition, although the functions and operations described may be implemented in software, such functions may also be implemented via dedicated hardware or firmware, or some combination of hardware, firmware and / or software.
[0078] Memory circuit 301 may be one or more of: a buffer, a flash memory, a hard drive, a removable medium, a volatile memory, a non-volatile memory, a random access memory (RAM), or any other suitable device. In a typical arrangement, memory circuit 301 may include a non-volatile memory for long-term data storage and a volatile memory used as a system memory for processor circuit 302. Memory circuit 301 may exchange data with processor circuit 302 via a data bus. There may also be control lines and an address bus ( Figure 5 Memory circuit 301 is considered a non-transitory computer-readable medium.
[0079] The memory circuit 301 may be configured to store the first hash value, the second hash value, one or more parameters, and the transaction identifier in a portion of the memory.
[0080] Figure 6 FIG. 2 is a flowchart showing an exemplary method 200 executed by a second electronic device to verify the validity of an electronic file according to the present disclosure. The second electronic device may be a second electronic device disclosed herein, such as Figure 2 , Figure 3 and Figure 7The second electronic device 400. In one or more examples, the second electronic device can be regarded as a verification device for verifying the validity of the electronic file. For example, the second electronic device verifies whether the electronic file is valid, such as verifying whether the electronic file does not include one or more unauthorized modifications (for example, whether the electronic file has not been tampered with).
[0081] In one or more examples, the electronic file may be a generic file (e.g., non-legal) that may have been modified relative to the original file. In one or more examples, the third file may be a legal document that may be intentionally modified relative to the original file in an attempt to deceive. Such intentional modification may, for example, be considered a forgery of the original document, which would render the original agreement invalid. A legal document may be considered a document that can have legal effect, such as a document that expresses responsibilities, obligations, or rights. Examples of legal documents may include contract documents, guidance documents, contract document appendices, power of attorney documents, commercial terms documents, signature documents, or any document that expresses responsibilities, obligations, or rights.
[0082] In one or more examples, the electronic file may be considered as a third file related to the first file (e.g., an unsigned file) and the second file (e.g., a signed file). The third file may have been tampered with or not yet tampered with. In other words, when the second electronic device receives the electronic file, the second electronic device needs to identify whether the third file is valid. In other words, the third file may include one or more unauthorized modifications. It is also conceivable that the third file is just a wrong file. The third file may be a signed file. The third file may be a legal document including the signatures of one or more signatories involved in the agreement covered by the legal document. In one or more examples, the signature is performed via a third party (e.g., a platform for electronically and / or digitally signing files and / or agreements via a third party). For example, a third party may be considered as a signing certificate entity and / or a signing certificate authority. In one or more examples, the signature indicates that one or more parties approve and / or accept one or more clauses included in the third file.
[0083] For example, when there is a dispute between one or more signatories, the second electronic device can verify the validity of the electronic file without accessing the electronic file (e.g., the third file). In one or more examples, the validity of the electronic file can be verified without accessing the electronic file by obtaining the electronic file from one or more other parties involved in the agreement (e.g., by making a direct request to the other one or more parties). For example, the electronic file can be obtained from one or more other parties and / or by extracting the content of the electronic file (e.g., the signature file).
[0084] Method 200 includes obtaining S202 an electronic file. The electronic file includes a first part and a second part. In one or more examples, the electronic file can be accessed from a platform. For example, obtaining the electronic file includes extracting content of the electronic file (e.g., a signature file).
[0085] In one or more example methods, the first portion is a body portion of the electronic document. In one or more example methods, the second portion of the electronic document includes one or more of: a header portion, a footer portion, a hidden text portion, and a metadata portion. In one or more examples, the first portion is a body of the electronic document. For example, the body of the electronic document includes one or more clauses of the electronic document. In one or more examples, the second portion is a header of the electronic document. For example, the header of the electronic document includes information about a signing party (e.g., a contracting entity) and / or an internal identifier and / or any other suitable type of information.
[0086] In one or more examples, the electronic file is in a format (e.g., in a digital format) such that the electronic file includes a hash value associated with the first portion. For example, the electronic file can be viewed as a file object and a hash value associated with the first portion. In one or more examples, the electronic file can be in a format such that the electronic file does not include a hash value associated with the first portion.
[0087] For example, determining a hash associated with content of a first portion of the electronic file includes determining the hash by applying a hash function to the first portion of the electronic file (e.g., a consistent hash function, such as the same hash function applied to the first file, such as an unsigned version of the electronic file).
[0088] Method 200 includes determining S206 a third hash value based on the first portion of the electronic file. In one or more examples, the electronic file can be viewed as a file obtained by the second electronic device (e.g., via a specific party) from a signing certificate authority to verify the validity of the electronic file. In one or more examples, the third hash value can be viewed as an identifier of the first portion of the electronic file. In other words, the third hash value is an identifier of the body of the first file. For example, the third hash value can be a numerical value (e.g., an integer value). For example, the third hash value can be an alphanumeric value.
[0089] The method 200 includes obtaining S208 a fourth hash value from the public ledger network. The fourth hash value is associated with the second file. In one or more examples, the fourth hash value associated with the second file (e.g., the second hash value) is recorded (e.g., stored) in the public network ledger, and Figure 2 , Figure 3 and Figure 4In one or more examples, a first transaction including a fourth hash value is transmitted by a first electronic device (e.g., a registration device) to a public ledger network (e.g., Figure 4 In one or more examples, the fourth hash value may be Figure 1B and Figure 4 The second hash value is the same.
[0090] In one or more examples, the electronic file (e.g., the third file) can be considered to be the second file that does not include one or more unauthorized modifications (e.g., has not been tampered with). In one or more examples, the electronic file can include one or more unauthorized modifications. The electronic file may not be the same as the second file, for example, a tampered version of the second file.
[0091] The method 200 includes comparing S210 the fourth hash value with the third hash value. The method 200 includes determining S212 whether the comparison satisfies a criterion. The method 200 includes successfully verifying S214 the validity of the electronic file when the comparison satisfies the criterion. In one or more examples, the comparison satisfies the criterion when the fourth hash value is equal to the third hash value. In other words, the comparison may satisfy the criterion when the fourth hash value matches the third hash value. In one or more examples, when the comparison satisfies the criterion (e.g., the fourth hash value is equal to the third hash value), the electronic file (e.g., the third file) may be considered a true copy of the second file (without unauthorized modifications (e.g., not tampered with)). In one or more examples, when the comparison satisfies the criterion, the electronic file is a valid file. For example, when the comparison satisfies the criterion, the second electronic device successfully verifies the validity of the electronic file. In other words, the criterion may help ignore random files that are completely irrelevant to the current task.
[0092] In one or more example methods, the electronic file includes a signature. In one or more examples, the signature is an electronic signature and / or a digital signature. In one or more examples, the electronic file includes one or more signatures of one or more signatories involved in an agreement covered by a legal document. In one or more examples, the one or more signatures are executed via a signing certificate entity (e.g., via a platform). In one or more examples, the electronic file can be viewed as a file that a second electronic device (e.g., via a specific party) obtains from a signing certificate entity to verify the validity of the electronic file. The second electronic device can verify the validity of the electronic file to ensure that the specific party is signing a reliable file (e.g., a file that has not been tampered with).
[0093] In one or more example methods, determining S206 a third hash value includes determining S206A a third hash value by applying a hash function to a first portion (including a signature) and a second portion of the electronic file. In one or more examples, the hash function may be viewed as a cryptographic function (e.g., a one-way cryptographic function) for integrity protection. In one or more examples, the hash function treats the electronic file (as a whole: the first portion and the second portion) as input and outputs a third hash value. In one or more examples, the hash function is the same hash function as applied to the second file, and its hash value (e.g., a fourth hash value) is stored in a public ledger. For example, the second electronic device compares the fourth hash value with the third hash value to verify the validity of the electronic file.
[0094] In one or more example methods, method 200 includes determining S204 a hash function based on transaction data from a public ledger network. For example, the transaction data is associated with a second transaction transmitted by a first electronic device (e.g., a registration device) for implementing verification of an electronic file. For example, the second transaction includes one or more parameters associated with a second file (e.g., a hash of which is stored in a public ledger). For example, the one or more parameters may include information relevant to the verification of the electronic file. In one or more example methods, the one or more parameters associated with the second file include a hash function and / or a type of data storage operation (e.g., a prefix-based operation and / or a storage operation and / or a data encoding operation).
[0095] In one or more example methods, obtaining S208 a fourth hash value from a public account includes obtaining S208A a fourth hash value by searching for a fourth hash value in a public account. For example, obtaining a fourth hash value, for example, receiving and / or retrieving a fourth hash value from a public account. In one or more examples, a data storage operator (e.g., an operation that performs the fourth hash value storage in a public account) may output one or more hash values associated with one or more transactions transmitted (e.g., recorded) to a public account network (e.g., blockchain). In one or more examples, searching for a fourth hash value in a public account network includes comparing the fourth hash value with one or more hash values output by a data storage operator. In one or more examples, searching for a fourth hash value in a public account network may be performed by a second electronic device using a transaction identifier associated with a second file on a public account network. The transaction identifier associated with the second file may be shared by a specific party with one or more signing parties to verify the validity of an electronic file (e.g., a signed file).
[0096] In one or more example methods, method 200 includes indicating S216 that the electronic file is invalid when the comparison does not meet the criteria. In one or more examples, when the comparison does not meet the criteria (e.g., the fourth hash value is not equal to the third hash value), the electronic file includes one or more unauthorized modifications. The electronic file may not be the same as the second file. The electronic file is not equivalent to the second file. The electronic file may be a tampered file. In one or more examples, when the comparison does not meet the criteria (e.g., the fourth hash value is not equal to the third hash value), the electronic file includes significant modifications to the second file. In other words, the electronic file may not be related to the second file (e.g., the electronic file may not be based on the second file). For example, the electronic file may be a non-legal file, and the second file may be a legal document. For example, the second electronic device verifies that the electronic file is invalid.
[0097] Figure 7 FIG. 4 is a block diagram of an exemplary second electronic device 400 according to the present disclosure. The second electronic device 400 includes a memory circuit 401, a processor circuit 402, and an interface 403. The second electronic device 400 is configured to execute Figure 6 In other words, the second electronic device 400 is configured to verify the validity of the electronic file. In other words, the second electronic device 400 can be regarded as a verification device, such as an integrity verifier electronic device.
[0098] The second electronic device 400 is configured to obtain (eg, using the interface 403 and / or the memory circuit 401) an electronic file. The electronic file includes a first part and a second part.
[0099] The second electronic device 400 is configured to determine (eg, using the processor circuit 402 ) a third hash value based on the first portion of the electronic file.
[0100] The second electronic device 400 is configured to obtain (eg, using the interface 403 and / or the memory circuit 401) a fourth hash value from the public ledger network. The fourth hash value is associated with the second file.
[0101] The second electronic device 400 is configured (eg, using the processor circuit 402 and / or the memory circuit 401 ) to compare the fourth hash value with the third hash value.
[0102] The second electronic device 400 is configured to determine (eg, using the processor circuit 402 ) whether the comparison satisfies a criterion.
[0103] The second electronic device 400 is configured to successfully verify (eg, using the processor circuit 402 ) the validity of the electronic document when the comparison satisfies the criteria.
[0104] Processor circuit 402 is optionally configured to perform Figure 6 The operations of the electronic device 400 may be embodied in the form of an executable logic routine (e.g., lines of code, software program, etc.) stored on a non-transitory computer-readable medium (e.g., memory circuit 401) and executed by the processor circuit 402.
[0105] Furthermore, the operation of the second electronic device 400 may be considered as a method that the second electronic device 400 is configured to perform. In addition, although the functions and operations described may be implemented in software, such functions may also be implemented via dedicated hardware or firmware, or some combination of hardware, firmware and / or software.
[0106] The memory circuit 401 may be one or more of a buffer, a flash memory, a hard drive, a removable medium, a volatile memory, a non-volatile memory, a random access memory (RAM), or any other suitable device. In a typical arrangement, the memory circuit 401 may include a non-volatile memory for long-term data storage and a volatile memory used as a system memory for the processor circuit 402. The memory circuit 401 may exchange data with the processor circuit 402 via a data bus. There may also be control lines and an address bus ( Figure 7 Memory circuit 401 is considered a non-transitory computer-readable medium.
[0107] The memory circuit 401 may be configured to store the third hash value, the fourth hash value, and the transaction data in a portion of the memory.
[0108] Embodiments of methods and products (first electronic device and second electronic device) according to the present disclosure are set forth in the following clauses:
[0109] Clause 1. A method executed by a first electronic device for implementing verification of a second file, wherein the second file is implemented based on a first file by including a signature, wherein the first file includes a first main part and a first secondary part, the method comprising:
[0110] - determining a first hash value based on said first main part of said first file;
[0111] - including said first hash value in said first secondary part of said first file;
[0112] - determining a second hash value based on the second file, wherein the second file comprises a second primary part, a second secondary part and the signature; and
[0113] - transmitting the first transaction including the second hash value to the public ledger network.
[0114] Clause 2. The method of clause 1, wherein the signature is an electronic signature and / or a digital signature.
[0115] Clause 3. The method of any of the preceding clauses, wherein determining the first hash value comprises:
[0116] - determining said first hash value by applying a hash function to said first main part of said first file.
[0117] Clause 4. The method of any preceding clause, wherein determining the second hash value comprises:
[0118] - determining said second hash value by applying a hash function to said second file comprising said second primary part, said second secondary part and said signature.
[0119] Clause 5. The method of any preceding clause, wherein the second secondary portion of the second file is based on the first secondary portion of the first file.
[0120] Clause 6. The method of any preceding clause, wherein transmitting the first transaction including the second hash value to the public ledger network comprises:
[0121] - generating said first transaction including said second hash value; and
[0122] - transmitting the first transaction to the public ledger network.
[0123] Clause 7. The method of clause 6, wherein generating the first transaction including the second hash value comprises:
[0124] - generating said first transaction including said second hash value using one or more of the following operations: a prefix-based operation, a storage operation, and a data encoding operation.
[0125] Clause 8. The method of any preceding clause, wherein transmitting the first transaction to the public ledger network comprises:
[0126] - generating a second transaction, the second transaction comprising one or more parameters associated with the second file; and
[0127] - transmitting the second transaction to the public ledger network.
[0128] Clause 9. The method of clause 8, wherein the one or more parameters associated with the second file include a type of hash function and / or data storage operation.
[0129] Clause 10. A method according to any of the preceding clauses, wherein the first main part is the main body of the first file, and wherein the first secondary part of the first file includes one or more of: a header part, a footer part, a hidden text part, a signature part, and a metadata part.
[0130] Clause 11. A method according to any of the preceding clauses, wherein the second main part is the main body of the second file, and wherein the second secondary part of the second file includes one or more of the following: a header part, a footer part, a hidden text part, a signature part, and a metadata part.
[0131] Clause 12. A method according to any of the preceding clauses, wherein the public ledger network is associated with a public ledger that is an immutable public ledger.
[0132] Clause 13. A method according to any of the preceding clauses, comprising:
[0133] - obtaining a transaction identifier associated with the second file on the public ledger network.
[0134] Clause 14. A method performed by a second electronic device for verifying the validity of an electronic document, the method comprising:
[0135] - obtaining the electronic file, wherein the electronic file comprises a first part and a second part;
[0136] - determining a third hash value based on the first portion of the electronic file;
[0137] - obtaining a fourth hash value from the public ledger network, wherein the fourth hash value is associated with the second file;
[0138] - comparing the fourth hash value with the third hash value;
[0139] - determining whether the comparison satisfies a criterion; and
[0140] - successfully verifying the validity of the electronic document when the comparison satisfies the criterion.
[0141] Clause 15. The method of clause 14, wherein the electronic document includes a signature.
[0142] Clause 16. The method of clause 15, wherein determining the third hash value comprises:
[0143] - determining said third hash value by applying a hash function to said first part and said second part of said electronic document.
[0144] Clause 17. The method according to clause 16, comprising:
[0145] -Determining the hash function based on transaction data from the public ledger network.
[0146] Clause 18. The method of any one of clauses 14 to 16, wherein obtaining the fourth hash value from the public ledger comprises:
[0147] - Obtaining the fourth hash value by searching for the fourth hash value in the public ledger network.
[0148] Clause 19. A method according to any one of clauses 14 to 17, comprising:
[0149] - when the comparison does not satisfy the criterion, indicating that the electronic document is invalid.
[0150] Clause 20. A method according to any one of clauses 14 to 18, wherein the first part is a main body of the electronic file, and wherein the second part of the first file includes one or more of: a header part, a footer part, a hidden text part, and a metadata part.
[0151] Clause 21. A first electronic device comprising a memory circuit, a processor circuit, and an interface, wherein the first electronic device is configured to perform any of the methods of any of clauses 1 to 13.
[0152] Clause 22. A computer-readable storage medium storing one or more programs, the one or more programs comprising instructions that, when executed by a first electronic device, cause the first electronic device to perform any of the methods of clauses 1 to 13.
[0153] Clause 23. A second electronic device comprising a memory circuit, a processor circuit, and an interface, wherein the second electronic device is configured to perform any of the methods of any of clauses 14 to 20.
[0154] Clause 24. A computer-readable storage medium storing one or more programs, the one or more programs comprising instructions that, when executed by a second electronic device, cause the second electronic device to perform any of the methods of clauses 14 to 20.
[0155] The use of the terms "first", "second", "third" and "fourth", "primary", "secondary", "tertiary", etc. does not imply any particular order, but is included to identify individual elements. In addition, the use of the terms "first", "second", "third" and "fourth", "primary", "secondary", "tertiary", etc. does not indicate any order or importance, but rather the terms "first", "second", "third" and "fourth", "primary", "secondary", "tertiary", etc. are used to distinguish one element from another. It should be noted that the use of the words "first", "second", "third" and "fourth", "primary", "secondary", "tertiary", etc., here and elsewhere, is only for marking purposes, and is not intended to represent any particular spatial or temporal order. In addition, the marking of the first element does not mean the presence of the second element, and vice versa.
[0156] Understandably, Figures 1A to 7 Some circuits or operations are illustrated with solid lines and some circuits or operations are illustrated with dashed lines. The circuits or operations included in the solid lines are the circuits or operations included in the broadest example embodiments. The circuits or operations included in the dashed lines are example embodiments that may be included in or as part of or as additional circuits or operations that may be employed in addition to the circuits or operations of the solid line example embodiments. It should be understood that these operations need not be performed in the order presented.
[0157] Furthermore, it should be understood that not all operations need to be performed. The exemplary operations may be performed in any order and in any combination.
[0158] It should be noted that the word "comprising" does not necessarily exclude the presence of other elements or steps than those listed.
[0159] It should be noted that the word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements.
[0160] It should also be noted that any reference signs do not limit the scope of the claims, that exemplary embodiments may be implemented at least in part by both hardware and software, and that several "members," "units," or "means" may be represented by the same item of hardware.
[0161] The various exemplary methods, devices, nodes, and systems described herein are described in the general context of method steps or processes, which in one aspect may be implemented by a computer program product embodied in a computer-readable medium (including computer-executable instructions, such as program code, executed by a computer in a network environment). Computer-readable media may include removable and non-removable storage devices, including but not limited to read-only memory (ROM), random access memory (RAM), compact disk (CD), digital versatile disk (DVD), etc. In general, program circuits may include routines, programs, objects, components, data structures, etc. that perform specified tasks or implement specific abstract data types. Computer executable instructions, associated data structures, and program circuits represent examples of program codes for performing the steps of the methods disclosed herein. A specific sequence of such executable instructions or associated data structures represents an example of corresponding actions for implementing the functions described in such steps or processes.
[0162] Although features have been shown and described, it should be understood that they are not intended to limit the claimed disclosure, and it will be apparent to those skilled in the art that various changes and modifications may be made without departing from the scope of the claimed disclosure. Accordingly, the specification and drawings should be regarded as illustrative rather than restrictive. The claimed disclosure is intended to cover all alternatives, modifications, and equivalents.
Claims
1. A method for verifying a second file executed by a first electronic device, wherein the second file is implemented based on a first file by including a signature, wherein the first file includes a first main part and a first secondary part, and the method include: - determining a first hash value based on said first main part of said first file; - including said first hash value in said first secondary part of said first file; - determining a second hash value based on the second file, wherein the second file comprises a second primary part, a second secondary part and the signature; as well as - transmitting the first transaction including the second hash value to the public ledger network.
2. The method according to claim 1, wherein the signature is an electronic signature and / or a digital signature.
3. The method according to any one of the preceding claims, wherein the first hash value is determined include: - determining said first hash value by applying a hash function to said first main part of said first file.
4. The method according to any one of the preceding claims, wherein the second hash value is determined include: - determining said second hash value by applying a hash function to said second file comprising said second primary part, said second secondary part and said signature.
5. A method according to any one of the preceding claims, wherein the second secondary part of the second file is based on the first secondary part of the first file.
6. A method according to any one of the preceding claims, wherein the first transaction including the second hash value is transmitted to the public ledger network include: - generating the first transaction including the second hash value; as well as - transmitting the first transaction to the public ledger network.
7. A method according to any one of the preceding claims, wherein the first main part is the main body of the first file, and wherein the first secondary part of the first file includes one or more of the following: a header part, a footer part, a hidden text part, a signature part and a metadata part.
8. A method executed by a second electronic device for verifying the validity of an electronic document, the method include: - obtaining the electronic file, wherein the electronic file comprises a first part and a second part; - determining a third hash value based on the first portion of the electronic file; - obtaining a fourth hash value from the public ledger network, wherein the fourth hash value is associated with the second file; - comparing the fourth hash value with the third hash value; - determining whether the comparison satisfies a criterion; and - successfully verifying the validity of the electronic document when the comparison satisfies the criterion.
9. The method of claim 8, wherein the electronic document includes a signature.
10. The method of claim 9, wherein determining the third hash value include: - determining the third hash value by applying a hash function to the first part and the second part of the electronic document.