a computer - implemented system and method is for generating low - density parity check codes . one aspect of the invention includes a method for generating high rate ldpc codes that first constructs a matrix of size m × n having m rows of check nodes and n columns of bit nodes . the matrix meets the following requirements : the weight of the j − th column equals a j ; each row , r , has weight at most b r ; and the matrix h can be represented by a tanner graph that has a girth of at least g ≧ g . the method then iteratively adds an th column to matrix h , wherein the size of u 1 , is initially empty and is at most a n + 1 , and wherein u 1 , comprises a set of i check nodes such that i is greater than or equal to 0 and i is less than a n + 1 . the method then iteratively adds check nodes to u 1 . such that each check node does not violate predetermined girth and check - degree constraints . the matrix h is updated when a new column is added . the iterations are terminated if there are no new check nodes that do not violate the girth and check - degree constraints . the method can be modified to optimize various parameters , including the following cases : maximizing the rate for a fixed girth ; maximizing the girth for a fixed rate ; and maximizing the rate for a fixed girth and fixed length .