Signature method and system

US10361865B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10361865-B2
Application numberUS-201715688894-A
CountryUS
Kind codeB2
Filing dateAug 29, 2017
Priority dateJan 30, 2017
Publication dateJul 23, 2019
Grant dateJul 23, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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″).

Assignees

Inventors

Classifications

  • G06F21/64Primary

    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

  • H04L9/3236Primary

    using cryptographic hash functions · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10361865B2 cover?
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, mu…
Who is the assignee on this patent?
Cisco Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F21/64. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 23 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).