Construction and encoding of QC-LDPC codes using group rings