A5算法C语言实现报告(推荐)_a5算法c语言实现报告
A5算法C语言实现报告(推荐)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“a5算法c语言实现报告”。
程序:
#include #define N 64
lfsr(int a,int b,int c,int d,int T[]);void main(){ int A[19]={1,0,1,1,0,0,1,1,0,0,0,0,1,0,1,0,1,0,1};
int B[22]={0,0,1,0,0,0,1,1,1,0,0,1,0,0,1,0,1,0,1,0,1,1};int C[23]={1,0,0,0,1,0,1,1,0,1,0,0,1,0,0,0,1,0,1,0,1,0,1};for(int i=0;i
{
printf(“%d”,A[18]^B[21]^C[22]);
lfsr(13,16,17,18,A);
lfsr(12,16,20,21,B);
lfsr(17,18,21,22,C);} else if(j==1)
{
printf(“%d”,A[18]^B[21]^C[22]);
if(A[9]==0)
lfsr(13,16,17,18,A);
if(B[11]==0)
lfsr(12,16,20,21,B);
if(C[11]==0)
lfsr(17,18,21,22,C);} else if(j==2)
{
printf(“%d”,A[18]^B[21]^C[22]);
if(A[9]==1)
lfsr(13,16,17,18,A);
if(B[11]==1)
lfsr(12,16,20,21,B);
if(C[11]==1)
lfsr(17,18,21,22,C);} else if(j==3)
{
printf(“%d”,A[18]^B[21]^C[22]);
lfsr(13,16,17,18,A);
lfsr(12,16,20,21,B);
lfsr(17,18,21,22,C);
} } printf(“n n”);} lfsr(int a,int b,int c,int d,int T[]){
int i;
for(i=d;i>0;i--)
{
T[i]=T[i-1];
}
T[0]=T[a]^T[b]^T[c]^T[d];
return(T[0]);} 密钥流:
A[19]={1,0,1,1,0,0,1,1,0,0,0,0,1,0,1,0,1,0,1};
B[22]={0,0,1,0,0,0,1,1,1,0,0,1,0,0,1,0,1,0,1,0,1,1};C[23]={1,0,0,0,1,0,1,1,0,1,0,0,1,0,0,0,1,0,1,0,1,0,1};密钥流序列:
1111 1111 1101 1010 1101 0101 0111 0001 1110 0000 1010 1000 0101 1100 0100 0000