IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0431696
(2012-03-27)
|
등록번호 |
US-8627097
(2014-01-07)
|
발명자
/ 주소 |
|
출원인 / 주소 |
|
대리인 / 주소 |
Neal, Gerber & Eisenberg LLP
|
인용정보 |
피인용 횟수 :
0 인용 특허 :
188 |
초록
▼
Systems and methods enabling parallel processing of hash functions are provided. A data string including a plurality of pieces arranged in an order is hashed using a hash function to determine a plurality of authentication checkpoint hashes associated with the pieces. To authenticate the data string
Systems and methods enabling parallel processing of hash functions are provided. A data string including a plurality of pieces arranged in an order is hashed using a hash function to determine a plurality of authentication checkpoint hashes associated with the pieces. To authenticate the data string, the pieces are grouped into sets, and the authentication checkpoint hash associated with the piece following all other pieces of that set in the order is associated with that set. The system simultaneously performs a separate hash process on each set. That is, the system hashes the pieces of that set using the hash function to determine a result hash, and compares that result hash with the authentication checkpoint hash associated with that set. The initial input to the hash function for the hash process for each set includes one of the pieces and either a default seed or an authentication checkpoint hash.
대표청구항
▼
1. A system comprising: at least one processor;at least one display device; andat least one memory device storing a plurality of instructions which, when executed by the at least one processor, cause the at least one processor to operate with the at least one display device to:(a) for a first piece
1. A system comprising: at least one processor;at least one display device; andat least one memory device storing a plurality of instructions which, when executed by the at least one processor, cause the at least one processor to operate with the at least one display device to:(a) for a first piece of a program code, the program code including a plurality of pieces: (i) hash the first piece of the program code and a default seed to obtain a first result hash;(ii) determine whether the first result hash is the same as a first authentication checkpoint hash;(iii) if the first result hash is the same as the first authentication checkpoint hash, authorize the first piece of the program code for execution; and(iv) if the first result hash is not the same as the first authentication checkpoint hash, do not authorize the first piece of the program code for execution;(b) for a second different piece of the program code: (i) hash the second piece of the program code and the first authentication checkpoint hash to obtain a second result hash;(ii) determine whether the second result hash is the same as a second authentication checkpoint hash;(iii) if the second result hash is the same as the second authentication checkpoint hash, authorize the second piece of the program code for execution; and(iv) if the second result has is not the same as the second authentication checkpoint hash, do not authorize the second piece of the program code for execution,wherein (a) and (b) are performed simultaneously; and(c) if each of the pieces of the program code are authorized for execution, execute the program code and display an image generated by the executed program code. 2. The system of claim 1, which includes a plurality of processors including a first processor and a second processor, and wherein the first processor performs (a) and the second processor simultaneously performs (b). 3. The system of claim 1, wherein (b) is completed before (a) is completed. 4. The system of claim 1, wherein the plurality of instructions, when executed by the at least one processor, cause the at least one processor to: (1) if the first result hash is not the same as the first authentication checkpoint hash, generate a first error message identifying the first piece of the program code; and(2) if the second result hash is not the same as the second authentication checkpoint hash, generate a second error message identifying the second piece of the program code. 5. A system comprising: at least one processor;at least one display device; andat least one memory device storing a plurality of instructions which, when executed by the at least one processor, cause the at least one processor to operate with the at least one display device to:(a) for one of a plurality of pieces of a program code, said piece of the program code preceding all other pieces of the program code in a designated order: (i) hash said piece of the program code and a default seed to obtain a first result hash;(ii) determine whether the first result hash is the same as an authentication checkpoint hash associated with said piece of the program code, said authentication checkpoint hash being one of a plurality of different authentication checkpoint hashes, each of the authentication checkpoint hashes being associated with a different piece of the program code;(iii) if the first result hash is same as said authentication checkpoint hash associated with said piece of the program code, authorize said piece of the program code for execution; and(iv) if the first result hash is not the same as said authentication checkpoint hash associated with said piece of the program code, do not authorize said piece of the program code for execution;(b) for each remaining piece of the program code: (i) hash said piece of the program code and the authentication checkpoint hash associated with the piece of the program code immediately preceding said piece of the program code in the designated order to obtain a result hash;(ii) determine whether the result hash is the same as the authentication checkpoint hash associated with said piece of the program code; and(iii) if the result hash is the same as the authentication checkpoint hash associated with said piece of the program code, authorize said piece of the program code for execution; and(iv) if the result hash is not the same as the authentication checkpoint hash associated with said piece of the program code, do not authorize said piece of the program code for execution,wherein (a) and (b) are performed simultaneously; and(c) if each of the pieces of the program code are authorized for execution, execute the program code and display an image generated by the executed program code. 6. The system of claim 5, which includes a plurality of processors including a first processor and a second processor, and wherein the first processor performs (a) and the second processor simultaneously performs (b) for at least one remaining piece of the program code. 7. The system of claim 5, wherein the plurality of instructions, when executed by the at least one processor, cause the at least one processor to: (1) if the first result hash is not the same as the first authentication checkpont hash, generate a first error message identifying the first piece of the program code; and(2) for each remaining piece of the program code, if the result hash is not the same as the authentication checkpoint hash associated with said piece of the program code, generate a second error message identifying said piece of the program code. 8. A system comprising: at least one processor;at least one display device; andat least one memory device storing a plurality of instructions which, when executed by the at least one processor, cause the at least one processor to operate with the at least one display device to:(a) for each of a plurality of sets of at least one of a plurality of pieces of a program code: (i) if said set includes the piece of the program code that precedes all other pieces of the program code in a designated order: (A) hash said piece of the program code and a default seed to obtain a result hash;(B) for each of any remaining pieces of the program code of said set, hash said piece of the program code and the result hash obtained from hashing the piece of the program code immediately preceding said piece of the program code in the designated order to obtain a result hash;(C) determine whether the result hash obtained from hashing the piece of the program code of said set that follows all other pieces of the program code of said set, if any, in the designated order is the same as an authentication checkpoint hash associated with said set, said authentication checkpoint hash being one of a plurality of different authentication checkpoint hashes, each of the sets being associated with a different one of the authentication checkpoint hashes;(D) if the result hash obtained from hashing the piece of the program code of said set that follows all other pieces of the program code of said set, if any, in the designated order is the same as said authentication checkpoint hash, authorize the pieces of the program code of said set for execution; and(E) if the result hash obtained from hashing the piece of the program code of said set that follows all other pieces of the program code of said set, if any, in the designated order is not the same as said authentication checkpoint hash, do not authorize the pieces of the program code of said set for execution; and(ii) if said set does not include the piece of the program code that precedes all other pieces of the program code in the designated order: (A) for the piece of the program code of said set that precedes all other pieces of the program code of said set, if any, in the designated order, hash said piece of the program code and the authentication checkpoint hash associated with the set including the piece of the program code immediately preceding said piece of the program code in the designated order to obtain a result hash;(B) for each of any remaining pieces of the program code of said set, hash said piece of the program code and the result hash obtained from hashing the piece of the program code immediately preceding said piece of the program code in the designated order to obtain a result hash;(C) determine whether the result hash obtained from hashing the piece of the program code of said set that follows all other pieces of the program code of said set, if any, in the designated order is the same as the authentication checkpoint hash associated with said set;(D) if the result hash obtained from hashing the piece of the program code of said set that follows all other pieces of the program code of said set, if any, in the designated order is the same as said authentication checkpoint hash, authorize the pieces of the program code of said set for execution; and(E) if the result hash obtained from hashing the piece of the program code of said set that follows all other pieces of the program code of said set, if any, in the designated order is not the same as said authentication checkpoint hash, do not authorize the pieces of the program code of said set for execution,wherein (a) is performed simultaneously for each of the sets; and(b) if each of the pieces of the program code are authorized for execution, execute the program code and display an image generated by the executed program code. 9. The system of claim 8, which includes a plurality of processors including a first processor and a second processor, and wherein the first processor performs (a) for one of the sets and the second processor simultaneously performs (a) for a different one of the sets. 10. The system of claim 8, wherein the plurality of instructions, when executed by the at least one processor, cause the at least one processor to, for each set, if the result hash obtained from hashing the piece of the program code of said set that follows all other pieces of the program code of said set, if any, in the designated order is not the same as said authentication checkpoint hash, generate a first error message identifying the said set. 11. A system comprising: at least one processor;at least one display device; andat least one memory device storing a plurality of instructions which, when executed by the at least one processor, cause the at least one processor to operate with the at least one display device to:(a) for each of a plurality of sets of at least two of a plurality of pieces of a program code: (i) if said set includes the piece of the program code that precedes all other pieces of the program code in a designated order: (A) hash said piece of the program code and a default seed to obtain a result hash;(B) for each remaining piece of the program code of said set, hash said piece of the program code with the result hash obtained from hashing the piece of the program code immediately preceding said piece of the program code in the designated order to obtain a result hash;(C) determine whether the result hash of the piece of the program code of said set that follows all other pieces of the program code of said set in the designated order is the same as an authentication checkpoint hash associated with said set, said authentication checkpoint hash being one of a plurality of different authentication checkpoint hashes, each of the sets being associated with a different one of the authentication checkpoint hashes;(D) if the result hash obtained from hashing the piece of the program code of said set that follows all other pieces of the program code of said set in the designated order is the same as said authentication checkpoint hash, authorize the pieces of the program code of said set for execution; and(E) if the result hash obtained from hashing the piece of the program code of said set that follows all other pieces of the program code of said set in the designated order is not the same as said authentication checkpoint hash, do not authorize the pieces of the program code of said set for execution; and(ii) if said set does not include the piece of the program code that precedes all other pieces of the program code in the designated order: (A) for the piece of the program code of said set that precedes all other pieces of the program code of said set in the designated order, hash said piece of the program code and the authentication checkpoint hash associated with the set including the piece of the program code immediately preceding said piece of the program code in the designated order to obtain a result hash;(B) for each of the remaining pieces of the program code of said set, hash said piece of the program code with the result hash obtained from hashing the piece of the program code immediately preceding said piece of the program code in the designated order to obtain a result hash;(C) determine whether the result hash obtained by hashing the piece of the program code of said set that follows all other pieces of the program code of said set in the designated order is the same as the authentication checkpoint hash associated with said set;(D) if the result hash obtained from hashing the piece of the program code of said set that follows all other pieces of the program code of said set in the designated order is the same as said authentication checkpoint hash, authorize the pieces of the program code of said set for execution; and(E) if the result hash obtained from hashing the piece of the program code of said set that follows all other pieces of the program code of said set in the designated order is not the same as said authentication checkpoint hash, do not authorize the pieces of the program code of said set for execution,wherein (a) is performed simultaneously for each of the sets; and(b) if each of the pieces of the program code of each set are authorized for execution, execute the program code and display an image generated by the executed program code. 12. The system of claim 11, which includes a plurality of processors including a first processor and a second processor, and wherein the first processor performs (a) for one of the sets and the second processor simultaneously performs (a) for a different one of the sets. 13. The system of claim 11, wherein the plurality of instructions, when executed by the at least one processor, cause the at least one processor to for each set, if the result hash obtained from hashing the piece of the program code of said set that follows all other pieces of the program code of said set, if any, in the designated order is not the same as said authentication checkpoint hash, generate an error message identifying the said set.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.