⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hide4pgp.doc

📁 把信息隐藏到图片中
💻 DOC
📖 第 1 页 / 共 2 页
字号:
Hide4PGP v2.0 - third public version Feb 10, 2000copyrighted software by Heinz Repp, Germany                 email: Heinz.Repp@online.deContents:1 - Introduction2 - Commandline Parameters3 - Technical4 - Sourcecode5 - Other Sources6 - History7 - Legal Stuff1 - IntroductionThe idea of writing this program arose with the public discussion oflimiting or disallowing cryptography for the public, as in France,upcoming also in the US and Germany. The tradeoff is to makeencrypted data invisible by hiding them in other files - this iscalled steganography. As encrypted data themselves already resemblepure (white) noise they should only add some extra noise to otherdata. Henry Hastur was one of the first to add a little program(Stealth) to the PGP distribution (Pretty Good Privacy by PhilZimmermann) to remove (and later add) the PGP header leaving behindpure white noise. I use PGP since years, so I had PGP and Stealth inmind when planning to write this program. Stealth acts like a UNIXfilter, so my program should receive or send the encryted data from/toa pipe. It also works with I/O-redirection ('<' and '>' on thecommandline). Unlike other available steganography programs it has noown encryption. I think that PGP itself is unbreakable, additionalencryption doesn't make it any stronger. In the contrary: adding anown cipher adds a header that can be traced. Imagine extractingevery 1, 2, ... least significant bits and looking there for knownheader structures or coded end of file marks. PGP files treated withStealth have no such weakness. Additionally Hide4PGP transforms thehidden data in a very simple fashion I call 'scrambling' to make themlook more 'noisy' even when using plaintext or repeated characterpatterns.I also had some look at White Noise Storm (tm) by Ray Arachelian andSteganos v1.4 by Fabian Hansmann. Steganos came closest to what Iwanted, and the choice of VOC, WAV and BMP files for steganography wasinspired by it. Both programs did a good job with real quantitativedata, that means true color bitmaps. Greyscale pictures sometimesmake problems, and 256 colors palette BMP usually show dramaticchanges. What is the reason?  Pixels in 8 bit bitmaps do not holda colors but indeces to a color table, the palette. Changing theleast significant bit with real quantitative data makes a differenceof 1 in a range of 255, less than 0.4%, 2 bits mean 3 out of 255or 1.2% - still hard to recognize. Changing 1 bit with palettesentries means a different (maybe opposite) color. Greyscale picturesalso have a palette. Often this palette contains grey 'colors' instrictly ascending order of brightness making the palette indicesresemble true gray values, but sometimes that palette too isarbitrarily mixed.The first versions of Hide4PGP tried to cope with these circumstancesby rearranging the palette pairs of similar colors, and duplicatingfrequent colors to unused palette positions. In mid 1999 Luke Natrajpresented me the program 'Spyder' he had written together with afriend, Philip Tellis. It works only on palettized bitmaps, but thisit did markedly better than Hide4PGP. The idea was to assign theinformation bits to the palette colors, and then coding each pixel bitby leaving it unchanged or changing it to the most similar color withopposite bit assignment. This is much more favourable than the pairingI did before, because the partner colors need not be mutual norexclusive, and this allows choosing better suited partner colors.With permission of Luke Natraj I integrated his algorithm intoHide4PGP combining it with Hide4PGP's color matching using CIE L*a*b*color space and different criteria for assinging bit values. Theresult is further enhanced by slight changes to the palette colorsto undo partly the pixel color changes - here Hide4PGP uses alsodifferent calculations than Spyder.And that is what has come of it: a program that handles OS/2 1.x,Windows 3.x or OS/2 2.x uncompressed single image bitmaps with 256 or16.7 mio colors, WAV with 8, 12 or 16 bit uncompressed mono or stereosound samples and 8 bit VOC files. I decided to support only bitmapsbecause nearly every graphics program can read and write it, and it iseasy to convert the bitmaps into another graphics format after thesteganographic process. The same is true for audio programs and WAVfiles. When converting to another format it is necessary that ifcompression is used it must not be lossy, so JPEG or MP3 don't work,but GIF, TIFF, ...  do. With the new algorithm for palettized bitmapsthe preservation of the palette order is no longer required. Thisallows using most of the pictures e.g. in the WWW / Internet forsteganography. Use the GIF's of your Homepage ...2 - Commandline ParametersThe syntax is simple: Hide4PGP needs always a multimedia file to workon (BMP, WAV, or VOC), optionally a file name for the hidden data andoptionally some switches. It does not depend on the proper fileextension for the multimedia file: Hide4PGP recognizes the format bythe header, not by the name. If no file name for the secret data isspecified, they are read from the standard input, usually thekeyboard, resp. sent to the standard output, usually the screen. Inboth cases you may redirect in- or output to a pipe ('|' symbol) ora file (with the '<' or '>' symbol). An example with PGP and Stealthin series may explain this:pgp -ef user-ID < file-2-hide | stealth | Hide4PGP datafileencrypts the file <file-2-hide> for the receiver <user-ID>, thenremoves the header information leaving behind pure pseudo random data,and hides those in the <datafile>. Alternatively you may specifyHide4PGP datafile secret.datto hide secret.dat in datafile.Hide4pgp -x datafile | stealth -a user-ID | pgp -f > decrypted-fileextracts the data previously stored in <datafile>, then adds a headerfor <user-ID>, decrypts the file and stores the plaintext data in<decrypted-file>. Hint: when using PGP for decryption in filter modeyou must set PGPPASS to your passphrase in advance (or use the -zswitch)!  Alternatively,Hide4PGP -x datafile secret.datextracts the data to secrets.dat.Options or switches may be anywhere on the commandline, starting with'-' or '/'. Options may be in any order and case, and separate orcombined. Legal options are:h or ?          Help; if Hide4PGP finds this option, it shows a help                page with short description of all parameters and                terminates.i               Info; display some characteristics of the multimedia                file and the maximum number of bytes that may be                hidden withinv               Verbose: gives detailed information about the data                file and the steganographic process.q               Quiet: suppresses all output except reports of fatal                error situations that lead to program abort (UNIX                style: say nothing as long everything is o.k.).x               eXtract; the default action is hiding.n...            Not; n together with another character turns a feature                off; see belownf              do Not Fake File modication timestamp; by default                Hide4PGP changes the multimedia timestamp to the value                it had before it wrote to it; this option turns it offnc              do Not Change Colors (256 colors BMP only); by default                Hide4PGP optimizes the palette colors to make the                picture appear similar to how it looked before; this                option turns this behaviour off; note that there is                ALWAYS a change in the least significant bit of one                channel of some palette colors to store the bit                assignments!u/nu            use more/No UnUsed palette entries (256 colors BMP                only); if a bitmap does not use all palette entries,                Hide4PGP by default takes some of the unused entries                and copies colors to them for which it could not find                adequate partners otherwise. Usually this is only                necessary in rare cases; the 'u' switch lets Hide4PGP                use more of these otherwise unused entries (it raises                the criterias for what it regards as 'adequate                partner'); 'nu' suppresses the use of unused palette                entries completelyThe only file needed for the operation is the executable for youroperating system. You might wish to copy it to a directory in yourPATH.The batch files for DOS, OS/2 and Windows NT were provided as aconvenience for users who feel uncomfortable with the pipe/streamingsyntax of Hide4PGP. The version 2.0 of Hide4PGP has the alternativesyntax already built in. For those used to these batch files they arestill included. You can think of these batch commands as a variant ofthe COPY command. To hide <file 1> in <file 2> use  Hide <file 1> <file 2> [options ...]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -