Míreanna comhchosúla: Mathematics of public key cryptography