I'm creating a method to generate nonsingular matrices for cryptographic purposes.
The only state of art method I found is not quite eficient, it was presented by Dana Randall (1993) in Efficient generation of random nonsingular matrices. An algorithm for generating $n \times n$ nonsingular matrices uniformly over a finite field which runs in expected time $M (n) + O (n^2)$ over $GF(2)$, where $M (n)$ is the time needed to multiply two $n \times n$ matrices and the expected number of random bits it uses is $n^2 + 3$.
After I implemented this method to generate matrices of $o$'s and $1$'s, I realised the nonsingular matrices outputted by the algorithm developed by Dana Randall are almost upper triangular-like matrices.
Other disadvantage of this method for my purpose concerns the fact that not all generated matrices are modularly nonsingular (all are nonsingular, but not all modulo $n$).
I come humbly to ask for help at this forum where many specialists in Math can help me, please, I'm a simple computer engineer trying to use your area to make mine more secure.