%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Copyright: 2010 Integrated Sytems Laboratory, ETH Zurich %% http://www.iis.ee.ethz.ch/~sha3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% global M Mb H Hb; M = H; H = [hex2dec('aaaaaaa0') hex2dec('aaaaaaa1')... % CONST^final hex2dec('aaaaaaa2') hex2dec('aaaaaaa3')... hex2dec('aaaaaaa4') hex2dec('aaaaaaa5')... hex2dec('aaaaaaa6') hex2dec('aaaaaaa7')... hex2dec('aaaaaaa8') hex2dec('aaaaaaa9')... hex2dec('aaaaaaaa') hex2dec('aaaaaaab')... hex2dec('aaaaaaac') hex2dec('aaaaaaad')... hex2dec('aaaaaaae') hex2dec('aaaaaaaf')]'; f0; f1; f2; hash = Hb(9:16,:); hash_num = zeros(8,1); for oct = 1:8 hash_num(oct,:) = bin2num(qnt32,sprintf('%-1d', hash(oct,:))); end hs1 = dec2hex(bin2num(qnt32,sprintf('%-1d',Hb(9,[25:32 17:24 9:16 1:8])))); hs2 = dec2hex(bin2num(qnt32,sprintf('%-1d',Hb(10,[25:32 17:24 9:16 1:8])))); hs3 = dec2hex(bin2num(qnt32,sprintf('%-1d',Hb(11,[25:32 17:24 9:16 1:8])))); hs4 = dec2hex(bin2num(qnt32,sprintf('%-1d',Hb(12,[25:32 17:24 9:16 1:8])))); hs5 = dec2hex(bin2num(qnt32,sprintf('%-1d',Hb(13,[25:32 17:24 9:16 1:8])))); hs6 = dec2hex(bin2num(qnt32,sprintf('%-1d',Hb(14,[25:32 17:24 9:16 1:8])))); hs7 = dec2hex(bin2num(qnt32,sprintf('%-1d',Hb(15,[25:32 17:24 9:16 1:8])))); hs8 = dec2hex(bin2num(qnt32,sprintf('%-1d',Hb(16,[25:32 17:24 9:16 1:8])))); %zerostring = for zp = 1:(8-length(hs1)) hs1 = strcat('0', hs1); end for zp = 1:(8-length(hs2)) hs2 = strcat('0', hs2); end for zp = 1:(8-length(hs3)) hs3 = strcat('0', hs3); end for zp = 1:(8-length(hs4)) hs4 = strcat('0', hs4); end for zp = 1:(8-length(hs5)) hs5 = strcat('0', hs5); end for zp = 1:(8-length(hs6)) hs6 = strcat('0', hs6); end for zp = 1:(8-length(hs7)) hs7 = strcat('0', hs7); end for zp = 1:(8-length(hs8)) hs8 = strcat('0', hs8); end hash_string = strcat(hs1, hs2, hs3, hs4, hs5, hs6, hs7, hs8); clear hs*;