We present a simple and efficient algorithm for randomly generating simple graphs without small cycles. These graphs can be used to design high performance Low-Density Parity-Check (LDPC) codes. For any constant k, 1/2k(k + 3) and m = O(n1+ ), our algorithm generates an asymptotically uniform random graph with n vertices, m edges, and girth larger than k in polynomial time. To the best of our knowledge this is the first polynomial algorithm for the problem. Our approach is based on sequential methods that have been recently successful for efficiently counting and generating random graphs [10, 6, 4, 5, 17].