I have three options for you, along with my two cents on each:<p>1) *Bitwarden:*<p>I am no longer using Bitwarden since they can delete your account at any time for any reason[5].<p>2) *KeePassXC:*<p>For KeePassXC, you need to store your "Passwords.kdbx" (~16 kB) database file somewhere and remember a master password.<p>3) *Spectre (<a href="https://spectre.app/)\\\" rel="nofollow">https://spectre.app/)\\\</a>*<p>I haven't tried it yet; however, Spectre calculates your password each time you need it. All you need is a name (e.g., your full name), your master password (see Diceware[1]), and the site name, from which Spectre algorithmically calculates your password. If you need to change a site's password, iterate the counter and calculate a new password.<p>It works offline and is open source. Here's a web app version that runs locally:<p>[Spectre Web App](<a href="https://spectre.pw/" rel="nofollow">https://spectre.pw/</a>)<p>*Bonus: One-Time Pad + (Layman-ish) Physics:*<p>There are plenty of reasons to be paranoid[2]:<p><pre><code> - Firmware-wise (e.g., Intel Management Engine, Coreboot, Libreboot, system on a chip)
- Hardware-wise (i.e., Von Neumann architecture - Code + Data)
- Operating System-wise
(e.g., 0-click exploits, remote code execution to manipulate the CPU's instruction pointer,
stack overflow, Pegasus)
- Facility-wise (e.g., electromagnetic waves, cell towers, Faraday cloth)
- You (making mistakes)
</code></pre>
Given the above, I would first base everything on "true"[A] randomness (see random.org or roll casino-grade dice). "True" randomness is essentially: "every outcome has the same probability." As long as backward time traveling remains impossible, I would abstain from computers and simply follow the One-Time Pad protocol with a pen and paper, among other things.<p><pre><code> Message: Hello -> ASCII -> Binary
Key: 5EYES (keep this private, must be random)
Cipher: <Message in binary format> XOR <Key in binary format> -> convert back to ASCII
</code></pre>
The above is just one (i.e., XOR) out of many ways to follow the one-time pad protocol. For 128 characters, you need a random number from 0 to 127. However, you need to ensure that each number has the same probability to show up. Perhaps there is a way to encode or "rename" the numbers from 0 to 127 with a string of digits 1, 2, 3, 4, 5, 6 so that you can roll a die multiple times in a row to randomly get a number between 0 to 127 (see Diceware[1]).
One-time pad might be good to encrypt your master password.<p>*References:*<p><pre><code> 1. Diceware, [Wikipedia](https://en.wikipedia.org/wiki/Diceware)
2. CS155 - Computer and Network Security,
[Stanford](https://crypto.stanford.edu/cs155old/cs155-spring18/syllabus.html)
3. [One-time pad - Wikipedia](https://en.wikipedia.org/wiki/One-time_pad)
4. Animated Explanation of the one-time pad, https://www.youtube.com/watch?v=QVV_bUxxiZ8
5. https://tosdr.org/en/service/1348
</code></pre>
*Notes:*<p><pre><code> A) If you assume determinism (because our current "collective bias" leads us that way),
then the quote marks are okay; if not, then not.
Personally, everything seems to be based on assumptions or beliefs anyway (your existence, math, ...),
so I go by "ignorance is bliss."</code></pre>