网络安全应用--文件加解密

专业和班级

 

成绩

 

姓名

 

学号

 

课程名称

计算机网络

实验名称

网络安全应用--文件加解密

1. 运用工具或编程实现数据的加密解密过程;

2. 初步理解数据加密的原理;

3. 通过有关操作,完成文件的加密和解密过程,并截图为证。

简要解释有关问题。

1. 简要比较对称加密、非对称加密的概念和特性;

答:

对称加密和非对称加密是两种常见的加密技术,主要用于保护数据的安全性。以下是对它们概念和特性的简要比较:

 

对称加密:

1. 概念:对称加密使用相同的密钥进行加密和解密。这意味着发送方和接收方必须共享同一个密钥。

2. 特性:

   - 速度快:由于算法简单,对称加密通常比非对称加密快。

   - 密钥管理难度大:由于需要共享同一个密钥,密钥的分发和管理变得困难,尤其是在大规模网络中。

   - 常见算法:AES(高级加密标准)、DES(数据加密标准)、3DES(三重数据加密标准)。

 

非对称加密:

1. 概念:非对称加密使用一对密钥:公钥和私钥。公钥用于加密,私钥用于解密。公钥可以公开,而私钥必须保密。

2. 特性:

   - 安全性高:由于使用成对的密钥,非对称加密在密钥管理上更为安全,避免了密钥分发的问题。

   - 速度较慢:非对称加密算法复杂,处理速度通常比对称加密慢。

   - 常见算法:RSA(Rivest-Shamir-Adleman)、ECC(椭圆曲线加密)、DSA(数字签名算法)。

 

综上所述,对称加密和非对称加密各有优缺点。对称加密速度快但密钥管理复杂,适用于大量数据的快速加密。非对称加密安全性高但速度较慢,常用于密钥交换和身份验证。实际应用中,常常将两者结合使用,以实现高效且安全的数据加密。

 

 

2. 初步简述非对称加密的原理以及作用。

答:

非对称加密是一种加密技术,利用一对密钥来实现加密和解密,这对密钥包括公钥和私钥。其原理和作用如下:

 

原理:

非对称加密依赖于一对数学相关的密钥:公钥和私钥。公钥用于加密数据,私钥用于解密数据。具体过程如下:

1. 发送方使用接收方的公钥对数据进行加密,生成密文。

2. 接收方收到密文后,使用自己的私钥解密,恢复成明文。

 

公钥可以自由分发给任何人,而私钥必须严格保密。这种密钥对的设计确保了只有持有私钥的人才能解密由公钥加密的数据,从而保证数据的安全性。

 

作用:

非对称加密在许多领域都有广泛应用,其主要作用包括:

1. 数据加密:确保数据在传输过程中的机密性。即使数据被截获,没有私钥也无法解密。

2. 数字签名:私钥持有者可以使用私钥对数据进行签名,接收方使用公钥验证签名的有效性,确保数据的来源和完整性。

3. 密钥交换:在对称加密中,非对称加密可以用于安全地交换对称密钥,解决对称加密密钥分发困难的问题。

4. 身份验证:通过验证公钥和私钥的匹配关系,确认对方的身份真实性,防止身份伪造。

 

3. 对比分析非对称加密和电子签名的关系。

答:

非对称加密和电子签名在信息安全中都起到关键作用,虽然它们使用类似的技术,但各自的功能和应用场景有所不同。以下是对它们关系的对比分析:

 

非对称加密:

1. 目的:主要用于保护数据的机密性。确保只有授权的接收方能够解密和读取信息。

2. 原理:

   - 使用公钥加密数据。

   - 接收方使用私钥解密数据。

3. 应用场景:数据传输中的机密信息保护,如网络通信中敏感数据的加密。

4. 过程:

   - 发送方获取接收方的公钥,将数据加密。

   - 接收方收到加密数据后,使用自己的私钥解密。

 

电子签名:

1. 目的:主要用于确保数据的完整性和身份验证。证明信息的来源和未被篡改。

2. 原理:

   - 使用私钥对数据进行签名。

   - 接收方使用公钥验证签名的有效性。

3. 应用场景:文件传输中的身份验证和数据完整性检查,如合同签署、电子文件认证。

4. 过程:

   - 发送方使用自己的私钥对数据生成数字签名,并附加在数据上发送。

   - 接收方使用发送方的公钥验证签名,以确认数据的来源和完整性。

 

关系:

1. 共同点:两者都使用非对称加密技术(公钥和私钥对),都涉及公钥和私钥的配合使用。

2. 差异点:非对称加密侧重于数据的机密性,防止未授权访问;电子签名侧重于数据的完整性和身份验证,确保数据来源真实且未被篡改。

3. 组合使用:在实际应用中,非对称加密和电子签名常常结合使用。例如,在安全电子邮件中,邮件内容可以使用接收方的公钥加密,确保只有接收方能解密;同时,发送方可以用自己的私钥签名邮件,确保接收方能验证邮件的真实性和完整性。

 

 

4.解释:分组密码、公钥密码、古典密码、序列密码等技术特征,自查自选其中的2个作为应用编程实现。

 

 

 

 

 

 

 

1. 安装Edking。

2. DES 加密/解密过程。

A.创建文件:用自己的名字建立一个记事本文件“test1.txt”,并写上内容:中午12点老地方见,没有密码看不到。

B. 加密步骤:按图示,选择输入明文文件和输出文件名,输入密钥,生成一个加密文件“test1.txt.des”。

C.解密步骤:按图示,选择输入密文文件和输出文件名,输入密钥,生成一个解密文件“test2.txt”。试着比较解密后的文件“test2.txt”与原文件“test1.txt”内容一致么?(截2个图对比)

对比:

 

D.查看DES加密/解密完成后形成多少个文件。(截1个图)

3. RSA 加密/解密过程。

Edking 的RSA 算法加密使用方法:RSA 算法的目的在于鉴别。

A. 修改文件:打开“test1.txt”,并修改内容:晚上18点老地方见,没有密码看不到。

B. 加密步骤:在“设置”中选择MDR,显示MDR 加/解密界面。首先生成密钥对和模文件,然后选择要加密的文件“test1.txt”,将模数文件和密钥导入,加密后,得到“test1.txt.mdr” 文件,

C. 解密步骤:将待解密的文件输入,并将模数文件和密钥导入,解密后得到文件“test3.txt”。试着比较,和原文件“test1.txt”相同么?(截2个图对比)

对比:

 

 

 

 

D.查看RSA加密/解密完成后形成多少个文件。(截1个图)

4. 其他选项。

A. 请二选一:“加密后删除原文件”、“解密后删除原文件”。 (截1个图)

加密后删除原文件

已经删除

 

B. 请二选一:“删除文件前提示”、“覆盖文件前提示”。 (截1个图)

删除文件前提示:

D. 请选择:“查看加密/解密时间”。 (截1个图)

E.

5.XX加密程序的编程实现

Ceaser密码:

代码(部分):

string ans;

int t;

void work1(){

for(int i=0;i<sz(ans);i++){

int x=ans[i]-'a'+1;

x+=t;

x%=26;

if(x==0)x=26;

ans[i]='a'+x-1;

}

}

void work2(){

for(int i=0;i<sz(ans);i++){

int x=ans[i]-'a'+1;

x+=26;

x-=t;

x%=26;

if(x==0)x=26;

ans[i]='a'+x-1;

}

}

int solve(){

string data;

cout<<"请输入明文"<<endl;

cin>>data;

cout<<"请输入加密参数t"<<endl;

cin>>t;

ans=data;

work1();

cout<<"加密后密码:"<<ans<<endl;

cout<<"请输入密码"<<endl;

cin>>data;

cout<<"请输入加密参数t"<<endl;

cin>>t;

ans=data;

work2();

cout<<"明文:"<<ans<<endl;

return 0;

}

 

 

结果:

 

简单Hash函数:

string dta;

long long query(){

long long ret=0;

for(int i=0;i<sz(dta);i++){

ret+=(1<<i)*(dta[i]-'a');

ret%=mod;

}

ret%=mod;

return ret;

}

int solve(){

cout<<"输入明文"<<endl;

cin>>dta;

 

cout<<"Hash数:"<<endl;

cout<<query()<<endl;

 

return 0;

 

测试结果:

1. 你的感受。

Edking可以方便的把文件加密成各种形式,且速度很快.

2. 你的收获。

1. 了解对称加密和非对称加密算法

2. 使用Edking软件进行各种加密

3. 你的困难。

4. 你的启示。

posted @ 2024-06-26 14:35  jiangXxin  阅读(75)  评论(0)    收藏  举报