📄 cipher-des.c
字号:
y <<= 8; y |= s [0]; z = ((x >> 004) ^ y) & 0X0F0F0F0FL; x ^= z << 004; y ^= z; z = ((y >> 020) ^ x) & 0X0000FFFFL; y ^= z << 020; x ^= z; z = ((x >> 002) ^ y) & 0X33333333L; x ^= z << 002; y ^= z; z = ((y >> 010) ^ x) & 0X00FF00FFL; y ^= z << 010; x ^= z; x = x >> 1 | x << 31; z = (x ^ y) & 0X55555555L; y ^= z; x ^= z; y = y >> 1 | y << 31; z = r [31]; z ^= y; z = z << 4 | z >> 28; x ^= * (u32 *) ((u8 *) (des_keymap + 448) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 384) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 320) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 256) + (0XFC & z)); z = r [30]; z ^= y; x ^= * (u32 *) ((u8 *) (des_keymap + 192) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 128) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 64) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) des_keymap + (0XFC & z)); z = r [29]; z ^= x; z = z << 4 | z >> 28; y ^= * (u32 *) ((u8 *) (des_keymap + 448) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 384) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 320) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 256) + (0XFC & z)); z = r [28]; z ^= x; y ^= * (u32 *) ((u8 *) (des_keymap + 192) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 128) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 64) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) des_keymap + (0XFC & z)); z = r [27]; z ^= y; z = z << 4 | z >> 28; x ^= * (u32 *) ((u8 *) (des_keymap + 448) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 384) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 320) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 256) + (0XFC & z)); z = r [26]; z ^= y; x ^= * (u32 *) ((u8 *) (des_keymap + 192) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 128) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 64) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) des_keymap + (0XFC & z)); z = r [25]; z ^= x; z = z << 4 | z >> 28; y ^= * (u32 *) ((u8 *) (des_keymap + 448) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 384) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 320) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 256) + (0XFC & z)); z = r [24]; z ^= x; y ^= * (u32 *) ((u8 *) (des_keymap + 192) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 128) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 64) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) des_keymap + (0XFC & z)); z = r [23]; z ^= y; z = z << 4 | z >> 28; x ^= * (u32 *) ((u8 *) (des_keymap + 448) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 384) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 320) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 256) + (0XFC & z)); z = r [22]; z ^= y; x ^= * (u32 *) ((u8 *) (des_keymap + 192) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 128) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 64) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) des_keymap + (0XFC & z)); z = r [21]; z ^= x; z = z << 4 | z >> 28; y ^= * (u32 *) ((u8 *) (des_keymap + 448) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 384) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 320) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 256) + (0XFC & z)); z = r [20]; z ^= x; y ^= * (u32 *) ((u8 *) (des_keymap + 192) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 128) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 64) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) des_keymap + (0XFC & z)); z = r [19]; z ^= y; z = z << 4 | z >> 28; x ^= * (u32 *) ((u8 *) (des_keymap + 448) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 384) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 320) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 256) + (0XFC & z)); z = r [18]; z ^= y; x ^= * (u32 *) ((u8 *) (des_keymap + 192) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 128) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 64) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) des_keymap + (0XFC & z)); z = r [17]; z ^= x; z = z << 4 | z >> 28; y ^= * (u32 *) ((u8 *) (des_keymap + 448) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 384) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 320) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 256) + (0XFC & z)); z = r [16]; z ^= x; y ^= * (u32 *) ((u8 *) (des_keymap + 192) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 128) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 64) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) des_keymap + (0XFC & z)); z = r [15]; z ^= y; z = z << 4 | z >> 28; x ^= * (u32 *) ((u8 *) (des_keymap + 448) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 384) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 320) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 256) + (0XFC & z)); z = r [14]; z ^= y; x ^= * (u32 *) ((u8 *) (des_keymap + 192) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 128) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 64) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) des_keymap + (0XFC & z)); z = r [13]; z ^= x; z = z << 4 | z >> 28; y ^= * (u32 *) ((u8 *) (des_keymap + 448) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 384) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 320) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 256) + (0XFC & z)); z = r [12]; z ^= x; y ^= * (u32 *) ((u8 *) (des_keymap + 192) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 128) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 64) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) des_keymap + (0XFC & z)); z = r [11]; z ^= y; z = z << 4 | z >> 28; x ^= * (u32 *) ((u8 *) (des_keymap + 448) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 384) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 320) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 256) + (0XFC & z)); z = r [10]; z ^= y; x ^= * (u32 *) ((u8 *) (des_keymap + 192) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 128) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 64) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) des_keymap + (0XFC & z)); z = r [9]; z ^= x; z = z << 4 | z >> 28; y ^= * (u32 *) ((u8 *) (des_keymap + 448) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 384) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 320) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 256) + (0XFC & z)); z = r [8]; z ^= x; y ^= * (u32 *) ((u8 *) (des_keymap + 192) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 128) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 64) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) des_keymap + (0XFC & z)); z = r [7]; z ^= y; z = z << 4 | z >> 28; x ^= * (u32 *) ((u8 *) (des_keymap + 448) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 384) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 320) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 256) + (0XFC & z)); z = r [6]; z ^= y; x ^= * (u32 *) ((u8 *) (des_keymap + 192) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 128) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 64) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) des_keymap + (0XFC & z)); z = r [5]; z ^= x; z = z << 4 | z >> 28; y ^= * (u32 *) ((u8 *) (des_keymap + 448) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 384) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 320) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 256) + (0XFC & z)); z = r [4]; z ^= x; y ^= * (u32 *) ((u8 *) (des_keymap + 192) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 128) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 64) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) des_keymap + (0XFC & z)); z = r [3]; z ^= y; z = z << 4 | z >> 28; x ^= * (u32 *) ((u8 *) (des_keymap + 448) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 384) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 320) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 256) + (0XFC & z)); z = r [2]; z ^= y; x ^= * (u32 *) ((u8 *) (des_keymap + 192) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 128) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) (des_keymap + 64) + (0XFC & z)); z >>= 8; x ^= * (u32 *) ((u8 *) des_keymap + (0XFC & z)); z = r [1]; z ^= x; z = z << 4 | z >> 28; y ^= * (u32 *) ((u8 *) (des_keymap + 448) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 384) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 320) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 256) + (0XFC & z)); z = r [0]; z ^= x; y ^= * (u32 *) ((u8 *) (des_keymap + 192) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 128) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) (des_keymap + 64) + (0XFC & z)); z >>= 8; y ^= * (u32 *) ((u8 *) des_keymap + (0XFC & z)); x = x << 1 | x >> 31; z = (x ^ y) & 0X55555555L; y ^= z; x ^= z; y = y << 1 | y >> 31; z = ((x >> 010) ^ y) & 0X00FF00FFL; x ^= z << 010; y ^= z; z = ((y >> 002) ^ x) & 0X33333333L; y ^= z << 002; x ^= z; z = ((x >> 020) ^ y) & 0X0000FFFFL; x ^= z << 020; y ^= z; z = ((y >> 004) ^ x) & 0X0F0F0F0FL; y ^= z << 004; x ^= z; d [0] = x; x >>= 8; d [1] = x; x >>= 8; d [2] = x; x >>= 8; d [3] = x; d [4] = y; y >>= 8; d [5] = y; y >>= 8; d [6] = y; y >>= 8; d [7] = y; return;}static int des_encrypt(struct cipher_context *cx, const u8 *in, u8 *out, int size, int atomic){ u8 input_buffer[8]; u8 output_buffer[8]; for (; size >= 8; size -= 8) { memcpy(&input_buffer, in, 8); in += 8; DesSmallFipsEncrypt(output_buffer,cx->keyinfo,input_buffer); memcpy(out, &output_buffer, 8); out += 8; } return 0;}static int des_decrypt(struct cipher_context *cx, const u8 *in, u8 *out, int size, int atomic){ u8 input_buffer[8]; u8 output_buffer[8]; for (; size >= 8; size -= 8) { memcpy(&input_buffer, in, 8); in += 8; DesSmallFipsDecrypt(output_buffer,cx->keyinfo,input_buffer); memcpy(out, &output_buffer, 8); out += 8; } return 0;}#define CIPHER_ID des#define CIPHER_BLOCKSIZE 64#define CIPHER_KEY_SIZE_MASK CIPHER_KEYSIZE_64#define CIPHER_KEY_SCHEDULE_SIZE (32*sizeof(u32))#include "gen-cipher.h"EXPORT_NO_SYMBOLS;/* eof */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -