Using nonce external of WP Admin

I’ve got two wordpress pages. One wordpress page displays a form to do some registration stuff for the website. The second wordpress page actually processes the data and inserts it into a custom MySQL table that I have. I’d like to use the nonce functionality inherit to WordPress. The user doesn’t have to be a WordPress admin or have any type of permissions to be able to do it.

when to use nonce?

I have trouble understanding nonce. I read a very good answer related to nonce by @Thomas Pornin, but it is too complicated for me as I am new to cryptography. From what I know, nonce is used to validate a form upon submission and avoid resubmission using a nonce, and to ensure the from is submitted by a valid user. Am I correct? and is this prevent CSRF implements it correctly?
For example, login form. Do I need to implement the nonce for this?