IP Library Granted Patent US 12676731
Granted Patent B2
US 12676731 · App. 18/521,345 · Granted Jul 7, 2026

Data hashing in computing systems

Inventor: Mathis Neunzig (Heidelberg, DE)
Assignee: SAP SE
H04L9/0643G06F17/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12676731
App. No.
18/521,345
Granted
Jul 7, 2026
Kind
B2
Abstract

Various examples are directed to systems and methods for hashing an input string. A hashing engine may generate a 1 by N input vector using the input string, where N is a constant number. The hashing engine may expand the input vector to an input matrix, the input matrix having a size of N by N. The hashing engine may access a first integer matrix having a size of N by N and add the first integer matrix and the input matrix to generate an intermediate matrix. The hashing engine may generate a symbol-encoded vector using the intermediate matrix. The hashing engine may also generate a first round output matrix using the symbol-encoded vector and the intermediate matrix and a hash for the input string that is based at least in part on the first round output matrix.

Claims (71)

1 . A system for hashing an input string, the system comprising:

at least one processor programmed to perform operations comprising:

accessing the input string, the input string being data stored by a database management system at a database schema element, the database schema element being one of a table, a row, or a column;

generating a 1 by N input vector using the input string, N being a constant number;

expanding the input vector to an input matrix, the input matrix having a size of N by N;

accessing a first integer matrix, the first integer matrix having a size of N by N;

adding the first integer matrix and the input matrix to generate an intermediate matrix;

generating a symbol-encoded vector using the intermediate matrix;

generating a first round output matrix using the symbol-encoded vector and the intermediate matrix;

generating a hash for the input string based at least in part on the first round output matrix;

writing, by the database management system, the hash to an index location associated with the database schema element; and

using the hash, by the database management system to identify the database schema element in response to a query directed to the database management system.

2 . The system of claim 1 , the hash comprising a symbol-encoded N×N matrix.

3 . The system of claim 1 , the input string comprising more than N characters, the generating of the 1 by N input vector comprising determining a sum of a first column of an X by N matrix, X being a number, the X by N matrix comprising a first row comprising a first N characters of the input string and a second row comprising at least one character of the input string positioned after the first N characters of the input string.

4 . The system of claim 1 , the expanding of the input vector to the input matrix comprising:

writing the input vector to a first row of the input matrix;

circular shifting the input vector to generate a first circular shifted input vector; and

writing the first circular shifted input vector to a second row of the input matrix.

5 . The system of claim 4 , the expanding of the input vector to the input matrix further comprising:

circular shifting the first circular shifted input vector to generate a second circular shifted input vector; and

writing the second circular shifted input vector to a third row of the input matrix.

6 . The system of claim 1 , the operations further comprising generating the first integer matrix, the generating of the first integer matrix comprising:

accessing a sequence of N integers; and

multiplying an integer vector comprising the sequence of N integers by a transpose of the integer vector.

7 . The system of claim 1 , the generating of the symbol-encoded vector using the intermediate matrix comprising:

for a first column of the intermediate matrix, generating a first column sum; and

mapping the first column sum to a symbol encoding range to generate a first symbol-encoded value.

8 . The system of claim 7 , the generating of the symbol-encoded vector further comprising adding an offset to the first symbol-encoded value to generate an offset symbol-encoded value.

9 . The system of claim 1 , the generating of the first round output matrix comprising:

generating a first row of the first round output matrix using the symbol-encoded vector, a first row of the intermediate matrix, and an average of the symbol-encoded vector; and

generating a second row of the first round output matrix using the symbol-encoded vector, a second row of the intermediate matrix, the average of the symbol-encoded vector, and the first row of the first round output matrix.

10 . The system of claim 1 , the generating of the hash for the input string comprising mapping the first round output matrix to a symbol encoding range.

11 . The system of claim 1 , the operations further comprising generating a second round output matrix using the first round output matrix and the first integer matrix, the generating of the hash for the input string also being based at least in part on the second round output matrix.

12 . The system of claim 11 , the generating of the hash for the input string comprising mapping the second round output matrix to a symbol encoding range.

13 . A method for hashing an input string, the method comprising:

accessing, by at least one processor, the input string, the input string being data stored by a database management system at a database schema element, the database schema element being one of a table, a row, or a column;

generating, by the at least one processor, a 1 by N input vector using the input string, N being a constant number;

expanding the input vector to an input matrix, by the at least one processor, the input matrix having a size of N by N;

accessing, by the at least one processor, a first integer matrix, the first integer matrix having a size of N by N;

adding the first integer matrix and the input matrix, by the at least one processor, to generate an intermediate matrix;

generating a symbol-encoded vector, by the at least one processor, using the intermediate matrix;

generating a first round output matrix, by the at least one processor, the generating using the symbol-encoded vector and the intermediate matrix;

generating a hash for the input string based at least in part on the first round output matrix;

writing, by the database management system, the hash to an index location associated with the database schema element; and

using the hash, by the database management system to identify the database schema element in response to a query directed to the database management system.

14 . The method of claim 13 , the hash comprising a symbol-encoded N×N matrix.

15 . The method of claim 13 , the input string comprising more than N characters, the generating of the 1 by N input vector comprising determining a sum of a first column of an X by N matrix, X being a number, the X by N matrix comprising a first row comprising a first N characters of the input string and a second row comprising at least one character of the input string positioned after the first N characters of the input string.

16 . The method of claim 13 , the expanding of the input vector to the input matrix comprising:

writing the input vector to a first row of the input matrix;

circular shifting the input vector to generate a first circular shifted input vector; and

writing the first circular shifted input vector to a second row of the input matrix.

17 . The method of claim 16 , the expanding of the input vector to the input matrix further comprising:

circular shifting the first circular shifted input vector to generate a second circular shifted input vector; and

writing the second circular shifted input vector to a third row of the input matrix.

18 . The method of claim 13 , further comprising generating the first integer matrix, the generating of the first integer matrix comprising:

accessing a sequence of N integers; and

multiplying an integer vector comprising the sequence of N integers by a transpose of the integer vector.

19 . The method of claim 13 , the generating of the symbol-encoded vector using the intermediate matrix comprising:

for a first column of the intermediate matrix, generating a first column sum; and

mapping the first column sum to a symbol encoding range to generate a first symbol-encoded value.

20 . A non-transitory machine-readable medium comprising instructions thereon that, when executed by at least one processor, cause the at least one processor to perform operations comprising:

accessing an input string, the input string being data stored by a database management system at a database schema element, the database schema element being one of a table, a row, or a column;

generating a 1 by N input vector using the input string, N being a constant number;

expanding the input vector to an input matrix, the input matrix having a size of N by N;

accessing a first integer matrix, the first integer matrix having a size of N by N;

adding the first integer matrix and the input matrix to generate an intermediate matrix;

generating a symbol-encoded vector using the intermediate matrix;

generating a first round output matrix using the symbol-encoded vector and the intermediate matrix;

generating a hash for the input string based at least in part on the first round output matrix;

writing, by the database management system, the hash to an index location associated with the database schema element; and

using the hash, by the database management system to identify the database schema element in response to a query directed to the database management system.