A method for interleaving comprising the steps of: sequentially writing an input sequence of K information bits into an R×C rectangular matrix row by row starting in the first column of the first row, selecting a primitive root g0 corresponding to a prime number p; generating a base sequence C(i) for intra-row permutation as C(i) = [g0×C(i-1)] mod p, i = 1, 2,..., (p-2) and C = 1; determining a minimum prime integer set {q j} for j = 0, 1, 2,...,R-1 such that g.c.d {q j,p-1} = 1 and q j > 6, q j > q (j-1) for each j = 1, 2,...,R-1, where g.c.d is a greatest common divider and q 0 = 1; determining {p j} from {q j} using p P(j) = q j, j = 0, 1,..., R-1, where P(j) indicates a predetermined inter-row permutation pattern; permuting positions of the information bits, comprising for C = p+1: permuting the positions of the information bits in a jth row in accordance with C j i = C i × p j mod p − 1, where j = 0, 1, 2,..., R − 1, i = 0, 1, 2,..., p − 2, C j p − 1 = 0, and C j p = p; performing inter-row permutations according to the predetermined inter-row permutation pattern P(j); and reading out the information bits from the permuted R × C rectangular matrix column by column starting in the first column of the first row, wherein the R × C rectangular matrix has R rows and C columns, K specifies the number of information bits in the input sequence, K = R × C, and K>R>1; characterized in that the prime number p is the minimum prime number satisfying 0 ≤ (p+1)-K/R; and the step of permuting positions of the information bits further comprises one of the following: exchanging C R-1 (p) with C R-1, exchanging C R-1 (p) with C R-1 (p-1), exchanging C j (p) with C j for every j, wherein j = 0, 1, 2,... R-1, exchanging C j (p) with C j (p-1) for every j, wherein j = 0, 1, 2,... R-1, exchanging C j (p) with C j (k) for every j, wherein j = 0, 1, 2,... R-1 and wherein k indicates a specific exchanging position searched for a given interleaving rule, or exchanging C R-1 (p) with C R-1 (k), wherein k indicates a specific exchanging position searched for a given interleaving rule. sequentially writing an input sequence of K information bits into an R×C rectangular matrix row by row starting in the first column of the first row, selecting a primitive root g0 corresponding to a prime number p; generating a base sequence C(i) for intra-row permutation as C(i) = [g0×C(i-1)] mod p, i = 1, 2,..., (p-2) and C = 1; determining a minimum prime integer set {q j} for j = 0, 1, 2,...,R-1 such that g.c.d {q j,p-1} = 1 and q j > 6, q j > q (j-1) for each j = 1, 2,...,R-1, where g.c.d is a greatest common divider and q 0 = 1; determining {p j} from {q j} using p P(j) = q j, j = 0, 1,..., R-1, where P(j) indicates a predetermined inter-row permutation pattern; permuting positions of the information bits, comprising for C = p+1: permuting the positions of the information bits in a jth row in accordance with C j i = C i × p j mod p − 1, where j = 0, 1, 2,..., R − 1, i = 0, 1, 2,..., p − 2, C j p − 1 = 0, and C j p = p; permuting the positions of the information bits in a jth row in accordance with C j i = C i × p j mod p − 1, where j = 0, 1, 2,..., R − 1, i = 0, 1, 2,..., p − 2, C j p − 1 = 0, and C j p = p; performing inter-row permutations according to the predetermined inter-row permutation pattern P(j); and reading out the information bits from the permuted R × C rectangular matrix column by column starting in the first column of the first row, wherein the R × C rectangular matrix has R rows and C columns, K specifies the number of information bits in the input sequence, K = R × C, and K>R>1; characterized in that the prime number p is the minimum prime number satisfying 0 ≤ (p+1)-K/R; and the step of permuting positions of the information bits further comprises one of the following: exchanging C R-1 (p) with C R-1, exchanging C R-1 (p) with C R-1 (p-1), exchanging C j (p) with C j for every j, wherein j = 0, 1, 2,... R-1, exchanging C j (p) with C j (p-1) for every j, wherein j = 0, 1, 2,... R-1, exchanging C j (p) with C j (k) for every j, wherein j = 0, 1, 2,... R-1 and wherein k indicates a specific exchanging position searched for a given interleaving rule, or exchanging C R-1 (p) with C R-1 (k), wherein k indicates a specific exchanging position searched for a given interleaving rule. exchanging C R-1 (p) with C R-1, exchanging C R-1 (p) with C R-1 (p-1), exchanging C j (p) with C j for every j, wherein j = 0, 1, 2,... R-1, exchanging C j (p) with C j (p-1) for every j, wherein j = 0, 1, 2,... R-1, exchanging C j (p) with C j (k) for every j, wherein j = 0, 1, 2,... R-1 and wherein k indicates a specific exchanging position searched for a given interleaving rule, or exchanging C R-1 (p) with C R-1 (k), wherein k indicates a specific exchanging position searched for a given interleaving rule.