I feel DSA is vulnerable if k is randomly selected over a small set, example, {1,2,...,2^16 -1}.
I am trying to come up with a program where I assume I have the public parameters (p,q,g) , public key : y, message m and its signature pair (r,s) signed with x and k. We also have hash value h (where h=SHA-1(m)).
I want to construct an attack where I can get k by brute force and then use it to get x from s. How do I code an efficient program for this attack ?What modular arithmetic do I need to perform to make the program as efficient as possible ? What crypto libraries are the best for this sort of brute force attack ?