64-bit encryption is only used for accounts that have no public key and haven't done any transactions. It is recommended to make public key and do at least one transaction. Send someone some NXT, buy an alias, basically I think any proactive usage of the account gives 256 bit protection
Can anyone explain this in more detail? Or maybe it has already been discussed somewhere.
How the presence of a transaction affect the strength of encription? And encription for what?
Account ID is hash of public key which is function of private key (secret phrase).
Curve25519.keygen(publicKey, null, MessageDigest.getInstance("SHA-256").digest(secretPhrase.getBytes("UTF-8")));
//publicKey - output
byte[] publicKeyHash = MessageDigest.getInstance("SHA-256").digest(publicKey);
BigInteger bigInteger = new BigInteger(1, new byte[]{publicKeyHash[7], publicKeyHash[6], publicKeyHash[5],
publicKeyHash[4], publicKeyHash[3], publicKeyHash[2], publicKeyHash[1], publicKeyHash[0]});
//bigInteger - is account id
If you don't have Transaction you don't have stored Account ID in NRS "database".
But how does it affect the existence of the account (as pair the private key-public id)?