⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pgpdes3_68k.c

📁 vc环境下的pgp源码
💻 C
📖 第 1 页 / 共 2 页
字号:
    DC.L    0x01000004,0x08000200,0x02080100,0x00200000
    DC.L    0x00000400,0x08000008,0x40080100,0x04200800
    DC.L    0x00000004,0x00000200,0x00000100,0x00000802
    DC.L    0x01000404,0x00000000,0x02000000,0x00200802
    DC.L    0x00010404,0x08020008,0x42080000,0x04200800
    DC.L    0x01010404,0x08000208,0x42080100,0x00000802
    DC.L    0x00010004,0x00020000,0x00080100,0x04000002
    DC.L    0x01010000,0x08000000,0x42000000,0x04200802
    DC.L    0x01000404,0x08020208,0x42080100,0x04200000
    DC.L    0x01000004,0x00000008,0x02080000,0x00200800
    DC.L    0x00000404,0x00020208,0x00000000,0x00000000
    DC.L    0x00010404,0x00020200,0x40080000,0x00000002
    DC.L    0x01010400,0x08000008,0x42000000,0x04200802
    DC.L    0x00000404,0x08020000,0x00080100,0x00000000
    DC.L    0x01000400,0x08000208,0x02000100,0x00200802
    DC.L    0x01000400,0x00000208,0x40000100,0x04200000
    DC.L    0x00000000,0x08020000,0x00080000,0x00000800
    DC.L    0x00010004,0x00020208,0x00000000,0x04000002
    DC.L    0x00010400,0x00000008,0x40080000,0x04000800
    DC.L    0x00000000,0x08020008,0x02080100,0x00000800
    DC.L    0x01010004,0x00020200,0x40000100,0x00200002
@SP1:
    DC.L    0x80108020,0x00802001,0x20000010,0x10001040
    DC.L    0x80008000,0x00002081,0x20400000,0x00001000
    DC.L    0x00008000,0x00002081,0x00004000,0x00040000
    DC.L    0x00108020,0x00000080,0x20404010,0x10041040
    DC.L    0x00100000,0x00802080,0x20400000,0x10000000
    DC.L    0x00000020,0x00800081,0x00000010,0x10001040
    DC.L    0x80100020,0x00800001,0x20404010,0x00000040
    DC.L    0x80008020,0x00002001,0x00400000,0x10000000
    DC.L    0x80000020,0x00000000,0x20004000,0x00040040
    DC.L    0x80108020,0x00802000,0x00404010,0x10040000
    DC.L    0x80108000,0x00802000,0x00400000,0x10041040
    DC.L    0x80000000,0x00802081,0x20000010,0x00041000
    DC.L    0x80008000,0x00000081,0x00400010,0x10041000
    DC.L    0x00100000,0x00000000,0x20004000,0x00041040
    DC.L    0x00000020,0x00800080,0x20000000,0x00001000
    DC.L    0x80100020,0x00800001,0x00004010,0x00000040
    DC.L    0x00108000,0x00000001,0x00000000,0x10040000
    DC.L    0x00100020,0x00002000,0x00400010,0x10000040
    DC.L    0x80008020,0x00800000,0x20004010,0x10001000
    DC.L    0x00000000,0x00802001,0x00004000,0x00001040
    DC.L    0x80000000,0x00000080,0x00404000,0x00041000
    DC.L    0x00008000,0x00800000,0x20004010,0x00040040
    DC.L    0x00108020,0x00002001,0x00000010,0x10040040
    DC.L    0x80100000,0x00002080,0x20400010,0x10041000
    DC.L    0x00100020,0x00800081,0x20400010,0x00001040
    DC.L    0x80000020,0x00000001,0x00000000,0x00000000
    DC.L    0x00000000,0x00002080,0x00404010,0x00000000
    DC.L    0x00108000,0x00800080,0x20404000,0x10040040
    DC.L    0x00008020,0x00002000,0x00004010,0x10000040
    DC.L    0x80108000,0x00802080,0x00404000,0x10001000
    DC.L    0x80100000,0x00802081,0x20404000,0x00041040
    DC.L    0x00008020,0x00000081,0x20000000,0x00040000
    DC.L    0x00000000,0x00800080,0x20004000,0x00041040
    DC.L    0x00108020,0x00800001,0x00000010,0x00040000
    DC.L    0x80100020,0x00802000,0x20400010,0x10041000
    DC.L    0x00100000,0x00802081,0x00404000,0x00001000
    DC.L    0x80008020,0x00000081,0x20404010,0x00000040
    DC.L    0x80100000,0x00000000,0x00400000,0x10040040
    DC.L    0x80108000,0x00000000,0x00004010,0x00001000
    DC.L    0x00008000,0x00802000,0x20000010,0x00041040
    DC.L    0x80100000,0x00002080,0x00400000,0x10001000
    DC.L    0x80008000,0x00800080,0x20004000,0x00000040
    DC.L    0x00000020,0x00800081,0x20000000,0x10000040
    DC.L    0x80108020,0x00000001,0x00004010,0x10040000
    DC.L    0x00108020,0x00802001,0x20000010,0x10040040
    DC.L    0x00000020,0x00002081,0x20404010,0x10000000
    DC.L    0x00008000,0x00002081,0x00404000,0x00040000
    DC.L    0x80000000,0x00000080,0x20400000,0x10001040
    DC.L    0x00008020,0x00802081,0x00404010,0x00000000
    DC.L    0x80108000,0x00000081,0x20404000,0x10041040
    DC.L    0x00100000,0x00000001,0x00000000,0x00040040
    DC.L    0x80000020,0x00002000,0x20400010,0x10000040
    DC.L    0x00100020,0x00800001,0x00000010,0x10040000
    DC.L    0x80008020,0x00002001,0x00004000,0x10001000
    DC.L    0x80000020,0x00802080,0x20400000,0x10001040
    DC.L    0x00100020,0x00800081,0x00404010,0x00000000
    DC.L    0x00108000,0x00002001,0x00004000,0x10041040
    DC.L    0x00000000,0x00002080,0x00400010,0x00041000
    DC.L    0x80008000,0x00800000,0x20004010,0x00041000
    DC.L    0x00008020,0x00802001,0x00000000,0x00001040
    DC.L    0x80000000,0x00000080,0x20404000,0x00001040
    DC.L    0x80100020,0x00800000,0x20000000,0x00040040
    DC.L    0x80108020,0x00002000,0x00400010,0x10000000
    DC.L    0x00108000,0x00802080,0x20004010,0x10041000
@desIter:
    exg     d5,d3
@des0:    
    moveq   #7,d1
@desLoop:
    move.l  (a2)+,d0
    eor.l   d5,d0
    move.l  d0,d6
    and.l   d2,d0
    move.l  12(a0,d0.w),d4    /* S6 */
    swap    d0
    or.l    4(a0,d0.w),d4     /* S2 */
    ror.l   #8,d6
    and.l   d2,d6
    or.l    8(a0,d6.w),d4     /* S4 */
    swap    d6
    or.l    0(a0,d6.w),d4     /* S0 */
    move.l  (a2)+,d0
    eor.l   d5,d0
    move.l  d0,d6
    lsl.l   #4,d0
    and.l   d2,d0
    or.l    12(a1,d0.w),d4    /* S7 */
    swap    d0
    or.l    4(a1,d0.w),d4     /* S3 */
    lsr.l   #4,d6
    and.l   d2,d6
    or.l    8(a1,d6.w),d4     /* S5 */
    swap    d6
    or.l    0(a1,d6.w),d4     /* S1 */
    eor.l   d4,d3
    move.l  (a2)+,d0
    eor.l   d3,d0
    move.l  d0,d6
    and.l   d2,d0
    move.l  12(a0,d0.w),d4    /* S6 */
    swap    d0
    or.l    4(a0,d0.w),d4     /* S2 */
    ror.l   #8,d6
    and.l   d2,d6
    or.l    8(a0,d6.w),d4     /* S4 */
    swap    d6
    or.l    0(a0,d6.w),d4     /* S0 */
    move.l  (a2)+,d0
    eor.l   d3,d0
    move.l  d0,d6
    lsl.l   #4,d0
    and.l   d2,d0
    or.l    12(a1,d0.w),d4    /* S7 */
    swap    d0
    or.l    4(a1,d0.w),d4     /* S3 */
    lsr.l   #4,d6
    and.l   d2,d6
    or.l    8(a1,d6.w),d4     /* S5 */
    swap    d6
    or.l    0(a1,d6.w),d4     /* S1 */
    eor.l   d4,d5
    dbf     d1,@desLoop       /* 53 */
    dbf     d7,@desIter
    ror.l   #1,d5             /* EXSHMSK(R,0x55555555,L,1,tmp) */
    move.l  d5,d2
    eor.l   d3,d2
    andi.l  #0xaaaaaaaa,d2
    eor.l   d2,d3
    eor.l   d2,d5
    ror.l   #1,d3
    move.l  d3,d2             /* EXSHMSK(L,0x00ff00ff,R,8,tmp) */
    lsr.l   #8,d2
    eor.l   d5,d2
    andi.l  #0x00ff00ff,d2
    eor.l   d2,d5
    lsl.l   #8,d2
    eor.l   d2,d3
    move.l  d3,d2             /* EXSHMSK(L,0x33333333,R,2,tmp) */
    lsr.l   #2,d2
    eor.l   d5,d2
    andi.l  #0x33333333,d2
    eor.l   d2,d5
    lsl.l   #2,d2
    eor.l   d2,d3
    swap    d5                /* EXSHMSK(R,0x0000ffff,L,16,tmp) */
    move.w  d5,d2
    move.w  d3,d5
    move.w  d2,d3
    swap    d5
    move.l  d5,d2             /* EXSHMSK(R,0x0f0f0f0f,L,4,tmp) */
    lsr.l   #4,d2
    eor.l   d3,d2
    andi.l  #0x0f0f0f0f,d2
    eor.l   d2,d3
    lsl.l   #4,d2
    eor.l   d2,d5
    movea.l out,a0
    move.l  d5,(a0)+
    move.l  d3,(a0)
    movem.l (a7)+,a2/d3-d7
    frfree
    rts
}

/* Validation triples -
 *
 * Double-length key, single-length plaintext -
 * Key    : 0123 4567 89ab cdef fedc ba98 7654 3210
 * Plain  : 0123 4567 89ab cde7
 * Cipher : 7f1d 0a77 826b 8aff
 *
 * Triple-length key, single-length plaintext -
 * Key    : 0123 4567 89ab cdef fedc ba98 7654 3210 89ab cdef 0123 4567
 * Plain  : 0123 4567 89ab cde7
 * Cipher : de0b 7c06 ae5e 0ed5
 *
 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -