密码学 | 如何安全量化

文章介绍了密码学中的两种安全概念——无条件安全与计算安全,并详细阐述了加密算法的组成部分,包括密钥生成、加密和解密子算法。唯密文攻击实验展示了计算安全性的概念,即攻击者即使获取部分信息也无法破解系统。文章还指出,即使理论上计算安全的算法,在实际应用中仍可能受到机器语言等因素影响,需兼顾理论与实践设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安全分两种:

  • ⽆条件安全:⽆法攻破密码算法。
  • 计算安全:攻破密码算法的概率可忽略。

加密算法包括三个子算法:

1 密钥⽣成⼦算法(Gen)
算法输⼊:安全参数n;算法输出:满⾜特定分布的密钥k
2 加密⼦算法(Enc)
算法输⼊:密钥k和明⽂m;算法输出:密⽂c,c ß Enc(k, m)
3 解密⼦算法(Dec)
算法输⼊:密钥k和密⽂c;算法输出:明⽂m,m = Dec(k, c)
满⾜: Dec(k, Enc(k, m)) = m

唯密文攻击实验:

  1. 运⾏密钥⽣成算法Gen,确定密钥k。
  2. 随机加密若⼲明⽂,并将密⽂发送给攻击者。
  3. 攻击者发送明⽂空间中的两条消息m0和m1。
  4. 随机加密其中⼀条明⽂,并将对应密⽂发送给攻击者。(询问且进行欺骗。在美日的例子中对应美国开放一天信道故意让日本进行检测:中途岛没淡水补给了)
  5. 随机加密若⼲明⽂,并将密⽂发送给攻击者。(对应美国发现日本舰队中增加了几天淡水补给船,则是对第四点的验证)
  6. 攻击者根据密⽂猜测对应的明⽂是m0还是m1。

若一个算法是计算安全的,虽然我能在第二步和第五步能够收集到很多密文对,但是我收集到的并不是全集,而是多项式时间内的子集。

即使在理论上证明一个算法是计算安全的,但在实际应用中也不一定是计算安全,因为要考虑到各种机器语言的影响。我们设计一个算法的流程是在理论上线进行安全设计,再在实践上设计。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoni61

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值