1. Kryptonite (128-bit) 1.5
- Posted by Alan Tu <ATU5713 at COMPUSERVE.COM> Jul 08, 1998
- 499 views
-- below is shrouded version of Kryptonite v1.5 -- no new doc as yet -- for those who use previous version, work same way with difference -- this is 128-bit true random number encryption -- new users: run and follow the simple prompts -- effective password limit 16 characters -- algorithm involves recursive byte -- transformation using seeded random numbers -- unfortunately, -- screen still displays password entry -- will try to fix in next release uwarning = iB=3D19, C=3D20, D=3D22, E=3D23, F=3D42, G=3D43 iH( I) cI>=3D0 ei iI( J) cJ>=3D-1 ei iJ( K) cK=3D0AK=3D1 ei aeK(H L,I M) c (B,{L,M}) eae aeL(H M) c (C,M) eae i M=3D1, N=3D2, O=3D3, P=3D4, Q=3D5, R=3D6, S=3D7, T=3D8, U=3D9 aeV( W) c (D,W) eae aeW() c (E,0) eae aeX(J Y) (F,Y) eae aeY() c (G,0) eae iZ=3D0, a=3D1, b=3D2, c=3D3, d=3D4, e=3D5, f=3D6, g=3D7, h=3D8, i=3D9, j=3D10, k=3D11, l=3D12, m=3D13, n=3D14, o=3D15 ip=3D16 = iq=3D1, r=3D2, s=3D3, t=3D5, u=3D6, v=3D7, w=3D8, x=3D9, y=3D10, z=3D11, BA=3D12, BB=3D13, BC=3D18, BD=3D25, BE=3D27 iBF( BG) c(BG>=3D-3AeBG<=3D19)A(BG>=3D256AeBG<=3D263) ei iBG( BH) cBH>=3D0AeBH<=3D255 ei iBH( BI) cBI=3D0ABI=3D1 ei iBI( BJ) cBJ>=3D1 ei iBJ( BK) c (BK)=3D2 ei iBK( BL) c (BL)=3D2A (BL)=3D3 ei iBL( BM) c (BM)>=3D2 ei aeBM(BG BN,BL BO) (r,{BN,0,BO}) eae aeBN(BG BO, BH BP, BL BQ) (z,{BO,BP,BQ}) eae aeBO(BG BP,BH BQ,BJ BR,BJ BS) (BC,{BP,BQ,BR,BS}) eae aeBP(BF BQ) c (t,BQ) eae iBR=3D1, BS=3D2, BQ=3D3, BT=3D4, BU=3D5, BV=3D6, BW=3D7, BX=3D8 aeBY() c (BB,0) eae iBZ=3D#2000, Ba=3D#0607, Bb=3D#0507, Bc=3D#0407, Bd=3D#0007 aeBe( Bf) (u,Bf) eae aeBf() c (BD,0) eae aeBg(BI Bh) c (BA,Bh) eae aeBh(BH Bi) (v,Bi) eae aeBi( Bj, BI Bk, BI Bl) (w,{Bj,Bk,Bl}) eae aeBj(BG Bk) (x,Bk) eae aeBl(BG Bk) (y,Bk) eae iBk( Bm) c (Bm)=3D3 = ei aeBm(BG Bn,Bk Bo) c (s,{Bn,Bo}) eae aeBn( Bo) (BE,Bo) eae iBo( Bp) cBp>=3D0 ei aeBp(Bo Bq) (q,Bq) eae iBq=3D16, Br=3D17, Bs=3D32, Bt=3D33, Bu=3D34, Bv=3D35, Bw=3D36, Bx=3D37, By=3D38, Bz=3D39, CA=3D40, CB=3D41, CC=3D46, CD=3D47, CE=3D48, CF=3D49 iCG=3D (2,32)-1 iCH=3D (2,20)-1 iCI( CJ) cCJ>=3D1 ei iCJ( CK) cCK>=3D0 ei iCK( CL) cCL>0AeCL<=3DCGAe (CL)=3DCL ei iCL( CM) c (CM)=3D2Ae (CM[1])AeCK(CM[2]) ei iCM( CN) cCN>0AeCN<=3DCHAe (CN)=3DCN ei iCN( CO) c (CO)=3D8 ei iCO( CP) c (CP)=3D4 ei iCP=3D10 iCQ=3D1, CR=3D2, CS=3D3, CT=3D4, CU=3D5, CV=3D6, CW=3D7, CX=3D8, CY=3D9, CZ=3D10 iCa( Cb) c (Cb)=3DCP ei aeCb(CI Cc) c (Bq,Cc) eae aeCc(CK Cd) (Br,Cd) eae aeCd(CI Ce) c (Bs,Ce) eae aeCe(CM Cf) (Bt,Cf) eae aeCf( Cg,Ca Ch) c (Bu,{Cg,Ch}) eae aeCg( Ch) Ci,Cj,Ck,Cl Ci=3D (Ch,#100) Ch=3D (Ch/#100) Cj=3D (Ch,#100) Ch=3D (Ch/#100) Ck=3D (Ch,#100) Ch=3D (Ch/#100) Cl=3D (Ch,#100) c{Ci,Cj,Ck,Cl} eae aeCh( Ci) cCi[1]+ Ci[2]*#100+ Ci[3]*#10000+ Ci[4]*#1000000 eae aeCj( Ck, Cl) Ci ueCk<0A Ck=3DCk+ (2,Cl) eue Ci=3D (0,Cl) aCm=3D1iCle Ci[Cm]=3D (Ck,2) Ck=3D (Ck/2) ea cCi eae aeCk( Cl) Ci,Cm Ci=3D0 Cm=3D1 aCn=3D1i (Cl)e ueCl[Cn]A Ci=3DCi+Cm eue Cm=3DCm+Cm ea cCi eae aeCl( Ci) (Bv,Ci) eae aeCm( Cn) (Bw,Cn) eae aeCi( Cn) (Bx,Cn) eae aeCn( Co) (By,Co) eae aeCo( Cp) c (Bz,Cp) eae aeCp( Cq,CL Cr) (CA,{Cq,Cr}) eae aeCq(CK Cr,CI Cs) (CB,{Cr,Cs}) eae aeCr( Cs) c (CC,Cs) eae aeCs( Ct) c (CE,Ct) eae aeCt(CN Cu) c (CD,Cu) eae aeCu(CO Cv) c (CF,Cv) eae aeCv( Cw) Cx Cx=3DCb( (Cw)+1) (Cx,Cw&0) cCx eae Cw,Cx Cy,Cz DA aeDB( DC) DD DE DD=3D{} DE=3D0 DE=3D ("\n",DC) ueDE>0ADC=3DDC[1..DE-1] eue (1,DC) DD=3D (0) DD=3DDD[1.. (DD)-1] ue (DD)<1ADD=3D" " eue ueDE>0A (1,"\n") eue DA=3DDD eae aeDC() DD DE DE=3DK(Cy,0) DD=3D ('0',Cz) (Cy,DD) (Cy) ("del "&Cw,0) (1,"Input file wiped and deleted\n") (0) eae aeDD() DE,DF,DG,DH,DI,DJ DK,DL,DM,DN,DO DB("Enter password: \n") DE=3DDA DB("Re-enter password: \n") DF=3DDA DK=3D (DE,DF) ueDK !=3D0A (1,"Passwords don't match. Please re-enter.\n")DD() eue e (DF)<16e DF=3DDF&DF ee DF=3DDF[1..16] DG=3DDF[1..4] DH=3DDF[5..8] DI=3DDF[9..12] DJ=3DDF[13..16] DL=3D1 DM=3D1 DN=3D1 DO=3D1 aDP=3D1i4e DL=3DDL*DG[DP] ea aDP=3D1i4e DM=3DDM*DH[DP] ea aDP=3D1i4e DN=3DDN*DI[DP] ea aDP=3D1i4e DO=3DDO*DJ[DP] ea Cx=3D{DL,DM,DN,DO} eae aeDE() DF,DG,DH,DI DJ,DK,DL () Be(1543) (1,"Kryptonite File Encryption Module\n") (1,"Copyright (c) Alan Tu <atu5713 at compuserve.com> 1998\n\n") DB("Enter input path and filename: \n") Cw=3DDA Cy=3D (Cw,"ub") DJ=3DK(Cy,-1) Cz=3DL(Cy) DJ=3DK(Cy,0) DG=3D (0,Cz) aDM=3D1iCze DG[DM]=3D (Cy) ea DD() DH=3DDG aDN=3D1i4e Cl(Cx[DN]) aDO=3D1iCze DH[DO]=3DDH[DO]+ (255) ueDH[DO]>255ADH[DO]=3DDH[DO]-256 eue ea ea DB("Enter output path and filename: \n") DF=3DDA DK=3D (DF,"wb") (1,"Applying access seal...") (DK,DH) (1,"Done\n") (1,"Input file now sealed in output file\n") (DK) DB("Wipe input file (Y/N)? ") DI=3DDA ue (DI,"y")=3D0A (DI,"Y")=3D0ADC() e (DI,"n")=3D0A (DI,"N")=3D0A (Cy) (0) eue eae aeDP() DF,DG,DH,DI,DJ,DK,DL,DM,DN,DO DQ,DR,DS,DT,DU,DV,DW () Be(1543) (1,"Kryptonite File Decryption Module\n") (1,"Copyright (c) Alan Tu <atu5713 at compuserve.com> 1998\n\n") DB("Enter input path and filename: \n") Cw=3DDA Cy=3D (Cw,"ub") DR=3DK(Cy,-1) Cz=3DL(Cy) DR=3DK(Cy,0) DH=3D (0,Cz) aDX=3D1iCze DH[DX]=3D (Cy) ea DB("Enter password: \n") DI=3DDA e (DI)<16e DI=3DDI&DI ee DJ=3DDI[1..16] DL=3DDJ[1..4] DM=3DDJ[5..8] DN=3DDJ[9..12] DO=3DDJ[13..16] DT=3D1 DU=3D1 DV=3D1 DW=3D1 aDY=3D1i4e DT=3DDT*DL[DY] ea aDY=3D1i4e DU=3DDU*DM[DY] ea aDY=3D1i4e DV=3DDV*DN[DY] ea aDY=3D1i4e DW=3DDW*DO[DY] ea Cx=3D{DT,DU,DV,DW} DG=3DDH aDY=3D1i4e Cl(Cx[DY]) aDZ=3D1iCze DG[DZ]=3DDG[DZ]- (255) ueDG[DZ]<0ADG[DZ]=3DDG[DZ]+256 eue ea ea DB("Enter output path and filename: \n") DF=3DDA DQ=3D (DF,"wb") (1,"Applying kryptonite against access seal...") (DQ,DG) (1,"Done\n") (1,"Input file now unsealed in output file\n") (DQ) DB("Wipe input file (Y/N)? ") DK=3DDA ue (DK,"y")=3D0A (DK,"Y")=3D0ADC() e (DK,"n")=3D0A (DK,"N")=3D0A (Cy) (0) eue eae aeDF() DG () Be(8192) (1,"Welcome to the Kryptonite File Encrypter/Decrypter v1.5\n") (1,"Copyright (c) Alan Tu <atu5713 at compuserve.com> 1998\n\n") (1,"Press E to encrypt, D to decrypt, Q to quit\n") e1e DG=3D () ueDG=3D'e'ADG=3D'E'ADE() eDG=3D'd'ADG=3D'D'ADP() eDG=3D'q'ADG=3D'Q'ABe(1543) (0) eue ee eae DF() =