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

📄 wnstorm.doc

📁 数据隐藏程序
💻 DOC
📖 第 1 页 / 共 3 页
字号:
			    White Noise Storm (tm)
	  Copyright (C) 1992,1993,1994 by Ray (Arsen) Arachelian
	  All Rights Reserved, General Technical Data Restricted.

Software License:

	  This software is subject to the following license. Any use
	  or  distribution of this  software indicates  agreement to
	  this license.

	  This  software may  be  freely  distributed  by  any means,
	  on any media as long  as it is distributed  completly along
	  with all its supporting files (documentation, etc.) without
	  modifications.   This  program may  not be sold, in part or
	  whole without the express permission of the author, however
	  the media on which this program  is distributed may be sold
	  (as in a  shareware collection, etc.)  as long as no  money
	  is  specifically charged for this software.  This  software
	  is hereby  distributed  as freeware and no shareware fee is
	  requested for its use.

	  Due to ITAR export  restrictions on cryptographic software,
	  this software may not be exported out of the  United States
	  of  America  until  such  time  as  these restrictions  are
	  removed.

	  Modifications of this program may be distributed so long as
	  the  copyright notices  are left  intact, and the  modified
	  version(s) of this software are marked as such.  The author
	  of this  software retains  the  copyright and all rights to
	  any modified  version of  this software.  Modifications  of
	  this software are not copyrightable by others.

	  The source code of this  program may not be included in any
	  other  software  packages, in  part  or whole  without  the
	  expressly written authorization of the author.  Please feel
	  free to  contact the author  if you would like  to use this
	  code in your programs as I would most likely grant you that
	  right.

	  The  author is not  resposible  for any damage(s) or losses
	  occuring  from  the  use  of this  product, or  any  errors
	  contained  within  this software and/or its  documentation.
	  This program is distributed "as is" and the user uses it at
	  his/her  own  risk.   The author  disclaims all warranties,
	  express  or  implied,  and may not be held liable  for  any
	  damages  or  consequences  arising  from  the  use of  this
	  software.

	  Should  any part of this license be found invalid, it  will
	  not  invalidate  the  whole license,  but  rather only that
	  part.

	  The names "White Noise Storm", "WNSTORM" and "WNINJECT" are
	  trade marks of the author refrerring to this software.  Any
	  commercial  products  mentioned  in  this software and this
	  document  maybe trademarks, copyrighted, or owned  by their
	  respective owners.

			     - LICENSE -
-
USAGE:
=======

WNSTORM {COMMAND} PLAINTEXT CYPHERTEXT PASSKEY {OPTIONS}

The possible commands are

  E - Encrypt  (IE: WNSTORM E MYTEXT.TXT MYCRYPT.TXT "MyPasskey Phrase"


  D - Decrypt  (IE: WNSTORM E MYTEXT.TXT MYCRYPT.TXT "MyPasskey Phrase"


The Plaintext is the file pathname of the plaintext file to encryt.
The Cyphertext is the file pathname of the output file.

The Passkey is the passkey (password) to encrypt/decrypt the file
with.  If this is to contain spaces, you should put quotes around it
as shown in the examples.

The possible options are:

 -Sx Max Window Size: This option sets the maximum window size for
		      the encryption.  If you specify the -N option,
		      you must provide this option for the decryption.
		      -S5 is the default, -S3 is the minimum, -S31
		      is the maximum.  This option has a large effect
		      on the size of your cyphertext.  -S10 will give
		      you a cyphertext of approximatly five times the
		      original plaintext.

 -N  No Header:       This option implements the stealth mode which
		      removes the signature header from an encryption.
		      To decrypt a stealth mode cyphertext, you must
		      append the -N option and the -Sx option if one
		      was provided durring encryption.  Without the
		      header WNSTORM cannot know what -S option was
		      choses, though it will default to 5.

 -V  View Statistics: This option will only work for encryption, and
		      will display several screens of statistics
		      when the operation is completed.

 -T  Trace:           This option will provide a detailed channel
		      by channel trace of the bit locations as the
		      plaintext is encrypted or recovered.

 -B  BitFix:          This option will invoke a statistical bit fix
		      command that will fix up the number of 1 or 0
		      bits (and possibly their values) in a window
		      which were replaced by the cyphertext bits.
		      This option will only work for encryption.





				- USAGE 1 -


 -RF:file RND file    This option will let WNSTORM use a datafile
		      whose name is specified instead of the
		      random number function.  The file should be
		      large enough to hold all the cyphertext that
		      WNSTORM will insert in the stream.  A good
		      measure will be the size of the plaintext
		      file multiplied by the half of the maximum
		      window size specified by the -S option. This
		      option is useful for steganographic processing
		      of the lower bits of a sound, image, etc.


 -RD:dev  RNG device  This option is similar to the -RF option,
		      however instead of a file, the data is to
		      come from a device "dev".  For instance if
		      you had a random number generator attached
		      to the COM1 device that returns random
		      numbers at a rate of 2400 bps, which you'd
		      like WNSTORM to use instead of the Borland
		      C rand() function, you should use
		      -RD:COM1:2400 as an option.

 -O                   Old method.  Encrypt a file using the old
		      method from version 1.01.

Steganography is the science of hiding information in a medium where it
will not be noticed.  For instance durring WWI and WWII, it was illegal
for a childs like drawing to be mailed or passed from person to person,
because it could contain hidden meanings or symbols.  A classic example
of this is a child's drawing of a ship on water.  Since the water can
be a set of wavy broken lines, some long, some short, it can contain
Morse code!  WNSTORM is useful in aiding steganography.

For Stegonography, you will also need two programs that remove the least
significant bytes of a picture, sound or movie file, (or least significant
bits if an abundance of data is available,) and put them in a file.

You would then use that file as your source of random numbers using the
-RF:filename -N, and -Sx options.  You'd then take the cyphertext produced
by WNSTORM and inject it back into the least significant bytes (or bits) of
your picture, sound, movie, etc.  The person receiving the file would then
use the same program to extract the LSB's from the picture, sound, movie,
etc. and use WNSTORM to decrypt your hidden message.

I and possibly others, will write short remove/inject programs for various
data formats for sounds and images such as PCX, TIFF, VOX, AIFF, etc which
could be used with WNSTORM.









			    - USAGE 2 -


White Noise is the name given to the sounds one would hear if he tuned in
to a radio or tv station that was not transmitting anything.  Hence
in computer terms White Noise simply means random data, not containing
any meaning what so ever.

The principle behind White Noise Storm Encryption mentioned from here
on as WNSTORM is hiding encrypted data inside a storm of random data.

The system consists of active data channels, which following a certain
formula will constantly switch themselves within a window of x characters.

The size of this window will also varry based on one of the data channels
called "command."  The command channel contains hidden commands for the
next pass.  The commands are simply decisions which change one of the
channels or the size of the command window in the next data window.

In simple English the command channel commands mean one of the below:

 For the next window, the first data channel will be xxxx
 For the next window, the second data channel will be xxxx, etc.
 For the next window, the command channel will be xxxx
 For the next window, swap the xth data channel with the yth data channel.
 For the next window, rotate, swap, interlace, the data channels.
 For the next window, the window size will be xxxx characters long.

In this version of the program, the data is recursivly encrypted.
Although the source code may not show recursion, the data is encrypted with
the password, a passkey code which is  derived from the password, the
position of the current password letter, and the past decrypted password key.

For each window, the data stream is first "seeded" with random garbage
data, the character is encrypted, the command channel is chosen, and
the encrypted character is then split up into eight data channels.  Each
of these data channels contains one bit of the plaintext character.

Since each data character is encrypted with the previous data character
as well, if decryption fails for one character, all future characters to
be decrypted will also fail, thus producing garbage.

The simple data pre-encryption scheme of encoding the text with the
passkey and the previous character may be replaced or fortified by other
formal data encryption methods such as DES, IDEA, RSA, etc.

The size of the character window, the command channel, and the data channels,
are chosen before the encryption begins, with a function called "seedpassword"
which uses the password and the passkey (which it generates based on the
password.)  Thus if a wrong password is chosen, the channels, window size,
location of the eight data channels, and future positioning of these
channels will not match, and decryption will not be possible.







			    - Theory 1 -



Further more, while the data channel bits may not overlap one another,
several of these may occupy the same byte.  For added security, the
command channel is actually the whole window, random numbers included.
The reason for this is to prevent an attack where the cyphertext is
modified bit by bit to reveal which bits are used.  In other words,
every bit in the window is used.

Thus we need at least two characters for a minimum window size to generate
a window: the eight data bit channels, the command channel.   However,
for security reasons, probability would show that if we were to use the
minimum size window, it would be fairly easy to usea brute force method
to figure out which channels do what.  Therefore the minimum window size
limit this software uses is 3 bytes, so that we allow the possibility for
the window to change between 2 and 3.

Also there is the possibility that when the window size changes, we may
have one channel (data or command) which would move outside the range of
the new window size as can be seen in figure 3, pass 4 and pass 5.  In
such a case, the command decypher code (figure 1,2) will also correct
this error by moving the channel so that it would fit within the window.

Figures 1 and 2 on this page show block diagrams of the operations performed
for encryption and decryption.



      ENCRYPTION DIAGRAM:                   DECRYPTION DIAGRAM:

===============================     =====================================

 [ seed password &  ]                   [  seed password &   ]
 [ select channels  ]                   [  select channels   ]
	 |                                       |<-----------------+
 [ seed window with ]                   [   read window      ]      |
 [ random data      ]                            |                  |
	 |<-----------------+           [ Join data channels ]      |
 [ read a character ]       |                    |                  |
	 |                  |           [ Decrypt character  ]      ^
 [    encrypt it    ]       |                    |                  |
	 |                  |           [   Write character  ]      |
 [ split it into the]       |                    |                  |
 [  data channels   ]       ^           [  Decypher command  ]      |
	 |                  |           [  and select new    ]      ^
 [Write the window  ]       |           [channels or window  ]      |
	 |                  |           [size.               ]      |
 [Decypher command  ]       |                    |                  |
 [and select new    ]       |                    |                  |
 [channels or window]       ^                    +---------->-------+

⌨️ 快捷键说明

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