views:

71

answers:

2

I'm looking for a, preferably open source, library or program to encrypt video in real time for security purposes, not DRM. I've found several decent algorithms, RVEA and VEA, but before I try hacking together an implementation I wanted to see if one already existed or if there was a better way of doing this since these methods are a little old.

+1  A: 

I'd suggest used AES-128 in counted block (not the usual chained block) mode. It's easily done using openssl, and it's available in hardware on most all mobile and CE devices, so those become options should you had that way in the future.

One place it's used is in the chunked HTTP streaming from apple per this spec: http://tools.ietf.org/html/draft-pantos-http-live-streaming-02

Ry4an
A: 

You are a little vague on the requirements, but if you are simply looking for a very fast method of encrypting a stream of data, then RC4 is still not a bad way to go. It is extremely fast; I think it will be faster than any credible block cipher. And you can use an arbitrarily long key.

There seems to be quite a bit of talk about RC4 being "old" and needing to be replaced, but I do not think there are any published breaks of it. Of course, if I were the bad guy who broke it, I probably would keep that bit of information close to my chest and use it for a bit of old-fashioned thieving. So who really knows. The primary issue that I think is published is that you should cycle the s-box for some number of iterations before using the keystream. A pdf describing that statistical weakness is available here.

And this algorithm is available in OpenSSL, which also meets your requirements. I honestly can't say how any of this relates to RVEA; I know nothing about it. A very quick google search turns up mostly hits that require logins to learn about it. Although, one opaque reference seemed to imply that RVEA can use any number of ciphers. Maybe it already supports RC4.

Mark Wilkins