本文目录一览:
关于密码学 唯密文攻击 已知明文攻击的相关问题
攻击难度对攻击者来说,当然是知道的信息越少,难度就越高。唯密文攻击就是攻击者只知道密文,已知明文攻击就是知道了明密文对,选择明文攻击就是说攻击者可以自己选择明文进行加密从而得到对应的明密文对,当然比已知明文攻击的攻击难度要低了,最后是选择密文攻击,也就是说可以直接输入输入密文得到相应的明文,这就是直接达到了目地。所以上述攻击难度是从难到易。希望能帮到你。
求破解6位数字 密码的软件工具
你写过 程序吗?这个可以自己写的 这个自己写程序会更有针对性
如果不会的话 最好先学学编程
编程解释
像你这种情况 一定是需要使用穷举法 (也就是一个一个慢慢试)属于暴力破解 按照你计算机和 网络速度来决定 你的使用速度 一般快的话 大概就几个小时就完了
如果你不会写程序 那我也无能为力
【密码学】利用密码学的理论和技术,编写一个身份识别程序。所用编程工具不限。
#includereg52.h
#includestdio.h
code char duan[11]={0x5f,0x41,0x9d,0xd5,0xc3,0xd6,0xde,0x45,0xdf,0xd7,0x00};
code char wei[4]={0x08,0x01,0x02,0x04};
char cs[4]={1,2,3,4};
char dis[4]={10,10,10,10};
sbit red=P3^6;
sbit green=P3^7;
int num,temp,tt,t;
void delay(int u)
{int x,y;
for(x=u;x=0;x--)
{for(y=0;y=210;y++)
{}
}
}
char keyscan()
{
P1=0xfe;
temp=P1;
temp=temp0xf0;
while(temp!=0xf0)
{ tt--;
delay(20);
temp=P1;
temp=temp0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case 0xee:num=0;
break;
case 0xde:num=1;
break;
case 0xbe:num=4;
break;
case 0x7e:num=7;
break;
} t=t+1;
while(temp!=0xf0)
{
temp=P1;
temp=temp0xf0;
}
}
}
P1=0xfd;
temp=P1;
temp=temp0xf0;
while(temp!=0xf0)
{ tt--; delay(20);
temp=P1;
temp=temp0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case 0xed:num=100;
break;
case 0xdd:num=0x02;
break;
case 0xbd:num=0x05;
break;
case 0x7d:num=0x08;
break;
} t=t+1;
while(temp!=0xf0)
{
temp=P1;
temp=temp0xf0;
}
}
}
P1=0xfb;
temp=P1;
temp=temp0xf0;
while(temp!=0xf0)
{ tt--; delay(20);
temp=P1;
temp=temp0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case 0xeb:num=100;
break;
case 0xdb:num=0x03;
break;
case 0xbb:num=0x06;
break;
case 0x7b:num=0x09;
break;
} t=t+1;
while(temp!=0xf0)
{
temp=P1;
temp=temp0xf0;
}
}
}
P1=0xf7;
temp=P1;
temp=temp0xf0;
while(temp!=0xf0)
{ tt--;
delay(20);
temp=P1;
temp=temp0xf0;
while(temp!=0xf0)
{
switch(temp)
{
case 0xe7:num=100;
break;
case 0xd7:num=100;
break;
case 0xb7:num=100;
break;
case 0x77:num=100;
break;
}t=t+1;
while(temp!=0xf0)
{
temp=P1;
temp=temp0xf0;
}
}
}
return num;
}
void key_temp()
{
green=1;
red=1;
dis[tt]=keyscan();
if(dis[3]==8) //从第四位开始判断,进行四次判断
{ if(dis[2]==8)
{
if(dis[1]==8)
{
if(dis[0]==8) {green=0;tt=5;t=-1; } ////四次判断都正确点亮绿灯
}
}
}
if(tt=0){red=0; } //如果输入错误则亮红灯
if(t==4){red=0; }
}
void display() //数码管扫描
{
P0=duan[dis[0]];
P2=~wei[0];
delay(2);
P0=duan[dis[1]];
P2=~wei[1];
delay(2);
P0=duan[dis[2]];
P2=~wei[2];
delay(2);
P0=duan[dis[3]];
P2=~wei[3];
delay(2);
}
void main()
{ tt=4;
t=0;
red=1;
green=1;
while(1)
{
key_temp(); ///判断密码是否正确
display(); ///显示数码管
}
}