Data processing method based on blockchain network and related product
US-2024419537-A1 · Dec 19, 2024 · US
US10361865B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10361865-B2 |
| Application number | US-201715688894-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 29, 2017 |
| Priority date | Jan 30, 2017 |
| Publication date | Jul 23, 2019 |
| Grant date | Jul 23, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
In one embodiment, a method, system, and apparatus are described, the method, system, and apparatus including generating metadata to be associated with each block of a series of blocks, the generating including, except for an initial block, receiving: a first block, including a signed block, and a second block to be signed, retrieving a first value including a square of a random number, R′2, multiplying R′2 by a nonce, r, and setting r·R′2 to be a square of a first random number, denoted R2, for the second block, retrieving a second value from the first block, the second value including K-bit vector, E′, determining a bit string value of the second block, M, computing E=hash(R2∥M∥E′), and determining a signature, Sig, for the second block by calculating Sig=r Sig′ SE-E′. Related methods, systems, and apparatuses are also described.
Opening claim text (preview).
What is claimed is: 1. A method for digitally signing blocks of data, the method comprising: generating, by a signing device, metadata to be associated with each block of a series of blocks of data, the generating comprising the following, except for an initial block: receiving at the signing device: a first block, comprising a signed block of a content item; and a second block comprising a block of a content item to be signed; retrieving a first value from the first block, the first value comprising a square of a first random number, R′ 2 ; multiplying R′ 2 by a non-zero nonce, r, thereby determining r·R′ 2 , and setting r·R′ 2 to be a square of a first random number, denoted R 2 , for the second block, wherein R is a mod N number in a field, Z*N; retrieving a second value from the first block, the second value comprising K-bit vector, E′, such that E′=(e′ 1 , e′ 2 , e′ 3 , . . . , e′ k ); determining a bit string value of the second block, M; computing E=hash(R 2 ∥M∥E′), where E comprises a K-bit vector, such that E=(e 1 , e 2 , e 3 , . . . , e k ); and determining a signature, Sig, for the second block by calculating Sig=r Sig′ S E-E where S comprises a secret set of mod N values, such that, S={S 1 , S 2 , S 3 , . . . S j , . . . S k }, where S j is a random value in the field Z*N, and Sig′ is the signature of the first block; performing the generating metadata steps above for the initial block where, for the first block, the values of R′ 2 , E′, and Sig′ are each respectively set to non-zero arbitrary values; associating the metadata with each block of the series of blocks of data; and transmitting the metadata and the series of blocks of data for verification. 2. The method according to claim 1 and further comprising logically dividing a segment of streamed data into the series of blocks of data. 3. The method according to claim 1 wherein the generating metadata comprises adding unique information into the metadata for each block of the series of blocks of data. 4. The method according to claim 3 wherein the unique information comprises a block number. 5. The method according to claim 1 and wherein the bit string value of the second block, M, comprises a result of a hash string value of the second block. 6. The method according to claim 1 and wherein the bit string value, M, comprises the bit string of the second block. 7. The method according to claim 1 and wherein, for the metadata of the initial block, at least one of: R′=1; Sig′=1; or E′ is a K-bit vector, where all K of the values are zero. 8. The method according to claim 1 and wherein for the initial block, the values of R′, E′, and Sig′ are all respectively set to non-zero random values. 9. The method according to claim 1 wherein the series of blocks of data is a portion of streamed data, wherein the streamed data comprises live streamed data. 10. The method according to claim 1 wherein the series of blocks of data is a portion of streamed data, wherein the streamed data comprises recorded streamed data. 11. A method comprising: receiving two blocks of streamed data comprising a first block and a second block; receiving metadata associated with each one of the two blocks of streamed data and metadata associated with a third block which is immediately previous to the first block; authenticating the received two blocks by performing the following steps on the received metadata: retrieving a square of a first random number, R′ 2 , from the metadata associated with the second block, wherein R′ is a mod N number in a field, Z*N; retrieving a bit string value, M′, from the metadata associated with the second block; retrieving a K-bit vector, E″, such that E″=(e″ 1 , e″ 2 , e″ 3 , . . . , e″ k ) from the metadata associated with the first block; calculating Hash(R′ 2 ∥M′ ∥ E″); and comparing the calculated value of Hash(R′ 2 ∥ M′ ∥ E″) with a value of a K-bit vector, E′, retrieved from the second block, such that E′=(e′ 1 , e′ 2 , e′ 3 , . . . , e′ k ), wherein if E′=Hash(R′ 2 ∥M′ ∥E″), the second block has been authenticated. 12. The method according to claim 11 , and further comprising: calculating a value of hash(Sig 2 ·V E mod N∥M∥E′), where Sig denotes a signature of the second block, M denotes a bit string value of the second block, and V comprises a set of public values, such that Si 2 ·Vi=1 mod N, and S comprises a secret set of mod N values, such that S={S 1 , S 2 , S 3 , . . . S j , . . . S k }, where S j is a random value in some field Z*N, and E=(e 1 , e 2 , e 3 , . . . , e k ), wherein V E =Π i=1 K V i ei , such that if hash(Sig 2 ·V E mod N∥M∥E′)=E, then the signature of the first block, the second block, and the third block are all verified. 13. The method according to claim 12 wherein the metadata comprises unique information for each block of the series of blocks. 14. The method according to claim 13 wherein the unique information comprises a block number. 15. The method of claim 11 and wherein the bit string value, M′, comprises a result of a hash string value of the bit string value of the second block. 16. The method of claim 11 and wherein the bit string value, M′, comprises the bit string of the second block. 17. The method of claim 11 and wherein, for the metadata associated with the first block, at least one of the following is true: R′ 2 =1; Sig′=1; or E′ is a K-bit vector, where all K of the values are zero. 18. The method according to claim 11 wherein the streamed data comprises live streamed data. 19. The method according to claim 11 wherein the streamed data comprises recorded streamed data. 20. A system comprising: an interface operative to receive two blocks of streamed data comprising a first block and a second block; a second interface operative to receive metadata associated with each one of the two blocks of streamed data and metadata associated with a third block which is immediately previous to the first block; a processor operative to: retrieve a square of a first random number, R′ 2 , from the metadata associated with the second block, wherein R′ is a mod N number in a field, Z*N; retrieve a bit string value, M′, from the metadata associated with the second block; retrieve a K-bit vector, E″, such that E″=(e″ 1 , e″ 2 , e″ 3 , . . . , e″ k ) from the metadata associated with the first block; calculate Hash(R′ 2 ∥M′ ∥E″); and compare the calculated value of Hash(R′ 2 ∥M′ ∥E″) with a value of a K-bit vector, E′, retrieved from the second block, such that E′=(e′ 1 , e′ 2 , e′ 3 , . . . , e′ k ), wherein, the processor has authenticated the received two blocks if E′=Hash(R′2∥M′ ∥E″).
Protecting data integrity, e.g. using checksums, certificates or signatures · CPC title
Restricted operating environment · CPC title
involving digital signatures · CPC title
by executing in a restricted environment, e.g. sandbox or secure virtual machine · CPC title
using cryptographic hash functions · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.