Method for the construction of hash functions based on sylvester matrices, balanced incomplete block designs and error-correcting codes
First Claim
Patent Images
1. A method of constructing a hash function H(x), for mapping an input string x=(x1, x2, . . . , xn) of length n>
- 0 to an output string of length n−
t, 1<
t<
n, of the set of strings H(x)={(h1(x), h2(x), . . . , hn−
t(x))}, said input and output string being defined over a given finite field F and H(x) being defined as a concatenation of said functions hi(x), said method comprising the steps of;
a) providing a binary incidence matrix A having n columns and n rows, for a balanced incomplete block design on n points;
b) selecting a set of n-t rows, R1, R2, . . . , Rn−
t, of the rows of A such that said selected n−
t rows are linearly independent over F, wherein no F-linear independent combination of said selected set of n−
t rows is a zero row save for an all-zero linear combination of said selected set of rows;
c) for each said row Ri, obtaining a subset Fi, of a n-set Ω
={1, 2, . . . n}, said subset being positions in which the row Ri has a 1, wherein 1≦
i≦
n−
t. d) for said input string, setting_hi(x)=(Σ
w in Fi xw), wherein 1≦
i≦
n−
t; and
e) defining said hash function as an output string created by the concatenation of hi(x) for 1≦
i≦
n−
t, H(x)=(h1(x), h2(x), . . . , hn−
t(x))
2 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method for constructing a hash function are provided such that an input string is mapped to an output string, the hash function being based on one of Sylvester matrices, balanced incomplete block designs, and error-correcting codes. The constructed hash function can be used by an apparatus for, among other uses, encrypting messages, determining if strings s and s′ are equal, and for respectively storing and retrieving data into and from a memory.
39 Citations
25 Claims
-
1. A method of constructing a hash function H(x), for mapping an input string x=(x1, x2, . . . , xn) of length n>
- 0 to an output string of length n−
t, 1<
t<
n, of the set of strings H(x)={(h1(x), h2(x), . . . , hn−
t(x))}, said input and output string being defined over a given finite field F and H(x) being defined as a concatenation of said functions hi(x), said method comprising the steps of;
a) providing a binary incidence matrix A having n columns and n rows, for a balanced incomplete block design on n points;
b) selecting a set of n-t rows, R1, R2, . . . , Rn−
t, of the rows of A such that said selected n−
t rows are linearly independent over F, wherein no F-linear independent combination of said selected set of n−
t rows is a zero row save for an all-zero linear combination of said selected set of rows;
c) for each said row Ri, obtaining a subset Fi, of a n-set Ω
={1, 2, . . . n}, said subset being positions in which the row Ri has a 1, wherein 1≦
i≦
n−
t.d) for said input string, setting_hi(x)=(Σ
w in Fi xw), wherein 1≦
i≦
n−
t; and
e) defining said hash function as an output string created by the concatenation of hi(x) for 1≦
i≦
n−
t, H(x)=(h1(x), h2(x), . . . , hn−
t(x)) - View Dependent Claims (2, 3, 4, 9, 10, 11, 13, 15, 17, 19, 20, 22, 24)
- 0 to an output string of length n−
-
5. A method of constructing a hash function H(x) for mapping an input string x=(x1, x2, . . . , xv) of length n>
- 0 to an output string H(x)={(h1(x), h2(x), . . . , hn−
t(x))} of length n−
t, 1<
t<
n, said method comprising the steps of;
a) providing a matrix M having size (n−
t)×
n, rows Ri x columns, and rank n−
t over a given finite field F whereby the Hamming distance between any two distinct vectors obtained from a distinct linear combination of the rows of M, is at least d, where d is some pre-assigned positive integer;
b) for each said row Ri of M, setting hi(x)=x·
R1, 1≦
i≦
n−
t where denotes the dot product operation; and
c) defining said hash function H(x) as the function H(x)={(h1(x), h2(x), . . . , hn−
t(x))}for l<
t□
n. - View Dependent Claims (6, 7, 8, 12, 14, 16, 18, 21, 23, 25)
- 0 to an output string H(x)={(h1(x), h2(x), . . . , hn−
Specification