An m × n matrix A = (ai,j) is circulant if ai+1,j+1 = ai,j where the subscripts are reduced modulo n. A question arising in stream cypher cryptanalysis is reframed as follows: For given n, what is the maximum value of m for which there exists a circulant m × n (±1)-matrix A such that AA T = nIm. In 2013, Craigen et al. called such matrices circulant partial Hadamard matrices (CPHMs). They proved some important bounds and compiled a table of maximum values of m for small n via computer search. The matrices and algorithm are not in the literature. In this paper, we introduce general difference sets (GDSs), and derive a result that connects GDSs and CPHMs. We propose an algorithm, the difference variance algorithm (DVA), which helps us to search GDSs. In this work, the GDSs with respect to CPHMs listed by Craigen et al. when r = 0, 2 are found by DVA, and some new lower bounds are given for the first time.