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

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

?? seal.c

?? 應用密碼學這本書的源代碼
?? C
字號:
/*
  Author:  Pate Williams (c) 1997

  SEAL (Software-optimized Encryption Algorithm).
  See "Handbook of Applied Cryptography" by Alfred
  J. Menezes et al 6.4.1 Section pages 213 - 216.
*/

#include <math.h>
#include <mem.h>
#include <stdio.h>
#include <stdlib.h>

#define DEBUG

typedef unsigned char uchar;
typedef unsigned long ulong;

struct SHA_1_struct {
  ulong A, B, C, D, E, H1, H2, H3, H4, H5;
};

ulong f(ulong u, ulong v, ulong w)
{
  return (u & v) | (~u & w);
}

ulong g(ulong u, ulong v, ulong w)
{
  return (u & v) | (u & w) | (v & w);
}

ulong h(ulong u, ulong v, ulong w)
{
  return u ^ v ^ w;
}

ulong LeftShift(ulong x, int number)
/* left circular shift number bits */
{
  return (x << number) | (x >> (32 - number));
}

ulong RightShift(ulong x, int number)
/* right circular shift number bits */
{
  return (x >> number) | (x << (32 - number));
}

void Round(int j_min, ulong y, ulong *X,
           struct SHA_1_struct *data,
           ulong (*z)(ulong, ulong, ulong))
{
  int j;
  ulong t;

  for (j = j_min; j < j_min + 20; j++) {
    t = LeftShift(data->A, 5) + z(data->B, data->C, data->D)
      + data->E + X[j] + y;
    data->E = data->D;
    data->D = data->C;
    data->C = LeftShift(data->B, 30);
    data->B = data->A;
    data->A = t;
  }
}

void SEAL_table_generation(ulong i, ulong *a, ulong *Gai)
{
  int j;
  static ulong y1 = 0x5a827999ul, y2 = 0x6ed9eba1ul,
               y3 = 0x8f1bbcdcul, y4 = 0xca62c1d6ul;
  struct SHA_1_struct data;
  ulong X[80];

  data.H1 = a[0];
  data.H2 = a[1];
  data.H3 = a[2];
  data.H4 = a[3];
  data.H5 = a[4];
  data.A = data.H1;
  data.B = data.H2;
  data.C = data.H3;
  data.D = data.H4;
  data.E = data.H5;
  memset(X, 0, 64);
  X[0] = i;
  for (j = 16; j < 80; j++)
    X[j] = LeftShift(X[j - 3] ^ X[j - 8] ^ X[j - 14] ^ X[j - 16], 1);
  Round( 0, y1, X, &data, f);
  Round(20, y2, X, &data, h);
  Round(40, y3, X, &data, g);
  Round(60, y4, X, &data, h);
  data.H1 += data.A;
  data.H2 += data.B;
  data.H3 += data.C;
  data.H4 += data.D;
  data.H5 += data.E;
  Gai[0] = data.H1;
  Gai[1] = data.H2;
  Gai[2] = data.H3;
  Gai[3] = data.H4;
  Gai[4] = data.H5;
}

void SEAL_initialize(ulong n, ulong l, ulong *A, ulong *B,
                     ulong *C, ulong *D, ulong *n1, ulong *n2,
                     ulong *n3, ulong *n4, ulong *R, ulong *T)
{
  ulong P, j, l4 = l * 4;

  *A = n ^ R[l4];
  *B = RightShift(n,  8) ^ R[l4 + 1];
  *C = RightShift(n, 16) ^ R[l4 + 2];
  *D = RightShift(n, 24) ^ R[l4 + 3];
  for (j = 0; j < 2; j++) {
    P = *A & 0x7fcul;
    *B += T[P / 4];
    *A = RightShift(*A, 9);
    P = *B & 0x7fcul;
    *C += T[P / 4];
    *B = RightShift(*B, 9);
    P = *C & 0x7fcul;
    *D += T[P / 4];
    *C = RightShift(*C, 9);
    P = *D & 0x7fcul;
    *A += T[P / 4];
    *D = RightShift(*D, 9);
  }
  *n1 = *D, *n2 = *B, *n3 = *A, *n4 = *C;
  P = *A & 0x7fcul;
  *B += T[P / 4];
  *A = RightShift(*A, 9);
  P = *B & 0x7fcul;
  *C += T[P / 4];
  *B = RightShift(*B, 9);
  P = *C & 0x7fcul;
  *D += T[P / 4];
  *C = RightShift(*C, 9);
  P = *D & 0x7fcul;
  *A += T[P / 4];
  *D = RightShift(*D, 9);
}

void SEAL(ulong *a, ulong n, ulong *y)
{
  ulong A, B, C, D, P, Q, i4, n1, n2, n3, n4, *p = y;
  ulong i, j, k, l, Gai[5], R[16], S[256], T[512];

  for (i = 0; i < 510; i += 5)
    SEAL_table_generation(i / 5, a, &T[i]);
  SEAL_table_generation(510 / 5, a, Gai);
  T[510] = Gai[0];
  T[511] = Gai[1];
  SEAL_table_generation((0x00001000ul - 1ul) / 5, a, Gai);
  for (j = 0; j < 4; j++)
    S[j] = Gai[j + 1];
  for (j = 4; j < 254; j += 5) {
    i = (0x00001000 + j) / 5;
    SEAL_table_generation(i, a, &S[j]);
  }
  SEAL_table_generation((254ul + 0x00001000) /5, a, Gai);
  S[254] = Gai[0];
  S[255] = Gai[1];
  SEAL_table_generation((0x00002000ul - 2) / 5, a, Gai);
  R[0] = Gai[2];
  R[1] = Gai[3];
  R[2] = Gai[4];
  for (k = 3; k < 13; k += 5) {
    i = (0x00002000 + k) / 5;
    SEAL_table_generation(i, a, &R[k]);
  }
  SEAL_table_generation((13 + 0x00002000ul) / 5, a, Gai);
  R[13] = Gai[0];
  R[14] = Gai[1];
  R[15] = Gai[2];
  for (l = 0; l < 4; l++) {
    SEAL_initialize(n, l, &A, &B, &C, &D, &n1, &n2, &n3, &n4, R, T);
    for (i = 0; i < 64; i++) {
      P = A & 0x7fcul;
      B += T[P / 4];
      A = RightShift(A, 9);
      B ^= A;
      Q = B & 0x7fcul;
      C ^= T[Q / 4];
      B = RightShift(B, 9);
      C += B;
      P = (P + C) & 0x7fcul;
      D += T[P / 4];
      C = RightShift(C, 9);
      D ^= C;
      Q = (Q + D) & 0x7fcul;
      A ^= T[Q / 4];
      D = RightShift(D, 9);
      A += D;
      P = (P + A) & 0x7fcul;
      B ^= T[P / 4];
      A = RightShift(A, 9);
      Q = (Q + B) & 0x7fcul;
      C += T[Q / 4];
      B = RightShift(B, 9);
      P = (P + C) & 0x7fcul;
      D ^= T[P / 4];
      C = RightShift(C, 9);
      Q = (Q + D) & 0x7fcul;
      A += T[Q / 4];
      D = RightShift(D, 9);
      i4 = i * 4;
      *p = B + S[i4], p++;
      *p = C ^ S[i4 + 1], p++;
      *p = D + S[i4 + 2], p++;
      *p = A ^ S[i4 + 3], p++;
      if (i & 1) {
        A += n3;
        C += n4;
      }
      else {
        A += n1;
        C += n2;
      }
    }
  }
  #ifdef DEBUG
  for (i = 0; i < 16; i++) {
    printf("%8x ", R[i]);
    if ((i + 1) % 6 == 0) printf("\n");
  }
  printf("\n\n");
  for (i = 0; i < 12; i++) {
    printf("%8x ", T[i]);
    if ((i + 1) % 6 == 0) printf("\n");
  }
  for (i = 506; i < 512; i++)
    printf("%8x ", T[i]);
  printf("\n\n");
  for (i = 0; i < 12; i++) {
    printf("%8x ", S[i]);
    if ((i + 1) % 6 == 0) printf("\n");
  }
  for (i = 250; i < 256; i++)
    printf("%8x ", S[i]);
  printf("\n\n");
  for (i = 0; i < 12; i++) {
    printf("%8x ", y[i]);
    if ((i + 1) % 6 == 0) printf("\n");
  }
  for (i = 1018; i < 1024; i++)
    printf("%8x ", y[i]);
  printf("\n\n");
  #endif
}

int main(void)
{
  ulong a[5] = {0x67452301, 0xefcdab89, 0x98badcfe,
                0x10325476, 0xc3d2e1f0}, y[1024];

  SEAL(a, 0x013577aful, y);
  return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区视频在线看| 国产精品综合在线视频| 国产成人免费9x9x人网站视频| 一本色道久久综合狠狠躁的推荐 | 青青草一区二区三区| av在线综合网| 欧美精品一区二区久久婷婷| 艳妇臀荡乳欲伦亚洲一区| 国产aⅴ综合色| 日韩亚洲欧美综合| 一区二区在线免费| 99re这里都是精品| 亚洲一区电影777| a级高清视频欧美日韩| 精品久久人人做人人爽| 亚洲h动漫在线| 欧美三级日韩三级| 亚洲资源在线观看| 在线观看成人小视频| 一区二区三区日本| 国产精品性做久久久久久| 日韩精品中文字幕一区| 奇米影视在线99精品| 在线观看成人小视频| 亚洲色图.com| 在线精品视频免费播放| 中文字幕一区二区三区色视频| 国产精品影视网| 精品国产乱码久久久久久1区2区| 国产成人av影院| 5566中文字幕一区二区电影| 一区二区三区精品在线| 成人av网站免费| 亚洲乱码中文字幕| 亚洲国产精品二十页| 亚洲色图欧洲色图婷婷| 色婷婷久久99综合精品jk白丝| 中文字幕一区二区三| 中文字幕一区二区三区不卡| 高清免费成人av| 久久综合色之久久综合| av色综合久久天堂av综合| 中文字幕国产精品一区二区| 国产激情偷乱视频一区二区三区| 精品国产乱码久久久久久浪潮| 狠狠色丁香久久婷婷综合_中| 欧美v国产在线一区二区三区| 麻豆国产精品官网| 日韩美一区二区三区| 国产一区二区三区美女| 久久这里只精品最新地址| 国产精品18久久久久| 国产精品入口麻豆九色| 91免费版在线| 一区二区三区**美女毛片| 欧美日韩国产综合视频在线观看 | 91在线国产观看| 亚洲色图清纯唯美| 欧美色图第一页| 青娱乐精品视频在线| 久久先锋影音av| 国产精品亚洲第一区在线暖暖韩国| 国产欧美日韩麻豆91| 99在线精品观看| 亚洲午夜精品网| 欧美成人猛片aaaaaaa| 亚洲综合免费观看高清完整版在线| 国产91丝袜在线播放| 欧美一区二区免费观在线| 寂寞少妇一区二区三区| 国产日产欧产精品推荐色| 99在线热播精品免费| 亚洲电影视频在线| 日韩三级精品电影久久久| 国产成人激情av| 一区二区三区欧美久久| 欧美一区二区三区视频在线观看 | 亚洲精品成人天堂一二三| 欧美日韩国产欧美日美国产精品| 秋霞成人午夜伦在线观看| 亚洲国产精品传媒在线观看| 在线观看不卡视频| 久久99热99| 亚洲美女在线一区| 日韩女优av电影| 91视频观看视频| 奇米影视7777精品一区二区| 欧美极品xxx| 欧美久久久久久久久| 国产精品一区二区你懂的| 一区二区三区精品视频| 欧美精品一区二区三区一线天视频| 成人激情视频网站| 日韩在线卡一卡二| 国产拍欧美日韩视频二区| 在线精品观看国产| 国产精品一区二区在线看| 亚洲午夜一区二区| 国产成人亚洲综合a∨婷婷图片 | 欧美bbbbb| 久久99热狠狠色一区二区| 丁香婷婷综合激情五月色| 成人黄色软件下载| 在线亚洲一区二区| 欧美日韩中文字幕精品| 欧美一区二区人人喊爽| 国产日韩欧美激情| 一区二区三区成人在线视频| 爽好多水快深点欧美视频| 麻豆91精品视频| 国产高清在线精品| 欧美日本在线视频| 国产偷国产偷亚洲高清人白洁 | 日韩午夜激情免费电影| av色综合久久天堂av综合| 色综合欧美在线视频区| 欧美日韩电影一区| 国产日韩欧美精品综合| 国产在线视频不卡二| 中文字幕av一区二区三区高| 国产一区福利在线| 2020国产精品自拍| 欧美高清激情brazzers| 99久久er热在这里只有精品66| 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美色综合影院| 成人一区在线观看| 国产原创一区二区三区| 视频精品一区二区| 一区二区高清视频在线观看| 国产精品你懂的在线| 久久男人中文字幕资源站| 欧美一级夜夜爽| 欧美色综合久久| 91成人看片片| av不卡免费电影| 成人动漫视频在线| 懂色av一区二区在线播放| 精品一区二区三区蜜桃| 丝袜亚洲另类欧美| 亚洲一区二区精品视频| 亚洲美女一区二区三区| 亚洲视频免费在线观看| 亚洲欧洲美洲综合色网| 最新高清无码专区| 国产精品三级视频| 中文字幕av不卡| 国产精品高清亚洲| 国产精品福利在线播放| 国产精品九色蝌蚪自拍| 中文字幕一区二区三区av| 国产精品美女久久久久aⅴ | 国产精品久久久久影院| 国产欧美日本一区二区三区| 久久免费视频一区| 国产欧美精品在线观看| 欧美国产禁国产网站cc| 国产精品美女久久久久久久久久久| 国产亚洲一区二区在线观看| 国产日韩一级二级三级| 中文在线资源观看网站视频免费不卡 | 日本最新不卡在线| 日本免费在线视频不卡一不卡二| 青青草原综合久久大伊人精品优势| 日日嗨av一区二区三区四区| 日韩福利视频网| 狠狠色丁香久久婷婷综| 国产精品一区二区不卡| 国产iv一区二区三区| www.亚洲色图| 在线观看网站黄不卡| 在线成人av网站| 精品欧美一区二区三区精品久久 | 91福利区一区二区三区| 欧美日韩免费观看一区三区| 色综合夜色一区| 欧美性猛交xxxx乱大交退制版| 欧美日韩免费视频| 欧美大片国产精品| 国产色产综合色产在线视频| 中文字幕一区二区三区在线播放| 亚洲三级免费电影| 亚洲在线中文字幕| 视频在线在亚洲| 又紧又大又爽精品一区二区| 亚洲欧美激情小说另类| 日日嗨av一区二区三区四区| 国产精品一色哟哟哟| 从欧美一区二区三区| 欧美性一区二区| 日韩欧美高清一区| 久久精品一区四区| 亚洲精品免费在线观看| 亚洲精品乱码久久久久久黑人 | 91网站在线播放| 日韩av电影一区| 亚洲特级片在线| 欧美日韩国产大片| 日韩美女一区二区三区| 国产精品卡一卡二卡三|