MATLAB在密码学中的应用
注意:
二进制不能直接转十六进制,但是十进制可以转十六进制
一定看清各变量的数据类型,有的是char,有的是逻辑型,有的是uint等
字符串转二进制
s=’abcd’;
bin=dec2bin(s,8) %十进制转二进制
左循环移位
ones=bin(1,:); %以bin数据的第一行为例
circ=circshift(ones,[1,-1]) %只需要修改-1这个参数,-1代表左循环1位
按位异或
left=bin(2,:); %bin数组的第2行
right=bin(3,:); %bin数组的第3行
left=uint8(bin2dec(left)); %转换成8无符号整形 十进制
right=uint8(bin2dec(right));
xorValues=dec2bin(bitxor(left,right),8); %最后进行按位异或的值8位 二进制