Cryptography-Digest Digest #876, Volume #11 Sun, 28 May 00 01:13:01 EDT
Contents:
encryption without zeros (rick2)
Re: Self Shrinking LFSR (lordcow77)
Re: RIP Bill 3rd Reading in Parliament TODAY 8th May
(A_Customer_at_an_easyEverything_Cybercafe)
Re: PGP wipe how good is it versus hardware recovery of HD? ("Dulando")
Re: encryption without zeros (lordcow77)
Re: Encryption/Decryption code ([EMAIL PROTECTED])
----------------------------------------------------------------------------
From: rick2 <[EMAIL PROTECTED]>
Subject: encryption without zeros
Date: Sun, 28 May 2000 03:35:07 GMT
I would like to use some strong encryption but need to have
the output not have any zeros (needs to fit into zero-terminated
data chunks). What would be the smallest and fastest way to mask
the zeros? I've seen some people expand every 7 bits to 8, but
that seems wasteful (expands to 114% of original size, or so) and
takes time (every output byte needs to be shifted).
Just for kicks, I'm currently using bit-shifting only, which will
never produce a zero from a non-zero byte. I guess that's not
a strong encryption routine, though. Is there any strong routine
which doesn't make zeros from non-zero data?
Thanks in advance.
RB
------------------------------
Subject: Re: Self Shrinking LFSR
From: lordcow77 <[EMAIL PROTECTED]>
Date: Sat, 27 May 2000 20:47:10 -0700
How did you generate the poly?
* Sent from RemarQ http://www.remarq.com The Internet's Discussion Network *
The fastest and easiest way to search and participate in Usenet - Free!
------------------------------
From: [EMAIL PROTECTED]
(A_Customer_at_an_easyEverything_Cybercafe)
Crossposted-To:
uk.media.newspapers,uk.legal,alt.security.pgp,alt.privacy,uk.politics.parliament,uk.politics.crime,talk.politics.crypto,alt.ph.uk,alt.conspiracy.spy,alt.politics.uk,uk.telecom
Subject: Re: RIP Bill 3rd Reading in Parliament TODAY 8th May
Date: Sun, 28 May 2000 03:52:21 GMT
Reply-To: [EMAIL PROTECTED]
On Mon, 8 May 2000 14:31:20 +0100, "NoSpam" <[EMAIL PROTECTED]>
wrote:
>plans were already far advanced for a law that would stop ILOVEYOU ever
>happening again. Yes, it's that darn RIP bill, still struggling to find
>supporters in the real world"
If they want to stop I Love you virii, why dont they just get
everybody to use a secure mail reader? surely it wouldnt cost them a
lot to switch to somerthing secure, like pine, or any other *nix mail
reader, or even some windows readers are not too bad. Why spent money
on a bill that restricts human rights when you could have abetter
solution for all for free?
Dav
------------------------------
From: "Dulando" <[EMAIL PROTECTED]>
Subject: Re: PGP wipe how good is it versus hardware recovery of HD?
Date: Sun, 28 May 2000 03:51:40 GMT
>I have a program called shredder which I believes overwrites a file 7
>times with random data to try and prevent hardware recovery of deleted
>files aka the story in the WSJ. Does PGP wipe function do this or does
>it only overwrite once?
>
Salutations,
PGP wipe utility overwrites the victim file 7 or more times, I am not
certain about the actual number of overwriting that occurs but I am
confident that it is more than one. As for hardware recovery, overwriting a
file with random data is a good precaution but it is not a 100% sure way to
securely erase a file--however I do stress that it is better than nothing.
Sincerely,
Michael
------------------------------
Subject: Re: encryption without zeros
From: lordcow77 <[EMAIL PROTECTED]>
Date: Sat, 27 May 2000 20:56:32 -0700
Designate a symbol as an escape character. Escape out the zeros
and double the escape character to indicate itself. It should
expand the message less than 1%.
* Sent from RemarQ http://www.remarq.com The Internet's Discussion Network *
The fastest and easiest way to search and participate in Usenet - Free!
------------------------------
From: [EMAIL PROTECTED]
Crossposted-To: comp.databases.ms-access
Subject: Re: Encryption/Decryption code
Date: Sun, 28 May 2000 04:58:55 GMT
Rather a novel approach.
I believe there are a number of freeware crypto libraries around that
would give you stronger encryption, and have required less ingenuity
on your part. :-)
Have taken the liberty of cross posting to sci.crypt
[To sci.crypt, if you want to flame for this *do not* flame Crying
Wolf]
as some of the bods there may
1. find the code interesting
2. advise you of any weaknesses in:
a. your code
b. the level of encryption achieved
c. your security model
3. advise you (and others looking for similar) of other alternatives
and sites to check out.
In terms of your security model, have you contemplated that if your
purpose is really to protect the HR data against a genuine concerted
attack incuding from the developer, then you need to make your own
code tamper proof. Otherwise, the developer could at some stage edit
the encryption routine so that it doesn't really encrypt anymore, or
so it captures and stores the pass phrases, and then access the data
from then on, whenever they felt like it.
Truly inviolable data protection on a continuing basis requires more
than code to encrypt the data.
If you are not after protection against a concerted and expert attack
then the usual Access security stuff may have sufficed.
On Wed, 24 May 2000 18:03:00 GMT, Crying Wolf <[EMAIL PROTECTED]>
wrote:
>Okay, I started making this code yesterday, a little before lunch time,
>and I finished it up this morning. It is actually in a VB6
>application, but I am planning on using the code in both Access and
>VB. For VB, I am going to be storing a few passwords that I don't want
>to be viewed (actually by anyone but the VB code), and even though the
>database is secured using user level security, I can't secure the table
>with the passwords, since the users will need access to the table, in
>order to utilize them (well, for the code to utilize them (I am going
>to have a VB program open an Access Database, using the NT login name
>as a reference to get their Access Name and password from that database
>(I know it sounds wierd, but for my situation, I think it's the best
>way).))
>
>Also, I am going to be developing a few databases for our HR
>department, and they are deathly scared of putting certain information
>into a database. The whole database doesn't need to be encrypted, only
>certain information. Thus the database encryption is semi pointless.
>Planetsourcecode.com has a few posts about Enigma code, which is code
>that mimics the World War II Enigma encryption device. However, the
>code is a pain to try and decipher (though it works just fine, for what
>it does). So I decided to make some code that would be easier to
>follow, and also go from setting wheel positions and rotations manually
>to making it password enabled. (the enigma machine used wheels with
>letters on them, and the way they were positioned, and rotated
>determined the outgoing text. Due to the wheel rotation however, AAAA
>may turn out to be @%!#, thus there is no common reference point to an
>individual letter...making it really tough to decipher without the
>specific information about the wheels (position, characters, rotation,
>etc.)).
>
>So here's the code, to use it, you will need to run the
>fCreateTheWheels once. This will set up the Global Variable Array that
>has the various 'wheels'. After that is set up, you can use the
>fWheelEncrypt and fWheelDecrypt functions as often as you like. When I
>get the chance, I will put a VB6 copy of this on my website
>http:\\wolfwares.com . The fWheelEncrypt/fWheelDecrypt functions only
>require two string arguments, one being the text to encrypt/decrypt,
>and two being the 'password' to use. The password can be any number of
>characters (though ONE character is the minimum), and can be any typed
>character (including space), however it is VERY case sensitive.
>
>Enjoy...
>
> Public wweEncryptedMsg As String
>Public wweDecryptedMsg As String
>Public wweRotateNum()
>Public wweNumberOfWheels As Long
>Public eLetters(1 To 95) As String
>Public wweWheels(1 To 100) As String
>Public wweNewWheels()
>Function fCreateTheWheels()
>wweWheels(1) = "|:$MtwpJVcC#^'U0lOn]aL&BgsHdo>Yb)8[@7}IQS*vFm`h4x<z-
>jr5f%_yWX/3;" & """" & ".AN+2RuKq6 ZE~P=,i9{(kG?1!T\eD"
>wweWheels(2) = "#7? lFztn!]c|OMU+R'-r$/Cgbx2s,6=AH>:f*5W_mKE`BTqu<NL."
>& """" & "jeV&w)9\h;[4X~(d%aG@iPpSZ0YvJ}Iyo8k{1D^3Q"
>wweWheels(3) = "(*y5N-.vSp62R}WzI`E=e,$P[_!l:a1]wg@V> BiQGn4\<u" & """"
>& "M;9hb8%?fZAC0+okYTLF3{mqsj#)7DtxK'J^cO|/UrXHd~&"
>wweWheels(4) = ",or[~3YmqL6(|>pCOx)@TN+G<bs28ZUl" & """" & "B?]v!S& n`}
>HIDPVuEye-9#K._h'{15WjaF;XiJ%zfw$c0tA\M^4/g7R:k*dQ="
>wweWheels(5) = "e;f@\a89Ug-+^1M'[PrNp7b`yuiqZ" & """" & "KO|?mn%cD~o!
>TR3/Qz_$lF{WCj5G0.,]ht:=> vY*L)E26X#d4SIVsHxA<}J&(wkB"
>wweWheels(6) = "Ht OxpU/;S0Y1+[d=D4*)8iqXCe@}%:W]'T" & """" & "y^wzl<2?9
>{>,Pn#g$5Q7Ijh(6ZVcf~M\sm|REA_rNG`F.bK&vk3ouJa!LB-"
>wweWheels(7) = "`%zp.\3$:rL6b'A>kwCP=uiKY/)4BV5*T1n-Ig<U{0,h FamRjoJ8O
>(EvGNS+e97[HtXlM#s!c|Q2q}d]fx;y?~_W^@D&Z" & """" & ""
>wweWheels(8) = "lWnESVa ~w/K2" & """" & "Dhi@\r#ts69[X.T>{);v},RJ3!
>NG`C4z?<df%bYk|FP_-HQIo8yU'u&^qgOM0Z1m$7A*cB5ex+p](j:=L"
>wweWheels(9) = "9$m|I)[;#+>^HCqK/h(ZVT@\6{z31p-WaSL`UkO}te=xRQig.?
>4:~7_<fyMc&N!%,bPnEdG5rJDoB0u2v" & """" & "*sYlFXw]'8Aj"
>wweWheels(10) = "^@rCR\L,H6xn'S4WXkIFBq3OU>KPh(msY`z5Mu/G9b]2e#:d!* ?-
>{g<[af_lJAT+E0~wct=D;Z." & """" & "v)7&}p18ViN%|yjQ$o"
>wweWheels(11) = "<!ALMN>3b#rYHU SiJ,I|`$?P0.c=l4xg)p/eQ*]X\(tfsE[&qC2~T-
>'6KB}n1Ok5VFuD%:7;hZy8joW+R9d" & """" & "@waG_z{v^m"
>wweWheels(12) = "g&W)4,K{NC\Va6?u<I=t}AcmOk-zwY`PdHoR5Zn.e3>pbM~i^9jTr
>s|@1QGBx'L0+_#fh!]y8[E;vJSUXD(ql*" & """" & "$%:F/27"
>wweWheels(13) = "r# w/sGM}9BfW]dl&j" & """" & "LP?UC`uc+q[S~Hg6kA0m'Ki
>(haD$ev<N^QzX!|p,T\*O_tJ%.o82R{bIY>@:E)Z1=n43y;5VF-7x"
>wweWheels(14) = "`1.V[-)8EiR('" & """" & ",\W~lFf:B=g_dp
>{Y|NLzK07ZbJTGws}@Pr?q5$IDu#;>!Q^ McxH6*AOj3<&%UCh2Seato/mvk4yn]X+9"
>wweWheels(15) = "_C1=H JD2+uPE,q6UO\sFSI]/v7Zd%5z^~m<8Nkh&#`>:.M
>[43owapL" & """" & "!;fl*r0gK?QA@yW){(bTB|V}tcj$9inX-YxGR'e"
>wweWheels(16) = "bNCc%L&{]$[|e7G/@oI=dJDa`#ZW)>V.vBAmqHK!-
>,~10wip<\6j^Su5(f'QX3:REM_zrPhktO;}42x nUYl8" & """" & "?+ysgF9T*"
>wweWheels(17) = "s Za/{qM=]2xP|hue%Qm49#(*EG8VvIXljp+1n,D6}[-)
>c\RtTfB;kKA_L!>Cy5<@dgNo?~`Yr:bUw3iH0$SJ" & """" & ".FW7O'z^&"
>wweWheels(18) = "Fhtoy?XD|;0$vxUc=B\g*fl)e`+[a31AIsHK,.@" & """"
>& "R5JpO~:6]Q GSW8'V-iLY{<7>N_%}rm9(&d#uwCq2TEn^jMb/kZ4!Pz"
>wweWheels(19) = "wQV&`,rK|3uPl>6H7*2z_oW9+<q[NmC!8'{Us;kS?g:}nBT]"
>& """" & "=5yD)(/hdGi#^0a Ocbf4~pIMA-.FXvj%x1E@Y$JZ\LRet"
>wweWheels(20) = "V}Krt;IDz^Ms+HT'mwheX`adBqpk?] R,L{@W|#EOS<Gno
>[:Zy$gC54-!02U&P/~6YfuN" & """" & "c3>Q9*_vi78bA.lJ1j\F(%)x="
>wweWheels(21) = "b8E:g^cHd<ivqeJs>4M`rS0Tf?) D1,O6@QXB_RKFCuL-Y
>[*\o&/nPt$}=xh" & """" & "Um]2Wz#kl%;9Z.+y!NI|j(Va~{p7'A35wG"
>wweWheels(22) = " cnVC!.hFse]@<QD^2H5-Yrx{JS%#d6zqg}&M" & """" & "9L
>[38+t?v_`ko*fAib:I/)yZXj,>Tu(~G'|PwO\U$mBlN10=74RWaEKp;"
>wweWheels(23) = "4F<NtP?Hq[h`,E7U}>V;5&3Y-/I$98y{O)bnoQ:i%MRs
>(=~f\WX'Kar xAdeTmSgL#*2CpJZ" & """" & "GBDj|+^c!kl_@0]uz.6v1w"
>wweWheels(24) = "wQN7@RbmlSOA3d<$iC-q xsD[t,W2f;=yo_.L0#`:)hr5>vK+?%U
>{~PgB1j4cTFH|/EIZ&'X*MV]" & """" & "^!\paenY}98z(Guk6J"
>wweWheels(25) = "0k{iL5Xc;Qy\vWAG-#&S3nEYH$rgt(}/^pP7,'`xhzd%*!~[
>VMmU4=fO>|NDK.)1Foq_?@C]J" & """" & "lZeu9jw82I<+6asBR:Tb"
>wweWheels(26) = "ZO&[\ 4!+odaTUBSg=~{_'v" & """"
>& "skyl`,9e26^@L*1#Htzq/jPXb<?R8xG$AD>uK%:ENih0IF-;M5W(Yc7Qpwm3J.]rV}|)
>Cfn"
>wweWheels(27) = "6@0(#/g)p.`^[-ToxFqwvz3*m2MZDl+9=RO|k t8yXCUsd<:}c7$1f4
>\P_]!N'&EWnSH%e" & """" & "Aj,L5?h;KBiG{u~IaYbJQ>Vr"
>wweWheels(28) = "v06k8;&GRt\T=cx.#YK4($Cl>3emh|]r[wH2DFj!1IAdE~b_UB"
>& """" & "ufP{/o^759<?a@zXnQ%`sJVN,Z'}LMp :)yqSi+-gOW*"
>wweWheels(29) = "D|Ic?-g8K35V1GeU" & """" & "'n*zJtRyXw&qsao74bP Mp_v]
><L/}~Zxr0f(=,;AHNQuhl6>29Cd.SE{)jOk+W\BYF@miT:!^%$#[`"
>wweWheels(30) = "LW^!;z'gal#4KQCFr|v _:Ti\{w?$" & """" & "x1t9(+qdoB5*j-
>G}]EVJs0O&8MnZepfu72hD6SN,X/>`mI.Y3=y@ckPbURA%H~[)<"
>wweWheels(31) = "]-9<kWC%}d{Z+cHvV4F)mOS $Dnth25!JQ&?\x|K*boez.3ia@g
>[M=/jYN7_El" & """" & "L6(XRy:^#;w8us>Gr`B'I~qpf,P0UTA1"
>wweWheels(32) = "%DOyp=4x?2kai0M[*;!lwr5({IgF`hc}:.QSz-
>18RmfU\dZ_@E<ov>B$s't7q,P/" & """" & "#XKnu6 bV9]+NHCY^je&LA|GT3~J)W"
>wweWheels(33) = "Mu,Swm2ib|p$vyX? Vek#-Wza*nt;DH_gq9jQx
>(+38lJ^<5TACd7`>BL&" & """" & "sGY.KO)Zf'o@FI/{E1=]Uc}0%\N!4~hr[R:P6"
>wweWheels(34) = "vp80U!1t,[sLX4AoleQK>G;+~.bcVBd}@*Yx#" & """" & "w$ChO?
>E`f7ai|DWrzMum5_= 9:(%nk{gj/R&yq3-N^\<)JZIP]2HSTF'6"
>wweWheels(35) = "s)K1pmnC7!BUyTk{R-PG\?~xeb^3.(uiFShMlIW]
>$tX*jJgDE8;ra6N,LA#420_O& %c+`V:<qH=[Z9Y@}f>zv5od" & """" & "/'wQ|"
>wweWheels(36) = ":Xx)]d<Q+^NyjmB#?Te8c,5I(ZV~A>E/_ls&%}-
>n*7YKi2t$CO4pho'" & """" & "u30S\@;F.G{ Ha`!qrfPW=b6gvLDz1kwRU[|J9M"
>wweWheels(37) = "ka2 0)&vES85jrO9y|~g4<.K}XQPpCoLm*zR$N3MuVibdJZ/1B^l'=
>[H_Tfe?FA6@%nw!cq;:\G-7>,s+" & """" & "ItW]hD#`Ux(Y{"
>wweWheels(38) = "N6G/KwBQVdq_c8%f@FR0U<:-L?!C}" & """" & "jSu`
>(z5h1AJsalPO'2WvXm7IeY)o\#p|n &b>;[3]+xiHD=.E4~M9g^Z{tky$Tr*,"
>wweWheels(39) = "gMm$cU&S[_)7tB0A(Kk>E=q/*V8nC`;vd-.hx|Ta1:D2pY]
>eWiwLrG'XJyI#jN94s5^Zf\Rl}6PO,F?u3z~ H{<b!%" & """" & "Q@o+"
>wweWheels(40) = "=@u{>|l;A*^KV`8#\J:gqcy.0T?N5LW-(sr9EHdpbUG!w/kYOS6&%
>o,fa$}n][3j4C7t1eMz~D+F_xBhIiRP2)ZXmQ<'" & """" & "v "
>wweWheels(41) = "H'M3zE 5:T+gYr<;[^jBN,!/*dlft#&Sy`-h{]=obw_QW~m|)
>J6xO@VD\9Pa1kF7sp2ZvKG" & """" & "X.n80}C(IuR%qAeUci4$?L>"
>wweWheels(42) = "l[!F%/G:5J|E1S&gW?8<#qkrDd_{nz\xB,OUHI`C" & """"
>& "YipPt6QL+2'A =MK->7w]Vhm*Tje$@oN30X(fa).;R}vu^sb~cy49Z"
>wweWheels(43) = "6ATB[YJW8=bf{'S`o~*0-)vqkri3yxmLIORcdujK}
>5_<,F:+2lzE9a\eUXs(@>w%;pg7" & """" & "1nN4/&GDZ?# MPQ.H!]V$^|Cht"
>wweWheels(44) = "Bp1js;mX~-%Ndt?xEh*^U:R)neTu@YJ95!k.\vylrFAWH'PC]
>w8#b7/}><SfG`iVOg|$0q6_({+ =Q,zaK4&" & """" & "oIDL2cZ3M["
>wweWheels(45) = "OckAn~j_5P`ph$7 &H[<%" & """" & "DQ0mbZMCXxG}
>\TY9:>=1#2W4wBJKufFv{^/r-(dUs)e*6RI]a|3+N.gtz8'lLEo@VSyq!i,?;"
>wweWheels(46) = "(x9X=q|Phf!^MsIC[" & """" & "6V'el+*0$p mdH;Yb8DuRB#W]
>KZ%<)E1}\aNG2c,k~_?4o-F`[email protected]&r/wO{zv:7nyAS>j"
>wweWheels(47) = "XGj$+f9*Lbxhp|rOck<:7,2#iUnoRv10lm%@~)I>6-}M K\"
>& """" & "!5yP^uVq;3tZAw{4Da/]Ts8EW&(`_H=[BCe.Qz'SJFdN?Yg"
>wweWheels(48) = "9Al$h=G>4Jj:m)%_E8'@3!Rn1PS\0q/BeD+N`H&z?;#t~pOg(^w-X7
>[ 2" & """" & "T6rWbk*],U{uQMKdyI|oLfaZCV}cs5Y<.vFix"
>wweWheels(49) = "?b+eaq~A:x&=R D!%5yg^d,.Z\)zYnV@}" & """" & "MHi[-KB`
>{>_#S0UGhTvEX2rf7j38W*tmLP];<JlO'w16(sFc$|QuNI4C9p/ok"
>wweWheels(50) = "}$;>!uz-0`8N42jf BvGE~%i" & """" & "OCP.s6JF9^U|wVco
>[txKdL#YMeqbRy3)rQ=ah{\S*g&Z/?<@D7Ap]+mkWT1(I:,H_lXn'5"
>wweWheels(51) = ".8`K\ZyA%e-f1@[)_Q#nGUL6N=DkuB4vc]Ms>drz$qg!{
>OHPY:9'JSmi,5/t7o<&~Clj;xb0R3|}X" & """" & "V2?a+*Ip^wWTE(Fh"
>wweWheels(52) = "w<$|L[U]}F MKYimdXhH*f+WB_g4Ccs:{1!kI27n?Goq0T
>(^Jpjx`Z&8/tN%5l'e" & """" & "V6)u9R~a.,O;yb=QvS@#D-\PEr3>zA"
>wweWheels(53) = "x\c_A]HEWL35[~wDvnS+bmJ%CM)Fd*$Y{@'sj8/RaO7N^" & """"
>& "z-h1fge}Kl#&:<=!Uy`IV,P(q>2|kT9i XtQ?0pZ4o;B.G6ru"
>wweWheels(54) = "Qr" & """" & "G(O_dvM9,q8cFpT=xSC@5;fnw`D ?\}
>UA0y.7Z&a<beN#1gHj{YVIhtuX'^3z+W6)os-K$2[l/ki~mPE%BLJ|4*!R:>]"
>wweWheels(55) = "&BGq0?!=H+ZncN#f%IVJh2:`sPUj(;RO,6l\zSY}L<F)
>aK9iX1Q'3kt^p $x@E|W5gvC4]{D/wu*MmT[_-b~>yAe7.8dro" & """" & ""
>wweWheels(56) = "IzC-ly20O;8@9\NAK:$5ZLa*g&RWqM^X7F" & """" & "SE<GcTP]
>JoeD?>Bm[(3)=!6u|%kvYV}bQ~rw# {./_,fdpU+st`hnjiH4x1'"
>wweWheels(57) = "-?<,1[gP`ihJGlO!9E(eBm6dwXakc" & """" & "&*pqM
>L;VbY75=40D#tNKQ}H8^yj)A@{.2u~SI_Fr'sU]f$nv\o3zT:+x|WR%Z>/C"
>wweWheels(58) = "e%X}:.&BDEAxtb?" & """" & "J~9[ngiQo-s+f2P!'r=6d4VT;
>l^pqLcI)7*S<zRC8>/Ok]HNj#`mM{K5a(10@|u_yY,hUvF\WGw$3Z"
>wweWheels(59) = "Xl'{}CAM(OK 3mTo9gD],SG4s1%BRW.aed_~Qh`b?
>Y#;670Lq&EpJN/+*!yrZ-" & """" & "w\V<@u5P8zkif=|c)I$[t>v^Fj2Hx:nU"
>wweWheels(60) = "7.E_F'yPX!1isfrnA/em3x@H46Ud9;" & """"
>& "ko<t=#Bw8V\:M}T>q$zQ%)c]l uSI`pv0?~[+YW&{Cb5^(ahJ|j2KDOL-RGg*NZ,"
>wweWheels(61) = "f1U>/JRE-)9c@v+#bVAQBIL$w!&lD[ 8y}:NPK(|]'.`" & """"
>& "Ze~pn6^SGmFgWO7rM?suth2dT%Y;Ca\jqX*Ho5=3z{4x<0_k,i"
>wweWheels(62) = "AH)$|N<v,P*dC\F?UOGXxV6w]8~'3sbuQmf" & """"
>& "hY9&n2kt1j(Kzp#iTLEZS.!{:0a-[>I%5/=qR`l^yMr_4JW7o@eB}gc;D +"
>wweWheels(63) = "/T<K3N@!kR}dG#awZs*,yXe)
>{7O4~LC&VoEqut=+QPJSUfW|M2cz^jHmh%g0?$>9;D] [.6rpY1n(-F5iA:\'" & """"
>& "Bb`Iv_lx8"
>wweWheels(64) = "2H!$" & """" & "+y*I[~urw<`J&]6A(o,dmOb1}#XT>W9a5;
>{3KE_f|tD:G^Cz-Pn=BFeM\qpcSNs@R%kgL47)x0?QlZvUY'j/ hVi8."
>wweWheels(65) = "GLFEgV7rMwQ0/.~v:?]s i6pcneX[\PZ{;R5=KN#q3BUkjxf%l@ot}
>*4`u2TdH+'|>9(YICy1,8$)hWb-!A" & """" & "J^Dm<SO&az_"
>wweWheels(66) = "`XtBaQ!g-)&Aq(5=6N31.0V/fM$C#m]Z" & """" & "+cL%
>^P7_Yp\;yxe'*T[ws{|9jRiv2,Ju?dD OWIlhUK~:>SbG@zEH48<}oknFr"
>wweWheels(67) = "'pK?xiL:^[vw(h8>kgGM\H~]4cz mI2E/=`_71|CS6bF@-olN#n)
>dQ.&Y5etTDr{RA0aJ}U9yq,!+" & """" & "$<BWPXVOs3;f*jZ%u"
>wweWheels(68) = ":rb!KHWsVafBLegIv*[~m&/A;^xD@?" & """" & "o|iT95#YCS
>(7=Q`qzXy_{h%d3P<Eu\Ol.N,0-Jtj8cU26>]ZkGp}$R+4)1'MFnw"
>wweWheels(69) = "XxLK%~1>m{0?R6]k+zy2WSnos;=@#IwCJ'ub_ThN(}Q[|" & """"
>& ":8O!9a^GeHD j3c`pUVB,\5.E$r<q&fiMZ-t4Pg)Al*vYd7F/"
>wweWheels(70) = "*-BY<n%e.G|0o)ya,O_T{>;j?`28Vk6A3Q!I=^&4gzNh(5" & """"
>& "ZLwxdC ]7'riFf1:vKuRlq[tPME}/SpWJ+s~mD$HcUb@\#9X"
>wweWheels(71) = "Dq~!d{XSlrkZC7jKeF^A.M}mI2/Q`n,GU)up8h<@;E|Lb95W?
>603NvOgxawJP4*iHY-%'1V=\RTc&f[+>t_yB" & """" & " s#$z:(o]"
>wweWheels(72) = "7qSih0|y*#.bl@!)&D=zXg~Cp(9E^v4cRTfInk8aO[mJY,PL$MA"
>& """" & "+_Uw2ue?t<oW3x;6sKHGB\Z-j5V 'Nd`>r{]/%Q1}:F"
>wweWheels(73) = "+RYICjzLM(N><qZ0x|w*eFb?ShHg6VQ:\G; `4_/7'of]" & """"
>& "A=U&Jc3[iX!Tuv8l%1{$Bd)E}pa@9#y2KtmWD,~k.P^5-Onsr"
>wweWheels(74) = "\fgpCs8$bq;QJ#%B=mESG7i!_XO+[5D|Fjt2:I}Va.y-~" & """"
>& "*`)zAd'H619(3]Yx&,R^kuwP0T hKoUW?r<@NMv>Lc{nl/eZ4"
>wweWheels(75) = "@>HN&KvJ/zF\5Y6f,b|R)'41BD {" & """" & "pWtC+T=~iw.Vh%
><8L^9OQr;uUkI#a?jq`70$e3P]:SynME[o}Xxm*AG!-_ld(cZgs2"
>wweWheels(76) = "1Myg`pm_3k25D[!-s~?vtCza/Y#O,Ej&8{oGN9)fIB<}
>X.HZbSVcKql:4$ R*=wrW\Fh|^LnA%Q@" & """" & "6dx'(+TPJu07Ui;e]>"
>wweWheels(77) = "l/(ywB0kW:5\6?=HmZ<%KbTaqO}MA]1o#_~h`dF)CR{X3&Q!.JtV'
>PDcv+[$^xnuY|NG*i@47fesEr->L;IjS" & """" & "9,2pzg8U"
>wweWheels(78) = "EcqmA9C+0^;)b>DMh" & """" & "}T=K6&,zjHt:1U.e#'|{IZ3x
>(8n]!Jy@PsXdvoLG`$SwgY/*?<p~k- rlNF7_Ri%BWuaQ\Vf[O254"
>wweWheels(79) = "R'<MO!_ytHw6kZ;" & """" & "@b10J>35XPLU
>%,as\7fKTxzW~nrV8v4]`2qcN/{EQDSGF|[Cp+Bih^=}(?AY.:$j&e-l*9om)dIu#g"
>wweWheels(80) = "`Bpe6!iz+j7,Rn-V4W[dO$oFYtv'#_a)S}q1^EJ*|/~
>(9:sKyA8X3@MhwNQ bT]%?Pgcu&H0x=5U\k>mlDZ2ILf;.CG<" & """" & "{r"
>wweWheels(81) = "$u<boHf# x+|NRJ\t0Y-zhv].pjUPC?nV8*{Twyi)l:k5E/aG,Z%
>Fs>}7gq;KB@" & """" & "D_=W[9d&!crS^`e23A'1(QmMXO64LI~"
>wweWheels(82) = "9PdlM%w" & """" & "Xpe6ZNRWftY1c&>+]G_~E^-7'*)`?
>J,bQqC3FoD5r$#8L4Tm}@Bhgjza;O\[|xIu!kv0 Un/(iyHK=<2{A.VsS:"
>wweWheels(83) = "(h\0UWX93wP][?q^$<l-|yc@Z,~Y:O=Tz+.#)Dj p8NoR>nHf%b
>{QsG_d7e6/ig*AMkK41a!`V'2;L}xS5IFv" & """" & "ButCrE&Jm"
>wweWheels(84) = "b!'Nh)9t<uT6]_:~UQdCMjYPF ly`cI*gJVWDzB2/K[v^ao&e
>{;#HS$4ipG+@7kE" & """" & "\58=O|0?A}-R>f3q(X,Z.x1ms%nwrL"
>wweWheels(85) = "]7j0C|Dq[(>8}^&'oy9eW4S.Rlg$,kA:LVri%G5I/!n@EzP?=)
>F<f2uM1-v{b_~3T+QY6 t*;Up`HmdZwhN\c" & """" & "OxsaKXB#J"
>wweWheels(86) = "I]}?C<.\d^24DwZ_)xN6@nmFQskBUo:H%
>Vp,*#+'LGJRM~Pfulbt&EKT`(ar[" & """" & "i7W>c0qOvX!/A{-3Y9hSg5|zy8
>=$;1je"
>wweWheels(87) = "XC)BNtuJIv+h,L42=pi3&s_;Kx!Zrw`Rl~U'kg(#}>.D%comzAOn]
>$9" & """" & "F M7ab\[*q8HP^feW-/VYdG@<6?5jy:SQ{E0T|1"
>wweWheels(88) = "Qpe0t;bH,T_g$a\&u>iB]!rFk#mC2VdqLh'|KWly)~:GI" & """"
>& "}7Y{XA496J-w%nc(NDz^Z=+1.`8/fsxP [MS?v<oE3@jUOR5*"
>wweWheels(89) = "7@MzwL+Ybq ," & """" & "!jFo%=*~T;{ta`RVlP_nBh2rs)&NuDQ
>[Id0c'm5yW-e|E?(gZJf>$3OX1i6GxS#pv48^Uk/\.CH:}K9A<]"
>wweWheels(90) = ";Z{mtd/S> <lY+GMC#0eh?UR(}o'6b)H1n~5*QwBAO[%,FT&|7
>\@XEgy9quiL^Nk`-_zKJ3ax4$8p.jc!]Ps2:VW=fDrI" & """" & "v"
>wweWheels(91) = "(T;mVGk=Ig" & """" & "sN1)0zRh4xL}cMwv>,n~ABjrUKW?:e!
>|i6af8<_7]StOJ9+H&.{XFq'd[*ulD@Q2 /-yY`P%CZob^#$5E3\p"
>wweWheels(92) = "olw Z(hz{3Vt1|QX$,Kn'_yI!.>aAO`:*NHDMU?qf@62#e[c}
>Y^/7bk9-pGJ\]CB+Pr;)~SWTE=d<FiLxg0Ruv&s54j" & """" & "8%m"
>wweWheels(93) = "dq8%e4]@A*&wY+SX7iuN|#)Hm'nt\0Kco,([5yEG3?
>I~_`>ODf/Zvx${zr2.< :;" & """" & "ks9=6g1FaJR^TC!-}UjBLblQVpPWMh"
>wweWheels(94) = "BM7Ul=i;LzFZJnc%>q}(R|u<Q#s:9f^0P4aerv/mDY@*xVA$t+]3oN
>[&WI1 K'~)jh,yd5b!{C-" & """" & "SE?X\_wpH2gT.8`Ok6G"
>wweWheels(95) = "OLIc#P6ke,-^(!v>pyxF'T9GH\o@)3mazfYS*=&/ |2;w0N7Zq
>{b`8AtC+J<:_uXEU[V]}%s4lRhn51Mj" & """" & "~BdKQDgr$W.i?"
>wweWheels(96) = "TSghI" & """" & "][#:HBEjyd%
>Q>u2pYA8@xlb0MU'NiwfvFJ_,1+=6&$c)?ok^7Gt`~/Kme;q 3D|}O(CXLr5Zz9V\na*W!
>s<P-R4.{"
>wweWheels(97) = "?JG`xjdpLMrVOH<]*,0SE\:KlhWu){cIXQP/q_F;" & """" & "3y
>e-52tTb=v9'[o^>(%wi7N|!Y8zf&6s4BkCA1}gnZU#R@$~mD.+a"
>wweWheels(98) = ".|?'sg46/Ue9VHA}0^<2oibR,fJ!Ok>ac\%zd`T_Lp:1mP8B$(y]
>ZrYI" & """" & "v-{GCX@wh~x=DKMQ[E)+*75&S;#3uqWNtFl jn"
>wweWheels(99) = "/`91k_P=J?.6fpcv;du5or^(\I3ByNF*)-!GCE}#Lim|a>Kn8@]
>h,~AbS%:OTwYU$X'qj[2 +" & """" & "7Rl<zgH{MsQtVe0WDxZ&4"
>wweWheels(100) = "Y.Kr7zIfRH&eJt4-*#}9|,\;'V<:@FB >D3?=oZbl^v$0
>{xd5gpc8km_U+(nS2wPy" & """" & "QjLTs6ChX]OWEqiG~M`A)/N%[au1!"
>End Function
>Function fSetRotation(intTotalOffSet As Integer, intCurrentOffSet As
>Integer) As Integer
>Dim TotalResult As Integer
>Dim CurrentResult As Integer
>Dim EndResult As Integer
>If intTotalOffSet = Int(intTotalOffSet / 2) * 2 Then
> TotalResult = 0
> Else
> TotalResult = 1
>End If
>If intCurrentOffSet = Int(intCurrentOffSet / 2) * 2 Then
> CurrentResult = 0
> Else
> CurrentResult = 1
>End If
>EndResult = CurrentResult + TotalResult
>If EndResult > 1 Then EndResult = 0
>fSetRotation = EndResult
>End Function
>Function fSetWheels(strPassword As String)
>Dim NumberOfWheels As Integer
>Dim TotalOffset As Integer
>Dim CharCode As Integer
>Dim i
>Dim WheelNumber As Long
>NumberOfWheels = Len(strPassword)
>If Len(strPassword) = Int(Len(strPassword) / 2) * 2 Then
> wweNumberOfWheels = NumberOfWheels
> Else
> wweNumberOfWheels = NumberOfWheels + 1
>End If
>ReDim wweNewWheels(1 To wweNumberOfWheels, 1 To 2)
>For i = 1 To NumberOfWheels
> CharCode = Asc(Mid(strPassword, i, 1))
> wweNewWheels(i, 1) = wweWheels(CharCode - 31)
> wweNewWheels(i, 2) = fSetRotation(NumberOfWheels, CharCode)
>Next i
>If wweNumberOfWheels > NumberOfWheels Then
> wweNewWheels(wweNumberOfWheels, 1) = wweWheels(100)
> wweNewWheels(wweNumberOfWheels, 2) = 0
>End If
>End Function
>Function fWheelEncrypt(strMsg As String, strPassword As String) As
>String
>'Okay set up the wheels and rotation, so that the encryption can begin
>fSetWheels strPassword
>wweEncryptedMsg = ""
>Dim TempChar As String
>Dim FirstPosition As Long
>Dim CurrentPosition As Long
>Dim i
>Dim k
>ReDim wweRotateNum(1 To wweNumberOfWheels)
>For i = 1 To Len(strMsg)
> 'Now get the letter
> TempChar = Mid(strMsg, i, 1)
> If TempChar <> Chr(10) And TempChar <> Chr(13) Then
> For k = 1 To wweNumberOfWheels Step 2
> CurrentPosition = InStr(1, wweNewWheels(k, 1), TempChar,
>vbBinaryCompare)
> wweRotateNum(k) = 30
> wweRotateNum(k + 1) = CurrentPosition
> If k <> wweNumberOfWheels Then
> TempChar = Mid(wweNewWheels(k + 1, 1), CurrentPosition, 1)
> End If
> Next k
> End If
> 'now add that encrypted character to the encrypted string
> wweEncryptedMsg = wweEncryptedMsg & TempChar
> 'now rotate the wheels
> fRotateWheels wweNumberOfWheels
>Next i
>fWheelEncrypt = wweEncryptedMsg
>End Function
>Function fWheelDecrypt(strMsg As String, strPassword As String) As
>String
>'Okay set up the wheels and rotation, so that the decryption can begin
>fSetWheels strPassword
>wweDecryptedMsg = ""
>Dim TempChar As String
>Dim CurrentPosition As Long
>Dim i
>Dim k
>ReDim wweRotateNum(1 To wweNumberOfWheels)
>For i = 1 To Len(strMsg)
> 'Now get the letter
> TempChar = Mid(strMsg, i, 1)
> If TempChar <> Chr(10) And TempChar <> Chr(13) Then
> For k = wweNumberOfWheels To 1 Step -2
> CurrentPosition = InStr(1, wweNewWheels(k, 1), TempChar,
>vbBinaryCompare)
> wweRotateNum(k) = CurrentPosition
> wweRotateNum(k - 1) = 30
> If k <> 1 Then
> TempChar = Mid(wweNewWheels(k - 1, 1), CurrentPosition, 1)
> End If
> Next k
> End If
> 'now add that encrypted character to the encrypted string
> wweDecryptedMsg = wweDecryptedMsg & TempChar
> 'now rotate the wheels
> fRotateWheels wweNumberOfWheels
>Next i
>fWheelDecrypt = wweDecryptedMsg
>End Function
>Function fRotateWheels(NumOfWheels)
>Dim x
>Dim FirstPos
>Dim strFirstHalf As String
>Dim strSecondHalf As String
>For x = 1 To NumOfWheels
> FirstPos = wweRotateNum(x)
> If wweNewWheels(x, 2) = 1 Then
> If FirstPos = Len(wweNewWheels(x, 1)) Then
> Exit Function
> Else
> strFirstHalf = Mid(wweNewWheels(x, 1), (Len(wweNewWheels(x,
>1)) - FirstPos + 1))
> strSecondHalf = Mid(wweNewWheels(x, 1), 1, (Len(wweNewWheels
>(x, 1)) - FirstPos))
> End If
> Else
> If FirstPos = Len(wweNewWheels(x, 1)) Then
> Exit Function
> Else
> strFirstHalf = Mid(wweNewWheels(x, 1), FirstPos + 1)
> strSecondHalf = Mid(wweNewWheels(x, 1), 1, FirstPos)
> End If
> End If
> wweNewWheels(x, 1) = strFirstHalf & strSecondHalf
>Next x
>End Function
>
>Have a good one,
>Crying Wolf
>
>P.S.-- the VB6 app I put this in also has some code that will create
>random 'wheels', thus creating a 'personalized' encryption/decryption
>tool.
>--
>He who learns but does not think is lost, he who thinks but does not lea
>
>
>Sent via Deja.com http://www.deja.com/
>Before you buy.
------------------------------
** 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
******************************