更多"在密码学中,单向Hash函数具有()的特性。"的相关试题:
[单项选择]在密码学中,单向Hash函数具有 (48) 所描述的特性。
A. 对输入的长度不固定的字符串,返回一串不同长度的字符串
B. 不仅可以用于产生信息摘要,还可以用于加密短信息
C. 在某一特定时间内,无法查找经Hash操作后生成特定Hash值的原报文
D. 不能运用Hash解决验证签名、用户身份认证和不可抵赖性问题
[单项选择]在密码学中,单向Hash函数具有______所描述的特性。
A. 对输入的长度不固定的字符串,返回一串不同长度的字符串
B. 不仅可以用于产生信息摘要,还可以用于加密短信息
C. 在某一特定时间内,无法查找经Hash操作后生成特定Hash值的原报文
D. 不能运用Hash解决验证签名、用户身份认证和不可抵赖性问题
[单项选择]在进行消息认证时,经常利用安全单向散列函数产生消息摘要。安全单向散列函数不需要具有()特性。
A. 不同输入产生相同输出
B. 根据输出可以确定输入消息
C. 提供随机性或者伪随机性
D. 获取输出的时间非常短
[单项选择]在数字签名技术中使用安全单向散列函数的原因是该函数
A. 能用密钥对明文加密
B. 能用密钥对密文加密
C. 使得不同明文生成相同信息摘要的概率很小
D. 使得信息摘要和明文具有相同长度,以便传输
[简答题]下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun( )的功能是:将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并作为函数值返回。
和值通过函数值返回main( )函数。例如,若n=5,则应输出8.391667。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
[试题源程序]
#include<stdio.h>
#include<stdlib.h>
typedef struct aa
int data;
struct aa*next:
)NODE;
int fun(NODE *h)
int sum=0;
NODE*p;
/***********found**********/
p=h;
while(p->next)
if(p->data%2==0)
sum+=P->data;
/***********found***********/
p=h->next;
return sum;
NODE *creatlink(int n)
NODE*h,*p,*s,*q;
int i,x;
h=p=(NODE*)malloc(sizeof(NODE));
for(i=1;i<=n;i++)
S=(NODE*)malloc(sizeof(NODE));
s->data=rand( )%16;
s->next=p->next;
p->next=s;
p=p->next;
p->next=NULL;
return h;
outlink(NODE*h,FILE*pf)
NODE*p;
p=h->next;
fprintf(pf,"/n/nTHE LIST:/n/n HEAD");
while(p)
[单项选择]安全单向散列函数不具备的特征是 (62) 。
A. 能处理任意大小的信息,其生成的信息摘要数据块长度总是具有固定的大小
B. 对同一个源数据反复执行该函数得到的信息摘要相同
C. 具有可逆性,可以通过信息摘要重新生成原始数据信息
D. 生成的信息摘要是不可预见的,原始数据信息的一个微小变化都会对新产生的信息摘要产生很大影响
[单项选择]弗里德曼认为货币需求函数具有( )的特点。
A. 不稳定
B. 不确定
C. 相对稳定
D. 相对不稳定
[填空题]以下程序中函数fun( )的功能是构成一个如图所示的带头结点的单向链表,在结点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单向链表中所有结点中的字符串。请填空完成函数disp。
[*]
#include <atdio.h>
typedef struct node /*链表结点结构*/
char sub[3];
struct node * next;
Node
Node ~un(char s) /*建立链表*/
......
void disp(Node * h)
Node * Ps
p=h->next;
while( )
printf("%s//n",p->suh);p= ;
main( )
Node * hd;
hd = fun( ); disp(hd) ;prinff(" //n" );
[填空题]以下程序中函数fun的功能是:构成一个如图所示的带头结点的单向链表,在结点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单链表中所有结点中的字符串。请填空完成函数
disp。
#include
typedef struct node/*链表结点结构*/
{char sub[3];
struct node * next;
}Node;
Node fun(char S) /*建立链表*/
{ ……}
void disp(Node *h)
{Node*P;
P=h->next;
while(【 】)
{printf("%s\n",P->sub);P=【 】; }
}
main( )
{Node *hd;
hd=fun( );disp(hd);prinff("\n");
}