%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Copyright: 2010 Integrated Sytems Laboratory, ETH Zurich
%%            http://www.iis.ee.ethz.ch/~sha3
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [s] = expand2(j)   % j in {18,...,31}
global qnt32 Qb;

    s = mod(...
        bin2num(qnt32,sprintf('%-1d', Qb(j-16+1,:))) + ...
        bin2num(qnt32,sprintf('%-1d', circshift(Qb(j-15+1,:),[0 -3]))) + ...
        bin2num(qnt32,sprintf('%-1d', Qb(j-14+1,:))) + ...
        bin2num(qnt32,sprintf('%-1d', circshift(Qb(j-13+1,:),[0 -7]))) + ...
        bin2num(qnt32,sprintf('%-1d', Qb(j-12+1,:))) + ...
        bin2num(qnt32,sprintf('%-1d', circshift(Qb(j-11+1,:),[0 -13]))) + ...
        bin2num(qnt32,sprintf('%-1d', Qb(j-10+1,:))) + ...
        bin2num(qnt32,sprintf('%-1d', circshift(Qb(j-9+1,:),[0 -16]))) + ...
        bin2num(qnt32,sprintf('%-1d', Qb(j-8+1,:))) + ...
        bin2num(qnt32,sprintf('%-1d', circshift(Qb(j-7+1,:),[0 -19]))) + ...
        bin2num(qnt32,sprintf('%-1d', Qb(j-6+1,:))) + ...
        bin2num(qnt32,sprintf('%-1d', circshift(Qb(j-5+1,:),[0 -23]))) + ...
        bin2num(qnt32,sprintf('%-1d', Qb(j-4+1,:))) + ...
        bin2num(qnt32,sprintf('%-1d', circshift(Qb(j-3+1,:),[0 -27]))) + ...
        bin2num(qnt32,sprintf('%-1d', s4(Qb(j-2+1,:)))) + ...
        bin2num(qnt32,sprintf('%-1d', s5(Qb(j-1+1,:)))) + ...
        AddEl(j-16), 2^32);
    

Generated on Fri Sep 24 10:39:12 CEST 2010
Home