No BSD License  

Highlights from
MATLAB for Cryptography

from MATLAB for Cryptography by andi yusuf
bent function for test s-box.

bent(sbox,input,z,file2)
function bent(sbox,input,z,file2)
% program uji bent function
% apakah suatu s-box memenuhi bent function
% =========================================
if mod(z,2)==0
    batas=(2^input)-1;
    akhir=batas+1;
else
     batas=(2^input)-1;
     akhir=batas;
 end
batas1=2^(input-1);
akhir1=batas1+1;
reg=0;
Walsh_Box=zeros(1,akhir1);
for i=1:akhir
    count=0;
    for j=1:akhir
       otbox= sbox(:,j);
       kali=dec2bin(bitand((i-1),(j-1)),input);
       reg1=0;
       for k=1:input
           reg1=bitxor(reg1,str2num(kali(k)));
       end
       hasil=otbox+reg1;
       count=count+(-1)^hasil;
   end
   Walsh_Box(1,i)=count;
end
Walsh_Box
[o p]=size(Walsh_Box);
NilaiBent1=2^(floor(input/2))
NilaiBent2=-(NilaiBent1)
%fid1 = fopen(file2,'w');
%fprintf(fid1,'%c','Nilai Walsh :',char(13),char(10));
%fprintf(fid1,'%c',char(13),char(10));
%s=1;s2=8;
%for z=1:8
 %   newes=num2str(Walsh_Box(:,s:s2),2)
  %  fprintf(fid1,'%s',newes,char(13),char(10));
  %  s=s+8;s2=s2+8;
  %end
%fprintf(fid1,'%c',char(13),char(10));
%fprintf(fid1,'%c',char(13),char(10));
%fprintf(fid1,'%c','Nilai Bent :',char(13),char(10));
%fprintf(fid1,'%c',char(13),char(10));
%fprintf(fid1,'%c',strcat(num2str(NilaiBent1),' dan ',num2str(NilaiBent2)));
    
%fclose(fid1)
tamp=ones(1,length(Walsh_Box)).*NilaiBent1;
tamp1=ones(1,length(Walsh_Box)).*NilaiBent2;
plot([o:p],Walsh_Box,'b*',[o:p],tamp,'r-',[o:p],tamp1,'r-')
legend('Wals S-Box','Nilai Bent1','Nilai Bent2')
xlabel('Index Walsh')
ylabel('Nilai Walsh')

Contact us at files@mathworks.com