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

📄 serpent.java

📁 linux下建立JAVA虚拟机的源码KAFFE
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
    x3 <<= 7;    x0 ^= x4;    x2 ^= x3;    x0 ^= x1;    x4 = (x4 >>> 7) | (x4 << 25);    x1 = (x1 >>> 1) | (x1 << 31);    x1 ^= x0;    x3 = x0 << 3;    x4 ^= x3;    x0 = (x0 >>> 13) | (x0 << 19);    x1 ^= x2;    x4 ^= x2;    x2 = (x2 >>> 3) | (x2 << 29);    x1 = ~x1;    x3 = x4;    x2 ^= x1;    x4 |= x0;    x4 ^= x2;    x2 |= x1;    x2 &= x0;    x3 ^= x4;    x2 ^= x3;    x3 |= x0;    x3 ^= x1;    x1 &= x2;    x1 ^= x4;    x3 ^= x2;    x4 &= x3;    x3 ^= x1;    x4 ^= x0;    x4 ^= x3;    x3 = ~x3;  }  private void sboxI4()  {    x4 = (x4 >>> 22) | (x4 << 10);    x1 = (x1 >>> 5) | (x1 << 27);    x0 = x3;    x4 ^= x2;    x0 <<= 7;    x1 ^= x2;    x4 ^= x0;    x1 ^= x3;    x2 = (x2 >>> 7) | (x2 << 25);    x3 = (x3 >>> 1) | (x3 << 31);    x3 ^= x1;    x0 = x1 << 3;    x2 ^= x0;    x1 = (x1 >>> 13) | (x1 << 19);    x3 ^= x4;    x2 ^= x4;    x4 = (x4 >>> 3) | (x4 << 29);    x0 = x4;    x4 &= x2;    x4 ^= x3;    x3 |= x2;    x3 &= x1;    x0 ^= x4;    x0 ^= x3;    x3 &= x4;    x1 = ~x1;    x2 ^= x0;    x3 ^= x2;    x2 &= x1;    x2 ^= x4;    x1 ^= x3;    x4 &= x1;    x2 ^= x1;    x4 ^= x0;    x4 |= x2;    x2 ^= x1;    x4 ^= x3;  }  private void sboxI3()  {    x4 = (x4 >>> 22) | (x4 << 10);    x1 = (x1 >>> 5) | (x1 << 27);    x3 = x2;    x4 ^= x0;    x3 <<= 7;    x1 ^= x0;    x4 ^= x3;    x1 ^= x2;    x0 = (x0 >>> 7) | (x0 << 25);    x2 = (x2 >>> 1) | (x2 << 31);    x2 ^= x1;    x3 = x1 << 3;    x0 ^= x3;    x1 = (x1 >>> 13) | (x1 << 19);    x2 ^= x4;    x0 ^= x4;    x4 = (x4 >>> 3) | (x4 << 29);    x3 = x4;    x4 ^= x2;    x2 &= x4;    x2 ^= x1;    x1 &= x3;    x3 ^= x0;    x0 |= x2;    x0 ^= x4;    x1 ^= x3;    x4 ^= x1;    x1 |= x0;    x1 ^= x2;    x3 ^= x4;    x4 &= x0;    x2 |= x0;    x2 ^= x4;    x3 ^= x1;    x4 ^= x3;  }  private void sboxI2()  {    x4 = (x4 >>> 22) | (x4 << 10);    x0 = (x0 >>> 5) | (x0 << 27);    x3 = x1;    x4 ^= x2;    x3 <<= 7;    x0 ^= x2;    x4 ^= x3;    x0 ^= x1;    x2 = (x2 >>> 7) | (x2 << 25);    x1 = (x1 >>> 1) | (x1 << 31);    x1 ^= x0;    x3 = x0 << 3;    x2 ^= x3;    x0 = (x0 >>> 13) | (x0 << 19);    x1 ^= x4;    x2 ^= x4;    x4 = (x4 >>> 3) | (x4 << 29);    x4 ^= x2;    x2 ^= x0;    x3 = x2;    x2 &= x4;    x2 ^= x1;    x1 |= x4;    x1 ^= x3;    x3 &= x2;    x4 ^= x2;    x3 &= x0;    x3 ^= x4;    x4 &= x1;    x4 |= x0;    x2 = ~x2;    x4 ^= x2;    x0 ^= x2;    x0 &= x1;    x2 ^= x3;    x2 ^= x0;  }  private void sboxI1()  {    x4 = (x4 >>> 22) | (x4 << 10);    x1 = (x1 >>> 5) | (x1 << 27);    x0 = x3;    x4 ^= x2;    x0 <<= 7;    x1 ^= x2;    x4 ^= x0;    x1 ^= x3;    x2 = (x2 >>> 7) | (x2 << 25);    x3 = (x3 >>> 1) | (x3 << 31);    x3 ^= x1;    x0 = x1 << 3;    x2 ^= x0;    x1 = (x1 >>> 13) | (x1 << 19);    x3 ^= x4;    x2 ^= x4;    x4 = (x4 >>> 3) | (x4 << 29);    x0 = x3;    x3 ^= x2;    x2 &= x3;    x0 ^= x4;    x2 ^= x1;    x1 |= x3;    x4 ^= x2;    x1 ^= x0;    x1 |= x4;    x3 ^= x2;    x1 ^= x3;    x3 |= x2;    x3 ^= x1;    x0 = ~x0;    x0 ^= x3;    x3 |= x1;    x3 ^= x1;    x3 |= x0;    x2 ^= x3;  }  private void sboxI0()  {    x2 = (x2 >>> 22) | (x2 << 10);    x0 = (x0 >>> 5) | (x0 << 27);    x3 = x1;    x2 ^= x4;    x3 <<= 7;    x0 ^= x4;    x2 ^= x3;    x0 ^= x1;    x4 = (x4 >>> 7) | (x4 << 25);    x1 = (x1 >>> 1) | (x1 << 31);    x1 ^= x0;    x3 = x0 << 3;    x4 ^= x3;    x0 = (x0 >>> 13) | (x0 << 19);    x1 ^= x2;    x4 ^= x2;    x2 = (x2 >>> 3) | (x2 << 29);    x2 = ~x2;    x3 = x1;    x1 |= x0;    x3 = ~x3;    x1 ^= x2;    x2 |= x3;    x1 ^= x4;    x0 ^= x3;    x2 ^= x0;    x0 &= x4;    x3 ^= x0;    x0 |= x1;    x0 ^= x2;    x4 ^= x3;    x2 ^= x1;    x4 ^= x0;    x4 ^= x1;    x2 &= x4;    x3 ^= x2;  }  private void sboxI7()  {    x1 = (x1 >>> 22) | (x1 << 10);    x0 = (x0 >>> 5) | (x0 << 27);    x2 = x3;    x1 ^= x4;    x2 <<= 7;    x0 ^= x4;    x1 ^= x2;    x0 ^= x3;    x4 = (x4 >>> 7) | (x4 << 25);    x3 = (x3 >>> 1) | (x3 << 31);    x3 ^= x0;    x2 = x0 << 3;    x4 ^= x2;    x0 = (x0 >>> 13) | (x0 << 19);    x3 ^= x1;    x4 ^= x1;    x1 = (x1 >>> 3) | (x1 << 29);    x2 = x1;    x1 ^= x0;    x0 &= x4;    x1 = ~x1;    x2 |= x4;    x4 ^= x3;    x3 |= x0;    x0 ^= x1;    x1 &= x2;    x3 ^= x1;    x1 ^= x0;    x0 |= x1;    x4 &= x2;    x0 ^= x4;    x2 ^= x3;    x4 ^= x2;    x2 |= x0;    x4 ^= x1;    x2 ^= x1;  }  // These S-Box functions are used in the key setup.  /** S-Box 0. */  private void sbox0(int r0, int r1, int r2, int r3)  {    int r4 = r1 ^ r2;    r3 ^= r0;    r1 = r1 & r3 ^ r0;    r0 = (r0 | r3) ^ r4;    r4 ^= r3;    r3 ^= r2;    r2 = (r2 | r1) ^ r4;    r4 = ~r4 | r1;    r1 ^= r3 ^ r4;    r3 |= r0;    x0 = r1 ^ r3;    x1 = r4 ^ r3;    x2 = r2;    x3 = r0;  }  /** S-Box 1. */  private void sbox1(int r0, int r1, int r2, int r3)  {    r0 = ~r0;    int r4 = r0;    r2 = ~r2;    r0 &= r1;    r2 ^= r0;    r0 |= r3;    r3 ^= r2;    r1 ^= r0;    r0 ^= r4;    r4 |= r1;    r1 ^= r3;    r2 = (r2 | r0) & r4;    r0 ^= r1;    x0 = r2;    x1 = r0 & r2 ^ r4;    x2 = r3;    x3 = r1 & r2 ^ r0;  }  /** S-Box 2. */  private void sbox2(int r0, int r1, int r2, int r3)  {    int r4 = r0;    r0 = r0 & r2 ^ r3;    r2 = r2 ^ r1 ^ r0;    r3 = (r3 | r4) ^ r1;    r4 ^= r2;    r1 = r3;    r3 = (r3 | r4) ^ r0;    r0 &= r1;    r4 ^= r0;    x0 = r2;    x1 = r3;    x2 = r1 ^ r3 ^ r4;    x3 = ~r4;  }  /** S-Box 3. */  private void sbox3(int r0, int r1, int r2, int r3)  {    int r4 = r0;    r0 |= r3;    r3 ^= r1;    r1 &= r4;    r4 = r4 ^ r2 | r1;    r2 ^= r3;    r3 = r3 & r0 ^ r4;    r0 ^= r1;    r4 = r4 & r0 ^ r2;    r1 = (r1 ^ r3 | r0) ^ r2;    r0 ^= r3;    x0 = (r1 | r3) ^ r0;    x1 = r1;    x2 = r3;    x3 = r4;  }  /** S-Box 4. */  private void sbox4(int r0, int r1, int r2, int r3)  {    r1 ^= r3;    int r4 = r1;    r3 = ~r3;    r2 ^= r3;    r3 ^= r0;    r1 = r1 & r3 ^ r2;    r4 ^= r3;    r0 ^= r4;    r2 = r2 & r4 ^ r0;    r0 &= r1;    r3 ^= r0;    r4 = (r4 | r1) ^ r0;    x0 = r1;    x1 = r4 ^ (r2 & r3);    x2 = ~((r0 | r3) ^ r2);    x3 = r3;  }  /** S-Box 5. */  private void sbox5(int r0, int r1, int r2, int r3)  {    r0 ^= r1;    r1 ^= r3;    int r4 = r1;    r3 = ~r3;    r1 &= r0;    r2 ^= r3;    r1 ^= r2;    r2 |= r4;    r4 ^= r3;    r3 = r3 & r1 ^ r0;    r4 = r4 ^ r1 ^ r2;    x0 = r1;    x1 = r3;    x2 = r0 & r3 ^ r4;    x3 = ~(r2 ^ r0) ^ (r4 | r3);  }  /** S-Box 6. */  private void sbox6(int r0, int r1, int r2, int r3)  {    int r4 = r3;    r2 = ~r2;    r3 = r3 & r0 ^ r2;    r0 ^= r4;    r2 = (r2 | r4) ^ r0;    r1 ^= r3;    r0 |= r1;    r2 ^= r1;    r4 ^= r0;    r0 = (r0 | r3) ^ r2;    r4 = r4 ^ r3 ^ r0;    x0 = r0;    x1 = r1;    x2 = r4;    x3 = r2 & r4 ^ ~r3;  }  /** S-Box 7. */  private void sbox7(int r0, int r1, int r2, int r3)  {    int r4 = r1;    r1 = (r1 | r2) ^ r3;    r4 ^= r2;    r2 ^= r1;    r3 = (r3 | r4) & r0;    r4 ^= r2;    r3 ^= r1;    r1 = (r1 | r4) ^ r0;    r0 = (r0 | r4) ^ r2;    r1 ^= r4;    r2 ^= r1;    x0 = r4 ^ (~r2 | r0);    x1 = r3;    x2 = r1 & r0 ^ r4;    x3 = r0;  }  // Inner classes.  // -----------------------------------------------------------------------  private class Key implements Cloneable  {    // Constants and variables.    // --------------------------------------------------------------------    int k0, k1, k2, k3, k4, k5, k6, k7, k8, k9, k10, k11, k12, k13, k14, k15,        k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29,        k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k40, k41, k42, k43,        k44, k45, k46, k47, k48, k49, k50, k51, k52, k53, k54, k55, k56, k57,        k58, k59, k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k70, k71,        k72, k73, k74, k75, k76, k77, k78, k79, k80, k81, k82, k83, k84, k85,        k86, k87, k88, k89, k90, k91, k92, k93, k94, k95, k96, k97, k98, k99,        k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111,        k112, k113, k114, k115, k116, k117, k118, k119, k120, k121, k122, k123,        k124, k125, k126, k127, k128, k129, k130, k131;    // Constructors.    // --------------------------------------------------------------------    /** Trivial 0-arguments constructor. */    Key()    {    }    /** Cloning constructor. */    private Key(Key that)    {      this.k0 = that.k0;      this.k1 = that.k1;      this.k2 = that.k2;      this.k3 = that.k3;      this.k4 = that.k4;      this.k5 = that.k5;      this.k6 = that.k6;      this.k7 = that.k7;      this.k8 = that.k8;      this.k9 = that.k9;      this.k10 = that.k10;      this.k11 = that.k11;      this.k12 = that.k12;      this.k13 = that.k13;      this.k14 = that.k14;      this.k15 = that.k15;      this.k16 = that.k16;      this.k17 = that.k17;      this.k18 = that.k18;      this.k19 = that.k19;      this.k20 = that.k20;      this.k21 = that.k21;      this.k22 = that.k22;      this.k23 = that.k23;      this.k24 = that.k24;      this.k25 = that.k25;      this.k26 = that.k26;      this.k27 = that.k27;      this.k28 = that.k28;      this.k29 = that.k29;      this.k30 = that.k30;      this.k31 = that.k31;      this.k32 = that.k32;      this.k33 = that.k33;      this.k34 = that.k34;      this.k35 = that.k35;      this.k36 = that.k36;      this.k37 = that.k37;      this.k38 = that.k38;      this.k39 = that.k39;      this.k40 = that.k40;      this.k41 = that.k41;      this.k42 = that.k42;      this.k43 = that.k43;      this.k44 = that.k44;      this.k45 = that.k45;      this.k46 = that.k46;      this.k47 = that.k47;      this.k48 = that.k48;      this.k49 = that.k49;      this.k50 = that.k50;      this.k51 = that.k51;      this.k52 = that.k52;      this.k53 = that.k53;      this.k54 = that.k54;      this.k55 = that.k55;      this.k56 = that.k56;      this.k57 = that.k57;      this.k58 = that.k58;      this.k59 = that.k59;      this.k60 = that.k60;      this.k61 = that.k61;      this.k62 = that.k62;      this.k63 = that.k63;      this.k64 = that.k64;      this.k65 = that.k65;      this.k66 = that.k66;      this.k67 = that.k67;      this.k68 = that.k68;      this.k69 = that.k69;      this.k70 = that.k70;      this.k71 = that.k71;      this.k72 = that.k72;      this.k73 = that.k73;      this.k74 = that.k74;      this.k75 = that.k75;      this.k76 = that.k76;      this.k77 = that.k77;      this.k78 = that.k78;      this.k79 = that.k79;      this.k80 = that.k80;      this.k81 = that.k81;      this.k82 = that.k82;      this.k83 = that.k83;      this.k84 = that.k84;      this.k85 = that.k85;      this.k86 = that.k86;      this.k87 = that.k87;      this.k88 = that.k88;      this.k89 = that.k89;      this.k90 = that.k90;      this.k91 = that.k91;      this.k92 = that.k92;      this.k93 = that.k93;      this.k94 = that.k94;      this.k95 = that.k95;      this.k96 = that.k96;      this.k97 = that.k97;      this.k98 = that.k98;      this.k99 = that.k99;      this.k100 = that.k100;      this.k101 = that.k101;      this.k102 = that.k102;      this.k103 = that.k103;      this.k104 = that.k104;      this.k105 = that.k105;      this.k106 = that.k106;      this.k107 = that.k107;      this.k108 = that.k108;      this.k109 = that.k109;      this.k110 = that.k110;      this.k111 = that.k111;      this.k112 = that.k112;      this.k113 = that.k113;      this.k114 = that.k114;      this.k115 = that.k115;      this.k116 = that.k116;      this.k117 = that.k117;      this.k118 = that.k118;      this.k119 = that.k119;      this.k120 = that.k120;      this.k121 = that.k121;      this.k122 = that.k122;      this.k123 = that.k123;      this.k124 = that.k124;      this.k125 = that.k125;      this.k126 = that.k126;      this.k127 = that.k127;      this.k128 = that.k128;      this.k129 = that.k129;      this.k130 = that.k130;      this.k131 = that.k131;    }    // Cloneable interface implementation.    // --------------------------------------------------------------------    public Object clone()    {      return new Key(this);    }  }}

⌨️ 快捷键说明

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