• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    des算法原理

    作者: 時(shí)間:2012-02-17 來源:網(wǎng)絡(luò) 收藏

    用S密箱里的值S[j][ m][ n]替換B[j]。8個(gè)S密箱如下所示:
    S-BOXE:S1
    Binary d1d6 =>; 00 01 10 11
    / d2..d5 / Dec 0 1 2 3
    0000 0 14 0 4 15
    0001 1 4 15 1 12
    0010 2 13 7 14 8
    0011 3 1 4 8 2
    0100 4 2 14 13 4
    0101 5 15 2 6 9
    0110 6 11 13 2 1
    0111 7 8 1 11 7
    1000 8 3 10 15 5
    1001 9 10 6 12 11
    1010 10 6 12 9 3
    1011 11 12 11 7 14
    1100 12 5 9 3 10
    1101 13 9 5 10 0
    1110 14 0 3 5 6
    1111 15 7 8 0 13
    S-BOXE:S2
    Binary d1d6 =>; 00 01 10 11
    / d2..d5 / Dec 0 1 2 3
    0000 0 15 3 0 13
    0001 1 1 13 14 8
    0010 2 8 4 7 10
    0011 3 14 7 11 1
    0100 4 6 15 10 3
    0101 5 11 2 4 15
    0110 6 3 8 13 4
    0111 7 4 14 1 2
    1000 8 9 12 5 11
    1001 9 7 0 8 6
    1010 10 2 1 12 7
    1011 11 13 10 6 12
    1100 12 12 6 9 0
    1101 13 0 9 3 5
    1110 14 5 11 2 14
    1111 15 10 5 15 9
    S-BOXE:S3
    Binary d1d6 =>; 00 01 10 11
    / d2..d5 / Dec 0 1 2 3
    0000 0 10 13 13 1
    0001 1 0 7 6 10
    0010 2 9 0 4 13
    0011 3 14 9 9 0
    0100 4 6 3 8 6
    0101 5 3 4 15 9
    0110 6 15 6 3 8
    0111 7 5 10 0 7
    1000 8 1 2 11 4
    1001 9 13 8 1 15
    1010 10 12 5 2 14
    1011 11 7 14 12 3
    1100 12 11 12 5 11
    1101 13 4 11 10 5
    1110 14 2 15 14 2
    1111 15 8 1 7 12
    S-BOXE:S4
    Binary d1d6 =>; 00 01 10 11
    / d2..d5 / Dec 0 1 2 3
    0000 0 7 13 10 3
    0001 1 13 8 6 15
    0010 2 14 11 9 0
    0011 3 3 5 0 6
    0100 4 0 6 12 10
    0101 5 6 15 11 1
    0110 6 9 0 7 13
    0111 7 10 3 13 8
    1000 8 1 4 15 9
    1001 9 2 7 1 4
    1010 10 8 2 3 5
    1011 11 5 12 14 11
    1100 12 11 1 5 12
    1101 13 12 10 2 7
    1110 14 4 14 8 2
    1111 15 15 9 4 14
    S-BOXE:S5
    Binary d1d6 =>; 00 01 10 11
    / d2..d5 / Dec 0 1 2 3
    0000 0 2 14 4 11
    0001 1 12 11 2 8
    0010 2 4 2 1 12
    0011 3 1 12 11 7
    0100 4 7 4 10 1
    0101 5 10 7 13 14
    0110 6 11 13 7 2
    0111 7 6 1 8 13
    1000 8 8 5 15 6
    1001 9 5 0 9 15
    1010 10 3 15 12 0
    1011 11 15 10 5 9
    1100 12 13 3 6 10
    1101 13 0 9 3 4
    1110 14 14 8 0 5
    1111 15 9 6 14 3
    S-BOXE:S6
    Binary d1d6 =>; 00 01 10 11
    / d2..d5 / Dec 0 1 2 3
    0000 0 12 10 9 4
    0001 1 1 15 14 3
    0010 2 10 4 15 2
    0011 3 15 2 5 12
    0100 4 9 7 2 9
    0101 5 2 12 8 5
    0110 6 6 9 12 15
    0111 7 8 5 3 10
    1000 8 0 6 7 11
    1001 9 13 1 0 14
    1010 10 3 13 4 1
    1011 11 4 14 10 7
    1100 12 14 0 1 6
    1101 13 7 11 13 0
    1110 14 5 3 11 8
    1111 15 11 8 6 13
    S-BOXE:S7
    Binary d1d6 =>; 00 01 10 11
    / d2..d5 / Dec 0 1 2 3
    0000 0 4 13 1 6
    0001 1 11 0 4 11
    0010 2 2 11 11 13
    0011 3 14 7 13 8
    0100 4 15 4 12 1
    0101 5 0 9 3 4
    0110 6 8 1 7 10
    0111 7 13 10 14 7
    1000 8 3 14 10 9
    1001 9 12 3 15 5
    1010 10 9 5 6 0
    1011 11 7 12 8 15
    1100 12 5 2 0 14
    1101 13 10 15 5 2
    1110 14 6 8 9 3
    1111 15 1 6 2 12
    S-BOXE:S8
    Binary d1d6 =>; 00 01 10 11
    / d2..d5 / Dec 0 1 2 3
    0000 0 13 1 7 2
    0001 1 2 15 11 1
    0010 2 8 13 4 14
    0011 3 4 8 1 7
    0100 4 6 10 9 4
    0101 5 15 3 12 10
    0110 6 11 7 14 8
    0111 7 1 4 2 13
    1000 8 10 12 0 15
    1001 9 9 5 6 12
    1010 10 3 6 10 9
    1011 11 14 11 13 0
    1100 12 5 0 15 3
    1101 13 0 14 3 5
    1110 14 12 9 5 6
    1111 15 7 2 8 11

    返回第一步直至8個(gè)數(shù)據(jù)塊都被替換。

    把B[1]至B[8]順序串聯(lián)起來得到一個(gè)32位數(shù)。對(duì)這個(gè)數(shù)做如下變換:
    bit goes to bit bit goes to bit
    16 1 2 17
    7 2 8 18
    20 3 24 19
    21 4 14 20
    29 5 32 21
    12 6 27 22
    28 7 3 23
    17 8 9 24
    1 9 19 25
    15 10 13 26
    23 11 30 27
    26 12 6 28
    5 13 22 29
    18 14 11 30
    31 15 4 31
    10 16 25 32

    把得到的結(jié)果與L[i-1]作異或運(yùn)算。把計(jì)算結(jié)果x給R[i]。

    把R[i-1]的值x給L[i]。

    從a循環(huán)執(zhí)行,直到K[16]也被用到。

    把R[16]和L[16] 順序串聯(lián)起來得到一個(gè)64位數(shù)。對(duì)這個(gè)數(shù)實(shí)施II變換的逆變換。

    以上就是DES算法如何加密一段64位數(shù)據(jù)塊。解密時(shí)用同樣的過程,只需把16個(gè)子密鑰的順續(xù)顛倒過來,應(yīng)用的順序?yàn)镵[16],K[15],K[14],...K[1]。


    上一頁 1 2 下一頁

    關(guān)鍵詞: des 算法原理

    評(píng)論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 鲁甸县| 南华县| 平果县| 连云港市| 新平| 湖口县| 威远县| 衡水市| 名山县| 措美县| 石泉县| 永泰县| 镶黄旗| 承德县| 浪卡子县| 惠来县| 碌曲县| 渭源县| 卓资县| 卫辉市| 曲周县| 黄浦区| 漳浦县| 巩留县| 安西县| 文水县| 金昌市| 屯昌县| 思南县| 光山县| 阿巴嘎旗| 梁平县| 梓潼县| 阜南县| 吉木萨尔县| 湾仔区| 兰溪市| 什邡市| 松桃| 榆中县| 武山县|