2024年第三章 密码学(笔记),2个月面试腾讯、B站、网易等11家公司的面经总结

写在最后

在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。

需要完整版PDF学习资源私我

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 常见的对称算法:DES、3DES、AES、RC4/5、IDEA

  • 对称加密算法的特征:

    • DES:分组加密算法,采用移位+替换方式,速度快,密钥容易产出。分组和密钥长度为64为,有效密钥长度为56位
      • 3DES:使用3DES对文明加密的方式,加密k1-解密k2-加密k3,其中K1和K3是相同的,有效密钥长度位112
      • IDEA:国际数据加密算法,分组加密算法,一般用于PGP,明文和密文分组都是64位,密钥长度为128位
      • AES:高级加密算法,可以通过硬件实现,加密速度快,和3DES一样安全,分组长度为128位,密钥长度支持128,192,256位
3.2. 公钥密码体制
  • 又称非对称密码体制,特点是加密和解密过程中使用不同的密钥处理,其中加密密钥可以公开,而只需要把解密密钥安全保管存放即可。

  • 在安全性上,密码算法即使公开,由加密密钥推知解密密钥也是计算不可行的。

    • 优点:密钥分发方便,密钥保管量少,支持数字签名
      • 缺点:加密速度慢,数据膨胀性高
  • 常见的非对称算法:RSA、Elgamal、ECC

  • RSA算法

  • rsa密码公开密钥(公钥)Ke=<e,n>,保密的解密私钥(私钥)Kd=<p、q、d、φ(n)>

    • 第一步:随机选择2个大素数p和q,p和q是保密的
      • 第二步:计算2个素数的乘机,n = pxq , n是公开的
      • 第三步:计算小于n并且于n互素的整数即 φ(n) =(p-1)(q-1) , φ(n)是保密的
      • 第四步:选取一个随机数e且满足 1<e<φ(n),并且e和φ(n)互素,即gcd(e,φ(n)) =1
      • 第五步:计算d = e⁻¹ mod φ(n)
      • 第六步:加密运算C=M∊ mod n ,解密运算M=Cd mod n

例: n = 33 , e =3 M=20

s1:计算出p、q

p= 3,q = 11

s2:已知 n = 33

s3:φ(n) = (p-1)(q-1)

(3-1)(11-1)=20

s4:已知 e = 3

s5:求d,d=exd-1 mod φ(n)或d = (φ(n) x k+1) /e

方式1:d = exd -1 mod φ(n)

d = 3xd -1 mod 20 #减去1去为了方便整除

d = 3x7 mod 20 #3x7 mod 20 刚好余1

d = 7 #所以d是7

方式2:d = (φ(n) x n+1) /e

d = (20xn+1) / 3 #带入n的正整数除以e得出

d = (20x1+1) /3 #若k为1,那么20的1次方+1除以3得出的就是d

d = 7

s6: 加密数据M,C=M∊ mod n

C= 20,3次方 mod 33

C = 8000 mod 33

C = 14 # 因为(8000-14)/33 = 242

s7:解密数据C, M= Cd mod n

M = 14 ,7次方 mod 33

M = 105413504 mod 33

M = 20 # 因为(105413504-20)/ 33 = 3194348

3.3. 混合密码体制
  • 混合密码体制利用公钥密码体制分配私钥密码体制的私钥,消息的收发共用这个密钥,然后按照私钥密码体制的方式,进行加密和解密运算。

  • 具体工作原理步骤

    • 第一步:用户A用对称密钥加密需要发送的数据。
      • 第二步:用户A用用户B 的公开密钥将对称密钥加密形成数字信封。
      • 第三步:用户B收到用户A的加密消息和数字信封后,用自己的私钥将数字信封解开,获得用户A加密消息时的对称密钥。
      • 第四步:用户B用用户A加密的对称密钥把收到的加密信息解开。
3.4. 国产密码算法
  • SM1:对称加密,分组和密钥长度为128比特
  • SM2:非对称加密,用于公钥加密算法、密钥交换协议、数字签名算法,(椭圆曲线)
  • SM3:杂凑算法,消息分组长度是512比特,输出杂凑值长度为256比特
  • SM4:对称加密,分组和密钥长度为128比特
  • SM9:标识算法。
3.5. (Hash)哈希函数
  • Hash算法又称杂凑算法、散列算法,它能够将任意长度的信息转换成固定长度的哈希(又称数字摘要或消息摘要),且任意不同消息或文件所产生的哈希值不一样。

  • 令h表示哈希函数,则h需要满足以下条件

    • h的输入可以时任意长度的消息或文件M
      • h的输入长度时固定的
      • 给定h和m,计算h(m)时容易的
      • 两个不同的消息M1和M2,使得h(M1)=h(M2)是计算上不可行的。
  • Hash函数的特征:单向性,抗强碰撞性,抗弱碰撞性

  • 常见的Hash算法

    • MD5:以512位数据块来处理,产生128位的信息摘要,常用于文件校验
      • SHA:以512位数据块来处理,产生160位的哈希值,比MD5更加安全
      • SM3:消息和分组长度位512比特,输出256位的摘要
  • Hash、MAC、HMAC对比

    • Hash:能够验证数据的完整性,无法进行用户身份认证,计算过程无密钥参与
      • MAC:能保证数据完整性,同时可以进行用户身份验证,有KEY参与。可以采用Hash或对称加密算法两种技术产生MAC值。
      • HMAC:是MAC的一种,可以验证完整性和身份验证,使用hash函数来构造,HMAC输出长度与Hash长度一样。
4. 数字签名

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!

王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。

对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!

【完整版领取方式在文末!!】

93道网络安全面试题

内容实在太多,不一一截图了

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

😝朋友们如果有需要的话,可以联系领取~

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

image

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

2️⃣视频配套工具&国内外网安书籍、文档
① 工具

② 视频

image1

③ 书籍

image2

资源较为敏感,未展示全面,需要的最下面获取

在这里插入图片描述在这里插入图片描述

② 简历模板

在这里插入图片描述

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 17
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
《现代密码 陈鲁生 [第3章] 课后答案.pdf》是一份针对现代密码课程第三章所提出的问题的答案文档。现代密码是研究如何保护信息安全的科,在信息社会中至关重要。现代密码的研究对象包括消息加密、数字签名、密钥交换等等。这份答案文档通过解答问题的方式来帮助读者理解第三章的内容。 在这份答案文档中,可以找到关于对称加密和非对称加密的详细解释。对称加密是一种使用相同的密钥进行加密和解密的方式,而非对称加密则使用不同的密钥进行加密和解密。这份文档还介绍了一些常见的对称加密算法,如凯撒密码和DES加密算法,以及非对称加密算法,如RSA算法。 此外,这份文档还讨论了密码中的一些重要概念和技术,如消息认证码、数字签名和密钥交换协议。消息认证码用于验证消息的真实性和完整性,数字签名用于对消息进行签名和验证,密钥交换协议用于在通信双方之间安全地交换密钥。 通过阅读这份答案文档,读者可以更深入地了解现代密码的概念和原理,掌握常见的加密算法和相关技术。这对于保护信息安全、防止信息被非法获取和篡改等方面非常重要。现代密码在电子商务、网络通信、数据传输等领域发挥着重要作用,因此对于习和了解这一领域的人来说,这份答案文档是一个有价值的参考资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值