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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ideatest.java

?? MPI for java for Distributed Programming
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
        t1 = Z[k++];        DK[j--] = Z[k++];        DK[j--] = t1;        t1 = inv(Z[k++]);        t2 = -Z[k++] & 0xffff;        t3 = -Z[k++] & 0xffff;        DK[j--] = inv(Z[k++]);        DK[j--] = t2;        DK[j--] = t3;        DK[j--] = t1;    }    t1 = Z[k++];    DK[j--] = Z[k++];    DK[j--] = t1;    t1 = inv(Z[k++]);    t2 = -Z[k++] & 0xffff;    t3 = -Z[k++] & 0xffff;    DK[j--] = inv(Z[k++]);    DK[j--] = t3;    DK[j--] = t2;    DK[j--] = t1;}/** cipher_idea** IDEA encryption/decryption algorithm. It processes plaintext in* 64-bit blocks, one at a time, breaking the block into four 16-bit* unsigned subblocks. It goes through eight rounds of processing* using 6 new subkeys each time, plus four for last step. The source* text is in array text1, the destination text goes into array text2* The routine represents 16-bit subblocks and subkeys as type int so* that they can be treated more easily as unsigned. Multiplication* modulo 0x10001 interprets a zero sub-block as 0x10000; it must to* fit in 16 bits.*/private void cipher_idea(byte [] text1, byte [] text2, int [] key){int i1 = 0;                 // Index into first text array.int i2 = 0;                 // Index into second text array.int ik;                     // Index into key array.int x1, x2, x3, x4, t1, t2; // Four "16-bit" blocks, two temps.int r;                      // Eight rounds of processing.for (int i = 0; i < text1.length; i += 8){    ik = 0;                 // Restart key index.    r = 8;                  // Eight rounds of processing.    // Load eight plain1 bytes as four 16-bit "unsigned" integers.    // Masking with 0xff prevents sign extension with cast to int.    x1 = text1[i1++] & 0xff;          // Build 16-bit x1 from 2 bytes,    x1 |= (text1[i1++] & 0xff) << 8;  // assuming low-order byte first.    x2 = text1[i1++] & 0xff;    x2 |= (text1[i1++] & 0xff) << 8;    x3 = text1[i1++] & 0xff;    x3 |= (text1[i1++] & 0xff) << 8;    x4 = text1[i1++] & 0xff;    x4 |= (text1[i1++] & 0xff) << 8;    do {        // 1) Multiply (modulo 0x10001), 1st text sub-block        // with 1st key sub-block.        x1 = (int) ((long) x1 * key[ik++] % 0x10001L & 0xffff);        // 2) Add (modulo 0x10000), 2nd text sub-block        // with 2nd key sub-block.        x2 = x2 + key[ik++] & 0xffff;        // 3) Add (modulo 0x10000), 3rd text sub-block        // with 3rd key sub-block.        x3 = x3 + key[ik++] & 0xffff;        // 4) Multiply (modulo 0x10001), 4th text sub-block        // with 4th key sub-block.        x4 = (int) ((long) x4 * key[ik++] % 0x10001L & 0xffff);        // 5) XOR results from steps 1 and 3.        t2 = x1 ^ x3;        // 6) XOR results from steps 2 and 4.        // Included in step 8.        // 7) Multiply (modulo 0x10001), result of step 5        // with 5th key sub-block.        t2 = (int) ((long) t2 * key[ik++] % 0x10001L & 0xffff);        // 8) Add (modulo 0x10000), results of steps 6 and 7.        t1 = t2 + (x2 ^ x4) & 0xffff;        // 9) Multiply (modulo 0x10001), result of step 8        // with 6th key sub-block.        t1 = (int) ((long) t1 * key[ik++] % 0x10001L & 0xffff);        // 10) Add (modulo 0x10000), results of steps 7 and 9.        t2 = t1 + t2 & 0xffff;        // 11) XOR results from steps 1 and 9.        x1 ^= t1;        // 14) XOR results from steps 4 and 10. (Out of order).        x4 ^= t2;        // 13) XOR results from steps 2 and 10. (Out of order).        t2 ^= x2;        // 12) XOR results from steps 3 and 9. (Out of order).        x2 = x3 ^ t1;        x3 = t2;        // Results of x2 and x3 now swapped.    } while(--r != 0);  // Repeats seven more rounds.    // Final output transform (4 steps).    // 1) Multiply (modulo 0x10001), 1st text-block    // with 1st key sub-block.    x1 = (int) ((long) x1 * key[ik++] % 0x10001L & 0xffff);    // 2) Add (modulo 0x10000), 2nd text sub-block    // with 2nd key sub-block. It says x3, but that is to undo swap    // of subblocks 2 and 3 in 8th processing round.    x3 = x3 + key[ik++] & 0xffff;    // 3) Add (modulo 0x10000), 3rd text sub-block    // with 3rd key sub-block. It says x2, but that is to undo swap    // of subblocks 2 and 3 in 8th processing round.    x2 = x2 + key[ik++] & 0xffff;    // 4) Multiply (modulo 0x10001), 4th text-block    // with 4th key sub-block.    x4 = (int) ((long) x4 * key[ik++] % 0x10001L & 0xffff);    // Repackage from 16-bit sub-blocks to 8-bit byte array text2.    text2[i2++] = (byte) x1;    text2[i2++] = (byte) (x1 >>> 8);    text2[i2++] = (byte) x3;                // x3 and x2 are switched    text2[i2++] = (byte) (x3 >>> 8);        // only in name.    text2[i2++] = (byte) x2;    text2[i2++] = (byte) (x2 >>> 8);    text2[i2++] = (byte) x4;    text2[i2++] = (byte) (x4 >>> 8);}   // End for loop.}   // End routine./** mul** Performs multiplication, modulo (2**16)+1. This code is structured* on the assumption that untaken branches are cheaper than taken* branches, and that the compiler doesn't schedule branches.* Java: Must work with 32-bit int and one 64-bit long to keep* 16-bit values and their products "unsigned." The routine assumes* that both a and b could fit in 16 bits even though they come in* as 32-bit ints. Lots of "& 0xFFFF" masks here to keep things 16-bit.* Also, because the routine stores mod (2**16)+1 results in a 2**16* space, the result is truncated to zero whenever the result would* zero, be 2**16. And if one of the multiplicands is 0, the result* is not zero, but (2**16) + 1 minus the other multiplicand (sort* of an additive inverse mod 0x10001).* NOTE: The java conversion of this routine works correctly, but* is half the speed of using Java's modulus division function (%)* on the multiplication with a 16-bit masking of the result--running* in the Symantec Caje IDE. So it's not called for now; the test* uses Java % instead.*/private int mul(int a, int b) throws ArithmeticException{    long p;             // Large enough to catch 16-bit multiply                        // without hitting sign bit.    if (a != 0)    {        if(b != 0)        {            p = (long) a * b;            b = (int) p & 0xFFFF;       // Lower 16 bits.            a = (int) p >>> 16;         // Upper 16 bits.            return (b - a + (b < a ? 1 : 0) & 0xFFFF);        }        else            return ((1 - a) & 0xFFFF);  // If b = 0, then same as                                        // 0x10001 - a.    }    else                                // If a = 0, then return        return((1 - b) & 0xFFFF);       // same as 0x10001 - b.}/** inv** Compute multiplicative inverse of x, modulo (2**16)+1 using* extended Euclid's GCD (greatest common divisor) algorithm.* It is unrolled twice to avoid swapping the meaning of* the registers. And some subtracts are changed to adds.* Java: Though it uses signed 32-bit ints, the interpretation* of the bits within is strictly unsigned 16-bit.*/private int inv(int x){    int t0, t1;    int q, y;    if (x <= 1)             // Assumes positive x.        return(x);          // 0 and 1 are self-inverse.    t1 = 0x10001 / x;       // (2**16+1)/x; x is >= 2, so fits 16 bits.    y = 0x10001 % x;    if (y == 1)        return((1 - t1) & 0xFFFF);    t0 = 1;    do {        q = x / y;        x = x % y;        t0 += q * t1;        if (x == 1) return(t0);        q = y / x;        y = y % x;        t1 += q * t0;    } while (y != 1);    return((1 - t1) & 0xFFFF);}/** freeTestData** Nulls arrays and forces garbage collection to free up memory.*/void freeTestData(){    plain1 = null;    crypt1 = null;    plain2 = null;    p_plain1 = null;    p_crypt1 = null;    p_plain2 = null;    userkey = null;    Z = null;    DK = null;    System.gc();                // Force garbage collection.}}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品久久久| 91行情网站电视在线观看高清版| 成人h动漫精品| 这里只有精品视频在线观看| 中文字幕在线播放不卡一区| 狠狠网亚洲精品| 欧美顶级少妇做爰| 亚洲制服欧美中文字幕中文字幕| 国产高清亚洲一区| 精品免费日韩av| 亚洲不卡av一区二区三区| 91丨porny丨国产入口| 国产欧美日韩综合| 九九在线精品视频| 欧美一区二区三区成人| 一级精品视频在线观看宜春院| 成人晚上爱看视频| 久久精品视频在线免费观看| 麻豆国产一区二区| 日韩你懂的在线播放| 三级成人在线视频| 欧美理论在线播放| 亚洲不卡在线观看| 欧美日韩国产系列| 亚洲国产精品一区二区久久恐怖片| 一本到高清视频免费精品| 国产精品女同一区二区三区| 国产91精品免费| 中文字幕av在线一区二区三区| 国产精品一品二品| 国产精品午夜春色av| 国产91在线观看丝袜| 国产女人aaa级久久久级| 福利一区二区在线| 国产精品色在线| 97久久精品人人爽人人爽蜜臀 | 欧美高清性hdvideosex| 亚洲一区二区三区免费视频| 欧美日韩国产成人在线91| 舔着乳尖日韩一区| 欧美va天堂va视频va在线| 九九精品视频在线看| 久久久99精品免费观看不卡| 丰满少妇在线播放bd日韩电影| 日本一二三四高清不卡| 色视频一区二区| 视频在线观看一区| 欧美sm美女调教| 大胆欧美人体老妇| 一区二区不卡在线视频 午夜欧美不卡在| 日本二三区不卡| 午夜欧美大尺度福利影院在线看| 欧美一区二区三级| 国产一区二区三区蝌蚪| 日韩毛片视频在线看| 欧美色电影在线| 韩国v欧美v日本v亚洲v| 国产精品私人影院| 欧美日韩精品三区| 国产制服丝袜一区| 亚洲一区在线免费观看| 欧美r级在线观看| 97久久人人超碰| 毛片av一区二区三区| 亚洲欧洲成人精品av97| 91麻豆精品91久久久久久清纯| 国产精品综合二区| 亚洲成人在线观看视频| 国产欧美日韩综合| 在线不卡a资源高清| 国产99久久久国产精品免费看| 亚洲国产综合色| 中文一区二区完整视频在线观看| 欧美日韩精品专区| 国产91在线|亚洲| 日本aⅴ亚洲精品中文乱码| 国产精品久久久久久久午夜片| 在线综合+亚洲+欧美中文字幕| 成人免费视频播放| 久久精品国产网站| 亚洲一区二区视频| 国产精品久久久久久妇女6080| 欧美一级二级在线观看| 一本色道久久综合狠狠躁的推荐| 久久99久久久欧美国产| 天天色图综合网| 亚洲欧美国产三级| 欧美国产精品中文字幕| 精品国产不卡一区二区三区| 欧美男生操女生| 日本久久精品电影| 92精品国产成人观看免费 | 国产色婷婷亚洲99精品小说| 欧美日韩小视频| 91小视频免费看| 丰满少妇久久久久久久| 国产美女精品人人做人人爽| 蜜臀av在线播放一区二区三区| 亚洲图片欧美一区| 亚洲主播在线观看| 亚洲在线中文字幕| 一区二区三区不卡视频| 亚洲精品写真福利| 亚洲欧美日韩系列| 亚洲精品日韩专区silk| 亚洲日本欧美天堂| 亚洲人成亚洲人成在线观看图片| 中文字幕av一区 二区| 国产欧美日韩精品一区| 日本一区二区三区四区在线视频| 亚洲视频一二三区| 欧美午夜在线一二页| 色综合天天综合给合国产| 成人app网站| 国产精品亚洲а∨天堂免在线| 麻豆精品精品国产自在97香蕉| 日本va欧美va欧美va精品| 男人的j进女人的j一区| 日本不卡不码高清免费观看| 青青草精品视频| 久久99国产精品麻豆| 国产一区二区三区日韩 | 欧美视频中文一区二区三区在线观看| av福利精品导航| 99精品在线观看视频| 色综合视频一区二区三区高清| 色综合色综合色综合| 欧美色图12p| 日韩精品一区二区三区中文精品| 日韩精品一区国产麻豆| 久久久亚洲高清| 成人免费在线观看入口| 亚洲免费高清视频在线| 日韩av在线播放中文字幕| 国产麻豆视频一区| 99精品欧美一区| 欧美午夜精品久久久| 欧美岛国在线观看| 欧美高清在线视频| 亚洲一卡二卡三卡四卡无卡久久| 日本成人在线一区| 不卡高清视频专区| 在线成人av影院| 国产欧美日韩另类视频免费观看| 国产一区二区三区四| 成人精品鲁一区一区二区| 欧洲色大大久久| 2021国产精品久久精品| 最新成人av在线| 日本欧美一区二区三区乱码| 国产成人99久久亚洲综合精品| 在线视频欧美精品| 久久久久国产成人精品亚洲午夜| 亚洲精品成人在线| 国产一区二区三区黄视频| 91亚洲精品久久久蜜桃网站| 56国语精品自产拍在线观看| 欧美国产精品专区| 日韩高清中文字幕一区| 99久久伊人久久99| 欧美电影免费观看高清完整版在线观看| 久久精品一二三| 午夜精品一区在线观看| 成人性生交大片免费看中文| 日韩一区二区视频在线观看| 综合精品久久久| 青青草国产精品97视觉盛宴| 在线视频中文字幕一区二区| 日本一区二区视频在线| 美女国产一区二区| 欧美猛男超大videosgay| 中文字幕一区二区三区精华液| 蜜芽一区二区三区| 欧洲视频一区二区| 亚洲人123区| 成人免费av资源| 国产亚洲一本大道中文在线| 亚洲第一在线综合网站| 91精品办公室少妇高潮对白| 亚洲国产电影在线观看| 精品一区二区三区的国产在线播放| 在线精品观看国产| 一区二区在线观看不卡| 国产91丝袜在线播放0| 精品国产乱码久久久久久老虎| 偷拍亚洲欧洲综合| 欧美日韩一级视频| 亚洲一区二区三区在线| 色成人在线视频| 亚洲精品成人少妇| 91麻豆国产香蕉久久精品| 一色桃子久久精品亚洲| 国产suv一区二区三区88区| 久久久电影一区二区三区| 国产精品888| 国产精品青草久久| 成人久久久精品乱码一区二区三区 | 精品99一区二区三区| 久久66热re国产| 精品国产电影一区二区|