#干货满满#信息安全之密码学
  

Hacking 20512人觉得有帮助

{{ttag.title}}
密码学
        1. 用途:加密存储,加密传输(https),身份验证(非对称加密, 公钥加密+hash),数字签名,防篡改(hash)等
        2. 对称加解密的时候,我们会使用异或。
                1. 计算机里只有0,1。相同值 返回0, 不同值返回1.
                        1. 0101, 1010, 1111
        3. 加密算法
                1. 对称加密算法 - 发送者(加密)和接收者(解密)需要有相同的密钥。
                        1. 对称加密算法特点:
                                1. 发送者和接收者使用同一个密钥,此密钥不能被第三个人获得
                                2. 密钥管理难,分发困难:
                                        1. 我跟N个人通讯,需要N个不同的密钥。
                                        2. N个人之间相互都需要通讯,需要管理N*(N-1)/2个密钥
                                        3. 密钥数随着人数的增加呈指数级增长
                                3. 如何生成真随机密钥
                                4. 如何安全的,发送密钥到对方
                                        1. 密钥的安全分发很困难
                                5. 使用替换和置换。 -> 抵御频率分析。
                                        1. 置换: abcde -> 21534 -> baecd
                                        2. 替换: abcde -> a -> c, b -> e, c -> f, d -> g, e -> h ->cefgh
                                6. 有可能使用主密钥-子密钥方式进行长期使用主密钥 - 密钥导出函数
                                        1. 主密钥需要保密
                                        2. 生成函数越强、其它密钥材料越随机,子密钥越好
                                        3. 避免长期使用一个主密钥带来的安全风险
                                7. 不能提供真实性和不可否认性
                                8. 运算速度快 - 与非对称算法相比
                                9. 强度高,使用大密钥空间不易被破解
                        2. 对称加密算法类型:
                                1. 一次性密码本 -> 本身就是密钥
                                        1. 只是用一次。
                                        2. 密码本与明文消息长度一样。
                                2. 运动密钥密码
                                        1. 密文例子:14916C7. 299L3C7 . 911L5C8 表示:
                                                第一个字符是第1本书、第49页、第16行、第7列;
                                                第二个字符是第2本书、第99页、第3行、第7列;
                                                第三个字符是第9本书、第11页、第5行、第8列;
                                        2. 密钥:双方共同拥有的书
                                                1. 需要提前协商好使用什么书。
                                3. 隐藏密码
                                        1. 密钥相当于:双方约定取消息中每第3个单词作为秘密消息  ;
                                        2. 密文: The time is right’ is not cow language, so is now a dead subject
                                        3. 铭文: The right cow is dead
                                4. 隐写术
                                        1. 密钥: 隐藏方法 -> 每个字RGB颜色的最后一位
                                        2. 密文: 颜色有微弱不同的字
                                5. DES
                                        1. 旧的DES
                                                1. 来自IBM的Lucifer算法,Lucifer算法本身是128位密钥+128位分组。
                                                2. DES,变成56位密钥 + 64位分组。
                                                3. 相对来说容易被破解。
                                                4. 不安全的算法。不提倡/不建议使用。
                                        2. 3DES
                                                1. 3个DES串联使用,总共48轮运算,具有很高的抗差分攻击
                                                2. 3DES模式:
                                                        DES-EEE3:使用3个不同的密钥,串联使用3次加密,总密钥空间168位, 解密方式: DES-DDD3
                                                        DES-EDE3:使用3个不同的密钥,串联使用加密、解密和加密,总密钥空间168位, 解密方式: DES-DED3
                                                        DES-EEE2:使用2个不同的密钥,串联使用3次加密,第一次、第三次加密使用同一个密钥,总密钥空间112位, 解密方式: DES-DDD2
                                                        DES-EDE2:使用2个不同的密钥,串联使用加密、解密和加密,但第一次、第三次加密使用同一个密钥,总密钥空间112位, 解密方式: DES-DED3
                                6. AES
                                        1. 定义:
                                                1. 它支持128、192、256位密钥长度
                                                2. 分组: 128位
                                                3. 抵抗所有已知的攻击。
                                                4. 在多个平台上速度快,编码紧凑。
                                                5. 设计简单。
                                        2. 候选:
                                                MARS:IBM设计
                                                RC6:RSA设计
                                                Serpent:Ross Anderson等设计
                                                Twofish: Bruce Schneier 灯设计
                                                Rijindael:Joan Daemen和Vincent Rijmen设计 - 当选
                                        3. 加密方式:
                                                128位密钥长度,10轮运算
                                                192位密钥长度,12轮运算
                                                256位密钥长度,14轮运算
                                7. IDEA
                                        64位分组算法, 128位密钥, 64位分组分为16个小块,每小块进行8轮运算,比DES快且安全
                                8. 其他
                                        1. Blowfish
                                                64位分组算法,密钥可选32-448位内的任意长度,16轮运算
                                        2. Twofish
                                        3. RC4,   RC5,   RC6
                                                RC4:流密码,密钥长度可变,应用SSL和802.11 WEP协议
                                                RC5:32、64、或128位分组算法,密钥长度最高2048位,最大加密轮数255
                                                        算法表示为rc5-w/r/b,其中
                                                                w:字长度,16、32、或64位
                                                                r:轮数,0~255
                                                                b:密钥字节数
                                                                rc5-32/12/16表示  64位分组、12轮运算、128位密钥
                                                RC6:专门在RC5基础上修改后竞标AES
                                        4. SAFER(secure and fast encryption routine)
                        3. 对称加密算法分类:
                                1. 分组密码
                                        1. 特点
                                                1. 分组密码使用混淆(confusion)和扩散(diffusion)技术
                                                2. 替换达到混淆:明文和密钥充分混合,使得密文极度随机
                                                3. 置换达到扩散:明文的一位变化导致密文每位产生变化的概率是50%
                                        2. 分组方式:
                                                1. 使用固定大小, 32位,64位,128位
                                                2. 每次对每个分组块进行加解密。
                                        3. 初始化向量
                                                1. IV是随机值
                                                2. IV与分组长度一致
                                                3. IV保证同样的明文和密钥被加密成不同的密文
                                                4. IV隐藏了明文的模式
                                2. 流密码
                                        1. 特点
                                                1. 需要一个密钥流生成器,产生随机密钥位与明文进行异或
                                                2. 发送者和接收者必须有相同的密钥流生成器
                2. 非对称加密算法(公钥加密算法)       
                        1. 非对称加密算法特点:
                                1. 每个实体有两个不同的密钥:公钥和私钥
                                        1. 我只需要管理好我的公钥跟私钥就可以。
                                        2. 我需要获取其他人公钥,直接去获取就可以。
                                        3. 我只需要保证我的私钥不被泄露就可以了。
                                        4. N个人相互通讯,只需要2N个密钥(其中只有N个私钥,需要保护)
                                        5. 公钥(public key)是公开的,为其他实体所知
                                        6. 私钥(private key)是保密的,只有所属实体自己知道
                                        7. 密钥分发更容易
                                2. 公钥/私钥关系
                                        1. 数学上两者紧密关联,互相唯一确定
                                        2. 知道公钥不能推导出私钥
                                        3. 知道公钥和密文不能推导出私钥
                                        4. 使用公钥加密的信息,只能使用私钥进行解密。
                                        5. 使用私钥进行加密的信息,只能使用公钥进行解密。
                                        6. 加解密时: 使用接收者的公钥进行加密,接收者使用自己的私钥进行解密。
                                                1. Alice 发送信息给Bob:
                                                        1. Alice和其他所有人能够简单获取到Bob的公钥
                                                        2. 除了Bob以外,所有其他人没有Bob的私钥。
                                                        3. Alice使用Bob的公钥对明文进行加密。
                                                2. Bob对信息进行解密
                                                        1. Bob获取使用自己的公钥进行加密的信息后,可以使用自己的私钥进行解密。
                                                3. Bob对所有人发布信息。
                                                        1. Bob使用自身的私钥对信息进行加密(签名)
                                                4. 所有人使用Bob的公钥对信息进行解密(签名验证)
                                                结论:能提供认证和不可否认性
                                3. 运算速度慢 - 大量复杂的数学函数
                        2. 非对称加密算法:
                                1. RSA
                                2. ECC
                                3. DH(Diffie-Hellman)
                                        第一个非对称密钥协商算法,重点解决密钥分发问题
                                        基于“有限域上的离散对数计算困难”的难题
                                        Alice和Bob可以各自选择一个私有随机数,以离散指数的形式发给对方,然后双方能运算出一个相同的对称密钥
                                        原始Diffie-Hellman算法存在中间人攻击
                                4. EL Gamal
                                5. DSA(digital signature algorithm)
                       
        4. 加密算法应用
                1. 混合使用对称加密算法与非对称加密算法。
                        1. 对称加密算法速度快,保密性好。
                        2. 非对称加密算法,密钥管理相对简单。
                        3. 混合方式(数字信封):
                                1. 对称加密算法,很难安全的把密钥发送给对方。
                                2. 非对称加密算法发送对称加密算法的密钥给对方。
                                例子:Alice要发送大量的信息给Bob
                                        1. Alice使用key(1) + 对称加密算法,对真正的铭文(P)进行加密,获得了密文(C)
                                        2. Alice发送密文(C)给Bob。
                                        3. Alice如何安全的发送key(1)给Bob? -> Alice使用Bob的公钥对key(1)进行加密 -> key(c(1)), 发送给Bob。
                                        4. Bob使用自己的私钥,对key(c(1))进行解密,获取key(1).
                                        5. Bob使用key(1)对密文(C)进行解密,获取内容。
                        4. 使用对称加密算法的时候,很多时候会使用回话密钥
                                1. 会话密钥是对称加密算法所使用的密钥。
                                2. 单次会话使用后会废弃。 -> 增强了安全性。
                2. 对称加密模式:
                        1. Electronic Code Book (ECB),电子密码本
                                原始明文被分割成数据块(分组),使用同一个密钥加密 -> 简单易行
                                攻击者可以通过收集明文、密文对构造部分ECB
                                不能掩盖固定的文本模式(同样的明文总是加密成同样的密文),抗攻击弱
                                适合于加密小文本,例如PIN,挑战响应值
                                不会使用初始化向量(IV)
                        2. Cipher Block Chaining (CBC),密文分组链接
                                1. 第一个分组块: 明文 异或 IV -> 获取异或值 -> 加密算法(加上key) -> 密文。
                                2. 第二个分组块开始: 明文 异或 上一个明文的加密值(密文) -> 获取异或值 -> 加密算法(加上key) -> 密文。
                                3. 隐藏了每个数据块独立加密可能暴露的模式;
                        3. Cipher Feedback (CFB),密文反馈
                                1. 第一个分组块: IV -> 加密算法(加上key) -> IV的密文 异或 明文 -> 密文
                                2. 第二个分组块开始:上一个明文的加密值(密文) -> 加密算法(加上key) -> 上一个明文的加密值(密文)的密文 异或 明文 -> 密文
                        4. Output Feedback (OFB),输出反馈
                               
                        5. Counter Mode (CTR),计数模式
                                1. 有Counter(相当于IV)
                                2. 每个IV有顺序变化。(IV-1, IV-2, ... IV-n)
                                3. 第N个分组快: IV-n 加密算法(加上key) -> IV-n的密文 异或 明文 -> 密文

打赏鼓励作者,期待更多好文!

打赏
19人已打赏

新手015356 发表于 2023-7-4 13:09
  
真不错,值得好好学习哈哈哈
唐三平 发表于 2023-7-6 09:57
  
每天学习一点点,每天进步一点点。
朱墩2 发表于 2023-7-6 09:58
  
每天学习一点点,每天进步一点点。
何茂源 发表于 2023-7-6 12:04
  
感谢分享有助于工资和学习!
蔺嘉宾 发表于 2023-7-6 15:09
  
每天学习一点点,每天进步一点点。
梦境人生 发表于 2023-7-6 15:14
  
每天学习一点点,每天进步一点点。
小鱼儿 发表于 2023-7-6 15:33
  

每天学习一点点,每天进步一点点。
小小胖 发表于 2023-7-6 15:33
  

每天学习一点点,每天进步一点点。
鲤鲤 发表于 2023-7-6 15:43
  

每天学习一点点,每天进步一点点。
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
干货满满
技术咨询
功能体验
新版本体验
产品连连看
GIF动图学习
标准化排查
自助服务平台操作指引
运维工具
2023技术争霸赛专题
通用技术
秒懂零信任
技术晨报
信服课堂视频
用户认证
安装部署配置
深信服技术支持平台
安全攻防
SDP百科
设备维护
社区帮助指南
答题自测
每日一记
玩转零信任
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
云计算知识
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版达人

新手68983...

本周分享达人

零和一网络

本周提问达人