Can any of you tell me about the encryption Krux uses for creating encrypted QR codes? Odudex, I hope you see this
Krux uses standard AES encryption methods, a brief explanation of encrypted QR codes can be found here:
https://github.com/odudex/krux/blob/develop_rc/docs/encrypted-qr-codes.en.mdThe encryption for flash and SD card uses the same methods, but the data is available in json text format, so is even easier to know what to do to decrypt.
I have plans to do a simple python script to encrypt/decrypt krux mnemonics from json files and QR codes without the device(it would be very simple and straight forward).
THAT is a fantastic idea! It would give confidence for using encrypted QRs.
Krux is currently going through a change right now, I'm updating the official repository(selfcustody) with all the features you see in beta, from my repository(odudex), and a new official release is about to be done. But if you're going to do a review please consult the updated documentation from here for now:
https://odudex.github.io/krux/getting-started/When I said I'm writing a review, I meant that I wrote a long review for this thread, but I'll polish it up and share it on reddit too. I have around 15 pictures of various screens to show how intuitive the menus are, and I explained some things along the way. Krux is incredibly easy to use, especially on a Maix Amigo.
One of the things I'm particularly impressed with is the ability to use QR code input for almost everything. SeedQR. Passphrase QR. If the SeedQR is encrypted, you can type the key or enter it via QR. Brilliant.
The way Krux was designed is practically oozing with common sense - and I say that because most hardware wallets lack common sense when it comes to input. The idea that anyone is going to enter a 7+ word passphrase on a tiny device using up/down/select buttons... one letter at a time, every time they use the device... any developer who thinks that's a good idea is just plain foolish. Many hardware wallets even hide the passphrase feature, which discourage users from using a passphrase. Or, if they DO use one, they use a weak one which can be easily brute forced.
Krux, on the other hand, makes entering a strong passphrase quick and easy. And rather than hiding the passphrase feature, Krux presents the option as soon as a seed is loaded. Simple. Common sense. Easy.
I feel like I'm some kind of fanboy now, but I've been using hardware wallets for years and they've mostly left me frustrated. Even if I could comfortably use them, I had trouble recommending them. But Krux is so well designed that I want more people to try it.
I just realized there's an option in "Tools" to create a hand-made QR code from any text. Holy moly, what a brilliant idea, which brings me back to my comment about how so much of Krux is designed with common sense. Everything has an option for QR input, so it just makes sense that you give the option to make QR codes for anything. Well done!
A few quick thoughts:
1: There's no way to get back to the Settings and Tools options after loading a mnemonic. I learned that the hard way by lowering the touchscreen responsiveness down to 10. At 10, my Amigo went nuts with phantom clicks. I had to reboot to get back to the settings. That being said... loading a mnemonic on this thing takes less than 5 seconds, so rebooting is no biggie. Did I mention how fast and intuitive Krux is?
2: It would be helpful to make it clear what is saved on the device and what isn't. I know, for example, that a mnemonic isn't saved on flash on the device after a reboot or shutdown, but while testing I named my mnemonic "test" and I was rattled after restarting the device to see "Print Test QR" in Tools. "Wait. I thought that wasn't saved after shutdown." Then I scanned it and realized... "Oh, it's just an obvious coincidence."
3: It would be helpful to add a "Reset" option for some settings, such as Encryption. Those options could be scary for some folks. It'd be good to have a way to reset them if they get changed by somebody who is testing or... whatever... y'know?
Keep up the good work, because this project is fantastic!
The feeling you described about Krux is the same I felt ever since I knew it. The hardware is very well suited for the application, the project architecture and structure were very well thought by Krux's creator, Jeff, and it has a lot of potential to improve.
Yeah, the Maix Amigo in particular is a perfect device for this. With a 3.5 inch touchscreen, text is very easy to see and everything is easy to interact with.
I think if more people discover this project, they'll be shocked by how easy and intuitive it is.