Criminal organizations, LOL. They want to scan images and videos, right? A single pic may provide too little space this way, but in a video one can use a few lower bits in every color of every pixel of every frame, and of course the data would be encrypted.
I wouldn't need to write a program for that.
I would convert the image to hide my message in to an XPM image, which is a human-readable format. I would split my message into the portions which I deem sufficient to take from every point. Converting hex rgb colors to binary and back is not hard. I would have to count how many colors I have and which is it for which sequence and which point yadda yadda. Or alternatively I suppose one can use a bit mask in ImageMagick, where I'll have only to combine the source image and the one with my message and the mask (unchanging). I'd then convert that to fucking PNG.
For a video I'd, well, use ffmpeg to split it into frames, then do with each frame as described, then combine them back into a video.
That would require ImageMagick (and ffmpeg if for videos), PGP or OpenSSL, and writing a clumsy slow script to use those.