London
16 February 2001
Martinez Sylvain

martinez@encryptsolutions.com
bugs@bcrypt.com
sylvain.martinez@netcourrier.com
martinez@asi.fr

US Mirror:        http://www.encryptsolutions.com
European Mirror:  http://www.bcrypt.com

Unix version. 
Windows 9x/2K/NT : available 
 
lib version  :   4.0.0 - "ARMISTICE"
Unix Package :   4.0.1

          B U G S 

Big and Usefull Great Security 
          V 4.0.1

DYNAMIC CRYPTOGRAPHY ALGORITHM

-------------------------------

       USE THESE PROGRAMS AND LIBRARY AT YOUR OWN RISK !

       I WILL NOT BE RESPONSIBLE FOR ANY POSSIBLE DAMAGE MADE
       WITH THESE PROGRAMS OR LIBRARY.

       THE LIBRARY AND THE APPLICATIONS HAVE BEEN CREATED BY 
       SYLVAIN MARTINEZ. 

			--------------------------------
			DYNAMIC PRIVATE KEY CRYPTOGRAPHY
			--------------------------------


NOTE            [16/02/01]
CONTEST         [19/11/00]
INTRODUCTION    [06/02/01]
CONTENTS        [06/02/01]
GREETINGS       [16/02/01]
INFORMATIONS    [19/11/00]


NOTE 
----

!! THE LIBRARY VERSIONS FROM --- 4.0.0 --- 
   ARE NOT COMPATIBLE WITH THE OLDER VERSIONS !! 

I have been working as a UNIX administrator for a big financial company
in London during the last 3 years. I first worked there as an
IT Security Administrator for a year.
In March 2001 I am going to work as a Unix Consultant in California (USA)
I invite you to go to my personal home page to find all the information
about me (CV, letter of motivation, project, contest, emuls, etc) :
http://www.bcrypt.com  or  http://www.encryptsolutions.com

For the latest information about this project please go to the official
project home page or on my personal home page.

This new version is NOT compatible with the old versions (1.x, 2.x, 3.x).
PLEASE READ THE CHANGES and DEVELOPPER DOC FILES !
as you will have to recompile/change your applications to use this new library. 

The "cryptedtext" file is there for the `make test`
The original file was: "If you can see this BUGS is working !"

This project is "OPEN SOURCE" and under the GNU/GPL License. This means you
can use it for free. However you must respect the following conditions:
(Based on the cryptlib license example)

 - You must give the authors credit in your software and/or documentation:
   Sylvain Martinez

 - If you make any changes to the code, you should send a copy of the changes to
   the author or authors to allow them to integrate them into the code. This is
   to allow a central consistent version to be maintained.

 - Any software you create with this code may not be merely a set or subset of 
   BUGS, with or without minor added functionality or a different interface. 
   In particular you can't distribute BUGS (or any modified form of it) as your
   own encryption product. This is to stop people adding their own wrappers
   and selling it as "their" encryption product.  


CONTEST
-------

There are now 2 contests. 
The previous one (#2) is based on the old algorithm (3.x) and because it 
still hasn't been cracked you still got until August 2001 to have a go.

The new one (#3) is based on the new BUGS 4.x algorithm, the price is also
50 English Pounds.

For more information please read the README file in the contest/ directory


INTRODUCTION
------------

Please read the documentation in the doc/ directory before
asking me questions about the algorithm !

I have just started to give a codename to my library version.
This library version is named "ARMISTICE"
It was supposed to be ready for the 11/11/2000, I was a bit
late ;o) 

This package includes a C library and some sample programs that 
demonstrate that this library is ... powerful !
It has now been tested for years and I received many reports highliting
any weaknesses found. This library has reach a strong security level now.

It is a cryptography library, you can crypt any type of data.
Your key length to crypt is ... unlimited :)
It is a PRIVATE KEY Algorithm.
it is also a DYNAMIC CRYPTOGRAPHY ALGORITHM
I may do later a PUBLIC KEY Algorithm.

You can generate passwords, manage users, hide text in file, 
have a secure chat, etc

In fact, this project became one of my first interest !

Thanks to everybody who've shown me their support !
even a small email is always welcome :O)
thank you !

All the comments are welcome ! 
So please, just let me know what you think about this application,  
and even better, about the crypt algorithm. 

For any comments, bugs report, support, send me an email :
   martinez@encryptsolutions.com
or 
   bugs@bcrypt.com

please, add [BUGS] at the begining of your subject if you 
want a quick answer.


CONTENTS
--------
This package is composed of several tools which crypt data easily
and allow you to make MULTI USERS PROGRAMMS

all programs use the BUGS algorithm written by MARTINEZ SYLVAIN
and the BUGS functions which are in the library : 'bugscrypt.a'

           
-> bugscrypt.a [v4.0.0 - 19/11/00]
   The BUGS crypt library used by my apps.

-> bcrypt [v3.4 - 19/11/00] 
   it's an app which crypts any type of file 

-> bchat [v2.0 - 19/11/00]
   This programm demonstrates the use of the stream crypt function
   It is a basic chat application. It uses the streaming encryption
   function in BUGS. This is secure and pretty stable now ! 
   However more work could be done as I do not check for the identity
   of the client/server... but even if someone could potentialy hijack
   your connection if he doesn't know the password you are using
   he won't be able to send you correct data. 
   Remimber to launch the SERVER FIRST !!

-> bkey [v1.8 03/10/00]
   Used to generate long keys or secure keys.
   These keys can be used after like an input password with
   bcrypt.

-> blogin [v2.4 - 03/10/00]
   Allows you to make multi users applications
   It's important to note that the ^C doesn't work with
   this prog !
   (In fact all signals are stopped)
   So you can can make prog with the S-bit which allow good
   user to go in your directory, copy your files, etc ...

   PLEASE READ THE COMMENTS IN THE SOURCE
   THIS PROGRAM WORKS BUT CAN BE DANGEROUS IF
   YOU DO NOT FOLLOW THE INSTRUCTIONS CAREFULLY

-> bhide [v1.7 - 03/10/00]
   Used to hide some data (eg. cipher text) in a file like
   BMP, JPG, etc

-> bpass [v2.3 - 03/10/00]
   it's like the unix passwd , but that's make a passwd file in
   your directory.
   You can administrate several user

-> bpassdel [v1.7 - 03/10/00]
   Used to remove a user in the password archive file created
   with bpass.

-> block [v1.0 - 11/11/00]
   Used to crypt a file. This is a light version of bcrypt as you cannot
   change the keylength or other parameters.
   This is useful if you want a realy easy to use cryptography application.
   Please read the HOWTO for more information

-> bunlock [v1.0 - 11/11/00]
   Used to decrypt a file crypted by block. This is a light version of bcrypt
   It is the same than doing >bcrypt -u -s cryptedfile -d uncrypted
    
-> bmore [v1.0 - 11/11/00]
   Used to look at a file crypted by block without decrypting the file 
   "physically". Indeed the file is only decrypted into memory and then
   display on the screen. This is a sort of "secure more". Really useful
   if you don't want to keep crypting/decrypting a file.

I've compiled and tested all the prog on LINUX (Mandrake 6.1 - Kernel 2.2.17)
and SOLARIS 2.6

Send your questions, comments and bug reports for bcrypt's package to:
 martinez@encryptsolutions.com
or
 sylvain.martinez@netcourrier.com 

ATTENTION !!! IN SOME COUNTRIES THIS SOFTWARE MAY BE ILLEGAL
SO DON'T USE IT IF YOU ARE NOT ALLOWED...
I WON'T BE RESPONSIBLE IF YOU BADLY USE THESE APPLICATIONS... 


GREETINGS
---------

BIG THANKS TO:
  
  Joanne Ellis: Thanks for your help in the documentation, and for your 
                friendship 

  Simon Huot: Thanks for the really good work you've done on analysing the
              security of BUGS v.3.x 
              You found many weaknesses and gave me a lot of improvement
              ideas. This new version (4.0.0) has been done because of 
              you ! ;o)

  Trevor Tippins: Your comments on my algorithm have been really valuable
                  and really motivated me to carry on improving it !

  GNU Team : Thanks for all your free products !
 
  LINUX team : Computer world without linux ?? ahah let me laugth :)

  KDE's Team : Thanks for your wonderfull and really useful Windows Manager 

  Emanuel Bouvier : For your help in Delphi and your free beers at the madison 
  
  Stephane Guelfo : Your help has been very helpfull many years ago, for 
                    the bits swapping !

  Mr Oswald : Even if I have only 10 minutes to speak when I have a meeting 
              with you about my algorithm (hum ...), thanks for the enhancement
              idea you told me (bits operation part, and some improvements of my
              bilateral swap part) 

  Stephan Legrand : Who sent me a patch for BSD OS.

  Florent Martinez: Thanks for the official bcrypt and BUGS logos !
                    They are great !!!

  Thierry Martinez : The last, but not the least.
                     well, little brother, if you didn't pushed me to do
                     a crypt's algorithm I would have probably never done one.
                     He has created a windows application using the BUGS
                     library it is on the BUGS official web site and it's
                     called: winbugspro
                     Ok, let's speak a bit more :)
                     My little brother is 16 years old, after having reproduced
                     The Windows 95 GUI on his Amiga, an Artificial Intelligence
                     module, a 3d vector drawing convertor is now finishing
                     his own version of DIRECTOR on Windows and his own
                     script language called BABEL...
                     I bet, we will hear about you soon, brother ... 

                     http://members.aol.com/titeam

INFORMATIONS
------------

/*****************************************************************************/
/* MARTINEZ SYLVAIN                                                          */
/* UNIX Consultant                                                           */
/* Passion: Cryptology and Network security                                  */
/* email: martinez@asi.fr, martinez@encryptsolutions.com, bugs@bcrypt.com    */
/* http://www.asi.fr/~martinez                                               */
/* http://www.encryptsolution.com                                            */
/* http://www.bcrypt.com                                                     */
/*                                                                           */
/*                         Bugs, the Guru meditation                         */
/*****************************************************************************/
