  In this paper, we define two matrices named as "difference matrices", denoted
by $D$ and $DD$ which significantly contribute to achieve regular single-edge
QC-LDPC codes with the shortest length and the certain girth as well as regular
and irregular multiple-edge QC-LDPC codes.
  Making use of these matrices, we obtain necessary and sufficient conditions
to have single-edge $(m,n)$-regular QC-LDPC codes with girth 6, 10 and 12.
Additionally, for girth 6, we achieve all non-isomorphic codes with the minimum
lifting degree, $N$, for $m=4$ and $5\leq n\leq 11$, and present an exponent
matrix for each minimum distance. For girth 10, we provide a lower bound on the
lifting degree which is tighter than the existing bound. More important, for an
exponent matrix whose first row and first column are all-zero, we demonstrate
that the non-existence of 8-cycles proves the non-existence of 6-cycles related
to the first row of the exponent matrix too. All non-isomorphic QC-LDPC codes
with girth 10 and $n=5,6$ whose numbers are more than those presented in the
literature are provided. For $n=7,8$ we decrease the lifting degrees from 159
and 219 to 145 and 211, repectively. For girth 12, a lower bound on the lifting
degree is achieved.
  For multiple-edge category, for the first time a lower bound on the lifting
degree for both regular and irregular QC-LDPC codes with girth 6 is achieved.
We also demonstrate that the achieved lower bounds on multiple-edge
$(4,n)$-regular QC-LDPC codes with girth 6 are tight and the resultant codes
have shorter length compared to their counterparts in single-edge codes.
Additionally, difference matrices help to reduce the conditions of considering
6-cycles from seven states to five states. We obtain multiple-edge
$(4,n)$-regular QC-LDPC codes with girth 8 and $n=4,6,8$ with the shortest
length.
