Step-by-step guide using Vigenère Polyalphabetic Ciphers to encrypt your Mnemonic Seed and prepare it for steganography.

Hi folks,

As of April 2024, the UK police and National Crime Agency were granted new powers to confiscate and destroy cryptocurrency assets, passwords, or hardware wallets without making an arrest:

Police will no longer be required to make an arrest before seizing crypto from a suspect … items that could be used to give information to help an investigation, such as written passwords or memory sticks, can be seized

Whether this will be used to tackle legitimate crime or as an arbitrary blanket procedure to prosecute law-abiding individuals who are concerned about financial privacy is yet to be seen.

What remains is a need for extra precautions to safeguard your Monero.

This is one system that I’ve used and that I want to share with the community.

Thanks

🔗 https://moneromaster.substack.com/p/monero-guide-encrypt-seed

  • @rafael_xmr
    link
    English
    6
    edit-2
    24 days ago

    Great blog! does this have any benefit over a polyseed mnemonic where you also have a secret password? With polyseed as well as BIP39, even if your mnemonic is caught you can use that plain seed as a decoy that opens a fake wallet, while your real seed with your real funds can only be decrypted with the password, and this encrypted mnemonic by hand won’t result in a valid seed so the malicious actor can assume that a valid seed still exists and it still needs to be seized or brute forced?

    I think this method is better when using steganography combined since the mnemonic looks like a blob of nothing when reading the contents of the file, while if an actual seed was used it could reveal there is a Monero seed hidden in that file, but then I think a better encryption method can be used since using digital files loses the benefit of not using a computer?

    https://github.com/tevador/polyseed

    • @MoneroMasterOP
      link
      424 days ago

      Thanks, glad you found something useful in it.

      I’m not sure, I’ll have to look into polyseed. I guess the over all point is to take elements of this and make it your own :)

      My key focus, as you pointed out, was not to use any third-party software or technology. Trying to think of a “worst case scenario” that provides decent encryption while also only needing a memorisation of a short password and a pen/paper. You could write out the Vigenère Table by hand if you really wanted to.

      Next, in this line of thinking, I’ll do something on the Playfair Code which was used by the British during the Boer War and by German spies during WWII

    • nomad
      link
      fedilink
      024 days ago

      Vigenere is old insecure shit. Dont do it.

      • @MoneroMasterOP
        link
        124 days ago

        Yes it is not impervious to brute force-frequency analysis, however it still has it’s uses.

    • Uncle Iroh ☑️
      link
      fedilink
      322 days ago

      @nihilist @MoneroMaster

      If you are forced to decrypt a veracrypt volume on your siezed computer, the very fact that you are using veracrypt is probably enough for law enforcement to presume the existence of a hidden volume.

      You can deny it, sure, but it’s definitely no longer plausible.

      • @nihilist
        link
        1
        edit-2
        21 days ago

        how is it no longer plausible ? pls let me know who managed to prove the existance of a hidden volume and how, as up until now i didnt find anyone that managed to. If there is no proof that the hidden volume exists, you can keep claiming that there is no hidden volume.

    • @MoneroMasterOP
      link
      122 days ago

      Hi Nihilist, I recently saw your Haveno demo on Monero Talk, good job! Thanks for contributing helpful resources to the community, we need more of this.

      One thing I try to keep in mind is that if we get to a stage where governments are holding citizens in embassies without pressing charges for decades, arresting developers for “conspiracy” to commit crimes, etc. then plausible deniability is not really applicable anymore. Plausible deniability assumes courts are seeking justice instead of following orders.

      I’ve recently been studying the GULAG system of the USSR and it’s amazing how everyone knew that their mock trials were a show and that the vast majority of people in the forced labor camps were innocent. The good news is that these types of systems can never endure any significant longevity. Compare the length and legacy of the USSR to the Roman Empire and it’s a laughable comparison.

      That being said, your suggestion for a decoy is a good system to implement for added security indeed. Thanks for sharing Veracrypt, I was not aware of this particular encryption method. I’ll need to compile a list of other encryption systems for people to investigate if they want something more complex/robust as I’ve received a lot of feedback about this.

      It might also be worth considering creating a dummy seed that is kept in a safe, so if a thief was to break in and access it you would have misdirected them from your true seed hidden in another location.

      • @nihilist
        link
        322 days ago

        yea thats the point of having a decoy volume, you claim that the hidden one doesnt exist and that you gave the password. it remains possible until the adversary is able to prove that the hidden volume exists.

  • @LobYonder
    link
    English
    2
    edit-2
    23 days ago

    The first 3 letters are unique for the English seed words, so you just need to encode 25*3 = 75 letters.

    I also think it is worth writing them down in a way that is not obviously a crypto address. You can place 75 letters in a 9x9 square (with maybe some extra dummy letters) that looks like a common word puzzle, eg sudoku or crossword, in a specific order, eg a spiral. You can custom print a template or copy one from eg https://puzzlestream.com/sudoku/blank-grid.php .

    • @MoneroMasterOP
      link
      123 days ago

      Great idea! yes throwing in random and arbitrary letters can strengthen the encryption. Something I was thinking about was replacing spaces with “-[random text]-”

      Example:

      sdfsdf-iuocbff-oiurwqx-afewef-gupioue

      So the true encrypted text would be sdfsdf oiurwqx gupioue with -iuocbff- -afewef- representing spaces.