Cryptography-Digest Digest #786, Volume #11      Tue, 16 May 00 04:13:01 EDT

Contents:
  About using Crypto++ Library ("Oceanic Lin")
  Re: MASK offers tiered security for CipherText ... ("C. Prichard")
  Re: Unbreakable encryption. (Boris Kazak)
  Re: Fradulent "Cyberscrub" statements regarding Evidence Eliminator Software ("Hiram 
Yaeger")
  Re: Actually, my experience and then postings since the fall of 1999 provide an 
excellent behavior study - the Game of General ... ("Joseph Ashwood")
  Re: Definition of "Broken" Cipher ("Joseph Ashwood")
  Re: (May 11, 2000) Cipher Contest Update ("Joseph Ashwood")
  Re: (May 11, 2000) Cipher Contest Update ("Joseph Ashwood")
  Re: (May 11, 2000) Cipher Contest Update (Scott Contini)
  Re: MASK offers NEW tier of security for CipherText ... ("C. Prichard")
  Re: Definition of "Broken" Cipher ("Adam Durana")
  Re: Destructive crypting (Runu Knips)
  Re: (May 11, 2000) Cipher Contest Update (Runu Knips)
  Re: What is a good Encryption program?? (Runu Knips)
  Re: Yet another sci.crypt cipher (Runu Knips)
  Re: Unbreakable encryption. ("C. Prichard")

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

From: "Oceanic Lin" <[EMAIL PROTECTED]>
Subject: About using Crypto++ Library
Date: Tue, 16 May 2000 11:21:00 +0800

I am using the crypto++ library with BCB5 on Windows2000.
I need to generate pseudo random number by BBS generator,
but now I don't how to use it generating,
could anyone used show me an example about using BlumBlumShub?
Thanks.



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

From: "C. Prichard" <[EMAIL PROTECTED]>
Subject: Re: MASK offers tiered security for CipherText ...
Date: Tue, 16 May 2000 04:05:32 GMT

# CipherText::MASK.pm;
#
# Charles Prichard 00-05-15
#
# Builds a 1024 byte mask for CipherText.
# Example shows possible use with mask key and encipher method.
#
# EXAMPLE:

# ENCRYPTION

# $mask_key =3D '12345678';

# use CipherText::MASK;
# use CipherText::CipherTextII;

# $CTXT =3D new CipherText::MASK();

# $params =3D "MODE=3DLEVEL II;KEY=3D".$mask_key;
# $CTXT2 =3D new CipherText::CipherTextII( $params );
# $mask =3D $CTXT->build_mask(); #this will just be get_mask returning a =
string.
# $mask =3D $CTXT2->encipher($mask);
=20
# (1024 byte MASK is ready)

# $params =3D "MODE=3DLEVEL II;KEY=3D".$mask;
# $CTXT2 =3D new CipherText::CipherTextII( $params );
# $MSG =3D $CTXT2->encipher($MSG);

# $MSG has now been encrypted with base-key-altered 1024 byte MASK.
# MASKED output now has greater diversity than normal CipherText.

# DECRYPTION is identical except that 'decipher' is used rather than =
'encipher.'

package CipherText::MASK;

$CipherText_MASKPackage =3D "CipherText::MASK";
$CipherText_MASKPackage::Version =3D 000515;
$::MASK =3D $CipherText_MASKPackage;

#   Reserve Filter in the main namespace
*MASK::=3D\CipherText::MASK;
#################################################
# Sub new                   #
#################################################
sub new(){
=20
    my $self =3D shift;
   =20
    $self =3D bless {};

    $self;
   =20
}
#################################################
# Sub build_mask                  #
#################################################
sub build_mask(){
=20
     my $self =3D shift;
=20
     my $self{'MASK'} =3D "";

     my $key;
   =20
     for(my $x=3D0; $x < 1024; $x++){
       =20
        $key =3D int(rand(96));
       =20
        $self{'MASK'} .=3D chr(ord($key + 0x1f));
    =20
     }
return $self{'MASK'};
}

Whether this is legal or not remains to be seen.

Charles Prichard
www.greentv.com




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

From: Boris Kazak <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Subject: Re: Unbreakable encryption.
Date: Tue, 16 May 2000 04:25:55 GMT



[EMAIL PROTECTED] wrote:
> 
> I think I will have to explain more for you to understand.
> There are some basic things that you are either not
> familiar with, or I have to be more detailed in my
> explaination.
> 
> In math there are problem domains called NP and NP Hard.
> I think most people are used to everything being linear.
> 
> Like this...
> 
**************** 
> Sent via Deja.com http://www.deja.com/
> Before you buy.
==============================
  Dear aspiring cryptographer!
Will you please stop this verbal diarrhea and give people 
some information about your algorithm.
  1. If your algorithm is _intractable_ and defies any
program description, how do you implement it?
  2. More important, in absense of firm orderly rules,
how is the recepient supposed to decrypt? Dynamically,
based on his own intuition and high fantasy? Ho-Ho...
  3. If a program and rules exist, publish them for
us to look at, then we will express our opinions.

Best wishes             BNK

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

From: "Hiram Yaeger" <no@email>
Subject: Re: Fradulent "Cyberscrub" statements regarding Evidence Eliminator Software
Date: Mon, 15 May 2000 15:43:05 -0700
Crossposted-To: alt.privacy,alt.security.pgp,comp.security.firewalls

"EE Support" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> A new USA company named "Cyberscrub" attempts to re-sell an old
> Romanian secure-delete program named East-Tec Erasor from a new
> Atlanta, Georgia Website.
>
> Cyberscrub's web site uses a fraudulent comparison chart, claiming
> falsely that our Evidence Eliminator software lacks many of it's
> features, which it does in fact provide in full.
>
> These false statements have been archived on our web site and are
> available for public viewing with our options on the motives of the
> Cyberscrub operation.
>
> Full details and factual proofs are available via:
>
>
http://www.evidence-eliminator.com/spamming-101/how-to-spam-newsgroups/makin
g-them-hate-your-product.shtml
>
> Cheers,
> --
> Regards,
> EE Support
> [EMAIL PROTECTED] (remove NO_SP_AM for e-mail)
> http://www.evidence-eliminator.com/

Out of curiousity, why do you feel the need to post this spam here?  You use
a spam filter on your email address, as though it were something you wished
to avoid, and at the same time you propagate it here.

If this is the kind of character you have, I wonder how the programmer
fares.



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

From: "Joseph Ashwood" <[EMAIL PROTECTED]>
Subject: Re: Actually, my experience and then postings since the fall of 1999 provide 
an excellent behavior study - the Game of General ...
Date: Mon, 15 May 2000 21:05:51 -0700
Crossposted-To: soc.culture.usa,soc.culture.soviet


"Felix Alton Marz" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> You know this all seems like a big joke, but I have a
sneaking suspicion
> that this guy is only half kidding.
Take a look at any psycho ward, you'll find that most every
one of them is convinced they're for real. This should not
be taken as an absolute about Markku, but not always does
not kidding mean you should take them seriously.
                    Joe



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

From: "Joseph Ashwood" <[EMAIL PROTECTED]>
Subject: Re: Definition of "Broken" Cipher
Date: Mon, 15 May 2000 21:18:55 -0700

Funny, just a couple messages ago you said 2^50 was a good
security margin.

"Let's be realistic, getting 2^50 pairs of
plaintext/ciphertext is not
possible for two reasons.  a) Bandwidth, b) smart people
re-key their
ciphers."
versus
> No you are wrong, single des is hopelessly useless now.
The key is
> much too small, it's an ugly algorithm, not to mention
slow.

So somehow miraculously 2^50 is more secure than 2^56?
Perhaps you should rethink your stand.
                Joe



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

From: "Joseph Ashwood" <[EMAIL PROTECTED]>
Subject: Re: (May 11, 2000) Cipher Contest Update
Date: Mon, 15 May 2000 20:58:43 -0700

Actually, the problem as I see it, comes from two very
important problems, for absolute security of the block size
the following MUST be true:
1) The key space must be large enough to generate ALL
permutations of the block space, simply put the output space
factorial. (Otherwise not all blocks can be generated form a
single input)
2) The key space must be an exact multiple of the output
space.(otherwise blocks would not be equally likely given an
input)
Give these it is a simple observation to note that (2^n)*m
!= k! for any values of n > 1, m > 3, k>3.
This gives us an output space of exactly 3 values, far fewer
than the 2^64 for even a minimal cipher. Therefore, if the
current rules stand, I would ask that any submissions be
removed, based on the fact that it has been proven that
there is an attack better than brute force. If you would
like to change the rules, go ahead, I'm basically just here
as stress relief, I may yet fully implement my algorithm.
                    Joe

<[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> I do not agree with this definition of "breaking" a
cipher. The stipulation that
> there cannot be any attack faster than brute force is
arbitrary. If brute force
> attack takes N steps than any attack that takes N -
epsilon, epsilon > 0 is
> considered as "breaking" the cipher. I think a cipher
should be considered
> unbroken if recovering the plaintext is computationally
infeasible.
>
> If a cipher A with 128 bit key can be deciphered with
computational effort
> equivalent to brute force attack at 127-bit cipher, and
127-bit cipher B cannot
> be broken by any means other than brute force, but cipher
B takes 10 times as
> much time to encrypt/decrypt than A, then A is a better
cipher.
>
> Stream ciphers can have such a large state space that the
number of key bits can
> be set arbitrarily.
>
> Joseph Poe
>
> Adam Durana wrote:
>
> > I am going to start doing periodical postings about the
contest.  Right now
> > there are five ciphers in the listing.  The one at the
top of the list is
> > LETSIEF2, which was submitted April 7th.  The original
LETSIEF was
> > successfully analyzed by Matthew Fisher.  Matthew Fisher
has submitted a
> > cipher called VORTEX and it is in second place at the
moment.  Next there is
> > another cipher from the author of the LETSIEF ciphers,
Boris Kazak, named
> > MMBOOZE.  Next in fourth place is PIKACHU and LJA1, by
Tom St Denis and
> > Andru Luvisi respectively.  These two ciphers were
submitted today (May
> > 11th).
> >
> > Ciphers are removed from the listing once they have been
broken.  Anyone can
> > participate in the contest.  Everything you need to know
to get your
> > submission together is at
http://www.wizard.net/~echo/crypto-contest.html
> > Take a look at some of the other submissions for a
better idea of what a
> > submission should look like.
> >
> > I would like to define on the web site what it means to
break a cipher, so
> > the cipher is removed from the listing.  Right now all
the page states is
> > that to get a cipher removed the attack has to be on the
full version of the
> > cipher, i.e. no reduced round variants.  I would define
a successful attack
> > as an attack which is able to recover the plaintext, or
key from the
> > ciphertext, with less work than brute force.  Now if the
key space was say
> > 1024 bits, and attack came up that would recover the key
or plain text with
> > 2^1000 work, should that still be considered an attack
good enough to get
> > the cipher removed?  Obviously no one is going to be
able to actually use
> > that attack for a while, if ever.  But I think when
someone publishes a
> > cipher for analysis, they are saying that the only
attack they can come up
> > with is brute force.  Any attack better than that would
be a break through.
> > So if an attack arises that can recover the key or
plaintext faster than
> > brute force, I think that attack should get the cipher
removed from the
> > listing.  Keep in mind this is a contest of cipher
design.
> >
> > - Adam
>
>
>



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

From: "Joseph Ashwood" <[EMAIL PROTECTED]>
Subject: Re: (May 11, 2000) Cipher Contest Update
Date: Mon, 15 May 2000 21:01:01 -0700

> I disagree with that definition. RC6, for example, accepts
keys
> of any size.
Actually I believe RC6 only accepts key up to 1040 bits.
                Joe



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

From: [EMAIL PROTECTED] (Scott Contini)
Subject: Re: (May 11, 2000) Cipher Contest Update
Date: 16 May 2000 06:25:20 GMT

In article <u#d$ovuv$GA.252@cpmsnbbsa03>,
Joseph Ashwood <[EMAIL PROTECTED]> wrote:
>> I disagree with that definition. RC6, for example, accepts
>keys
>> of any size.
>Actually I believe RC6 only accepts key up to 1040 bits.
>                Joe
>
>

The key schedule of RC6 accepts keys up to 2040 bits.
If a key is used up to 44*32 = 1408 bits, then the fastest
attack known on RC6 is exhaustive key search.  For keys of size
1408 to 2040 bits, you can do exhaustive search on the 44 S-words
in time 2^1408.

Actually, I think there is a meet-in-the-middle attack that discovers
the S-words in 2^704 effort using around 2^700 bytes of memory.

Anyway, for up to 704-bit keys the fastest theoretical attack is
exhaustive search on the key space.

Scott


-- 
Hi! I'm a signature virus! Copy me into your signature file to help me spread!


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

From: "C. Prichard" <[EMAIL PROTECTED]>
Subject: Re: MASK offers NEW tier of security for CipherText ...
Date: Tue, 16 May 2000 06:27:04 GMT

The following is an example of how CipherText can be easily masked using =
a 1024 byte cipher sequence:=20

CLIENT SIDE ALGORITHM

FIRST DO KEY EXCHANGE TO OBTAIN A SESSION MASK KEY

# $mask_key =3D '12345678';

# THEN PREPARE TO DO USER ENCRYPTION

# use CipherText::MASK;
# use CipherText::CipherTextII;

# ENCRYPT MESSAGE

# $params =3D "MODE=3DLEVEL II;KEY=3D".$userkey;
# $CTXT2 =3D new CipherText::CipherTextII( $params );
# $MSG =3D $CTXT2->encipher($MSG);

# Message ciphered with userkey.

# GET MASK ORDINATES

# $CTXT =3D new CipherText::MASK();
# @mask =3D $CTXT->get_mask(); #this will just be get_mask returning an =
array.

# PREPARE TO CIPHER MASK WITH MASK KEY

# $params =3D "MODE=3DLEVEL II;KEY=3D".$mask_key;
# $CTXT2 =3D new CipherText::CipherTextII( $params );

# CONVERT MASK KEY TO STRING

# foreach $_ (@mask){
=20
# $mask .=3D chr($_);

# }

# CIPHER MASK WITH MASK KEY

# $mask =3D $CTXT2->encipher($mask);
=20
# (1024 byte MASK is ready)

# APPLY MASK KEY TO MESSAGE

# $params =3D "MODE=3DPGP;KEY=3D".$mask;
# $CTXT2 =3D new CipherText::CipherTextII( $params );
# $MSG =3D $CTXT2->encipher($MSG);

# $MSG has now been encrypted with base-key-altered 1024 byte MASK.
# MASKED output now has greater diversity than normal CipherText.

An applet to Perl server demonstration will soon be made to demonstrate =
the necessary key exchange and the perceived effect of masking =
CipherText's output on efficiency and message integrity. As expected, =
the masked output will be transmittable using the default HTTP protocol =
without conversion.


Charles Prichard
www.greentv.com





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

From: "Adam Durana" <[EMAIL PROTECTED]>
Subject: Re: Definition of "Broken" Cipher
Date: Tue, 16 May 2000 02:59:08 -0400


He's saying 2^50 pairs of ciphertexts and plaintexts.  He's not saying 2^50
work.  If each block was 1 byte, he's saying to break the cipher would
require 2^50 bytes of plaintext and the 2^50 bytes of corresponding
ciphertext.  Now 2^50 bytes is 1024 terabytes.  That's a lot of plaintext.

For the purposes of this contest I think it is very fair to define breaking
a cipher as finding an attack that can find the plaintext or key faster than
brute force.  This is not AES, it is just a contest for fun.  Also this
contest is just as much about analysis as it is about cipher design, and if
someone finds an attack which is better than brute force their efforts
should most definitely be rewarded by having the cipher in question removed.

- Adam

"Joseph Ashwood" <[EMAIL PROTECTED]> wrote in message
news:#weKTGvv$GA.232@cpmsnbbsa04...
> Funny, just a couple messages ago you said 2^50 was a good
> security margin.
>
> "Let's be realistic, getting 2^50 pairs of
> plaintext/ciphertext is not
> possible for two reasons.  a) Bandwidth, b) smart people
> re-key their
> ciphers."
> versus
> > No you are wrong, single des is hopelessly useless now.
> The key is
> > much too small, it's an ugly algorithm, not to mention
> slow.
>
> So somehow miraculously 2^50 is more secure than 2^56?
> Perhaps you should rethink your stand.
>                 Joe
>
>



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

Date: Tue, 16 May 2000 09:00:16 +0200
From: Runu Knips <[EMAIL PROTECTED]>
Subject: Re: Destructive crypting

Daniel Åkerud wrote:
> I need to know of a good (worldwide accepted) one-way crypt algorithm (like
> the linux crypt()) that you can use in commercial applications. (Yes, i am
> willing to pay a license, if it doesn't cost _too_ much).

Use SHA-1 or RIPE MD 160 for that purpose. AFAIK No other
algorithm is considered secure at the moment. There will
be a SHA-2 soon.

Btw, I like that name "Destructive crypting" ;-)

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

Date: Tue, 16 May 2000 09:11:20 +0200
From: Runu Knips <[EMAIL PROTECTED]>
Subject: Re: (May 11, 2000) Cipher Contest Update

Scott Contini wrote:
> In article <u#d$ovuv$GA.252@cpmsnbbsa03>, Joseph Ashwood <[EMAIL PROTECTED]> 
>wrote:
> > I wrote:
> > > I disagree with that definition. RC6, for example, accepts keys
> > > of any size.
> > 
> > Actually I believe RC6 only accepts key up to 1040 bits.
>
> The key schedule of RC6 accepts keys up to 2040 bits.
> If a key is used up to 44*32 = 1408 bits, then the fastest
> attack known on RC6 is exhaustive key search.  For keys of size
> 1408 to 2040 bits, you can do exhaustive search on the 44 S-words
> in time 2^1408.
> 
> Actually, I think there is a meet-in-the-middle attack that discovers
> the S-words in 2^704 effort using around 2^700 bytes of memory.
> 
> Anyway, for up to 704-bit keys the fastest theoretical attack is
> exhaustive search on the key space.

According to the paper of RC6 which is in front of my nose, it
accepts any key size (see page 20, especially the expression
v = 3*max (c, 2r+4), where c is the size of the key). Its of
course a little bit useless to give it 10 MB of key data, and
many implementations might stop earlier (especially the
implementation by Brian Gladman, which is okay because its for
AES which only has to work with 128, 192 and 256 bits) you
actually did that, but it is possible. Just like with RC5.

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

Date: Tue, 16 May 2000 09:22:31 +0200
From: Runu Knips <[EMAIL PROTECTED]>
Subject: Re: What is a good Encryption program??

Lee Herfel wrote:
> 
> I just want to encrypt a text file and un encrypt it readily and have it
> be secure.  What public programs are available that would do this? 

I would recommend PGP (www.pgp.org) or in nearer future GnuPG
(www.gpg.org).

> I have dl'ed one from CNET.com that has DES encryption,

Should that read 'downloaded' ? Funny acronym ...

> I thought I had
> read that that was breakable....
> Any help would be appreciated, my email is [EMAIL PROTECTED]

True, it has a 56 bit key which is too small for modern processor
speeds. Even if that can't be called "broken" in the ordinary
way.

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

Date: Tue, 16 May 2000 09:27:29 +0200
From: Runu Knips <[EMAIL PROTECTED]>
Subject: Re: Yet another sci.crypt cipher

Tom St Denis wrote:
> In article <[EMAIL PROTECTED]>,
>   Runu Knips <[EMAIL PROTECTED]> wrote:
> > Tom St Denis wrote:
> > > I sincerely with all my being hate the keyschedule I put into that
> > > cipher.
> > Whow. So much hate on a little innocent expression... which is IMHO
> > really nifty.
> Well the F function is nifty, but the original 'x + y + j mod 16'
> sucked the big time.  It didn't use the key bytes evenly...

Oh sorry I only checked your new version.

> > > [...] I am kinda scrapping the bottom of the barallel for a good key
> > > schedule.  Basically I want some permutation of 0..15 that is
> algebraic
> > > and takes three inputs (x, y, j) where (x, j) belong to 0..7 and (j)
> > > belongs to 0..15.
> >
> > The thing I don't like about your kF() is that x doesn't influence
> > bit 4 and y doesn't influence bit 1.
> 
> That's impossible todo evenly since x/y are 3 bits each.

Agreed.

> I am still looking for better kF() functions... (smaller and
> possibly without sboxes...)

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

From: "C. Prichard" <[EMAIL PROTECTED]>
Subject: Re: Unbreakable encryption.
Date: Tue, 16 May 2000 06:48:50 GMT

This is a multi-part message in MIME format.

=======_NextPart_000_0016_01BFBED8.C4C4ABE0
Content-Type: text/plain;
        charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable

# Builds a 1024 byte mask for CipherText.
#
# EXAMPLE:

# ENCRYPTION

# $mask_key =3D '12345678';

# use CipherText::MASK;
# use CipherText::CipherTextII;

# $params =3D "MODE=3DLEVEL II;KEY=3D".$userkey;
# $CTXT2 =3D new CipherText::CipherTextII( $params );
# $MSG =3D $CTXT2->encipher($MSG);

# Message ciphered with userkey.

# $CTXT =3D new CipherText::MASK();

# $params =3D "MODE=3DLEVEL II;KEY=3D".$mask_key;
# $CTXT2 =3D new CipherText::CipherTextII( $params );
# @mask =3D $CTXT->get_mask(); #this will just be get_mask returning an =
array.

# foreach $_ (@mask){ # This work-around for escaping characters.
=20
# $mask .=3D chr($_);

# }

# $mask =3D $CTXT2->encipher($mask);
=20
# (1024 byte MASK is ready)

# $params =3D "MODE=3DPGP;KEY=3D".$mask;
# $CTXT2 =3D new CipherText::CipherTextII( $params );
# $MSG =3D $CTXT2->encipher($MSG);

# $MSG has now been encrypted with base-key-altered 1024 byte MASK.
# MASKED output now has much greater diversity than plain CipherText and =
is
# described by 7 bits of every byte making it compatible with the =
default transfer=20
# protocol.

Its amazing that I left the PGP single pass mode in the algorithm so I =
can apply the MASK.

Thats what it is used for,, applying the prepared MASK.

With the MASK, CipherText's strength is dramatically improved. The =
exposed weakness is in the key exchange where the mask key could get =
intercepted,, however the second line of defense, CipherText's =
encryption using the supplied userkey, is considerable to be reckoned.

The user of the system has no perception of the masking or the MASK key. =
That part is done automatically by the system.

The only problem is that there are probably about ten patents already =
protecting this scheme.

Charles Prichard
www.greentv.com



=======_NextPart_000_0016_01BFBED8.C4C4ABE0
Content-Type: application/octet-stream;
        name="MASK.pm"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
        filename="MASK.pm"

# CipherText::MASK.pm;
#
# Charles Prichard 00-05-15
#
# Builds a 1024 byte mask for CipherText.
#
# EXAMPLE:

# ENCRYPTION

# $mask_key =3D '12345678';

# use CipherText::MASK;
# use CipherText::CipherTextII;

# $params =3D "MODE=3DLEVEL II;KEY=3D".$userkey;
# $CTXT2 =3D new CipherText::CipherTextII( $params );
# $MSG =3D $CTXT2->encipher($MSG);

# Message ciphered with userkey.

# $CTXT =3D new CipherText::MASK();

# $params =3D "MODE=3DLEVEL II;KEY=3D".$mask_key;
# $CTXT2 =3D new CipherText::CipherTextII( $params );
# @mask =3D $CTXT->get_mask(); #this will just be get_mask returning an =
array.

#       foreach $_ (@mask){ # This work-around for escaping characters.
=09
#       $mask .=3D chr($_);

#       }

# $mask =3D $CTXT2->encipher($mask);
=20
# (1024 byte MASK is ready)

# $params =3D "MODE=3DPGP;KEY=3D".$mask;
# $CTXT2 =3D new CipherText::CipherTextII( $params );
# $MSG =3D $CTXT2->encipher($MSG);

# $MSG has now been encrypted with base-key-altered 1024 byte MASK.
# MASKED output now has greater diversity than normal CipherText.

# DECRYPTION is identical except that 'decipher' is used rather than =
'encipher.'

package CipherText::MASK;

$CipherText_MASKPackage =3D "CipherText::MASK";
$CipherText_MASKPackage::Version =3D 000515;
$::MASK =3D $CipherText_MASKPackage;

#   Reserve MASK in the main namespace
*MASK::=3D\CipherText::MASK;
#################################################
#       Sub new                                 #
#################################################
sub new(){
=09
    my $self =3D shift;
   =20
    $self =3D bless {};

    $self;
   =20
}
#################################################
#       Sub build_mask                          #
#################################################
sub build_mask(){
=09
     my $self =3D shift;
=09
     $self{'MASK'} =3D "";

     my $key;
   =20
     my @mask =3D ();
    =20
     for(my $x=3D0; $x < 1024; $x++){
        =20
         $key =3D int(rand(96));
        =20
         $self{'MASK'} =3D ($key + 0x20);
        =20
         push @mask,$self{'MASK'};
    =20
     }
    =20
     # $self{'MASK'} =3D~ s/~/X/g;
    =20
return \@mask;
}
#################################################
#       Sub get_mask                            #
#################################################
sub get_mask(){
=09
     my $self =3D shift;
=09
     my @mask =3D =
(63,55,79,72,41,83,114,71,57,82,100,79,37,70,77,95,36,38,121,115,52,114,1=
18,73,92,110,104,53,44,89,110,47,127,110,58,122,107,55,115,96,98,77,125,6=
0,48,74,43,84,81,87,112,48,35,102,101,56,64,119,87,75,103,114,97,108,126,=
72,120,34,61,116,107,35,62,43,43,72,72,110,86,96,68,83,78,37,105,119,77,1=
02,105,108,43,40,64,84,47,113,123,67,103,127,124,109,113,33,120,70,95,89,=
115,88,115,37,109,100,110,119,78,74,60,98,99,65,35,75,54,122,100,50,87,11=
5,63,61,87,102,42,104,63,43,68,99,43,51,119,71,127,105,38,58,107,104,43,8=
8,125,65,56,127,60,98,87,62,85,37,86,89,84,111,66,36,68,32,64,106,58,85,6=
1,37,46,59,104,116,110,98,93,86,74,77,127,65,119,117,107,72,93,124,89,95,=
103,92,52,65,121,99,119,34,33,119,77,127,83,103,97,86,54,82,66,72,127,61,=
102,57,33,32,47,61,88,82,114,72,90,41,36,107,117,102,100,108,82,122,91,11=
7,74,84,119,66,54,119,83,87,84,65,57,99,36,121,57,76,53,87,40,126,42,89,3=
3,44,51,85,94,89,81,105,101,35,49,126,109,73,84,119,53,45,37,126,91,102,1=
27,124,78,35,65,116,56,88,102,117,37,108,112,82,122,41,55,114,84,72,42,56=
,33,43,72,127,55,116,78,82,45,89,69,107,125,110,114,40,95,94,80,48,119,11=
7,106,117,36,44,79,44,91,94,90,78,74,118,95,35,53,50,115,49,74,100,57,81,=
95,56,92,105,114,103,126,32,37,44,36,109,100,95,87,117,58,33,39,96,61,71,=
88,64,85,46,55,39,73,92,51,96,56,76,89,68,99,87,56,68,108,120,101,67,32,1=
11,64,113,91,74,124,103,40,77,36,88,70,78,97,54,59,37,62,46,57,51,100,61,=
61,35,122,99,49,63,117,83,53,120,47,44,84,83,103,82,85,34,72,115,102,86,6=
0,86,75,115,55,61,123,117,124,111,38,46,49,105,39,35,95,50,125,69,121,57,=
99,82,120,105,102,49,93,99,58,74,52,121,98,40,48,112,68,90,69,44,98,41,95=
,107,40,73,52,44,44,112,43,49,84,64,35,40,125,52,44,127,85,108,91,38,33,1=
17,107,119,69,40,34,60,45,56,89,66,94,83,99,36,115,33,95,53,62,81,94,36,1=
16,83,116,37,115,127,98,90,101,91,63,36,89,100,123,65,95,40,102,82,121,33=
,67,84,92,114,40,45,32,59,67,41,64,103,70,91,61,34,98,43,70,106,86,51,71,=
82,60,49,106,58,64,98,119,51,74,44,45,73,71,38,72,81,109,89,80,85,102,108=
,100,85,114,38,121,32,109,103,33,55,51,90,61,93,52,100,65,41,52,53,71,124=
,51,88,44,103,94,110,114,117,74,45,104,120,79,110,74,43,115,72,66,52,112,=
65,65,44,100,109,106,65,126,44,100,111,85,94,79,45,87,120,43,105,92,88,11=
1,38,120,92,67,38,43,70,51,74,72,34,58,117,98,91,80,55,41,40,92,87,42,92,=
93,86,61,127,61,71,121,77,48,94,80,99,73,126,74,57,38,91,49,48,102,50,85,=
53,92,105,121,53,33,119,127,62,78,80,89,33,100,48,82,87,103,122,91,42,90,=
44,57,127,57,37,69,53,96,78,53,36,35,80,116,88,127,96,120,115,102,43,55,1=
16,119,88,40,35,64,117,99,113,49,123,83,125,116,102,67,83,60,66,49,125,68=
,104,68,43,126,116,42,118,115,52,38,68,106,61,114,73,78,41,49,110,98,34,1=
04,126,106,60,72,65,42,87,70,57,42,73,119,95,96,99,60,69,45,57,117,53,73,=
48,89,101,82,111,85,110,127,42,120,55,91,36,121,110,117,35,71,89,73,43,12=
3,127,36,75,106,104,89,69,91,34,60,48,88,61,86,125,64,86,49,40,89,66,112,=
121,60,32,100,108,58,37,66,37,36,104,65,91,66,108,38,66,47,59,40,74,95,12=
3,81,43,38,97,96,35,114,62,93,84,121,116,119,40,87,44,96,46,102,83,44,111=
,69,102,45,92,75,73,107,59,46,115,34,78,62,97,45,46,62,86,34,48,61,63,42,=
59,73,100,122,122,92,108,51,116,103,49,53,58,76,109,94,47,124,92,87,122,9=
8,127,83,109,42,119,106,100,118,43,52,121,79,42,81,94,64,121,97,100,111,4=
8,76,36,51,92,53,97,80,57,69,36,112,124,43,83,119,88,73,104,54,123,70,99,=
121,33,81,44,82,54,120,74,88,45,110,66,100,36,65,89,101,47,78,126,72,111,=
69,32,121,55,65,83);
return \@mask;
}

1;

         
=======_NextPart_000_0016_01BFBED8.C4C4ABE0==


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


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: [EMAIL PROTECTED]

You can send mail to the entire list (and sci.crypt) via:

    Internet: [EMAIL PROTECTED]

End of Cryptography-Digest Digest
******************************

Reply via email to