But how does my super long password become stronger with a public key? I can only think it has to do with the blockchain and the information it contains. So is this assumption correct? When was this implemented, and when was it made a necessity to have a public key as this seems to be only after new year I read about this.
I think it was wrote a lot of times, but I write it again
You password is private key. It is used to generate public key. Then public key is used to generate hash. Then part of the hash became your account ID.
Until you get any transaction, there's no account in blockchain. You can "unlock" any number of accounts in client software - it doesn't mean anything for network.
So when you get at least one transaction, blockchain store you account ID.
But until you send any transaction, it is only account ID, and nothing else.
When you send transaction, it is signed with your private key. At the same time public key is send, so other nodes can verify this signature, and verify that you send coins from your own account.
So when you send at least one transaction, blockchain store you account's public key.
It is by design, and the same scheme is in BTC too for years, except that BTC account ID is 160 bit length, while Nxt uses only 64 bit now.
When some thief want to steal your money, he need to find your private key.
When you have sent transaction, thief need to generate private key that match you known public key. It is almost impossible.
When you have no transactions out, thief need to generate private key that match only account ID. It's hard now, but will be possible in some years.
Btw, in Nxt you need not to send coins to make public key available in blockchain. Simplest and cheapest way is to create some alias with 1 NXT fee. Or if you have some amounts of coins just wait until you account forge one block, even empty one.