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

    s = mod(...
        bin2num(qnt32,sprintf('%-1d', s1(Qb(mod(j-16,16)+1,:)))) + ...
        bin2num(qnt32,sprintf('%-1d', s2(Qb(mod(j-15,16)+1,:)))) + ...
        bin2num(qnt32,sprintf('%-1d', s3(Qb(mod(j-14,16)+1,:)))) + ...
        bin2num(qnt32,sprintf('%-1d', s0(Qb(mod(j-13,16)+1,:)))) + ...
        bin2num(qnt32,sprintf('%-1d', s1(Qb(mod(j-12,16)+1,:)))) + ...
        bin2num(qnt32,sprintf('%-1d', s2(Qb(mod(j-11,16)+1,:)))) + ...
        bin2num(qnt32,sprintf('%-1d', s3(Qb(mod(j-10,16)+1,:)))) + ...
        bin2num(qnt32,sprintf('%-1d', s0(Qb(mod(j-9,16)+1,:)))) + ...
        bin2num(qnt32,sprintf('%-1d', s1(Qb(mod(j-8,16)+1,:)))) + ...
        bin2num(qnt32,sprintf('%-1d', s2(Qb(mod(j-7,16)+1,:)))) + ...
        bin2num(qnt32,sprintf('%-1d', s3(Qb(mod(j-6,16)+1,:)))) + ...
        bin2num(qnt32,sprintf('%-1d', s0(Qb(mod(j-5,16)+1,:)))) + ...
        bin2num(qnt32,sprintf('%-1d', s1(Qb(mod(j-4,16)+1,:)))) + ...
        bin2num(qnt32,sprintf('%-1d', s2(Qb(mod(j-3,16)+1,:)))) + ...
        bin2num(qnt32,sprintf('%-1d', s3(Qb(mod(j-2,16)+1,:)))) + ...
        bin2num(qnt32,sprintf('%-1d', s0(Qb(mod(j-1,16)+1,:)))) + ...
        AddEl(j-16), 2^32);

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