I'm currently using a login system outlined below:

 1. String of 1000 characters is generated on the server 
 2. String is then encrypted using my public key which is stored on the server
 3. PGP encrypted message is then shown on the login page
 4. After I decrypt PGP message using my private key I copy/paste the decrypted message onto the login page
 5. and finally server-side script compares the decrypted message to the string generated earlier

What are some of the potential security risks of using such system?