9breaker@kscys291.com


Multipass

x86 .C ARM
Slightly overdue, but perfectly functional as a CLI alpha for a password manager. Includes my BitLocker fix, as well as Argon2 encryption for future proofing in the quantum era. It took longer than expected due to me biting off more than I could chew regarding XPlatforming with a single .c file for now, as well as encryption with sodium which turned out to be more challenging than I thought with some truly bizarre syntax quirks. I was reinventing the wheel with my own less secure system that would have had very little protection against brute force, even after I had removed one if its tendencies towards its version of hash collision, until I decided to simply go with established standards. I set myself a new target for the end of the month so I guess I can say I am ahead of schedule. The very first version of multipass from 2007-2008 had no encryption and seeded the built in RNG with the time, and used a modulus operator for character conversion. Anyone who knows about security can tell you this was not the best idea, but I think I can cut myself some slack as it was my first original, useful program. I aim to improve functionality - hiding user password input etc - and optimize code such as the excessively large arrays as I build the GUI as the middle stage of development. The final stage will be browser integration, before I move on to my main project. Since it contains my BLfix I will repeat its instructions here. For the program itself, I would just put it in a directory with write permissions so it can create the vault without problems since it uses CWD.

Instructions for setting a new key, and deleting old ones

Download the correct version for your architecture, x86 for Intel/AMD, ARM for Qualcomm, or if you don't trust me, compile the source code yourself.

Run the program, it does not require admin privileges, but setting new Rkeys does so then...

Run the following commands as ADMINISTRATOR - manage-bde -protectors -add C: -RecoveryPassword "8x6RKey"
Replacing C: with the drive letter (if different) and "8x6RKey" with the key generated by my program

Verify the new key was added with manage-bde -protectors -get C:
This lists all protectors (old and new). The new recovery key should appear with its Key Protector ID (GUID).

For each unwanted protector ID, run: manage-bde -protectors -delete C: -id {GUID}
Replacing {GUID} with the identifier shown in the previous step.

Confirm Only Your New Key Remains - manage-bde -protectors -get C:

That's it. As long as you are able to access a copy of this program on a separate device, you do not need to store this key in any insecure medium, such as paper, USB, or your oh-so-secure Microsoft account. I considered putting the Rkey implementation into the program itself, but I was concerned it could result in firewall action due to its attempt to access security features as admin.