* [RFQ] dm-steg : a deniable encryption module
@ 2025-12-22 17:35 Leo Samulis
2026-01-05 14:56 ` Bryn M. Reeves
2026-01-07 21:26 ` Mikulas Patocka
0 siblings, 2 replies; 5+ messages in thread
From: Leo Samulis @ 2025-12-22 17:35 UTC (permalink / raw)
To: dm-devel
Cc: Alasdair Kergon, Mike Snitzer, Mikulas Patocka,
Marek Marczykowski-Górecki
Hello,
I'm Leo, the author of dm-steg ( https://dmsteg.sourceforge.net/Steg.pdf
), a deniable encryption module for device mapper. It was working nicely
in 2011 but I got caught up in life and never updated it.
What would need to be done for it to be accepted into mainline device
mapper?
Would I simply need to update the code, get it working reliably, and
then submit a patch? Or would the specification and use of crypto
primitives also need to pass a separate cryptography exam?
Thanks in advance,
- Leo
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFQ] dm-steg : a deniable encryption module
2025-12-22 17:35 [RFQ] dm-steg : a deniable encryption module Leo Samulis
@ 2026-01-05 14:56 ` Bryn M. Reeves
2026-01-11 18:22 ` Leo Samulis
2026-01-07 21:26 ` Mikulas Patocka
1 sibling, 1 reply; 5+ messages in thread
From: Bryn M. Reeves @ 2026-01-05 14:56 UTC (permalink / raw)
To: Leo Samulis
Cc: dm-devel, Alasdair Kergon, Mike Snitzer, Mikulas Patocka,
Marek Marczykowski-Górecki
On Tue, Dec 23, 2025 at 01:35:38AM +0800, Leo Samulis wrote:
> I'm Leo, the author of dm-steg ( https://dmsteg.sourceforge.net/Steg.pdf ),
> a deniable encryption module for device mapper. It was working nicely in
> 2011 but I got caught up in life and never updated it.
>
> What would need to be done for it to be accepted into mainline device
> mapper?
Short answer, it will need updating if there are changes to any of the
kernel or device-mapper APIs it uses (which is likely after that length
of time). I've had a look at the code in the git repo and it seems
fairly reasonable from a quick scan.
Things like DMWARN("u wot m8?") definitely need cleaning up before it
would be acceptable upstream.
The docs should be reformatted as RST in the style of the existing DM
docs under Documentation/admin-guide/device-mapper.
> Would I simply need to update the code, get it working reliably, and then
> submit a patch? Or would the specification and use of crypto primitives also
> need to pass a separate cryptography exam?
That should be enough to at least start an RFC thread. There may well be
questions about the crypto and where it belongs (the module is on the
larger side for a DM target, but still smaller than crypt/thin, and
sxts.c will probably raise some questions), userspace interface, docs,
tooling etc. but if you're willing to put the time in to modernise it
that should be enough to get a discussion going.
Regards,
Bryn.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFQ] dm-steg : a deniable encryption module
2025-12-22 17:35 [RFQ] dm-steg : a deniable encryption module Leo Samulis
2026-01-05 14:56 ` Bryn M. Reeves
@ 2026-01-07 21:26 ` Mikulas Patocka
2026-01-11 17:59 ` Leo Samulis
1 sibling, 1 reply; 5+ messages in thread
From: Mikulas Patocka @ 2026-01-07 21:26 UTC (permalink / raw)
To: Leo Samulis
Cc: dm-devel, Alasdair Kergon, Mike Snitzer,
Marek Marczykowski-Górecki, Milan Broz, Bryn M. Reeves
On Tue, 23 Dec 2025, Leo Samulis wrote:
> Hello,
>
> I'm Leo, the author of dm-steg ( https://dmsteg.sourceforge.net/Steg.pdf ), a
> deniable encryption module for device mapper. It was working nicely in 2011
> but I got caught up in life and never updated it.
>
> What would need to be done for it to be accepted into mainline device mapper?
>
> Would I simply need to update the code, get it working reliably, and then
> submit a patch? Or would the specification and use of crypto primitives also
> need to pass a separate cryptography exam?
>
> Thanks in advance,
>
> - Leo
Hi
If it doesn't interfere with other kernel code (i.e. if it's just one or a
few files with no changes elsewhere), it should be quite easy to get it
in. There is no formal verification of cryptography required.
Milan Broz is developing the userspace cryptsetup package, so you can
discuss with him how to integrate it with the existing tools.
I think that (if possible) it would be better to integrate it with
cryptsetup.
Just one big warning - it doesn't work on SSDs!
If the attacker unsolders the flash chips from the SSD and reads them
directly, he can read the mapping table for the blocks. From the mapping
table, he can infer which blocks were written recently.
I.e. if you recently wrote to the hidden area that is supposed to contain
random data, the attacker would know that you wrote there and know how
much data did you write there - he just wouldn't be able to decrypt actual
data.
So, I suggest to either disable it completely on SSDs or print a big
warning that it is not as secure as it is supposed to be.
Mikulas
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFQ] dm-steg : a deniable encryption module
2026-01-07 21:26 ` Mikulas Patocka
@ 2026-01-11 17:59 ` Leo Samulis
0 siblings, 0 replies; 5+ messages in thread
From: Leo Samulis @ 2026-01-11 17:59 UTC (permalink / raw)
To: Mikulas Patocka
Cc: dm-devel, Alasdair Kergon, Mike Snitzer,
Marek Marczykowski-Górecki, Milan Broz, Bryn M. Reeves
On 1/7/26 11:26 PM, Mikulas Patocka wrote:
>
> On Tue, 23 Dec 2025, Leo Samulis wrote:
>
>> Hello,
>>
>> I'm Leo, the author of dm-steg ( https://dmsteg.sourceforge.net/Steg.pdf ), a
>> deniable encryption module for device mapper. It was working nicely in 2011
>> but I got caught up in life and never updated it.
>>
>> What would need to be done for it to be accepted into mainline device mapper?
>>
>> Would I simply need to update the code, get it working reliably, and then
>> submit a patch? Or would the specification and use of crypto primitives also
>> need to pass a separate cryptography exam?
>>
>> Thanks in advance,
>>
>> - Leo
> Hi
>
> If it doesn't interfere with other kernel code (i.e. if it's just one or a
> few files with no changes elsewhere), it should be quite easy to get it
> in. There is no formal verification of cryptography required.
>
> Milan Broz is developing the userspace cryptsetup package, so you can
> discuss with him how to integrate it with the existing tools.
>
> I think that (if possible) it would be better to integrate it with
> cryptsetup.
>
>
> Just one big warning - it doesn't work on SSDs!
>
> If the attacker unsolders the flash chips from the SSD and reads them
> directly, he can read the mapping table for the blocks. From the mapping
> table, he can infer which blocks were written recently.
>
> I.e. if you recently wrote to the hidden area that is supposed to contain
> random data, the attacker would know that you wrote there and know how
> much data did you write there - he just wouldn't be able to decrypt actual
> data.
>
> So, I suggest to either disable it completely on SSDs or print a big
> warning that it is not as secure as it is supposed to be.
>
> Mikulas
>
Hi Mikulas,
Thanks very much for your reply!
Lack of formal verification for cryptography is both a blessing and a
curse. I'll KISS.
Re: Milan Broz, I'm not sure how much traffic you guys like to see on
dm-devel, so I'll drop him a private email. I agree that cryptsetup
integration is the ideal, and I see no reason why it's not possible.
Re: SSDs - I already thought of this. See Section 4.7 Transparent
Aspects @ https://dmsteg.sourceforge.net/Steg.pdf
Thanks,
- Leo
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFQ] dm-steg : a deniable encryption module
2026-01-05 14:56 ` Bryn M. Reeves
@ 2026-01-11 18:22 ` Leo Samulis
0 siblings, 0 replies; 5+ messages in thread
From: Leo Samulis @ 2026-01-11 18:22 UTC (permalink / raw)
To: Bryn M. Reeves
Cc: dm-devel, Alasdair Kergon, Mike Snitzer, Mikulas Patocka,
Marek Marczykowski-Górecki
On 1/5/26 4:56 PM, Bryn M. Reeves wrote:
> On Tue, Dec 23, 2025 at 01:35:38AM +0800, Leo Samulis wrote:
>> I'm Leo, the author of dm-steg ( https://dmsteg.sourceforge.net/Steg.pdf ),
>> a deniable encryption module for device mapper. It was working nicely in
>> 2011 but I got caught up in life and never updated it.
>>
>> What would need to be done for it to be accepted into mainline device
>> mapper?
> Short answer, it will need updating if there are changes to any of the
> kernel or device-mapper APIs it uses (which is likely after that length
> of time). I've had a look at the code in the git repo and it seems
> fairly reasonable from a quick scan.
>
> Things like DMWARN("u wot m8?") definitely need cleaning up before it
> would be acceptable upstream.
>
> The docs should be reformatted as RST in the style of the existing DM
> docs under Documentation/admin-guide/device-mapper.
>
>> Would I simply need to update the code, get it working reliably, and then
>> submit a patch? Or would the specification and use of crypto primitives also
>> need to pass a separate cryptography exam?
> That should be enough to at least start an RFC thread. There may well be
> questions about the crypto and where it belongs (the module is on the
> larger side for a DM target, but still smaller than crypt/thin, and
> sxts.c will probably raise some questions), userspace interface, docs,
> tooling etc. but if you're willing to put the time in to modernise it
> that should be enough to get a discussion going.
>
> Regards,
> Bryn.
>
Hi Bryn,
Don't worry, I am expecting quite a lot of changes after 14 years :-D
Noted about docs reformatting.
Re: sxtc.c : it's a cryptographically valid optimization, but I agree it
would be more acceptable to use AES-XTS.
Thanks for skimming the code - yeah, I'll definitely get it polished
before I submit. At the moment, I'm just feeling out how difficult it's
going to be to get it accepted into mainstream and whether it's an easy
thing to do without getting bogged down in politics.
Thanks,
- Leo
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-01-11 18:23 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-22 17:35 [RFQ] dm-steg : a deniable encryption module Leo Samulis
2026-01-05 14:56 ` Bryn M. Reeves
2026-01-11 18:22 ` Leo Samulis
2026-01-07 21:26 ` Mikulas Patocka
2026-01-11 17:59 ` Leo Samulis
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.