Cryptography-Digest Digest #655, Volume #13       Thu, 8 Feb 01 02:13:00 EST

Contents:
  Re: On combining permutations and substitutions in encryption (John Savard)
  Re: Encrypting Predictable Files [now on AONTs] ("Douglas A. Gwyn")
  Re: Mod function ("Douglas A. Gwyn")
  Re: Phillo's alg is faster than index calculus (David Schwartz)
  Re: Free Encryption Software ("George Peters")
  CipherText: Javascript implementation ("Prichard, Chuck")
  Re: break RSA? (Tom St Denis)
  Re: Phillo's alg is faster than index calculus (Tom St Denis)
  Discrete log problem. ("Yaniv")
  Re: CipherText: Javascript implementation ("Prichard, Chuck")
  Re: Mod function (Nemo psj)
  Re: CipherText: Javascript implementation (Tom St Denis)
  crack my enkryption (neXussT)
  Re: CipherText patent still pending (Terry Ritter)

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

From: [EMAIL PROTECTED] (John Savard)
Subject: Re: On combining permutations and substitutions in encryption
Date: Thu, 08 Feb 2001 03:59:28 GMT

On Wed, 7 Feb 2001 23:03:50 GMT, "Douglas A. Gwyn" <[EMAIL PROTECTED]>
wrote, in part:
>Benjamin Goldberg wrote:

>> Wow.  So if it can be proved that P=NP, then ALL ciphers which run in
>> polynomial time lose most of their security against known plaintext.

>No, that means some limit on the asymptotic complexity
>as the key and message size jointly become arbitrarily large,
>but that is not at all the same as the practical degree of security
>of any given instance against actual cryptanalysis (known PT or not).

>The main "practical" implication of P<NP would be that one
>can expand the parameters of his NP-based cryptosystem as the enemy's
>capabilities increase, more economically than the enemy can keep up.

Even in that case, while conventional cryptosystems might not be too
badly affected, that would place a severe limit on public-key
cryptography, it seems to me.

John Savard
http://home.ecn.ab.ca/~jsavard/crypto.htm

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

From: "Douglas A. Gwyn" <[EMAIL PROTECTED]>
Subject: Re: Encrypting Predictable Files [now on AONTs]
Date: Thu, 8 Feb 2001 03:16:43 GMT

[EMAIL PROTECTED] wrote:
> leave signatures in the result output. What I mean by this
> is that if someone studies enough of your messages why let
> them know what method your using for encryption. ... But why
> add weknesses in when it is not necessiary.

The counterargument is that security should not depend on
the enemy not knowing the method you're using anyway, so
if you have sufficient security anyway then the fact that
the enemy learns your method doesn't help him any.

Simplistic example:
        filep -> [scott19u] -> filec1
        filep -> [scott19u] -> [prefix with "SCOTT19U:"] -> filec2
While filec2 is about 10 bytes longer than filec1, which
is a different kind of drawback, I don't think you want to
argue that it is *less secure* just because the enemy can
readily identify the method of encryption by examining the
ciphertext.

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

From: "Douglas A. Gwyn" <[EMAIL PROTECTED]>
Subject: Re: Mod function
Date: Thu, 8 Feb 2001 03:19:41 GMT

Nemo psj wrote:
> MOD is a math function.. i seriously doubht anyone is going to sue over it.. i
> mean come on its a clock function.. what bassis could someone have for
> ownership?

Logic doesn't get in the way of greed.  You would think that
it would similarly be impossible for anyone to patent the
use of XOR to draw and erase a cursor in a bitmap, but
exactly that did occur and was the source of litigation.

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

From: David Schwartz <[EMAIL PROTECTED]>
Subject: Re: Phillo's alg is faster than index calculus
Date: Wed, 07 Feb 2001 20:21:40 -0800


Tom St Denis wrote:
> 
> In article <95sk4q$bl8$[EMAIL PROTECTED]>,
>   [EMAIL PROTECTED] wrote:
> > All my posts are a gift to the world. I don't benefit from them.
> >
> > So I'll let researchers and paid scientists meticulously work out the
> > details.
> 
> Don't advertise a method you're not willing to back up with proof.  That's
> like me saying "there's no god" and I will let the theologians work out the
> details.

        Actually, a person who denies the existence of something is under no
obligation to back up the denial with proof. I'm free to say that the
mathematician who claimed that he could break RSA is full of crap
without having to provide any proof. He is presumed to be full of crap
until he provides convincing evidence. Only the people who make the
positive assertions bear the burden of proof.

        DS

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

From: "George Peters" <[EMAIL PROTECTED]>
Subject: Re: Free Encryption Software
Date: Wed, 7 Feb 2001 22:19:00 -0600

The only ones who claim 'snake oil' are the ones who haven't used it.  As
far as your previous posts regarding the number of files involved, you're
not taking into account all the help files with graphic images for over four
fully featured applications plus source code.  If you have only four files
total, I would expect not as much attention to such things.

Just because I haven't examined your ECC doesn't give me the right to
proclaim 'snake oil'.  Perhaps in the future you might consider the same.

"Greggy" <[EMAIL PROTECTED]> wrote in message
news:95pm2p$og8$[EMAIL PROTECTED]...
> In article <unkXjC0iAHA.272@cpmsnbbsa09>,
>   "George Peters" <[EMAIL PROTECTED]> wrote:
> > ...All of your questions and concerns would have answered if you
> > had investigated it futher.
>
> Do you know how to say, "Snake oil"?
>
>
> --
> I prefer the fourth amendment over a drug free society.
>
> Did W declare the national emergency over yet and give us
> back constitution rule?  No?  Why am I not surprised?
>
>
> Sent via Deja.com
> http://www.deja.com/



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

From: "Prichard, Chuck" <[EMAIL PROTECTED]>
Subject: CipherText: Javascript implementation
Date: Thu, 08 Feb 2001 04:40:49 GMT

This is the current JavaScript implementation of CipherText:

/* ======================================================================

JavaScript Source File

NAME: CipherText_II.js (Patent - Pending)

AUTHOR: C. Prichard <[EMAIL PROTECTED]>

REVISION DATE: 02/07/2001

Testing purposes only!!!
Written Permission required for all other purposes!!!

PURPOSE: Encrypts text strings, restricting output domain.

New mask feature added to second pass. Its impossible to determine how
many
mask domain values are actually substituted for elements in the s_key!

New alphabetic (user_friendly) key option also added.

====================================================================== */
var USERMODE = "NUMERIC";
var MODE = "LEVEL II";
var r_key;
var att;
var offset;
var s_key;

var xString;
var xStr;

var _mask = new Array();

 _mask =
(9,29,19,6,13,5,24,25,19,7,21,9,3,30,10,15,19,18,22,19,8,18,30,0,11,2,27,
27,15,27,0,15);

function newkey(){

 s_key = Make_shiftedKeys();

 offset = Math.floor(att/32);
}

function Encode(xString,cipher_key){

        xStr = cipher(xString,cipher_key);

        return xStr;
}
function Decode(xString,cipher_key){

   offset = -offset;

        xStr = cipher(xString,cipher_key);

        return xStr;
}
function cipher(xString)

 var xStr="";

 var nkey;

 var keylen = cipher_key.length;

   var i = xString.length % keylen;

 for(var cntr=0; cntr <= xString.length-1; cntr++){

  nkey = cipher_key.charAt(i) - 0x1f;

      if ((xString.charCodeAt(cntr) != 0x0d) && (xString.charCodeAt(cntr)
!= 0x0a)){

          xStr += String.fromCharCode(((nkey) ^
((xString.charCodeAt(cntr)-0x1f)-offset))+0x1f);

       }

        else if ((xString.charCodeAt(cntr) == 0x0d) ||
(xString.charCodeAt(cntr) == 0x0a)){

          xStr += xString.charAt(cntr);

        }

     i++;

     if (i == keylen){i = 0;}
     }

return (xStr);
}

function Make_reverseKey(){

 var key;
   var _keyArray = new Array();

 for(var i=0; i <= r_key.length-1; i++){

  _keyArray = key.charAt(i);

 }

 _keyArray.reverse();

 var reverseKey = _keyArray.join("");

 return reverseKey;
}

function setAttribute(){

 att = 0x00;
 var keyval;

   for (var i=0; i <= r_key.length-1; i++){

  keyval = r_key.charCodeAt(i) - 0x20;

   att = att ^ keyval;
  }
 return att;
}

sub Make_shiftedKey(){

 var shift = setAttribute();

 s_key = modifyKeys();

 if ((shift % 2) == 1){s_key = s_key.substring(1,s_key.length);}
 if ((shift % 2) == 0){s_key = s_key.substring(0,s_key.length-1);}

   var element;
 for (var i=0; i <= (shift - 1) % s_key.length; i++){

         var element = s_key.substring(0,1);

         s_key = s_key.substr(1,s_key.length - 1);

         if (USERMODE = "NUMERIC"){
          s_key = s_key +
String.fromCharCode(_mask[element.charCodeAt(0) - 31] + 31);
         }
         if ($self->{USERMODE} = "ALPHABETIC"){
    s_key = s_key + String.fromCharCode(_mask[element.charCodeAt(0) - 63]
+ 63);
       }
    }
    return s_key;
}
sub encipher(MSG,r_key,MODE) {

 newkey();

 MSG = Encode(MSG,r_key);

 if (MODE == "LEVEL II"){

  MSG = Encode(MSG,s_key);
 }

 return MSG;
}

function decipher(MSG, r_key, MODE) {

 newkey(r_key);

 if (MODE == "LEVEL II"){

  MSG = Decode(MSG,s_key);
 }

 MSG = Decode(MSG,r_key);

 return MSG;
}



Application note:

Simply create a form sending values to Encipher and Decipher Methods from
external callers. MODE can be made static so that only a string and key
are required.

function encrypt(){

MODE = document.form.mode_select.selectedIndex;
r_key = document.form.key.value;

document.form.messageBox.value = encipher(document.form.messageBox.value
,r_key,MODE);
}
function decrypt(){

MODE = document.form.mode_select.selectedIndex;
r_key = document.form.key.value;

document.form.messageBox.value = decipher(document.form.messageBox.value
,r_key,MODE);
}

Encrypted messageBox content can be transmitted without dropouts using
default HTTP and submitted as form data to a CGI application.


--
C. Prichard
http://greentv.crosswalkcentral.com PWS
http://members.nbci.com/chuck_prichard/




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

From: Tom St Denis <[EMAIL PROTECTED]>
Subject: Re: break RSA?
Date: Thu, 08 Feb 2001 04:41:46 GMT

In article <95t4eu$nap$[EMAIL PROTECTED]>,
  "Pahenty" <[EMAIL PROTECTED]> wrote:
> http://www.mb.com.ph/INFO/2001-02/IT020601.asp
> Pinoy who discovered new faster way of decoding RSA encryption explains
> claim
> Mathematics enthusiast Leo de Velez who claims to have discovered a faster
> way of decoding RSA encryption believes that his findings are solid since
> nobody is still using his formula of 2^X = 1 mod N where N is given as the
> public key, find X.


Stop posting this CRAP!!!

Tom


Sent via Deja.com
http://www.deja.com/

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

From: Tom St Denis <[EMAIL PROTECTED]>
Subject: Re: Phillo's alg is faster than index calculus
Date: Thu, 08 Feb 2001 04:43:31 GMT

In article <[EMAIL PROTECTED]>,
  "Douglas A. Gwyn" <[EMAIL PROTECTED]> wrote:
> Tom St Denis wrote:
> > Don't advertise a method you're not willing to back up with proof.  That's
> > like me saying "there's no god" and I will let the theologians work out the
> > details.
>
> Hm, that analogy could work in a different way --
> i.e., it's their problem, so why shouldn't they be the ones
> to work on it?
>

My point is why would I make claims that I am not prepared to back up?  If I
am not a theologian than I shouldn't stake claims.

Likewise if he can't back up his algorithm with solving my system (using
relatively small parameters) then he shouldn't tote it as the next mesiah.

Tom


Sent via Deja.com
http://www.deja.com/

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

From: "Yaniv" <[EMAIL PROTECTED]>
Subject: Discrete log problem.
Date: Wed, 7 Feb 2001 09:56:08 +0200

Hi,
---
I'm a student and we just learnt about the Discrete log problem (which D-H
relies on...)

a = g exp(x) mod P   -> (g*g*g ... *g  --- x times) mod P [ if a is given to
us, it's very hard to find x]

We learnt that if we want that the problem will be hard to solve than (P-1)
must have at least
one big primary number as it component ( P-1 = X*Y*..... --- Where X is a
big primary number)

Does any body knows why ???
(Example, if  P = 2exp(t) +1  ---> (2*2*2  -- t times) +1 than the problem
is not hard...)
Why ???

Yaniv.



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

From: "Prichard, Chuck" <[EMAIL PROTECTED]>
Subject: Re: CipherText: Javascript implementation
Date: Thu, 08 Feb 2001 05:07:29 GMT

Updated to fix two major syntax bugs...

/* ======================================================================

JavaScript Source File

NAME: CipherText_II.js (Patent - Pending)

AUTHOR: C. Prichard <[EMAIL PROTECTED]>

Testing purposes only!!!
Written Permission required for all other purposes!!!

PURPOSE: Encrypts text strings, possibly restricting output domain.

New mask feature added to second pass. Its impossible to determine how
many
mask domain values are actually substituted for elements in the s_key.
New alphabetic (user_friendly) key option added.

====================================================================== */
var USERMODE;
var MODE;
var r_key;
var att;
var offset;
var s_key;

var xString;
var xStr;

var _mask = new Array();

function newkey(){

 USERMODE = "NUMERIC";

 _mask =
(9,29,19,6,13,5,24,25,19,7,21,9,3,30,10,15,19,18,22,19,8,18,30,0,11,2,27,
27,15,27,0,15);

 s_key = Make_shiftedKeys();

 offset = Math.floor(att/32);
}

function Encode(xString,cipher_key){

        xStr = cipher(xString,cipher_key);

        return xStr;
}
function Decode(xString,cipher_key){

   offset = -offset;

        xStr = cipher(xString,cipher_key);

        return xStr;
}
function cipher(xString,cipher_key){

 var xStr="";

 var newkey;
 var newval;

 var keylen = cipher_key.length;

   var i = xString.length % keylen;

 for(var cntr=0; cntr <= xString.length-1; cntr++){

  newkey = cipher_key.charAt(i) - 0x1f;

      if ((xString.charCodeAt(cntr) != 0x0d) && (xString.charCodeAt(cntr)
!= 0x0a)){

     if (USERMODE == "NUMERIC"){ newkey = cipher_key.charCodeAt(i) -
0x1f;}
     else { if (USERMODE == "ALPHABETIC"){ newkey =
cipher_key.charCodeAt(i) - 0x3f;}
     }

          xStr += String.fromCharCode(((newkey) ^
((xString.charCodeAt(cntr)-0x1f)-offset))+0x1f);

       }

        else if ((xString.charCodeAt(cntr) == 0x0d) ||
(xString.charCodeAt(cntr) == 0x0a)){

          xStr += xString.charAt(cntr);

        }

     i++;

     if (i == keylen){i = 0;}
     }

return (xStr);
}

function Make_reverseKey(){

 var key;
   var _keyArray = new Array();

 for(var i=0; i <= r_key.length-1; i++){

  _keyArray = key.charAt(i);

 }

 _keyArray.reverse();

 var reverseKey = _keyArray.join("");

 return reverseKey;
}

function setAttribute(){

 att = 0x00;
 var keyval;

   for (var i=0; i <= r_key.length-1; i++){

  keyval = r_key.charCodeAt(i) - 0x20;

   att = att ^ keyval;
  }
 return att;
}

sub Make_shiftedKey(){

 var shift = setAttribute();

 s_key = modifyKeys();

 if ((shift % 2) == 1){s_key = s_key.substring(1,s_key.length);}
 if ((shift % 2) == 0){s_key = s_key.substring(0,s_key.length-1);}

   var element;
 for (var i=0; i <= (shift - 1) % s_key.length; i++){

         var element = s_key.substring(0,1);

         s_key = s_key.substr(1,s_key.length - 1);

         if (USERMODE = "NUMERIC"){
          s_key = s_key +
String.fromCharCode(_mask[element.charCodeAt(0) - 31] + 31);
         }
         if (USERMODE = "ALPHABETIC"){
    s_key = s_key + String.fromCharCode(_mask[element.charCodeAt(0) - 63]
+ 63);
       }
    }
    return s_key;
}
sub encipher(MSG,r_key,MODE) {

 newkey();

 MSG = Encode(MSG,r_key);

 if (MODE == "LEVEL II"){

  MSG = Encode(MSG,s_key);
 }

 return MSG;
}

function decipher(MSG, r_key, MODE) {

 newkey(r_key);

 if (MODE == "LEVEL II"){

  MSG = Decode(MSG,s_key);
 }

 MSG = Decode(MSG,r_key);

 return MSG;
}





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

From: [EMAIL PROTECTED] (Nemo psj)
Date: 08 Feb 2001 05:22:51 GMT
Subject: Re: Mod function

Yeah but trying that over Mod would be like saying you invented the wheel...
but anyway im sure techiniqly your right.. it just doesnt make sence.  Or
rather it doesnt sound believeable.

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

From: Tom St Denis <[EMAIL PROTECTED]>
Subject: Re: CipherText: Javascript implementation
Date: Thu, 08 Feb 2001 05:53:58 GMT

In article <lrpg6.1934$[EMAIL PROTECTED]>,
  "Prichard, Chuck" <[EMAIL PROTECTED]> wrote:
> This is the current JavaScript implementation of CipherText:

Hey instead of flooding this group with your crap how about providing
descriptions of your algorithms instead?  I doubt anyone will use your code
since a) we don't know you and b) we don't know your cipher.

Tom


Sent via Deja.com
http://www.deja.com/

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

From: [EMAIL PROTECTED] (neXussT)
Subject: crack my enkryption
Date: Thu, 08 Feb 2001 06:11:55 GMT

hi,
i'm writting an enkryption program, and would like someone to crack
the enkryption.  Or, if i could get my hands on a program that does it
for me, that would be great too.

Here is the Plaintext:"This is an encrypted file."
Here is the Cyphertext:"1.262497®ÐB½9C³ŠÅ<G¶I²3´6ÁFD½>Á|"
(without quotes)

please email me at [EMAIL PROTECTED] with questions or comments...or
if you crack it :)

neXussT

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

From: [EMAIL PROTECTED] (Terry Ritter)
Subject: Re: CipherText patent still pending
Date: Thu, 08 Feb 2001 06:39:59 GMT


On Wed, 7 Feb 2001 22:52:43 GMT, in <[EMAIL PROTECTED]>,
in sci.crypt "Douglas A. Gwyn" <[EMAIL PROTECTED]> wrote:

>wtshaw wrote:
>> In article <95loff$9sn$[EMAIL PROTECTED]>, Bryan Olson
>> <[EMAIL PROTECTED]> wrote:
>> > Terry Ritter wrote:
>> > > Generating new ciphering structures is *important* in the sense that
>> > > everyone needs to understand just how little is known of this area,
>> > > and the extent to which what we think we know, we don't.
>> > Only analysis of ciphers does that.   Though we do need
>> > ciphers in order to do analysis, we're already way, way
>> > overstocked.
>> Which means that you feel most copmfortable in a small and dependable wold
>> that tends not to challenge you too much?  OK, no real slam here intended,
>> but anyones frustration about the growth of information and knowledge
>> should not hamper those that wish to press on.
>
>There is a genuine real-world problem in developing *knowledge*
>about characteristics of things when new things are introduced
>at a rate greater than one can keep up with.  To make rational
>decisions one *must* have relevant information.  To pick the
>first analogy that occurred to me: Suppose instead of careful
>research and development of pharmaceuticals, the drug companies
>just generated new compounds at random and made them available
>for purchase?  Some of them might be just what one needs to
>treat a given medical condition, but that wouldn't matter since
>there would be no way to tell those apart from the ones that
>would have horrible consequences.

In some ways, the pharmaceutical analogy to cryptography is good.  But
our situation is that *we* *really* *don't* *know* the dangers of
*any* of the ciphers we use, yet we use them anyway.  Shall we stop
using cryptography because the ciphers we use may be harming us?  That
is a very good question, but few will take it seriously, because most
of us just *believe* that cryptography works.  Alas, math does not
guarantee the correctness of that belief.  

Over 50 years of mathematical cryptography and 20+ years of intensive
DES analysis have yet to produce *EVEN* *ONE* practical cipher in
which there is a mathematical basis for knowing and trusting strength.
That includes the OTP.  

So in what way is it rational -- after already waiting 20 years for an
answer on DES -- to expect that answer tomorrow, or next week, or even
in the next decade?  Are things really going so well that there is no
need to consider other options?  It is not the case, after all, that
we have some known reliable ciphers already in the can; instead, we
have no such cipher at all.  That is hardly an encouraging record for
the status quo.

Is it really rational to wait and hope that the math guys will
eventually find techniques to handle the ciphers we already have?  Or
is it more rational to continue to design new ciphers, thus opening
the possibility that easier math can do what no math has so far done?


>I think both Ritter and Olson are partly right; analysis
>produces information about properties of classes of systems,
>but Ritter was talking about information of a different kind,
>essentially psycho-social awareness of the state of the
>cryptologic art as such.  This is something I also harp on
>occasionally, when it looks like people are forming some
>notion of the degree of protection afforded by some system
>without having anything remotely resembling a proof thereof.

We don't need something which "remotely resembles a proof"; we have a
lot of that already.  What we need is one full-blown proof of strength
which actually applies in practice.

We don't know the strengths of our ciphers as seen by our opponents.
We simply don't know.  We have no basis for estimating a probability
of weakness.  We don't know the risk of exposure.  Currently, we have
no scientific basis for trusting any cipher at all.

But if we are willing to believe that not all ciphers are broken in
all situations, we may be able to reduce the probability of exposure
by multi-ciphering with different ciphers and independent keys.  

---
Terry Ritter   [EMAIL PROTECTED]   http://www.io.com/~ritter/
Crypto Glossary   http://www.io.com/~ritter/GLOSSARY.HTM


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


** 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 by posting to sci.crypt.

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

Reply via email to