# US 2018/0323966 A1 · System and method for hashing a data string using an image

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

- Number: US 2018/0323966 A1
- Document ID: US20180323966A1
- Status: Published application
- Kind: A1
- Application number: 15/721,110
- Filed: 2017-09-29
- Published: 2018-11-08
- Earliest claimed: 2017-05-03
- Assignees: Infosys Limited
- Applicants: Infosys Limited
- Inventors: Stephenson Daniel Kanagaraj
- Web page: https://patentgrep.com/patent/US20180323966A1

## CPC

- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- 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

Hashing data using an image by performing a bit by bit concatenation of input text and hash key. The result is concatenated bit by bit with the salt. A two bit by two bit multiplication between the result and the reverse of the result is performed to get a next output. The bits of this output are used as coordinates to extract pixel and RGB values from an image. The extracted values are merged to form a string. The string is truncated to a desired length, and then split into two equal strings. A bit by bit concatenation is performed on the split strings to get a hash output.

## Claims

### Claim 1

A method for hashing a data string using an image, the method comprising:
converting each of an input string, a hash key of a predefined length, and a salt of a predefined length associated with the input string into numerical data strings;
applying a first hash function on the converted numerical data strings, to get a first output string;
extracting a set of values from a predetermined image using numerals from the first output string as coordinates;
applying a second hash function on the extracted set of values to get a second output string;
truncating the second output to a predetermined number of bits; and
splitting the truncated second output string into multiple data strings, and applying a third hash function on the split data strings to get a hash value output.

### Claim 2 (depends on 1)

The method of claim 1, wherein the applying the first hash function comprises:
performing a bit by bit concatenation of the converted numerical data strings associated with the input string and the hash key to generate a first concatenated string;
performing a bit by bit concatenation of the generated first concatenated string and the converted numerical data string associated with the salt to generate a hash string;
generating a reverse of the hash string; and
performing a two bit by two bit multiplication of the hash string by the reverse of the hash string to get the first output string.

### Claim 3 (depends on 1)

The method of claim 1, wherein the extracting a set of values from an image comprises:
selecting two bits from the first output string, for x coordinate;
selecting next two bits from the first output string, for y coordinate;
extracting the set of values from the x and y coordinate of the image; and
repeating the first three steps for subsequent bits from the first output string.

### Claim 4 (depends on 3)

The method of claim 3, wherein the applying a second hash function comprises concatenating the extracted set of values to generate the second output string.

### Claim 5 (depends on 3)

The method of claim 3, wherein the set of values comprises an RGB value and a pixel value.

### Claim 6 (depends on 1)

The method of claim 1, wherein the applying a third hash function comprises performing a bit by bit concatenation of the multiple data strings to get the hash value output.

### Claim 7

A data string hashing device comprising:
at least one processor; and
at least one memory unit operatively coupled to at least one processor communicatively coupled over the cluster computing network and having instructions stored thereon that, when executed by the at least one processor, cause the at least one processor to:
convert each of an input string, a hash key of a predefined length, and a salt of a predefined length associated with the input string into numerical data strings using a converter component;
apply a first hash function on the converted numerical data strings to get a first output string using a hashing component;
extract a set of values from a predetermined image using numerals from the first output string as coordinates using the hashing component;
apply a second hash function on the extracted set of values to get a second output string using the hashing component;
truncate the second output to a predetermined number of bits using the hashing component; and
split the truncated second output string into multiple data strings and apply a third hash function on the split data strings to get a hash value output using the hashing component.

### Claim 8 (depends on 7)

The device of claim 7, wherein the applying a first hash function comprises:
perform a bit by bit concatenation of the converted numerical data strings associated with the input string and the hash key to generate a first concatenated string using the hashing component;
perform a bit by bit concatenation of the generated first concatenated string and the converted numerical data string associated with the salt to generate a hash string using the hashing component;
generate a reverse of the hash string using the hashing component; and
perform a two bit by two bit multiplication of the hash string by the reverse of the hash string to get the first output string using the hashing component.

### Claim 9 (depends on 7)

The device of claim 7, wherein the extracting a set of values from an image comprises:
select two bits from the first output string for x coordinate using the hashing component;
select next two bits from the first output string for y coordinate using the hashing component;
extract the set of values from the x and y coordinate of the image using the hashing component; and
repeat the select two bits, the select the next two bits and the extract the set of values for subsequent bits from the first output string.

### Claim 10 (depends on 9)

The device of claim 9, wherein the applying a second hash function comprises concatenating the extracted set of values to generate the second output string using the hashing component.

### Claim 11 (depends on 9)

The device of claim 9, wherein the set of values comprises an RGB value and a pixel value.

### Claim 12 (depends on 7)

The device of claim 7, wherein the apply a third hash function comprises performing a bit by bit concatenation of the multiple data strings to get the hash value output using the hashing component.
