WEB开发网
开发学院软件开发C语言 分组密码SAFER+的C#实现 阅读

分组密码SAFER+的C#实现

 2009-02-27 08:18:34 来源:WEB开发网   
核心提示: 二SAFER+实现细节1. 两个常量数组-指数盒数组和对数盒数组SAFER+中,用于字节内混淆的是一个算法公开的指数盒数组m_nExpBox[256]和它的逆盒,分组密码SAFER+的C#实现(2),也即对数盒数组m_nLogBox[512],其中,因此,可借助指数盒数组m_nExpBox

分组密码SAFER+的C#实现

二 SAFER+实现细节

1.     两个常量数组-指数盒数组和对数盒数组

SAFER+中,用于字节内混淆的是一个算法公开的指数盒数组m_nExpBox[256]和它的逆

盒,也即对数盒数组m_nLogBox[512],其中,指数盒数组m_nExpBox[256]的定义如下:

m_nExpBox[i] = 45i mod 257

特别地,45128 mod 257 = 256,将之表示为0。

而对数盒数组m_nLogBox[512]定义如下:

m_nLogBox[i] = Log45(i)

特别地,定义Log45(0)=128

注意到它是指数盒数组的逆盒运算,因此,可借助指数盒数组m_nExpBox[256]来定义

m_nLogBox[]的值,因为计算量较大,所以简单地用一维数组表示如下:

static public byte[] m_nExpBox=

        {   1,45,226,147,190,69,21,174,120,3,135,164,184,56,207,63,

            8,103,9,148,235,38,168,107,189,24,52,27,187,191,114,247,

            64,53,72,156,81,47,59,85,227,192,159,216,211,243,141,177,

            255,167,62,220,134,119,215,166,17,251,244,186,146,145,100,131,

            241,51,239,218,44,181,178,43,136,209,153,203,140,132,29,20,

            129,151,113,202,95,163,139,87,60,130,196,82,92,28,232,160,

            4,180,133,74,246,19,84,182,223,12,26,142,222,224,57,252,

            32,155,36,78,169,152,158,171,242,96,208,108,234,250,199,217,

            0,212,31,110,67,188,236,83,137,254,122,93,73,201,50,194,

            249,154,248,109,22,219,89,150,68,233,205,230,70,66,143,10,

            193,204,185,101,176,210,198,172,30,65,98,41,46,14,116,80,

            2,90,195,37,123,138,42,91,240,6,13,71,111,112,157,126,

            16,206,18,39,213,76,79,214,121,48,104,54,117,125,228,237,

            128,106,144,55,162,94,118,170,197,127,61,175,165,229,25,97,

            253,77,124,183,11,238,173,75,34,245,231,115,35,33,200,5,

            225,102,221,179,88,105,99,86,15,161,49,149,23,7,58,40

        };

static public byte[] m_nLogBox =

        {   128,0,176,9,96,239,185,253,16,18,159,228,105,186,173,248,

            192,56,194,101,79,6,148,252,25,222,106,27,93,78,168,130,

            112,237,232,236,114,179,21,195,255,171,182,71,68,1,172,37,

            201,250,142,65,26,33,203,211,13,110,254,38,88,218,50,15,

            32,169,157,132,152,5,156,187,34,140,99,231,197,225,115,198,

            175,36,91,135,102,39,247,87,244,150,177,183,92,139,213,84,

            121,223,170,246,62,163,241,17,202,245,209,23,123,147,131,188,

            189,82,30,235,174,204,214,53,8,200,138,180,226,205,191,217,

            208,80,89,63,77,98,52,10,72,136,181,86,76,46,107,158,

            210,61,60,3,19,251,151,81,117,74,145,113,35,190,118,42,

            95,249,212,85,11,220,55,49,22,116,215,119,167,230,7,219,

           164,47,70,243,97,69,103,227,12,162,59,28,133,24,4,29,

            41,160,143,178,90,216,166,126,238,141,83,75,161,154,193,14,

            122,73,165,44,129,196,199,54,43,127,67,149,51,242,108,104,

            109,240,2,40,206,221,155,234,94,153,124,20,134,207,229,66,

            184,64,120,45,58,233,100,31,146,144,125,57,111,224,137,48,

            128,0,176,9,96,239,185,253,16,18,159,228,105,186,173,248,

            192,56,194,101,79,6,148,252,25,222,106,27,93,78,168,130,

            112,237,232,236,114,179,21,195,255,171,182,71,68,1,172,37,

            201,250,142,65,26,33,203,211,13,110,254,38,88,218,50,15,

            32,169,157,132,152,5,156,187,34,140,99,231,197,225,115,198,

            175,36,91,135,102,39,247,87,244,150,177,183,92,139,213,84,

            121,223,170,246,62,163,241,17,202,245,209,23,123,147,131,188,

            189,82,30,235,174,204,214,53,8,200,138,180,226,205,191,217,

            208,80,89,63,77,98,52,10,72,136,181,86,76,46,107,158,

            210,61,60,3,19,251,151,81,117,74,145,113,35,190,118,42,

            95,249,212,85,11,220,55,49,22,116,215,119,167,230,7,219,

            164,47,70,243,97,69,103,227,12,162,59,28,133,24,4,29,

            41,160,143,178,90,216,166,126,238,141,83,75,161,154,193,14,

            122,73,165,44,129,196,199,54,43,127,67,149,51,242,108,104,

            109,240,2,40,206,221,155,234,94,153,124,20,134,207,229,66,

            184,64,120,45,58,233,100,31,146,144,125,57,111,224,137,48

        }; 

上一页  1 2 3 4 5 6 7  下一页

Tags:分组 密码 SAFER

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接