├── .m ├── AddMod.m ├── AddModCycLeftShifti.m ├── AensitivityAanlysisOfCiphertext.m ├── Arnold.m ├── ArnoldEncry.m ├── ArnoldEncry2.m ├── ArnoldMap.m ├── BACIBewteenTwoRandomImage.m ├── BACIExpect.m ├── BitCircShift.m ├── CalculateCycle.m ├── ChaoticSeq.m ├── ChaoticSequence.m ├── Chen_diff.m ├── Demo.m ├── ENTROPY.m ├── EncAndDecTest.m ├── FIPSTest.m ├── FrequencyDistributionTest.m ├── GF16Test.m ├── GF16diff.m ├── GF17diff.m ├── GF257Table.m ├── GF257TableEx.m ├── GF257diff.m ├── Henon.m ├── HenonMap.m ├── HyperChaosLorenzMap.m ├── HyperChaosLorenz_ext.m ├── HyperchaosLorenzSystem.m ├── ImCoef.m ├── InformationEntropyCalculation.m ├── KeySensitivityAnalysis.m ├── KeySensitivityAnalysisOfImageDecryptionSystem.m ├── LEofArnoldMap.m ├── LEofHenonMap.m ├── LEofLogisticMap.m ├── LEofLorenzMap.m ├── LEofTentMap.m ├── Logistic.m ├── LogisticBifurcationDiagram.m ├── LookUpGF17.m ├── LookUpGF17Ex.m ├── LookUpGF257.m ├── LookUpGF257Ex.m ├── LookUpGF257Ex2.m ├── LookUpGF2p4.m ├── LookUpGF2p4Ex.m ├── Lorenz.m ├── LorenzMap.m ├── LorenzPhaseDiagram.m ├── NPCRUACIBACI.m ├── PlaintextSensitivityAnalysis.m ├── QualitativeAnalysisOfKeySensitivity.m ├── RungeKuttaofHyperChaosLorenz.m ├── RungeKuttaofLorenz.m ├── SP800_22Revla.m ├── SingleNoRepScramb.m ├── Tent.m ├── TentMap.m ├── Test.m ├── TowDim2OneDimNoRepDcramb.m ├── TpDecrypt.m ├── TpEncrypt.m ├── TwoDim2OneDim.m ├── UACIExpect.m ├── XORdiff.m ├── f_arnold.m ├── f_arnoldX.m ├── lena.bmp ├── lenaRGB.bmp ├── lorenz_diff.m ├── lorenz_ext.m ├── lyapunov.m └── rowcolumn.m /.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/.m -------------------------------------------------------------------------------- /AddMod.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/AddMod.m -------------------------------------------------------------------------------- /AddModCycLeftShifti.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/AddModCycLeftShifti.m -------------------------------------------------------------------------------- /AensitivityAanlysisOfCiphertext.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/AensitivityAanlysisOfCiphertext.m -------------------------------------------------------------------------------- /Arnold.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/Arnold.m -------------------------------------------------------------------------------- /ArnoldEncry.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/ArnoldEncry.m -------------------------------------------------------------------------------- /ArnoldEncry2.m: -------------------------------------------------------------------------------- 1 | clc; 2 | clear; 3 | P=imread('lena.bmp'); 4 | figure(1);imshow(P); 5 | S=P(:); 6 | [M,N] = size(P); 7 | s=ChaoticSequence(2*M*N); 8 | X=mod(floor((s+100)*10^10),10*max(M,N))+1; 9 | a=X(1:M*N);b=X(M*N+1:2*M*N); 10 | for i=1:M*N 11 | a(i)=a(i)*b(i)+1; 12 | end 13 | for i=1:M*N 14 | 15 | y = mod(b(i)+a(i)*i,M*N); 16 | t=S(y);S(y) = S(i);S(i)=t; 17 | 18 | end 19 | S=reshape(S,M,N); 20 | figure(2); 21 | imshow(S); 22 | 23 | for i=M:-1:1 24 | 25 | y = mod(b(i)+a(i)*i,M*N); 26 | t=S(y);S(y) = S(i);S(i)=t; 27 | 28 | end 29 | 30 | figure(3); 31 | imshow(P); -------------------------------------------------------------------------------- /ArnoldMap.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/ArnoldMap.m -------------------------------------------------------------------------------- /BACIBewteenTwoRandomImage.m: -------------------------------------------------------------------------------- 1 | clc;clear; 2 | p=[128,255:-1:1]*2; 3 | pn=zeros(1,256); 4 | for i=0:255 5 | for j=0:255 6 | pn(abs(i-j)+1)=pn(abs(i-j)+1)+p(i+1)*p(j+1); 7 | end 8 | end 9 | pr=sum((0:255).*pn)/power(256,4)/255*100; -------------------------------------------------------------------------------- /BACIExpect.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/BACIExpect.m -------------------------------------------------------------------------------- /BitCircShift.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/BitCircShift.m -------------------------------------------------------------------------------- /CalculateCycle.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/CalculateCycle.m -------------------------------------------------------------------------------- /ChaoticSeq.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/ChaoticSeq.m -------------------------------------------------------------------------------- /ChaoticSequence.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/ChaoticSequence.m -------------------------------------------------------------------------------- /Chen_diff.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/Chen_diff.m -------------------------------------------------------------------------------- /Demo.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/Demo.m -------------------------------------------------------------------------------- /ENTROPY.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/ENTROPY.m -------------------------------------------------------------------------------- /EncAndDecTest.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/EncAndDecTest.m -------------------------------------------------------------------------------- /FIPSTest.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/FIPSTest.m -------------------------------------------------------------------------------- /FrequencyDistributionTest.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/FrequencyDistributionTest.m -------------------------------------------------------------------------------- /GF16Test.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/GF16Test.m -------------------------------------------------------------------------------- /GF16diff.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/GF16diff.m -------------------------------------------------------------------------------- /GF17diff.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/GF17diff.m -------------------------------------------------------------------------------- /GF257Table.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/GF257Table.m -------------------------------------------------------------------------------- /GF257TableEx.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/GF257TableEx.m -------------------------------------------------------------------------------- /GF257diff.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/GF257diff.m -------------------------------------------------------------------------------- /Henon.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/Henon.m -------------------------------------------------------------------------------- /HenonMap.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/HenonMap.m -------------------------------------------------------------------------------- /HyperChaosLorenzMap.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/HyperChaosLorenzMap.m -------------------------------------------------------------------------------- /HyperChaosLorenz_ext.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/HyperChaosLorenz_ext.m -------------------------------------------------------------------------------- /HyperchaosLorenzSystem.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/HyperchaosLorenzSystem.m -------------------------------------------------------------------------------- /ImCoef.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/ImCoef.m -------------------------------------------------------------------------------- /InformationEntropyCalculation.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/InformationEntropyCalculation.m -------------------------------------------------------------------------------- /KeySensitivityAnalysis.m: -------------------------------------------------------------------------------- 1 | clc;clear;close all; 2 | P1 = imread('lena.bmp'); 3 | x0=rand(1,1000)*80-40;y0=rand(1,1000)*80-40; 4 | z0=rand(1,1000)*80+1;w0=rand(1,1000)*500-250; 5 | nubLex=zeros(1,3);nubLey=zeros(1,3);nubLez=zeros(1,3);nubLew=zeros(1,3); 6 | 7 | for i=1:10 8 | K1=[x0(i) y0(i) z0(i) w0(i)]; 9 | CLe1=TpEncrypt(P1,K1); 10 | K2=[x0(i)+10^(-13) y0(i) z0(i) w0(i)]; 11 | CLe2=TpEncrypt(P1,K2); 12 | K3=[x0(i) y0(i)+10^(-13) z0(i) w0(i)]; 13 | CLe3=TpEncrypt(P1,K3); 14 | K4=[x0(i) y0(i) z0(i)+10^(-13) w0(i)]; 15 | CLe4=TpEncrypt(P1,K4); 16 | K5=[x0(i) y0(i) z0(i) w0(i)+10^(-13)]; 17 | CLe5=TpEncrypt(P1,K5); 18 | nubLex=nubLex+NPCRUACIBACI(CLe1,CLe2); 19 | nubLey=nubLey+NPCRUACIBACI(CLe1,CLe3); 20 | nubLez=nubLez+NPCRUACIBACI(CLe1,CLe4); 21 | nubLew=nubLew+NPCRUACIBACI(CLe1,CLe5); 22 | end 23 | nubLex=nubLex/10;nubLey=nubLey/10;nubLez=nubLez/10;nubLew=nubLew/10; 24 | -------------------------------------------------------------------------------- /KeySensitivityAnalysisOfImageDecryptionSystem.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/KeySensitivityAnalysisOfImageDecryptionSystem.m -------------------------------------------------------------------------------- /LEofArnoldMap.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/LEofArnoldMap.m -------------------------------------------------------------------------------- /LEofHenonMap.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/LEofHenonMap.m -------------------------------------------------------------------------------- /LEofLogisticMap.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/LEofLogisticMap.m -------------------------------------------------------------------------------- /LEofLorenzMap.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/LEofLorenzMap.m -------------------------------------------------------------------------------- /LEofTentMap.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/LEofTentMap.m -------------------------------------------------------------------------------- /Logistic.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/Logistic.m -------------------------------------------------------------------------------- /LogisticBifurcationDiagram.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/LogisticBifurcationDiagram.m -------------------------------------------------------------------------------- /LookUpGF17.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/LookUpGF17.m -------------------------------------------------------------------------------- /LookUpGF17Ex.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/LookUpGF17Ex.m -------------------------------------------------------------------------------- /LookUpGF257.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/LookUpGF257.m -------------------------------------------------------------------------------- /LookUpGF257Ex.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/LookUpGF257Ex.m -------------------------------------------------------------------------------- /LookUpGF257Ex2.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/LookUpGF257Ex2.m -------------------------------------------------------------------------------- /LookUpGF2p4.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/LookUpGF2p4.m -------------------------------------------------------------------------------- /LookUpGF2p4Ex.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/LookUpGF2p4Ex.m -------------------------------------------------------------------------------- /Lorenz.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/Lorenz.m -------------------------------------------------------------------------------- /LorenzMap.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/LorenzMap.m -------------------------------------------------------------------------------- /LorenzPhaseDiagram.m: -------------------------------------------------------------------------------- 1 | x0 = 1.1; y0 = 2.2; z0 = 3.3; w0 = 4.4; 2 | a = 10;b = 8/3;c = 28;r = -1;h = 0.002;t = 800; 3 | n=20000; 4 | xn = zeros(1,n);yn = zeros(1,n);zn = zeros(1,n);wn = zeros(1,n); 5 | for i = 1:n+t 6 | K11 = a*(y0-x0)+w0; 7 | K12 = a*(y0-x0-K11*h/2)+w0; 8 | K13 = a*(y0-x0-K12*h/2)+w0; 9 | K14 = a*(y0-x0-K13*h)+w0; 10 | x1 = x0+(K11+K12+K13+K14)*h/6; 11 | 12 | K21 = c*x1-y0-x1*z0; 13 | K22 = c*x1-(y0+K21*h/2)-x1*z0; 14 | K23 = c*x1-(y0+K22*h/2)-x1*z0; 15 | K24 = c*x1-(y0+K23*h)-x1*z0; 16 | y1 = y0+(K21+K22+K23+K24)*h/6; 17 | 18 | K31 = x1*y1-b*z0; 19 | K32 = x1*y1-b*(z0+K31*h/2); 20 | K33 = x1*y1-b*(z0+K32*h/2); 21 | K34 = x1*y1-b*(z0+K33*h); 22 | z1 = z0 + (K31+K32+K33+K34)*h/6; 23 | 24 | K41 = -y1*z1+r*w0; 25 | K42 = -y1*z1+r*(w0+K41*h/2); 26 | K43 = -y1*z1+r*(w0+K42*h/2); 27 | K44 = -y1*z1+r*(w0+K43*h); 28 | w1 = w0+(K41+K42+K43+K44)*h/6; 29 | 30 | x0=x1;y0=y1;z0=z1;w0=w1; 31 | if i>t 32 | xn(i-t)=x1; yn(i-t)=y1; zn(i-t)=z1; wn(i-t)=w1; 33 | end 34 | end 35 | 36 | figure(1);plot(xn,yn); 37 | xlabel('x_n','FontName','Times New Roman','FontSize',16,'FontAngle','Italic'); 38 | ylabel('y_n','FontName','Times New Roman','FontSize',16,'FontAngle','Italic'); 39 | set(gca,'FontName','Times New Roman','FontSize',16); 40 | 41 | figure(2);plot(xn,zn); 42 | xlabel('x_n','FontName','Times New Roman','FontSize',16,'FontAngle','Italic'); 43 | ylabel('z_n','FontName','Times New Roman','FontSize',16,'FontAngle','Italic'); 44 | set(gca,'FontName','Times New Roman','FontSize',16); 45 | 46 | figure(3);plot(xn,wn); 47 | xlabel('x_n','FontName','Times New Roman','FontSize',16,'FontAngle','Italic'); 48 | ylabel('w_n','FontName','Times New Roman','FontSize',16,'FontAngle','Italic'); 49 | set(gca,'FontName','Times New Roman','FontSize',16); 50 | 51 | figure(4);plot(yn,zn); 52 | xlabel('y_n','FontName','Times New Roman','FontSize',16,'FontAngle','Italic'); 53 | ylabel('z_n','FontName','Times New Roman','FontSize',16,'FontAngle','Italic'); 54 | set(gca,'FontName','Times New Roman','FontSize',16); 55 | 56 | figure(5);plot(yn,wn); 57 | xlabel('y_n','FontName','Times New Roman','FontSize',16,'FontAngle','Italic'); 58 | ylabel('w_n','FontName','Times New Roman','FontSize',16,'FontAngle','Italic'); 59 | set(gca,'FontName','Times New Roman','FontSize',16); 60 | 61 | figure(6);plot(zn,wn); 62 | xlabel('z_n','FontName','Times New Roman','FontSize',16,'FontAngle','Italic'); 63 | ylabel('w_n','FontName','Times New Roman','FontSize',16,'FontAngle','Italic'); 64 | set(gca,'FontName','Times New Roman','FontSize',16); 65 | -------------------------------------------------------------------------------- /NPCRUACIBACI.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/NPCRUACIBACI.m -------------------------------------------------------------------------------- /PlaintextSensitivityAnalysis.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/PlaintextSensitivityAnalysis.m -------------------------------------------------------------------------------- /QualitativeAnalysisOfKeySensitivity.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/QualitativeAnalysisOfKeySensitivity.m -------------------------------------------------------------------------------- /RungeKuttaofHyperChaosLorenz.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/RungeKuttaofHyperChaosLorenz.m -------------------------------------------------------------------------------- /RungeKuttaofLorenz.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/RungeKuttaofLorenz.m -------------------------------------------------------------------------------- /SP800_22Revla.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/SP800_22Revla.m -------------------------------------------------------------------------------- /SingleNoRepScramb.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/SingleNoRepScramb.m -------------------------------------------------------------------------------- /Tent.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/Tent.m -------------------------------------------------------------------------------- /TentMap.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/TentMap.m -------------------------------------------------------------------------------- /Test.m: -------------------------------------------------------------------------------- 1 | function OUT=Test(X) 2 | %LORENZEQ Lorenz equation 3 | % (a 3rd-order continuous autonomous system): 4 | % 5 | % dx/dt = SIGMA*(y - x) 6 | % dy/dt = RHO*x - y -x*z 7 | % dz/dt= x*y - BETA*z 8 | % 9 | % In this demo, SIGMA = 16, RHO = 45.92, BETA = 4 10 | % Initial conditions: x(0) = 1, y(0) = 1, z(0) = 1; 11 | % Reference values: LE1 = 1.497, LE2 = 0.00, LE3 = -22.46, LD = 2.07 12 | % 13 | % The reference values are from the following references: 14 | % 15 | % [1] A. Wolf, J. B. Swift, H. L. Swinney and J. A. Vastano, 16 | % "Determining Lyapunov Exponents from a Time Series," 17 | % Physica D, Vol. 16, pp. 285-317, 1985. 18 | % 19 | % [2] Keith Briggs, "An Improved Method for Estimating Liapunov 20 | % Exponents of Chaotic Time Series," Phys. Lett. A, Vol. 151, 21 | % pp. 27-32, Nov. 1990. 22 | 23 | % by Steve Wai Kam SIU, Jun. 29, 1998. 24 | 25 | %PARAMETERS 26 | SIGMA = 16; 27 | RHO = 45.92; 28 | BETA = 4; 29 | 30 | %Rearrange input data in desired format 31 | %Note: the input data is a column vector 32 | x=X(1);y=X(2);z=X(3); 33 | Q=[X(4), X(7), X(10); 34 | X(5), X(8), X(11); 35 | X(6), X(9), X(12)]; 36 | 37 | %Lorenz equation 38 | dx=SIGMA*(y-x); 39 | dy=-x*z+RHO*x-y; 40 | dz=x*y-BETA*z; 41 | 42 | DX1=[dx;dy;dz]; %Output data 43 | 44 | %Linearized system 45 | J=[-SIGMA, SIGMA, 0; 46 | RHO-z, -1, -x; 47 | y, x, -BETA]; 48 | 49 | %Variational equation 50 | F=J*Q; 51 | 52 | %Output data must be a column vector 53 | OUT=[DX1, F(:)]; 54 | end 55 | 56 | 57 | -------------------------------------------------------------------------------- /TowDim2OneDimNoRepDcramb.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/TowDim2OneDimNoRepDcramb.m -------------------------------------------------------------------------------- /TpDecrypt.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/TpDecrypt.m -------------------------------------------------------------------------------- /TpEncrypt.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/TpEncrypt.m -------------------------------------------------------------------------------- /TwoDim2OneDim.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/TwoDim2OneDim.m -------------------------------------------------------------------------------- /UACIExpect.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/UACIExpect.m -------------------------------------------------------------------------------- /XORdiff.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/XORdiff.m -------------------------------------------------------------------------------- /f_arnold.m: -------------------------------------------------------------------------------- 1 | function [x1,y1] = f_arnold(x,y,a,b) 2 | tmp = [1,a;b,a*b+1]*[x;y]; 3 | tmp = mod(tmp,[512;512]); 4 | x1=tmp(1)+1;y1=tmp(2)+1; 5 | %x1=tmp(1);y1=tmp(2); 6 | end 7 | -------------------------------------------------------------------------------- /f_arnoldX.m: -------------------------------------------------------------------------------- 1 | function [x,y] = f_arnoldX(x1,y1,a,b) 2 | x1=x1-1;y1=y1-1; 3 | tmp = [a*b+1,-a;-b,1]*[x1;y1]; 4 | tmp = mod(tmp,512); 5 | x=tmp(1);y=tmp(2); 6 | end 7 | -------------------------------------------------------------------------------- /lena.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/lena.bmp -------------------------------------------------------------------------------- /lenaRGB.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/lenaRGB.bmp -------------------------------------------------------------------------------- /lorenz_diff.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/lorenz_diff.m -------------------------------------------------------------------------------- /lorenz_ext.m: -------------------------------------------------------------------------------- 1 | function f=lorenz_ext(t,X,a,b,c) 2 | % 3 | % Lorenz equation 4 | % 5 | % dx/dt = SIGMA*(y - x) 6 | % dy/dt = R*x - y -x*z 7 | % dz/dt= x*y - BETA*z 8 | % 9 | % In demo run SIGMA = 10, R = 28, BETA = 8/3 10 | % Initial conditions: x(0) = 0, y(0) = 1, z(0) = 0; 11 | % Reference values for t=10 000 : 12 | % L_1 = 0.9022, L_2 = 0.0003, LE3 = -14.5691 13 | % 14 | % See: 15 | % K. Ramasubramanian, M.S. Sriram, "A comparative study of computation 16 | % of Lyapunov spectra with different algorithms", Physica D 139 (2000) 72-86. 17 | % 18 | % -------------------------------------------------------------------- 19 | % Copyright (C) 2004, Govorukhin V.N. 20 | 21 | 22 | % Values of parameters 23 | SIGMA = a; 24 | R = c; 25 | BETA = b; 26 | 27 | x=X(1); y=X(2); z=X(3); 28 | 29 | Y= [X(4), X(7), X(10); 30 | X(5), X(8), X(11); 31 | X(6), X(9), X(12)]; 32 | 33 | f=zeros(9,1); 34 | 35 | %Lorenz equation 36 | f(1)=SIGMA*(y-x); 37 | f(2)=-x*z+R*x-y; 38 | f(3)=x*y-BETA*z; 39 | 40 | %Linearized system 41 | 42 | Jac=[-SIGMA, SIGMA, 0; 43 | R-z, -1, -x; 44 | y, x, -BETA]; 45 | 46 | %Variational equation 47 | f(4:12)=Jac*Y; 48 | 49 | %Output data must be a column vector 50 | 51 | 52 | -------------------------------------------------------------------------------- /lyapunov.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/lyapunov.m -------------------------------------------------------------------------------- /rowcolumn.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/g18406550402/ImageEncryption/ae2e6cad5eb17fbcee16f7f1688880c0a215c51e/rowcolumn.m --------------------------------------------------------------------------------