This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
Mr_Programmer's profile picture

Good Encryption?

Started by Mr_Programmer, 06 February 2016 - 07:33 PM
Mr_Programmer #1
Posted 06 February 2016 - 08:33 PM
Hi all,

Is there any good Encryption APIs out there and if so how would i use/implement this to a kind of API into a server side password database and ID Access Disk password files, looked on youtube but found nothing, tryed searching the forums but just came up with aload of threads that have nothing to do with encryption?

EDIT: Also sending rednet messages that are encrypted

Thanks!
Edited on 06 February 2016 - 09:48 PM
Anavrins #2
Posted 06 February 2016 - 10:27 PM
I've recently made the ChaCha20 cipher and the BLAKE-256 hashing algorithm in CC.
You would use a cipher to securely transmit stuff wirelessly, and a hash to store the passwords.
These kind of programs are kinda hard to do correctly, just PM me if you need any tips.
Edited on 06 February 2016 - 09:40 PM
Mr_Programmer #3
Posted 07 February 2016 - 01:20 PM
I've recently made the ChaCha20 cipher and the BLAKE-256 hashing algorithm in CC.
You would use a cipher to securely transmit stuff wirelessly, and a hash to store the passwords.
These kind of programs are kinda hard to do correctly, just PM me if you need any tips.

i see with "BLAKE-256" you can only have a file of 16bytes, am i correct? this would not be helpfull to me as im wanting a BIG database with all passwords in which would be more than 16 bytes
Edited on 07 February 2016 - 12:21 PM
Dragon53535 #4
Posted 07 February 2016 - 01:55 PM
You misread, the SALT can only be 16 chars/bytes. A salt is basically an extra random bit added into the hash that makes it more secure. Don't use usernames as that's easy to already set if you're looking for a specific person's password.

digest("My password Is Poop","Dragon53535") --#Might give @165af^&dcoo%!9zL
digest("My password Is Poop","Mr_Programmer") --#Since the salts are different this could then give 697dFUe1%585^1^@7
While in the end the passwords are the same, the salt is different per user and the passwords then turn into different hashes. Best way to do this, would be to create a random salt and store that somehow on a per user basis.

Wiki link
Edited on 07 February 2016 - 12:58 PM