信息安全技术

本文详细阐述了信息安全的关键技术,包括简单替换密码、DES和RSA加密算法、数字签名、单向散列函数、信息完整性、可用性与保密性。还讨论了数字证书、网络攻击步骤、计算机病毒和杀毒软件的构成,以及区块链技术和社会工程学攻击的特征。

考试问答题考点

本文仅为记录,仅供参考。

简单替换密码的加解密

参考教材57页习题4、5、6、7
4.
(1) vhfxulwb
(2) f(a)=(a+n-k)mod n
(3) 略
5.K1=49,K2=17(思想就是给K1加上26,因为经过观察a和K1有关)
6.
(1) 提示:代入加密即可
(2)原加密函数为:c=(3m+5)mod 26,比如m=2,然后c=11,如何由c变成m,就是解密的过程。这个例子可以(c-5)/3=2。 再思考另一个例子,因为这里有求模运算。比如m=21,然后c=(21*3+5)mod26=16,那么c要如何得到m呢?我们可以利用暴力,因为求模,商一定是个整数。可以设一个n,然后(c+26n-5)/3=m,因为这里m也是26以内的整数。(还有更好的方法。)
(3)提示:照着试就出来了。

DES算法的原理

第一步先对原文进行初始置换。
第二步是进行分组,分为左右两组。每组32位。
第三步是对密钥进行置换。使64位的密钥变成了56位,即去掉了奇偶校验位。
第四步是对密钥进行分组、移位、合并。(注意是先分组,即分为两组,每组28位,然后两组按照相同的规则移位。但是移位,比如说,你现在是右边分组的第一位,你就要移到分组的第二位,或者第三位。但是如果分组合并了,从合并后的组数你就不是第二位或第三位,而是加28。)
第五步是对密钥进行压缩置换,使其变成48位。
第六步是对原文数据的右半部分进行扩展置换,使其从32位变为48位。
第七步是子密钥与扩展后的右半部分数据进行异或运算。
第八步是对进行过异或运算的数据进行S盒代替(S盒代替就是把48位数据分为八组,每组六位,但是每组输出只有四位,也就是最终输出的有32位。)
第九步是把上面的32位数据进行P盒置换。
第十步是把P盒置换过的数据与原文的左半部分进行异或运算,然后作为原文的右半部分。
第十一步是把右半部分作为分组的左半部分。
第十二步是重复重复上述的4—-11步,循环操作16轮。
第十三步是进行逆初始置换

RSA算法的全过程

1、选择密钥
(1)选择两个不同的素数p、q
(2)计算公开模数r=pq
(3)计算欧拉函数φ(r)=(p-1)
(q-1)
(4)选择一个与φ(r)互质的量k,即保证gcd(φ(r),k)=1时,选择k。可以令sp=k或pk=k。且k<φ(r),然后用试探法求出满足条件φ(r)与k的最大公约数为1的k,即gcd(φ(r),k)=1
注意,如果选一个密钥的值大于φ(r)的值,就不能正确求出另一个密钥。
(5)根据sk*pk=1modφ(r),已知sk或pk,用乘逆算法求pk或sk。
2、加密
3、解密

基于公开密钥的数字签名方案

设Alice要发送一个经过数字签名的明文 M 给用户Bob,签名的过程如下:

  1. Alice用信息摘要函数Hash从 M 抽取信息摘要 M’
  2. Alice用自己的私人密钥对 M’ 加密,得到签名文本 S,即Alice在 M 上签了名。
  3. Alice用Bob的公开密钥对 S 加密得打 S’
  4. Alice将 S’ 和 M 发送给Bob
  5. Bob收到 S’ 和 M 后,用自己的私人密钥对 S’ 解密,还原出 S
  6. Bob用Alice的公开密钥对 S 解密,还原出信息摘要 M’
  7. Bob用相同的信息摘要函数从 M 抽取信息摘要 M’’
  8. Bob比较 M’ 和 M’’ ,当 M’和 M’’ 相同时,可以断定Alice在 M 上签名

单向散列函数的特点

h=h(M)
1、Hash函数能从任意长度的M中产生固定长度的散列值h
2、已知M时,很容易得出h,即hash的过程很容易
3、已知M时,要想通过同一个h(M)计算出不同的h是很困难的
4、已知h时,要想从h(M)中计算出M是很困难的
5、已知M时,要找出另一信息M’,使h(M)=h(M’)是很困难的

简述信息的完整性、可用性、保密性

信息的完整性就是计算机中的信息不能被偶然或人为蓄意地破坏、篡改、以及伪造
信息的可用性是指在计算机的所有者的允许下,信息必须是可用的
信息的保密性是指计算机按照用户的要求,保持一定的秘密性

请简述数字水印的主要特性

  1. 鲁棒性
  2. 水印容量
  3. 安全性
  4. 自恢复性
  5. 不可见性

论述公开密钥算法的典型特点

  • 一对密钥
  • 加密密钥和解密密钥不能相互推导出来,或者很难推导出来
  • 公开密钥和私人密钥配合使用
  • 公开密钥算法的安全性是依赖于某个数学问题很难解决的基础上

论述对称加密体制

  • 密钥多,难以管理
  • 加密密钥和解密密钥之间容易互相推导
  • 多数对称算法不是建立在严格意义的数学问题上,而是基于多种“规则”和可“选择”的假设上
  • 通信双方在通信之前必须约定密钥,密钥传输需要建立安全的通道
  • 不能提供法律依据,不具备数字签名功能
  • 速度快

论述公开加密体制

  • 密钥少,方便管理
  • 加密密钥和解密密钥之间很难或者无法推导
  • 容易用数学语言描述,算法的安全性建立在已知数学问题求解困难的前提上
  • 需要一个有效的算法
  • 通信之前不需要在通信双方传递密钥,使数字签名和数字认证成为可能
  • 速度慢

简述什么是数字证书?X.509数字证书包含哪些内容?

数字证书是由权威机构CA发行的一种权威性的电子文档,是网络环境中的一种身份证,用于证明某一用户的身份以及其公开密钥的合法性。

  1. 证书版本号
  2. 证书序列号
  3. 证书签名算法标识符
  4. 证书认证机构
  5. 证书有效期
  6. 证书所有人的名称
  7. 证书所有人的公开密钥信息
  8. CA的数字签名
  9. 可选项

论述网络攻击的一般步骤

  1. 隐藏攻击源
  2. 收集信息
  3. 获得系统控制权
  4. 实施攻击
  5. 安装后门
  6. 隐藏攻击痕迹

论述计算机病毒程序的一般构成

安装模块、感染模块、破坏模块

论述杀毒软件的一般构成

  • 操作界面模块
  • 病毒数据库
  • 病毒扫描引擎
  • 文件实时监控模块
  • 进程实时监控模块

在软件系统中,要安全地保护用户的密码,应该采取哪些措施

  • 加密
  • 在尽可能少的地方存储口令
  • 将口令存储在可移动设备上

设计软件保护的一般建议

  1. 软件发行之前一定要将可执行程序进行加壳
  2. 要在自己写的软件中嵌入反跟踪的代码
  3. 增加对软件自身完整性检查
  4. 不要采用一目了然的名字来命名与软件保护相关的函数与文件
  5. 当检测到软件破解企图的时候,过一段时间后使软件停止工作
  6. 可以通过读取关键的系统文件的修改时间来得到系统时间
  7. 可以给软件保护加入一定的随机性
  8. 如果试用版与正式版是分开两个版本,应彻底删除相关的代码
  9. 如果软件中包含驱动程序,则最好将保护判断加在驱动程序中
  10. 将注册码、安装时间、记录在多个不同的地方
  11. 采用一机一码,可以防止注册码传播
  12. 最好采用成熟的密码学算法
  13. 可以采用在线注册的方法
  14. Keyfile文件尺寸不能太小

什么是区块链技术?它有哪些特点?

  1. 去中心化交易
  2. 信息不可篡改,一旦写入无法改变
  3. 完全匿名

什么是社会工程学攻击?常见的攻击手段有哪些?

现实中的欺骗手段延伸应用到攻击网络系统

  1. 环境渗透
  2. 引诱
  3. 伪装
  4. 说服
  5. 恐吓
  6. 恭维
  7. 反向社会工程学攻击
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值