# US 2017/0257218 A1 · Cryptographic hash generation system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0257218 A1
- Document ID: US20170257218A1
- Status: Published application
- Kind: A1
- Application number: 15/599,965
- Filed: 2017-05-19
- Published: 2017-09-07
- Earliest claimed: 2012-07-13
- Assignees: Securerf Corporation
- Applicants: Securerf Corporation
- Inventors: Iris Anshel; Dorian Goldfeld
- Web page: https://patentgrep.com/patent/US20170257218A1

## CPC

- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- G06F 21/602: {Providing cryptographic facilities or services}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/3242: {involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC}
- H04L 2209/04: Masking or blinding
- H04L 2209/24: Key scheduling, i.e. generating round keys or sub-keys for block encryption
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A first module divides a string into a number of blocks. A second module associates the blocks with monoid elements in a list of first monoid elements to produce second monoid elements. A third module applies a first function to an initial monoid element and a first of the second monoid elements producing a first calculated monoid element and evaluates an action of the initial monoid element on the first function producing a second function. A fourth module applies the second function to the first calculated monoid element and to a second of the second monoid elements producing a second calculated monoid element and evaluates the action of the first calculated monoid element on the first function producing a third function. Further modules iteratively, corresponding to the number of blocks, apply the produced function to calculated monoid elements and the second monoid elements to produce a hash of the string

## Claims

### Claim 1

A device effective to generate a hash of a string, the device comprising:
a memory, wherein the memory is effective to include
a first function,
a first list of first monoid elements, and
an initial monoid element;
a first module effective to receive the string and divide the string into a sequence of blocks;
a second module in communication with the first module and the memory, the second module effective to associate blocks in the sequence of blocks with respective monoid elements in the first list of first monoid elements to produce a second list of second monoid elements;
a third module in communication with the second module and with the memory, the third module effective to
receive a first one of the second monoid elements,
receive the initial monoid element,
receive the first function,
apply the first function to the initial monoid element and the first one of the second monoid elements to produce a first calculated monoid element, and
evaluate an action of the initial monoid element on the first function to produce a second function;
a fourth module in communication with the second module and the third module, the fourth module effective to
receive a second one of the second monoid elements,
receive the first calculated monoid element,
receive the second function, and
apply the second function to the first calculated monoid element and to the second one of the second monoid elements to produce a second calculated monoid element.
