Broadcast encryption

For questions and discussion that is NOT (I repeat NOT) specific to a certain Operating System.
ema2
New Cone
New Cone
Posts: 2
Joined: 03 Jul 2008 09:44
VLC version: 0.8.6g
Operating System: Linux - Fedora

Broadcast encryption

Postby ema2 » 03 Jul 2008 10:18

Hi,

I'm a completely newbie of vlc/video stream and so on, so please excuse me if I ask for trivial question ;-)

I've yet implemented a broadcast encryption scheme (classic be_enc/be_dec C++ programs) and I'd like to encrypt something more interesting than "hello world" strings.
After some googling, I think working with VLC is the best solution (both client/server, mature code...).

Ok, but where should I place the code!? I mean, the "VLC languange" (mux, demux, sout) is bit complex for me :)
In the following I try to explain my problem, what I'd like is just something like "you should put this here, that there, look that module for an example"... a map, in fact, to orient me within the huge amount of VLC's code.

In principle, I need a place where storing two keys, a session key K and a 'header' H (so called in BE). The first can be any symmetric key (e.g. AES).
Server side, H is computed from K, knowing the set of legitimate users. Client side, from H, by applying BE decryption I get K (of course iff I'm a legitimate user).

I saw MPEG-TS already supports encryption. Can I use its underlying symmetric scheme?
I could put the key H instead of K, then callback my BE decrypt function to compute K from H. Am I right?
Is there any other better solution?

Further, being only a preliminary version, BE is not carefully optimized. So it should be better for my test to have the possibility for a "light" stream, and maybe adjust the "weight" of the stream. I'm sure it's possible, can you point me in the right direction?

Thank you in advance
--
ema

Rémi Denis-Courmont
Developer
Developer
Posts: 15337
Joined: 07 Jun 2004 16:01
VLC version: master
Operating System: Linux
Contact:

Re: Broadcast encryption

Postby Rémi Denis-Courmont » 03 Jul 2008 20:37

The easiest place where to implement encryption and decryption are the access (reads a stream of bytes from an URL) and access output (writes a stream of bytes to an URL). That's how we currently do HTTP/TLS.

But it depends also on the intended usage (protected transmission or protected storage?), and the properties of the cipher. As you mention, MPEG-TS CSA is in the TS muxer and demuxer - this is encryption tied into the MPEG-TS file format. And Secure RTP is done in the RTP access_demux and stream output, as it is completely dependent on the RTP network protocol.
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded

ema2
New Cone
New Cone
Posts: 2
Joined: 03 Jul 2008 09:44
VLC version: 0.8.6g
Operating System: Linux - Fedora

Re: Broadcast encryption

Postby ema2 » 05 Jul 2008 11:16

Thanks a lot!
I need sometime to understand the details (i.e. looking VLC sources)... but I will be back shortly.
bye!
--
ema


Return to “General VLC media player Troubleshooting”

Who is online

Users browsing this forum: No registered users and 15 guests