Visual Cryptography v1.0, (C) Copyright 1995-6 Jouko Holopainen.

See below for description of the software.

####

1) DISCLAIMER:

This is COPYRIGHT software. It is *NOT* Public Domain. It is Freeware.

  "Program", below, refers to this (visual) distribution.

  You may copy and distribute verbatim copies of this Program as you receive
it, in any medium, provided that you keep intact all copyright notices, mark
any changes made by you CLEARLY as such and allways include full source code.

  You may modify your copy or copies of the Program or any portion of it, and
copy and distribute such modifications under the terms above, provided that
you keep this file (README) intact.

  Please send corrections, etc. to me.

####

2) NO WARRANTY

English:

  If the program fucks you up, its your problem.

Legal:

  BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
THE PROGRAM. THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM
"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF
THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE
COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  IN NO EVENT WILL THE COPYRIGHT HOLDERS, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT
LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED
BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

####

What is visual? Visual is one-time pad cryptosystem which
uses human visual system to decipher. This implementation
is NOT one-time pad, and (thus) not secure. However, as
this program does not attempt to be too secure, but rather
"surprising" it does it's jub quite well.


Usage: pict3 in1 in2 in3 out

where
 in1 = input (pgm) picture as seen on first transparent (or paper)
 in2 = input (pgm) picture as seen on second transparent (or paper)
 in3 = hidden (pgm) picture, can be seen when transparent 1 and transparent 2
       are stacked.
 out = output PostScript file name

Example: pict3 m.pgm l.pgm k.pgm out.ps
         ghostview out.ps
         Zoom appropriately.
         Edit out.ps. Do following changes:
           "%%Pages: 2"  -> "%%Pages: 1"
           " showpage"   -> "% showpage"
           "%%Page: 2 2" -> "% %%Page: 2 2"
         Reload the picture.

####

Installing: Just compile the C program. It is ANSI C.

####

References:
"Visual cryptography", Moni Naor and Adi Shamir; Advances in Cryptology - 
EUROCRYPT '94, Lecture notes in Computer Science 950; Springer 1995

If I used "perfect" random numbers instead of rand(), the third
picture would be fully hidden in information theoretic sense,
i.e. pictures 1 and 2 alone have zero information of picture 3.

The output adheres to PostScript(r) Level 2 and DSC Version 3.0.

####

  19960514 (jhol@gnosis.pp.fi)

  Jouko Holopainen
  Purjehtijantie 4 A 10
  FIN-90560 Oulu
  FINLAND

##

PostScript is a registered trademark of Adobe Systems Incorporated.
