?? idea.h
字號:
#ifndef IDEA_H
#define IDEA_H
#include <vcl.h>
#define IDEAKEYSIZE 16 //密鑰長度,16字節共128位
#define IDEABLOCKSIZE 8 //每次加密數據塊大小,8字節64位
#define word16 unsigned short int //定義16位無符號整數
#define word32 unsigned int //定義32位無符號整數
#define ROUNDS 8 //加密輪數,設定為8輪
#define KEYLEN (6*ROUNDS+4) //密鑰長度,8輪時為52個子密鑰,每個子密鑰為16位
#define low16(x) ((x) & 0xffff)
typedef word16 IDEAkey[KEYLEN]; //說明存儲密鑰的數組,為52個word16類型
//IDEA算法涉及函數
void en_key_idea(word16 userkey[8],IDEAkey Z); //由userkey中的128位加密密鑰生成子密鑰存放在Z中
void de_key_idea(IDEAkey Z, IDEAkey DK); //由Z中的加密子密鑰生成解密子密鑰存放在DK中
void cipher_idea(word16 in[4],word16 out[4],IDEAkey Z); //對in中的64位數據用加密密鑰Z進行加密,結果存放在out中
word16 inv(word16 x); //
word16 mul(word16 a,word16 b); //
//輔助數據結構
//密鑰轉化函數,將用戶輸入的字符串轉化成128位密鑰存放在userkey中
void set_bits(word16 *p, int n, bool isone); //給word16類型第n位設置成0或1
bool get_bits(char c, int n); //返回c的第n位是1還是0
void key_gen(char pass[], word16 userkey[]);
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -