西西河

主题:【原创】说些关于中国密码的事吧 -- ragtime

共:💬28 🌺29 新:
全看分页树展 · 主题 跟帖
家园 FF,GG,HH,II 供调试用

// Round 1

FF (a, b, c, d, M[ 0].to_ulong(), 7, 0Xd76aa478);

FF (d, a, b, c, M[ 1].to_ulong(), 12, 0Xe8c7b756);

FF (c, d, a, b, M[ 2].to_ulong(), 17, 0X242070db);

FF (b, c, d, a, M[ 3].to_ulong(), 22, 0Xc1bdceee);

FF (a, b, c, d, M[ 4].to_ulong(), 7, 0Xf57c0faf);

FF (d, a, b, c, M[ 5].to_ulong(), 12, 0X4787c62a);

FF (c, d, a, b, M[ 6].to_ulong(), 17, 0Xa8304613);

FF (b, c, d, a, M[ 7].to_ulong(), 22, 0Xfd469501);

FF (a, b, c, d, M[ 8].to_ulong(), 7, 0X698098d8);

FF (d, a, b, c, M[ 9].to_ulong(), 12, 0X8b44f7af);

FF (c, d, a, b, M[10].to_ulong(), 17, 0Xffff5bb1);

FF (b, c, d, a, M[11].to_ulong(), 22, 0X895cd7be);

FF (a, b, c, d, M[12].to_ulong(), 7, 0X6b901122);

FF (d, a, b, c, M[13].to_ulong(), 12, 0Xfd987193);

FF (c, d, a, b, M[14].to_ulong(), 17, 0Xa679438e);

FF (b, c, d, a, M[15].to_ulong(), 22, 0X49b40821);

// Round 2

GG (a, b, c, d, M[ 1].to_ulong(), 5, 0Xf61e2562);

GG (d, a, b, c, M[ 6].to_ulong(), 9, 0Xc040b340);

GG (c, d, a, b, M[11].to_ulong(), 14, 0X265e5a51);

GG (b, c, d, a, M[ 0].to_ulong(), 20, 0Xe9b6c7aa);

GG (a, b, c, d, M[ 5].to_ulong(), 5, 0Xd62f105d);

GG (d, a, b, c, M[10].to_ulong(), 9, 0X2441453);

GG (c, d, a, b, M[15].to_ulong(), 14, 0Xd8a1e681);

GG (b, c, d, a, M[ 4].to_ulong(), 20, 0Xe7d3fbc8);

GG (a, b, c, d, M[ 9].to_ulong(), 5, 0X21e1cde6);

GG (d, a, b, c, M[14].to_ulong(), 9, 0Xc33707d6);

GG (c, d, a, b, M[ 3].to_ulong(), 14, 0Xf4d50d87);

GG (b, c, d, a, M[ 8].to_ulong(), 20, 0X455a14ed);

GG (a, b, c, d, M[13].to_ulong(), 5, 0Xa9e3e905);

GG (d, a, b, c, M[ 2].to_ulong(), 9, 0Xfcefa3f8);

GG (c, d, a, b, M[ 7].to_ulong(), 14, 0X676f02d9);

GG (b, c, d, a, M[12].to_ulong(), 20, 0X8d2a4c8a);

// Round 3

HH (a, b, c, d, M[ 5].to_ulong(), 4, 0Xfffa3942);

HH (d, a, b, c, M[ 8].to_ulong(), 11, 0X8771f681);

HH (c, d, a, b, M[11].to_ulong(), 16, 0X6d9d6122);

HH (b, c, d, a, M[14].to_ulong(), 23, 0Xfde5380c);

HH (a, b, c, d, M[ 1].to_ulong(), 4, 0Xa4beea44);

HH (d, a, b, c, M[ 4].to_ulong(), 11, 0X4bdecfa9);

HH (c, d, a, b, M[ 7].to_ulong(), 16, 0Xf6bb4b60);

HH (b, c, d, a, M[10].to_ulong(), 23, 0Xbebfbc70);

HH (a, b, c, d, M[13].to_ulong(), 4, 0X289b7ec6);

HH (d, a, b, c, M[ 0].to_ulong(), 11, 0Xeaa127fa);

HH (c, d, a, b, M[ 3].to_ulong(), 16, 0Xd4ef3085);

HH (b, c, d, a, M[ 6].to_ulong(), 23, 0X4881d05);

HH (a, b, c, d, M[ 9].to_ulong(), 4, 0Xd9d4d039);

HH (d, a, b, c, M[12].to_ulong(), 11, 0Xe6db99e5);

HH (c, d, a, b, M[15].to_ulong(), 16, 0X1fa27cf8);

HH (b, c, d, a, M[ 2].to_ulong(), 23, 0Xc4ac5665);

// Round 4

II (a, b, c, d, M[ 0].to_ulong(), 6, 0Xf4292244);

II (d, a, b, c, M[ 7].to_ulong(), 10, 0X432aff97);

II (c, d, a, b, M[14].to_ulong(), 15, 0Xab9423a7);

II (b, c, d, a, M[ 5].to_ulong(), 21, 0Xfc93a039);

II (a, b, c, d, M[12].to_ulong(), 6, 0X655b59c3);

II (d, a, b, c, M[ 3].to_ulong(), 10, 0X8f0ccc92);

II (c, d, a, b, M[10].to_ulong(), 15, 0Xffeff47d);

II (b, c, d, a, M[ 1].to_ulong(), 21, 0X85845dd1);

II (a, b, c, d, M[ 8].to_ulong(), 6, 0X6fa87e4f);

II (d, a, b, c, M[15].to_ulong(), 10, 0Xfe2ce6e0);

II (c, d, a, b, M[ 6].to_ulong(), 15, 0Xa3014314);

II (b, c, d, a, M[13].to_ulong(), 21, 0X4e0811a1);

II (a, b, c, d, M[ 4].to_ulong(), 6, 0Xf7537e82);

II (d, a, b, c, M[11].to_ulong(), 10, 0Xbd3af235);

II (c, d, a, b, M[ 2].to_ulong(), 15, 0X2ad7d2bb);

II (b, c, d, a, M[ 9].to_ulong(), 21, 0Xeb86d391);

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河