Security of key reuse with dm-crypt in plain mode?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
3
down vote

favorite












Are there, from a cryptanalysis point of view, security drawbacks when reusing the same key for different volumes in dm-crypt plain mode with cypher aes-xts-plain64?



# Example: Encrypt two volumes with the same key

cryptsetup --type plain --cipher=aes-xts-plain64 --key-size=256 --key-file mykey open /dev/sda myvol1
cryptsetup --type plain --cipher=aes-xts-plain64 --key-size=256 --key-file mykey open /dev/sdb myvol2


I'm only considering practical cases where less than, say, 100 volumes are encrypted with the same key.










share|improve this question



























    up vote
    3
    down vote

    favorite












    Are there, from a cryptanalysis point of view, security drawbacks when reusing the same key for different volumes in dm-crypt plain mode with cypher aes-xts-plain64?



    # Example: Encrypt two volumes with the same key

    cryptsetup --type plain --cipher=aes-xts-plain64 --key-size=256 --key-file mykey open /dev/sda myvol1
    cryptsetup --type plain --cipher=aes-xts-plain64 --key-size=256 --key-file mykey open /dev/sdb myvol2


    I'm only considering practical cases where less than, say, 100 volumes are encrypted with the same key.










    share|improve this question

























      up vote
      3
      down vote

      favorite









      up vote
      3
      down vote

      favorite











      Are there, from a cryptanalysis point of view, security drawbacks when reusing the same key for different volumes in dm-crypt plain mode with cypher aes-xts-plain64?



      # Example: Encrypt two volumes with the same key

      cryptsetup --type plain --cipher=aes-xts-plain64 --key-size=256 --key-file mykey open /dev/sda myvol1
      cryptsetup --type plain --cipher=aes-xts-plain64 --key-size=256 --key-file mykey open /dev/sdb myvol2


      I'm only considering practical cases where less than, say, 100 volumes are encrypted with the same key.










      share|improve this question















      Are there, from a cryptanalysis point of view, security drawbacks when reusing the same key for different volumes in dm-crypt plain mode with cypher aes-xts-plain64?



      # Example: Encrypt two volumes with the same key

      cryptsetup --type plain --cipher=aes-xts-plain64 --key-size=256 --key-file mykey open /dev/sda myvol1
      cryptsetup --type plain --cipher=aes-xts-plain64 --key-size=256 --key-file mykey open /dev/sdb myvol2


      I'm only considering practical cases where less than, say, 100 volumes are encrypted with the same key.







      dm-crypt






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Sep 7 at 23:29

























      asked Sep 7 at 22:25









      ens

      1274




      1274




















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          4
          down vote



          accepted










          Well, this isn't security stackexchange and I'm not a cryptography expert, but on the face of things:



          Alice unencrypted:



          00000000 48 65 6c 6c 6f 20 6d 79 20 6e 61 6d 65 20 69 73 |Hello my name is|
          00000010 20 41 6c 69 63 65 0a 00 00 00 00 00 00 00 00 00 | Alice..........|
          00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|


          Bobby unencrypted:



          00000000 48 65 6c 6c 6f 20 6d 79 20 6e 61 6d 65 20 69 73 |Hello my name is|
          00000010 20 42 6f 62 62 79 0a 00 00 00 00 00 00 00 00 00 | Bobby..........|
          00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|


          Both encrypted with the same (master) key, aes-xts-plain64:



          Alice000 8f 04 35 fc 9f cb 5d c8 af da ae 78 cd e5 64 3d |..5...]....x..d=|
          Bobby000 8f 04 35 fc 9f cb 5d c8 af da ae 78 cd e5 64 3d |..5...]....x..d=|
          Alice010 4f d3 99 77 7b c1 2c 8d ff 9b 4d 55 da a3 9b e2 |O..w{.,...MU....|
          Bobby010 12 d6 ad 17 74 50 4d 08 8c 38 22 40 98 a7 14 99 |....tPM..8"@....|
          Alice020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
          Bobby020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|


          So - just from the looks of it, one problem is that identical offset and plaintext (for each 16-byte-block) results in identical ciphertext. If the plaintext differs, so does the ciphertext. In some situations this is may be more revealing than revealing free space.



          Another problem is that you can copy ciphertext from one drive to another, and have it decrypt to meaningful data — but on the wrong drive. Normally, if you mess with ciphertext, all you ever get when you decrypt is random garbage, but re-using the masterkey will simply give you more valid ciphertext to work with.



          So, completely artificial example, if you have a user who doesn't know the key, but somehow has access to a file stored on this system, and is able to copy ciphertext from one drive to another - normally not possible but let's just assume it is so. They could write a big file full of nonsense, figure out where this file is allocated on disk, then copy the data from the other drives over. And then see another drives data in plaintext when reading their file back in.



          Altogether, it's just an unnecessary headache when it's so easy to use a unique key for each disk. Even if you derive that key from a shared master key, using a hash function or whatever. Although there's no reason for that either. You can just use multiple keyfiles, or read multiple keys from a single file using --keyfile-offset, --keyfile-size options.



          LUKS is supposed to help you avoid various pitfalls. Unless you deliberately clone the header, it always uses a different, random master key for each container, even if you use the same passphrase for them.




          Also a bit of a note on your choice of cipher, aes-xts-plain64. This used to be called aes-xts-plain. And everything was fine until devices larger than 2TiB came about... with aes-xts-plain, ciphertext repeats every 2TiB which is basically the same problem as reusing the same master key.



          This was fixed with aes-xts-plain64, but some blogs/wikis still recommend the old one, or old containers are kept and grown along with new harddrives, so some people end up using the wrong one to this day...






          share|improve this answer






















          • Better than mine. +1
            – Fabby
            Sep 7 at 23:47










          • That's what I suspected, thanks a lot for checking it and for the great extra info! Also note that vol1_cyphertext XOR vol2_cyphertext = vol1_plaintext XOR vol2_plaintext (the identical AES streams cancel each other out), so the encryption is severely compromised.
            – ens
            Sep 8 at 21:01







          • 1




            @ens plaintext xor ends with ... 00 00 00, ciphertext xor ends with ... 04 8f 7b. Add a third disk it's ... ff 8a 12. So that still seems random. I think the canceling-out happens when using AES only without additional XTS cipher, but don't quote me on that.
            – frostschutz
            Sep 8 at 21:17











          Your Answer







          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "106"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: false,
          noModals: false,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f467636%2fsecurity-of-key-reuse-with-dm-crypt-in-plain-mode%23new-answer', 'question_page');

          );

          Post as a guest






























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          4
          down vote



          accepted










          Well, this isn't security stackexchange and I'm not a cryptography expert, but on the face of things:



          Alice unencrypted:



          00000000 48 65 6c 6c 6f 20 6d 79 20 6e 61 6d 65 20 69 73 |Hello my name is|
          00000010 20 41 6c 69 63 65 0a 00 00 00 00 00 00 00 00 00 | Alice..........|
          00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|


          Bobby unencrypted:



          00000000 48 65 6c 6c 6f 20 6d 79 20 6e 61 6d 65 20 69 73 |Hello my name is|
          00000010 20 42 6f 62 62 79 0a 00 00 00 00 00 00 00 00 00 | Bobby..........|
          00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|


          Both encrypted with the same (master) key, aes-xts-plain64:



          Alice000 8f 04 35 fc 9f cb 5d c8 af da ae 78 cd e5 64 3d |..5...]....x..d=|
          Bobby000 8f 04 35 fc 9f cb 5d c8 af da ae 78 cd e5 64 3d |..5...]....x..d=|
          Alice010 4f d3 99 77 7b c1 2c 8d ff 9b 4d 55 da a3 9b e2 |O..w{.,...MU....|
          Bobby010 12 d6 ad 17 74 50 4d 08 8c 38 22 40 98 a7 14 99 |....tPM..8"@....|
          Alice020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
          Bobby020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|


          So - just from the looks of it, one problem is that identical offset and plaintext (for each 16-byte-block) results in identical ciphertext. If the plaintext differs, so does the ciphertext. In some situations this is may be more revealing than revealing free space.



          Another problem is that you can copy ciphertext from one drive to another, and have it decrypt to meaningful data — but on the wrong drive. Normally, if you mess with ciphertext, all you ever get when you decrypt is random garbage, but re-using the masterkey will simply give you more valid ciphertext to work with.



          So, completely artificial example, if you have a user who doesn't know the key, but somehow has access to a file stored on this system, and is able to copy ciphertext from one drive to another - normally not possible but let's just assume it is so. They could write a big file full of nonsense, figure out where this file is allocated on disk, then copy the data from the other drives over. And then see another drives data in plaintext when reading their file back in.



          Altogether, it's just an unnecessary headache when it's so easy to use a unique key for each disk. Even if you derive that key from a shared master key, using a hash function or whatever. Although there's no reason for that either. You can just use multiple keyfiles, or read multiple keys from a single file using --keyfile-offset, --keyfile-size options.



          LUKS is supposed to help you avoid various pitfalls. Unless you deliberately clone the header, it always uses a different, random master key for each container, even if you use the same passphrase for them.




          Also a bit of a note on your choice of cipher, aes-xts-plain64. This used to be called aes-xts-plain. And everything was fine until devices larger than 2TiB came about... with aes-xts-plain, ciphertext repeats every 2TiB which is basically the same problem as reusing the same master key.



          This was fixed with aes-xts-plain64, but some blogs/wikis still recommend the old one, or old containers are kept and grown along with new harddrives, so some people end up using the wrong one to this day...






          share|improve this answer






















          • Better than mine. +1
            – Fabby
            Sep 7 at 23:47










          • That's what I suspected, thanks a lot for checking it and for the great extra info! Also note that vol1_cyphertext XOR vol2_cyphertext = vol1_plaintext XOR vol2_plaintext (the identical AES streams cancel each other out), so the encryption is severely compromised.
            – ens
            Sep 8 at 21:01







          • 1




            @ens plaintext xor ends with ... 00 00 00, ciphertext xor ends with ... 04 8f 7b. Add a third disk it's ... ff 8a 12. So that still seems random. I think the canceling-out happens when using AES only without additional XTS cipher, but don't quote me on that.
            – frostschutz
            Sep 8 at 21:17















          up vote
          4
          down vote



          accepted










          Well, this isn't security stackexchange and I'm not a cryptography expert, but on the face of things:



          Alice unencrypted:



          00000000 48 65 6c 6c 6f 20 6d 79 20 6e 61 6d 65 20 69 73 |Hello my name is|
          00000010 20 41 6c 69 63 65 0a 00 00 00 00 00 00 00 00 00 | Alice..........|
          00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|


          Bobby unencrypted:



          00000000 48 65 6c 6c 6f 20 6d 79 20 6e 61 6d 65 20 69 73 |Hello my name is|
          00000010 20 42 6f 62 62 79 0a 00 00 00 00 00 00 00 00 00 | Bobby..........|
          00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|


          Both encrypted with the same (master) key, aes-xts-plain64:



          Alice000 8f 04 35 fc 9f cb 5d c8 af da ae 78 cd e5 64 3d |..5...]....x..d=|
          Bobby000 8f 04 35 fc 9f cb 5d c8 af da ae 78 cd e5 64 3d |..5...]....x..d=|
          Alice010 4f d3 99 77 7b c1 2c 8d ff 9b 4d 55 da a3 9b e2 |O..w{.,...MU....|
          Bobby010 12 d6 ad 17 74 50 4d 08 8c 38 22 40 98 a7 14 99 |....tPM..8"@....|
          Alice020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
          Bobby020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|


          So - just from the looks of it, one problem is that identical offset and plaintext (for each 16-byte-block) results in identical ciphertext. If the plaintext differs, so does the ciphertext. In some situations this is may be more revealing than revealing free space.



          Another problem is that you can copy ciphertext from one drive to another, and have it decrypt to meaningful data — but on the wrong drive. Normally, if you mess with ciphertext, all you ever get when you decrypt is random garbage, but re-using the masterkey will simply give you more valid ciphertext to work with.



          So, completely artificial example, if you have a user who doesn't know the key, but somehow has access to a file stored on this system, and is able to copy ciphertext from one drive to another - normally not possible but let's just assume it is so. They could write a big file full of nonsense, figure out where this file is allocated on disk, then copy the data from the other drives over. And then see another drives data in plaintext when reading their file back in.



          Altogether, it's just an unnecessary headache when it's so easy to use a unique key for each disk. Even if you derive that key from a shared master key, using a hash function or whatever. Although there's no reason for that either. You can just use multiple keyfiles, or read multiple keys from a single file using --keyfile-offset, --keyfile-size options.



          LUKS is supposed to help you avoid various pitfalls. Unless you deliberately clone the header, it always uses a different, random master key for each container, even if you use the same passphrase for them.




          Also a bit of a note on your choice of cipher, aes-xts-plain64. This used to be called aes-xts-plain. And everything was fine until devices larger than 2TiB came about... with aes-xts-plain, ciphertext repeats every 2TiB which is basically the same problem as reusing the same master key.



          This was fixed with aes-xts-plain64, but some blogs/wikis still recommend the old one, or old containers are kept and grown along with new harddrives, so some people end up using the wrong one to this day...






          share|improve this answer






















          • Better than mine. +1
            – Fabby
            Sep 7 at 23:47










          • That's what I suspected, thanks a lot for checking it and for the great extra info! Also note that vol1_cyphertext XOR vol2_cyphertext = vol1_plaintext XOR vol2_plaintext (the identical AES streams cancel each other out), so the encryption is severely compromised.
            – ens
            Sep 8 at 21:01







          • 1




            @ens plaintext xor ends with ... 00 00 00, ciphertext xor ends with ... 04 8f 7b. Add a third disk it's ... ff 8a 12. So that still seems random. I think the canceling-out happens when using AES only without additional XTS cipher, but don't quote me on that.
            – frostschutz
            Sep 8 at 21:17













          up vote
          4
          down vote



          accepted







          up vote
          4
          down vote



          accepted






          Well, this isn't security stackexchange and I'm not a cryptography expert, but on the face of things:



          Alice unencrypted:



          00000000 48 65 6c 6c 6f 20 6d 79 20 6e 61 6d 65 20 69 73 |Hello my name is|
          00000010 20 41 6c 69 63 65 0a 00 00 00 00 00 00 00 00 00 | Alice..........|
          00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|


          Bobby unencrypted:



          00000000 48 65 6c 6c 6f 20 6d 79 20 6e 61 6d 65 20 69 73 |Hello my name is|
          00000010 20 42 6f 62 62 79 0a 00 00 00 00 00 00 00 00 00 | Bobby..........|
          00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|


          Both encrypted with the same (master) key, aes-xts-plain64:



          Alice000 8f 04 35 fc 9f cb 5d c8 af da ae 78 cd e5 64 3d |..5...]....x..d=|
          Bobby000 8f 04 35 fc 9f cb 5d c8 af da ae 78 cd e5 64 3d |..5...]....x..d=|
          Alice010 4f d3 99 77 7b c1 2c 8d ff 9b 4d 55 da a3 9b e2 |O..w{.,...MU....|
          Bobby010 12 d6 ad 17 74 50 4d 08 8c 38 22 40 98 a7 14 99 |....tPM..8"@....|
          Alice020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
          Bobby020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|


          So - just from the looks of it, one problem is that identical offset and plaintext (for each 16-byte-block) results in identical ciphertext. If the plaintext differs, so does the ciphertext. In some situations this is may be more revealing than revealing free space.



          Another problem is that you can copy ciphertext from one drive to another, and have it decrypt to meaningful data — but on the wrong drive. Normally, if you mess with ciphertext, all you ever get when you decrypt is random garbage, but re-using the masterkey will simply give you more valid ciphertext to work with.



          So, completely artificial example, if you have a user who doesn't know the key, but somehow has access to a file stored on this system, and is able to copy ciphertext from one drive to another - normally not possible but let's just assume it is so. They could write a big file full of nonsense, figure out where this file is allocated on disk, then copy the data from the other drives over. And then see another drives data in plaintext when reading their file back in.



          Altogether, it's just an unnecessary headache when it's so easy to use a unique key for each disk. Even if you derive that key from a shared master key, using a hash function or whatever. Although there's no reason for that either. You can just use multiple keyfiles, or read multiple keys from a single file using --keyfile-offset, --keyfile-size options.



          LUKS is supposed to help you avoid various pitfalls. Unless you deliberately clone the header, it always uses a different, random master key for each container, even if you use the same passphrase for them.




          Also a bit of a note on your choice of cipher, aes-xts-plain64. This used to be called aes-xts-plain. And everything was fine until devices larger than 2TiB came about... with aes-xts-plain, ciphertext repeats every 2TiB which is basically the same problem as reusing the same master key.



          This was fixed with aes-xts-plain64, but some blogs/wikis still recommend the old one, or old containers are kept and grown along with new harddrives, so some people end up using the wrong one to this day...






          share|improve this answer














          Well, this isn't security stackexchange and I'm not a cryptography expert, but on the face of things:



          Alice unencrypted:



          00000000 48 65 6c 6c 6f 20 6d 79 20 6e 61 6d 65 20 69 73 |Hello my name is|
          00000010 20 41 6c 69 63 65 0a 00 00 00 00 00 00 00 00 00 | Alice..........|
          00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|


          Bobby unencrypted:



          00000000 48 65 6c 6c 6f 20 6d 79 20 6e 61 6d 65 20 69 73 |Hello my name is|
          00000010 20 42 6f 62 62 79 0a 00 00 00 00 00 00 00 00 00 | Bobby..........|
          00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|


          Both encrypted with the same (master) key, aes-xts-plain64:



          Alice000 8f 04 35 fc 9f cb 5d c8 af da ae 78 cd e5 64 3d |..5...]....x..d=|
          Bobby000 8f 04 35 fc 9f cb 5d c8 af da ae 78 cd e5 64 3d |..5...]....x..d=|
          Alice010 4f d3 99 77 7b c1 2c 8d ff 9b 4d 55 da a3 9b e2 |O..w{.,...MU....|
          Bobby010 12 d6 ad 17 74 50 4d 08 8c 38 22 40 98 a7 14 99 |....tPM..8"@....|
          Alice020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
          Bobby020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|


          So - just from the looks of it, one problem is that identical offset and plaintext (for each 16-byte-block) results in identical ciphertext. If the plaintext differs, so does the ciphertext. In some situations this is may be more revealing than revealing free space.



          Another problem is that you can copy ciphertext from one drive to another, and have it decrypt to meaningful data — but on the wrong drive. Normally, if you mess with ciphertext, all you ever get when you decrypt is random garbage, but re-using the masterkey will simply give you more valid ciphertext to work with.



          So, completely artificial example, if you have a user who doesn't know the key, but somehow has access to a file stored on this system, and is able to copy ciphertext from one drive to another - normally not possible but let's just assume it is so. They could write a big file full of nonsense, figure out where this file is allocated on disk, then copy the data from the other drives over. And then see another drives data in plaintext when reading their file back in.



          Altogether, it's just an unnecessary headache when it's so easy to use a unique key for each disk. Even if you derive that key from a shared master key, using a hash function or whatever. Although there's no reason for that either. You can just use multiple keyfiles, or read multiple keys from a single file using --keyfile-offset, --keyfile-size options.



          LUKS is supposed to help you avoid various pitfalls. Unless you deliberately clone the header, it always uses a different, random master key for each container, even if you use the same passphrase for them.




          Also a bit of a note on your choice of cipher, aes-xts-plain64. This used to be called aes-xts-plain. And everything was fine until devices larger than 2TiB came about... with aes-xts-plain, ciphertext repeats every 2TiB which is basically the same problem as reusing the same master key.



          This was fixed with aes-xts-plain64, but some blogs/wikis still recommend the old one, or old containers are kept and grown along with new harddrives, so some people end up using the wrong one to this day...







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Sep 8 at 8:35

























          answered Sep 7 at 23:40









          frostschutz

          24.7k14777




          24.7k14777











          • Better than mine. +1
            – Fabby
            Sep 7 at 23:47










          • That's what I suspected, thanks a lot for checking it and for the great extra info! Also note that vol1_cyphertext XOR vol2_cyphertext = vol1_plaintext XOR vol2_plaintext (the identical AES streams cancel each other out), so the encryption is severely compromised.
            – ens
            Sep 8 at 21:01







          • 1




            @ens plaintext xor ends with ... 00 00 00, ciphertext xor ends with ... 04 8f 7b. Add a third disk it's ... ff 8a 12. So that still seems random. I think the canceling-out happens when using AES only without additional XTS cipher, but don't quote me on that.
            – frostschutz
            Sep 8 at 21:17

















          • Better than mine. +1
            – Fabby
            Sep 7 at 23:47










          • That's what I suspected, thanks a lot for checking it and for the great extra info! Also note that vol1_cyphertext XOR vol2_cyphertext = vol1_plaintext XOR vol2_plaintext (the identical AES streams cancel each other out), so the encryption is severely compromised.
            – ens
            Sep 8 at 21:01







          • 1




            @ens plaintext xor ends with ... 00 00 00, ciphertext xor ends with ... 04 8f 7b. Add a third disk it's ... ff 8a 12. So that still seems random. I think the canceling-out happens when using AES only without additional XTS cipher, but don't quote me on that.
            – frostschutz
            Sep 8 at 21:17
















          Better than mine. +1
          – Fabby
          Sep 7 at 23:47




          Better than mine. +1
          – Fabby
          Sep 7 at 23:47












          That's what I suspected, thanks a lot for checking it and for the great extra info! Also note that vol1_cyphertext XOR vol2_cyphertext = vol1_plaintext XOR vol2_plaintext (the identical AES streams cancel each other out), so the encryption is severely compromised.
          – ens
          Sep 8 at 21:01





          That's what I suspected, thanks a lot for checking it and for the great extra info! Also note that vol1_cyphertext XOR vol2_cyphertext = vol1_plaintext XOR vol2_plaintext (the identical AES streams cancel each other out), so the encryption is severely compromised.
          – ens
          Sep 8 at 21:01





          1




          1




          @ens plaintext xor ends with ... 00 00 00, ciphertext xor ends with ... 04 8f 7b. Add a third disk it's ... ff 8a 12. So that still seems random. I think the canceling-out happens when using AES only without additional XTS cipher, but don't quote me on that.
          – frostschutz
          Sep 8 at 21:17





          @ens plaintext xor ends with ... 00 00 00, ciphertext xor ends with ... 04 8f 7b. Add a third disk it's ... ff 8a 12. So that still seems random. I think the canceling-out happens when using AES only without additional XTS cipher, but don't quote me on that.
          – frostschutz
          Sep 8 at 21:17


















           

          draft saved


          draft discarded















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f467636%2fsecurity-of-key-reuse-with-dm-crypt-in-plain-mode%23new-answer', 'question_page');

          );

          Post as a guest













































































          Popular posts from this blog

          How to check contact read email or not when send email to Individual?

          Bahrain

          Postfix configuration issue with fips on centos 7; mailgun relay