91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 497KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2024-01-28
  • 語言: C/C++
  • 標簽:

資源簡介

MH背包密碼算法算法原理與C語言實現 運行環境:WINDOWS下VC6.0及以上編程工具 運行方式:(1)WINDOWS下VC6.0及以上編程工具編譯鏈接運行 (2)工程文件夾下Debug下的*.exe

資源截圖

代碼片段和文件信息

#include
#include
#include
#include


#define?p_num?5?????????????????//定義加密的0-1序列位數為p_num可以相應的更改


void?increase(int?numlong?a[])????//num為超遞增數列的個數,數組a為存放生成的結果,且數組中只有0num-1是有用數
{
int?isum;
????a[0]=1+rand()%num;
????sum=a[0];
????for(i=1;i {?
????a[i]=sum+1+rand()%num;
????????sum=sum+a[i];
}
}

//求一個數w在MOD?N?下的逆元w-1函數;
int?inv(int?xinint?n0)????????//求xin*xin-1=1?mod?n0
{
long?n1n2qrb1b2t;
????if(xin==0)
???????b2=0;
????else
{?
n1=n0;n2=xin;b2=1;b1=0;
????????do{
r=(n1%n2);
????????????q=(n1-r)/n2;
????????????if(r==0)
{
if(b2<0)?b2=n0+b2;
}
????????????else
{
n1=n2;
n2=r;
????????????t=b2;
????????????b2=b1-q*b2;
b1=t;
}

}while(r!=0);
????}
return(b2);
}

//求兩個數的最大公約數函數,該函數可用于檢測兩個數是否互素;
int?gcd(long?along?b)
{
long?t;
????t=a;
????while(!((a%t==0)&&(b%t==0)))?t--;
????return?t;??????????????????????????//t=1時,a與b互素,否則不互素。
}

//整數N和w選擇函數;
void?select_n_w(int?numlong?s[]int?b[])?????/*?num為超遞增的個數數組s為調用時傳超遞增數組的地址,
?????????????????????????????????????????數組b為存放N和w其中b[0]存放Nb[1]存放w???*/
{
????b[0]=2*s[num-1]+rand()%num+1;???????//b[0]存放N,作為模數N
????while(1)?????????????????????????????//在1~9999的范圍內尋找合適的乘數w
{
b[1]=rand()%9999+1;??????????????//w作為乘數,小于9999,存放在b[1]中
if(gcd(b[1]b[0])==1)?break;?????//w與N互素
???}
}
??????????
//主函數實現
void?main()
{
int?p_text[p_num]={0}inv_p_text[p_num]={0};?//為了方便演示,p_test[p_num]為既定賦值,實際中可以更改
long?sk[p_num]={0}pk[p_num]={0}b[2]={01};
int?wNij=0;
long?inv_w;
unsigned?__int64?tempmidtemp1temp2;
long?c_text=0;
clock_t?t_startt_end;
printf(“請輸入%d位的0-1明文信息序列(0-1代碼以“,”隔開):\n“p_num);???????//明文輸入提示為0-1序列
for(i=0;i {
scanf(“%d“&p_text[i]);
}

//記錄程序運行時間開始
t_start=clock();
printf(“\n**********************$演示程序開始$**********************\n“);
printf(“輸入的%d位0-1明文信息序列為:\n“p_num);
for(i=0;i {
printf(“%d“p_text[i]);
}
printf(“\n“);

//私鑰sk[]-超遞增序列的生成存放在sk[]中
increase(p_numsk);
printf(“生成的私鑰序列為:“);
for(j=0;j {
printf(“%d?“sk[j]);
}
printf(“\n“);

//選擇合適的模數N和乘數w存放在b[2]中
select_n_w(p_numskb);
w=b[1];N=b[0];
printf(“乘數w=%d模數N=%d“wN);

//求乘數w關于模數N的逆元w^(-1);
inv_w=inv(wN);
printf(“乘數w關于模數N的逆元inv_w=%d\n“inv_w);

//通過M-H變換求出公鑰pk[]
for(j=0;j {
mid=w*sk[j];
pk[j]=mid%N;
}
printf(“生成的公鑰序列為:“);
for(j=0;j {
printf(“%d??“pk[j]);
}
printf(“\n“);

//加密方案的實現過程
for(i=0;i {
c_text+=pk[i]*p_text[i];
}

//輸出加密后的密文
printf(“加密后的密文形式為:%ld\n“c_text);

//解密方案的實現過程與輸出結果
temp1=inv_w%N;
//temp=(inv_w*c_text)%N;???????????????????????//測試程序所用
//printf(“inv_w%N=%ld\n“temp1);
temp2=c_text%N;
//printf(“c_text%N=%ld\n“temp2);
temp=temp1*temp2;?
//printf(“temp=%I64d\n“temp);
temp=temp%N;
//print

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2299??2013-10-07?18:07??第五章??MH背包密碼算法算法原理與實現\MHbag_01代碼_加密解密\0-1序列分組.txt

?????文件??????58368??2013-10-07?18:07??第五章??MH背包密碼算法算法原理與實現\MHbag_01代碼_加密解密\Debug\MH.bsc

?????文件?????184480??2013-10-09?16:18??第五章??MH背包密碼算法算法原理與實現\MHbag_01代碼_加密解密\Debug\MH.exe

?????文件?????188380??2013-10-09?16:18??第五章??MH背包密碼算法算法原理與實現\MHbag_01代碼_加密解密\Debug\MH.ilk

?????文件??????11423??2013-10-09?16:18??第五章??MH背包密碼算法算法原理與實現\MHbag_01代碼_加密解密\Debug\MH.obj

?????文件??????10719??2013-10-07?18:07??第五章??MH背包密碼算法算法原理與實現\MHbag_01代碼_加密解密\Debug\MH.obj.enc

?????文件?????199400??2013-10-09?16:18??第五章??MH背包密碼算法算法原理與實現\MHbag_01代碼_加密解密\Debug\MH.pch

?????文件?????476160??2013-10-09?16:18??第五章??MH背包密碼算法算法原理與實現\MHbag_01代碼_加密解密\Debug\MH.pdb

?????文件??????10951??2013-10-07?18:07??第五章??MH背包密碼算法算法原理與實現\MHbag_01代碼_加密解密\Debug\MH.sbr

?????文件??????66560??2013-10-09?16:18??第五章??MH背包密碼算法算法原理與實現\MHbag_01代碼_加密解密\Debug\vc60.idb

?????文件??????69632??2013-10-09?16:18??第五章??MH背包密碼算法算法原理與實現\MHbag_01代碼_加密解密\Debug\vc60.pdb

?????文件???????3870??2013-10-09?16:18??第五章??MH背包密碼算法算法原理與實現\MHbag_01代碼_加密解密\MH.c

?????文件???????3351??2013-10-07?18:07??第五章??MH背包密碼算法算法原理與實現\MHbag_01代碼_加密解密\MH.dsp

?????文件????????512??2013-10-07?18:07??第五章??MH背包密碼算法算法原理與實現\MHbag_01代碼_加密解密\MH.dsw

?????文件??????66560??2013-10-09?16:18??第五章??MH背包密碼算法算法原理與實現\MHbag_01代碼_加密解密\MH.ncb

?????文件??????53760??2013-10-09?16:18??第五章??MH背包密碼算法算法原理與實現\MHbag_01代碼_加密解密\MH.opt

?????文件????????828??2013-10-09?16:18??第五章??MH背包密碼算法算法原理與實現\MHbag_01代碼_加密解密\MH.plg

?????文件??????58368??2013-10-07?18:07??第五章??MH背包密碼算法算法原理與實現\MHbag_文件讀取_加密解密\Debug\MH.bsc

?????文件?????237730??2013-10-09?16:20??第五章??MH背包密碼算法算法原理與實現\MHbag_文件讀取_加密解密\Debug\MH.exe

?????文件?????261876??2013-10-09?16:20??第五章??MH背包密碼算法算法原理與實現\MHbag_文件讀取_加密解密\Debug\MH.ilk

?????文件??????17639??2013-10-09?16:20??第五章??MH背包密碼算法算法原理與實現\MHbag_文件讀取_加密解密\Debug\MH.obj

?????文件??????10719??2013-10-07?18:07??第五章??MH背包密碼算法算法原理與實現\MHbag_文件讀取_加密解密\Debug\MH.obj.enc

?????文件?????211060??2013-10-09?16:20??第五章??MH背包密碼算法算法原理與實現\MHbag_文件讀取_加密解密\Debug\MH.pch

?????文件?????558080??2013-10-09?16:20??第五章??MH背包密碼算法算法原理與實現\MHbag_文件讀取_加密解密\Debug\MH.pdb

?????文件??????10951??2013-10-07?18:07??第五章??MH背包密碼算法算法原理與實現\MHbag_文件讀取_加密解密\Debug\MH.sbr

?????文件??????74752??2013-10-09?16:20??第五章??MH背包密碼算法算法原理與實現\MHbag_文件讀取_加密解密\Debug\vc60.idb

?????文件??????69632??2013-10-09?16:20??第五章??MH背包密碼算法算法原理與實現\MHbag_文件讀取_加密解密\Debug\vc60.pdb

?????文件???????6958??2013-10-09?16:20??第五章??MH背包密碼算法算法原理與實現\MHbag_文件讀取_加密解密\MH.c

?????文件???????3351??2013-10-07?18:07??第五章??MH背包密碼算法算法原理與實現\MHbag_文件讀取_加密解密\MH.dsp

?????文件????????512??2013-10-07?18:07??第五章??MH背包密碼算法算法原理與實現\MHbag_文件讀取_加密解密\MH.dsw

............此處省略12個文件信息

評論

共有 條評論

相關資源