A method for quasi cyclic-low density parity check, QC-LDPC, channel encoding in a communication system, the method comprising: identifying a transport block size, TBS; identifying a block size Z of a block size group, among a plurality of block size groups, comprising 2, 4, 8, 16, 32, 64, 128, 256, based on the TBS and a maximum code block size; variable-length encoding (1550, 1560) an information word of size 22 ∗ Z based on a parity check matrix H corresponding to the block size Z and a base matrix of a size of m rows ∗ n columns, wherein m=46 and n=68, wherein parity check matrices are different for the plurality of the block size groups, and the parity check matrices correspond to a same base matrix, wherein the parity check matrix H is obtained based on H = P a 11 P a 12 ⋯ P a 1 n P a 21 P a 22 ⋯ P a 2 n ⋮ ⋮ ⋱ ⋮ P a m 1 P a m 2... P a mn wherein the P ai,j indicate 0-matrices of size Z ∗ Z, a plurality of identity matrices of size Z ∗ Z, or a plurality of circular permutation matrices of size Z ∗ Z wherein each of the non-zero Z ∗ Z circular permutation matrices P ai,j and the 0-matrices are represented in the base matrix with 1 and 0, respectively, wherein each P ai,j for the plurality of circular permutation matrices of size Z ∗ Z is obtained by circular shifting an identity matrix based on modulo lifting according to the block size Z and a shift value a i,j included in an LDPC code exponent matrix E H = a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a mn wherein the LDPC code exponent matrix E is of the form: wherein Section A1 is wherein Section A2 is wherein Section A3 is wherein Section B1 is wherein Section B2 is wherein Section B3 is wherein Section C1 is wherein Section C2 is wherein Section C3 is, and wherein empty blocks represent portions corresponding to the 0-matrix of the Z ∗ Z size. identifying a transport block size, TBS; identifying a block size Z of a block size group, among a plurality of block size groups, comprising 2, 4, 8, 16, 32, 64, 128, 256, based on the TBS and a maximum code block size; variable-length encoding (1550, 1560) an information word of size 22 ∗ Z based on a parity check matrix H corresponding to the block size Z and a base matrix of a size of m rows ∗ n columns, wherein m=46 and n=68, wherein parity check matrices are different for the plurality of the block size groups, and the parity check matrices correspond to a same base matrix, wherein the parity check matrix H is obtained based on H = P a 11 P a 12 ⋯ P a 1 n P a 21 P a 22 ⋯ P a 2 n ⋮ ⋮ ⋱ ⋮ P a m 1 P a m 2... P a mn wherein the P ai,j indicate 0-matrices of size Z ∗ Z, a plurality of identity matrices of size Z ∗ Z, or a plurality of circular permutation matrices of size Z ∗ Z wherein each of the non-zero Z ∗ Z circular permutation matrices P ai,j and the 0-matrices are represented in the base matrix with 1 and 0, respectively, wherein each P ai,j for the plurality of circular permutation matrices of size Z ∗ Z is obtained by circular shifting an identity matrix based on modulo lifting according to the block size Z and a shift value a i,j included in an LDPC code exponent matrix E H = a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a mn wherein the LDPC code exponent matrix E is of the form: wherein Section A1 is wherein Section A2 is wherein Section A3 is wherein Section B1 is wherein Section B2 is wherein Section B3 is wherein Section C1 is wherein Section C2 is wherein Section C3 is, and wherein empty blocks represent portions corresponding to the 0-matrix of the Z ∗ Z size.