1.加密過程的實現
void idea_enc( int data11, /*待加密的64位資料首位址*/ int key1){
int i ;
int tmp,x;
int zz=new int[6];
for ( i = 0 ; i < 48 ; i += 6) { /*進行8輪迴圈*/
for(int j=0,box=i; j<6; j++,box++){
zz[j]=key1[box];
x = handle_data(data11,zz);
tmp = data11[1]; /*交換中間兩個*/
data11[1] = data11[2];
data11[2] = tmp;
tmp = data11[1]; /*最後一輪不交換*/
data11[1] = data11[2];
data11[2] = tmp;
data11[0] = mul(data11[0],key1[48]);
data11[1] =(char)((data11[1] + key1[49])%0×10000);
data11[2] =(char)((data11[2] + key1[50])%0×10000);
data11[3] = mul(data11[3],key1[51]);
2.解密過程的實現
void key_decryexp(int outkey)/*解密金鑰的變逆處理*/
{ int tmpkey = new int[52] ;
int i;
for ( i = 0 ; i < 52 ; i++) {
tmpkey[i] = outkey[ wz_spkey[i] ] ; /*換位*/
for ( i = 0 ; i < 52 ; i++) {
outkey[i] = tmpkey[i];
for ( i = 0 ; i < 18 ; i++) {
outkey[wz_spaddrever[i]] = (char)(65536-outkey[wz_spaddrever[i]]) ; /*替換成加法逆*/
for ( i = 0 ; i < 18 ; i++){
outkey[wz_spmulrevr[i]] =(char)(mulinv(outkey[wz_spmulrevr[i]] )); /*替換成乘法逆*/
IDEA加密演算法 c實現
vs2013環境下面成功編譯並且執行 idea演算法,全稱是internationale data encrypt algorithm 一種國際資料加密演算法 至今為止都很安全,是一種塊加密演算法。金鑰長度為128bit 16位元組 以每64bit 8位元組 為單位進行加密。演算法主要流程 1.首先...
基於java的SHA1加密演算法
package sha1 public class sha1 摘要資料儲存陣列 private int digestint new int 5 計算過程中的臨時資料儲存陣列 private int tmpdata new int 80 計算sha 1摘要 private int process in...
IDEA資料加密演算法介紹
idea 資料加密演算法及實現 idea 對稱資料加密演算法,是我 2000 年剛畢業,工作需要進行資料加密時,學習 實現的第乙個標準資料加密演算法,並且此後就深深地迷上了資料加密這個方面,以後連續兩年潛心學習和研究這方面的知識與技術。在此過程中,非常感謝同事李哥對我的大力幫助,並從此成了很好的朋友...