亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? twofish.java

?? linux下建立JAVA虛擬機的源碼KAFFE
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
                                   + ", ");                }              System.out.println();            }          System.out.println();          System.out.println("MDS[3][]:");          for (i = 0; i < 64; i++)            {              for (j = 0; j < 4; j++)                {                  System.out.print("0x" + Util.toString(MDS[3][i * 4 + j])                                   + ", ");                }              System.out.println();            }          System.out.println();          System.out.println("Total initialization time: " + time + " ms.");          System.out.println();        }    }  private static final int LFSR1(int x)  {    return (x >> 1) ^ ((x & 0x01) != 0 ? GF256_FDBK_2 : 0);  }  private static final int LFSR2(int x)  {    return (x >> 2) ^ ((x & 0x02) != 0 ? GF256_FDBK_2 : 0)           ^ ((x & 0x01) != 0 ? GF256_FDBK_4 : 0);  }  //   private static final int Mx_1(int x) {  //      return x;  //   }  private static final int Mx_X(int x)  { // 5B    return x ^ LFSR2(x);  }  private static final int Mx_Y(int x)  { // EF    return x ^ LFSR1(x) ^ LFSR2(x);  }  // Constructor(s)  // -------------------------------------------------------------------------  /** Trivial 0-arguments constructor. */  public Twofish()  {    super(Registry.TWOFISH_CIPHER, DEFAULT_BLOCK_SIZE, DEFAULT_KEY_SIZE);  }  // Class methods  // -------------------------------------------------------------------------  private static final int b0(int x)  {    return x & 0xFF;  }  private static final int b1(int x)  {    return (x >>> 8) & 0xFF;  }  private static final int b2(int x)  {    return (x >>> 16) & 0xFF;  }  private static final int b3(int x)  {    return (x >>> 24) & 0xFF;  }  /**   * Use (12, 8) Reed-Solomon code over GF(256) to produce a key S-box 32-bit   * entity from two key material 32-bit entities.   *   * @param k0 1st 32-bit entity.   * @param k1 2nd 32-bit entity.   * @return remainder polynomial generated using RS code   */  private static final int RS_MDS_Encode(int k0, int k1)  {    int r = k1;    int i;    for (i = 0; i < 4; i++)      { // shift 1 byte at a time        r = RS_rem(r);      }    r ^= k0;    for (i = 0; i < 4; i++)      {        r = RS_rem(r);      }    return r;  }  /**   * Reed-Solomon code parameters: (12, 8) reversible code:<p>   * <pre>   *   g(x) = x**4 + (a + 1/a) x**3 + a x**2 + (a + 1/a) x + 1   * </pre>   * where a = primitive root of field generator 0x14D   */  private static final int RS_rem(int x)  {    int b = (x >>> 24) & 0xFF;    int g2 = ((b << 1) ^ ((b & 0x80) != 0 ? RS_GF_FDBK : 0)) & 0xFF;    int g3 = (b >>> 1) ^ ((b & 0x01) != 0 ? (RS_GF_FDBK >>> 1) : 0) ^ g2;    int result = (x << 8) ^ (g3 << 24) ^ (g2 << 16) ^ (g3 << 8) ^ b;    return result;  }  private static final int F32(int k64Cnt, int x, int[] k32)  {    int b0 = b0(x);    int b1 = b1(x);    int b2 = b2(x);    int b3 = b3(x);    int k0 = k32[0];    int k1 = k32[1];    int k2 = k32[2];    int k3 = k32[3];    int result = 0;    switch (k64Cnt & 3)      {      case 1:        result = MDS[0][(P[P_01][b0] & 0xFF) ^ b0(k0)]                 ^ MDS[1][(P[P_11][b1] & 0xFF) ^ b1(k0)]                 ^ MDS[2][(P[P_21][b2] & 0xFF) ^ b2(k0)]                 ^ MDS[3][(P[P_31][b3] & 0xFF) ^ b3(k0)];        break;      case 0: // same as 4        b0 = (P[P_04][b0] & 0xFF) ^ b0(k3);        b1 = (P[P_14][b1] & 0xFF) ^ b1(k3);        b2 = (P[P_24][b2] & 0xFF) ^ b2(k3);        b3 = (P[P_34][b3] & 0xFF) ^ b3(k3);      case 3:        b0 = (P[P_03][b0] & 0xFF) ^ b0(k2);        b1 = (P[P_13][b1] & 0xFF) ^ b1(k2);        b2 = (P[P_23][b2] & 0xFF) ^ b2(k2);        b3 = (P[P_33][b3] & 0xFF) ^ b3(k2);      case 2: // 128-bit keys (optimize for this case)        result = MDS[0][(P[P_01][(P[P_02][b0] & 0xFF) ^ b0(k1)] & 0xFF)                        ^ b0(k0)]                 ^ MDS[1][(P[P_11][(P[P_12][b1] & 0xFF) ^ b1(k1)] & 0xFF)                          ^ b1(k0)]                 ^ MDS[2][(P[P_21][(P[P_22][b2] & 0xFF) ^ b2(k1)] & 0xFF)                          ^ b2(k0)]                 ^ MDS[3][(P[P_31][(P[P_32][b3] & 0xFF) ^ b3(k1)] & 0xFF)                          ^ b3(k0)];        break;      }    return result;  }  private static final int Fe32(int[] sBox, int x, int R)  {    return sBox[2 * _b(x, R)] ^ sBox[2 * _b(x, R + 1) + 1]           ^ sBox[0x200 + 2 * _b(x, R + 2)]           ^ sBox[0x200 + 2 * _b(x, R + 3) + 1];  }  private static final int _b(int x, int N)  {    //      int result = 0;    //      switch (N%4) {    //      case 0: result = b0(x); break;    //      case 1: result = b1(x); break;    //      case 2: result = b2(x); break;    //      case 3: result = b3(x); break;    //      }    //      return result;    // profiling shows that the code spends too long in this method.    // following constructs seem to improve, albeit marginally, performance    switch (N % 4)      {      case 0:        return x & 0xFF;      case 1:        return (x >>> 8) & 0xFF;      case 2:        return (x >>> 16) & 0xFF;      default:        return x >>> 24;      }  }  // Instance methods  // -------------------------------------------------------------------------  // java.lang.Cloneable interface implementation ----------------------------  public Object clone()  {    Twofish result = new Twofish();    result.currentBlockSize = this.currentBlockSize;    return result;  }  // IBlockCipherSpi interface implementation --------------------------------  public Iterator blockSizes()  {    ArrayList al = new ArrayList();    al.add(new Integer(DEFAULT_BLOCK_SIZE));    return Collections.unmodifiableList(al).iterator();  }  public Iterator keySizes()  {    ArrayList al = new ArrayList();    al.add(new Integer(8)); //   64-bit    al.add(new Integer(16)); // 128-bit    al.add(new Integer(24)); // 192-bit    al.add(new Integer(32)); // 256-bit    return Collections.unmodifiableList(al).iterator();  }  /**   * <p>Expands a user-supplied key material into a session key for a designated   * <i>block size</i>.</p>   *   * @param k the 64/128/192/256-bit user-key to use.   * @param bs the desired block size in bytes.   * @return an Object encapsulating the session key.   * @exception IllegalArgumentException if the block size is not 16 (128-bit).   * @exception InvalidKeyException if the key data is invalid.   */  public Object makeKey(byte[] k, int bs) throws InvalidKeyException  {    if (bs != DEFAULT_BLOCK_SIZE)      {        throw new IllegalArgumentException();      }    if (k == null)      {        throw new InvalidKeyException("Empty key");      }    int length = k.length;    if (!(length == 8 || length == 16 || length == 24 || length == 32))      {        throw new InvalidKeyException("Incorrect key length");      }    int k64Cnt = length / 8;    int subkeyCnt = ROUND_SUBKEYS + 2 * ROUNDS;    int[] k32e = new int[4]; // even 32-bit entities    int[] k32o = new int[4]; // odd 32-bit entities    int[] sBoxKey = new int[4];    //    // split user key material into even and odd 32-bit entities and    // compute S-box keys using (12, 8) Reed-Solomon code over GF(256)    //    int i, j, offset = 0;    for (i = 0, j = k64Cnt - 1; i < 4 && offset < length; i++, j--)      {        k32e[i] = (k[offset++] & 0xFF) | (k[offset++] & 0xFF) << 8                  | (k[offset++] & 0xFF) << 16 | (k[offset++] & 0xFF) << 24;        k32o[i] = (k[offset++] & 0xFF) | (k[offset++] & 0xFF) << 8                  | (k[offset++] & 0xFF) << 16 | (k[offset++] & 0xFF) << 24;        sBoxKey[j] = RS_MDS_Encode(k32e[i], k32o[i]); // reverse order      }    // compute the round decryption subkeys for PHT. these same subkeys    // will be used in encryption but will be applied in reverse order.    int q, A, B;    int[] subKeys = new int[subkeyCnt];    for (i = q = 0; i < subkeyCnt / 2; i++, q += SK_STEP)      {        A = F32(k64Cnt, q, k32e); // A uses even key entities        B = F32(k64Cnt, q + SK_BUMP, k32o); // B uses odd  key entities        B = B << 8 | B >>> 24;        A += B;        subKeys[2 * i] = A; // combine with a PHT        A += B;        subKeys[2 * i + 1] = A << SK_ROTL | A >>> (32 - SK_ROTL);      }    // fully expand the table for speed    int k0 = sBoxKey[0];    int k1 = sBoxKey[1];    int k2 = sBoxKey[2];    int k3 = sBoxKey[3];    int b0, b1, b2, b3;    int[] sBox = new int[4 * 256];    for (i = 0; i < 256; i++)      {        b0 = b1 = b2 = b3 = i;        switch (k64Cnt & 3)          {          case 1:            sBox[2 * i] = MDS[0][(P[P_01][b0] & 0xFF) ^ b0(k0)];

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产福利一区二区三区| 久久久久亚洲蜜桃| 亚洲第一二三四区| 欧美日韩在线免费视频| 亚洲va欧美va国产va天堂影院| 在线免费观看日韩欧美| 亚洲成av人片在线观看无码| 91精品国产全国免费观看| 美国三级日本三级久久99| 日韩精品影音先锋| 高清在线成人网| 亚洲精品大片www| 欧美丰满嫩嫩电影| 高清国产一区二区| 亚洲国产一区在线观看| 精品区一区二区| 成人夜色视频网站在线观看| 亚洲一区二区偷拍精品| 日韩精品中午字幕| 91蜜桃传媒精品久久久一区二区| 亚洲国产日韩综合久久精品| 日韩免费成人网| 色综合一个色综合亚洲| 免费久久精品视频| 国产精品久久午夜夜伦鲁鲁| 欧美日韩国产一二三| 韩国欧美国产一区| 一区二区在线观看免费| 精品少妇一区二区三区视频免付费 | 五月天精品一区二区三区| 日韩精品一区二区三区视频在线观看| 国产精品一二三区在线| 亚洲高清视频的网址| 久久综合久久综合久久综合| 91福利国产成人精品照片| 国产一区二区三区免费看| 亚洲午夜免费电影| 欧美国产在线观看| 欧美一区二区在线看| 91小视频在线观看| 国产美女av一区二区三区| 一区二区三区日韩精品| 欧美激情综合在线| 日韩一区二区免费在线观看| 99精品欧美一区二区蜜桃免费 | 国产三级精品在线| 欧美日韩一二三| 91麻豆产精品久久久久久 | 亚洲国产视频在线| 国产免费成人在线视频| 日韩欧美精品在线视频| 欧美三区在线观看| 99久久99久久精品免费看蜜桃| 看片的网站亚洲| 亚洲一级二级三级| 亚洲视频一区二区免费在线观看 | 久久久国产精华| 欧美一级片在线观看| 欧美中文字幕不卡| 色综合视频在线观看| www.欧美亚洲| 国产+成+人+亚洲欧洲自线| 国产一区在线观看视频| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲综合无码一区二区| 中文字幕综合网| 中文字幕欧美日韩一区| 久久日一线二线三线suv| 日韩网站在线看片你懂的| 欧美日韩成人综合| 884aa四虎影成人精品一区| 欧美日韩一级视频| 911国产精品| 欧美日韩成人一区二区| 欧美精品在欧美一区二区少妇| 91久久精品日日躁夜夜躁欧美| 91丨porny丨首页| 91免费视频网| 91传媒视频在线播放| 欧美色精品在线视频| 欧美日韩国产一区| 日韩一区二区三区在线| 欧美成人三级在线| 精品国产一区二区三区久久久蜜月| 日韩一区二区免费高清| 精品国产伦一区二区三区免费 | 久久久久久久久久久久电影| 久久久三级国产网站| 久久久精品中文字幕麻豆发布| 久久美女艺术照精彩视频福利播放| 精品国产一区二区亚洲人成毛片| 国产亚洲成av人在线观看导航| 久久青草国产手机看片福利盒子 | 精品少妇一区二区三区免费观看 | 久久精品国产精品青草| 国产一区二区福利视频| 成人亚洲一区二区一| 91久久国产最好的精华液| 51精品国自产在线| 久久久综合精品| 中文字幕av一区二区三区免费看 | 午夜精品久久一牛影视| 久久国产剧场电影| 国产成人精品一区二| 色婷婷久久一区二区三区麻豆| 欧美日韩国产美女| 久久婷婷成人综合色| 亚洲欧美日韩小说| 麻豆一区二区99久久久久| 国产精品亚洲成人| 欧美亚洲免费在线一区| 精品久久国产字幕高潮| 中文字幕在线一区免费| 五月婷婷综合网| 国产黑丝在线一区二区三区| 欧洲色大大久久| 久久久精品影视| 亚洲国产成人porn| 国产成人亚洲综合色影视| 日本韩国欧美一区| 精品成人佐山爱一区二区| 亚洲视频1区2区| 麻豆91在线观看| 色婷婷综合久久久久中文一区二区| 欧美一区二区视频在线观看2020| 国产精品每日更新| 麻豆91精品视频| 日本久久一区二区三区| 欧美videossexotv100| 亚洲欧美成aⅴ人在线观看| 国产在线精品国自产拍免费| 91国偷自产一区二区使用方法| 欧美一区二区三区四区在线观看| 国产精品女人毛片| 日本欧美一区二区三区乱码| av亚洲精华国产精华精| 久久天天做天天爱综合色| 五月婷婷综合网| 欧美中文字幕一区二区三区 | 91免费版在线| 久久亚洲影视婷婷| 丝袜亚洲精品中文字幕一区| 成人亚洲一区二区一| 久久综合丝袜日本网| 免费在线看成人av| 欧美三级午夜理伦三级中视频| 欧美国产97人人爽人人喊| 久久精品国产99| 91精品国产综合久久国产大片| 夜色激情一区二区| 91麻豆文化传媒在线观看| 欧美激情艳妇裸体舞| 韩国女主播一区二区三区| 91精品国产综合久久久久久久| 亚洲影院久久精品| 色综合夜色一区| 亚洲精品一二三四区| av中文字幕亚洲| 国产精品久久久久影院色老大| 国产精品伊人色| 久久男人中文字幕资源站| 国产一区二区三区蝌蚪| 欧美大片免费久久精品三p| 麻豆精品久久久| 日韩欧美一区二区三区在线| 免费不卡在线视频| 91麻豆精品国产91久久久久久久久| 亚洲一区二区三区在线播放| 在线亚洲免费视频| 亚洲另类一区二区| 色88888久久久久久影院按摩| 依依成人精品视频| 欧美色男人天堂| 人妖欧美一区二区| 精品国产免费人成电影在线观看四季 | 欧美一区二区三区免费视频| 日韩电影一区二区三区四区| 欧美精品 国产精品| 天堂av在线一区| 日韩精品中文字幕一区| 国产成人免费在线观看不卡| 亚洲国产成人私人影院tom| 91浏览器在线视频| 五月激情六月综合| 久久综合久久鬼色中文字| 丰满岳乱妇一区二区三区| 亚洲欧美日韩久久| 欧美电影影音先锋| 国产在线国偷精品产拍免费yy| 亚洲国产成人一区二区三区| 91美女在线看| 日本在线不卡视频| 国产人伦精品一区二区| 91视频你懂的| 日韩成人av影视| 国产三级三级三级精品8ⅰ区| 91年精品国产| 精一区二区三区| 中文字幕一区二区三区在线不卡| 在线观看视频欧美|