??斗地主捕鱼电竞提现秒到 广告位招租 - 15元/月全站展示
??支付宝搜索579087183领大额红包 ??伍彩集团官网直营彩票
??好待遇→招代理 ??伍彩集团官网直营彩票
??络茄网 广告位招租 - 15元/月全站展示
密码学基?。ㄋ模┧惴ǖ陌踩?/h5>

转载   2018-06-04   浏览量:346


算法的安全性

根据被破译的难易程度,不同的密码算法具有不同的安全等级。如果破译算法的代价大于加密数据的价值,那么一般不会有人想去破译它,即你可能是“安全的”。如果破译算法所需的时间比加密数据保密的时间更长,那么你可能也是“安全的”。如果用单密钥加密的数据量比破译算法需要的数据量少得多,那么你也可能是“安全的”。

在这里说“可能”,是因为在密码分析中总有新的突破。另一方面,随着时间的推移,大多数数据的价值会越来越小。

Lars Knudsen曾把破译算法分为不同的类别,安全性的递减顺序为:

(1)全部破译(total break)。密码分析者找出密钥K,这样就能得到attachments-2017-10-1rYmnoVw59f6cf262270c.png

(2)全盘推导(global deduction)。密码分析者找到一个替代算法A,在不知晓密钥K的情况下等价于得到attachments-2017-10-uu8dTUVg59f6cf997a115.png

(3)实例(或局部)推导(instance (or local) deduction)。密码分析者从截获的密文中找出明文。

(4)信息推导(information deduction)。密码分析者获得一些有关密钥或明文的信息。这些信息可能是密钥的几位、有关明文格式的信息等。

若不论密码分析者获得多少密文,都没有足够的信息恢复出明文,那么这个算法就是无条件保密的(unconditionally secure)。事实上,只有一次一密乱码本,才是不可破的(给出无限多的资源仍然不可破)。所有其他的密码系统在唯密文攻击中都是可破的,只要简单的一个接一个的去尝试每种可能的密钥,并检查所得明文是否有意义,这种方法称为蛮力攻击(brute-force attack)。

在密码学中,更关心在计算上不可破译的密码系统。如果算法用(现在或者将来)可得到的资源都不能破译,这个算法则被认为是计算安全的(computationally secure)。准确的说,“可用资源”就是公开数据的分析整理。

可以采用不同的方式衡量攻击方法的复杂性:

1)数据复杂性(data complexity)。用于攻击输入所需要的数据量。

2)处理复杂性(processing complexity)。完成攻击所需要的时间,也经常称作工作因素(work factor)。

3)存储需求(storage requirement)。进行攻击所需要的存储量。

作为一个法则,攻击的复杂性取这三个因数的最小值。有些攻击包括这三种复杂性的折中:存储需求越大,攻击可能越快。

复杂性用数量级来表示。如果算法的处理复杂性是2的128次方,那么破译这个算法也需要2的128次方次运算(这些运算可能非常复杂和耗时)。假设我们拥有足够的计算速度去完成每秒100万次的运算,并且用100万个并行处理器完成这个任务,那么仍然需要花费10的19次方年以上才能找到密钥。(而这是宇宙年龄的10亿倍)。

当攻击的复杂性是常数时(除非一些密码分析者发现更好的密码分析攻击),就只取决于计算能力了。在过去的半个世纪中,计算能力已经得到了显著的提高,并且现在这种趋势还在发展。许多的密码分析攻击用并行处理的机制进行计算非常理想,一个任务可以分成亿万个子任务,并且处理之间不需要相互作用。一种算法在现有技术条件下不可破译就草率的宣称是安全的,是很冒险的。从中我们可以得出,一个好的密码系统应设计成能抵御未来多年后的计算能力的发展。


注:上面提到的一次一密乱码本(one-time pad),是由Major Joseph Mauborgne 和AT&T公司的Gilbert Vernam在1917年发明的。(事实上,一次一密乱码本是门限方案的特殊情况)感兴趣的朋友可以查阅相关资料深入了解,在此我就不展开描述了。



转载自:https://blog.csdn.net/alexander115/article/details/80569559

招聘 不方便扫码就复制添加关注:程序员招聘谷,微信号:jobs1024



区块链基本架构原理:从 “区块” 谈起
区块链是21世纪最具革命性的技术之一,它仍然处于不断成长的阶段,而且还有很多潜力尚未显现。本质上,区块链只是一个分布式数据库而已。不过,使它独一无二的是,区块链是一个公开的数据库,而不是一个私人数据库,也就是说,每个使用它的人都有一个完整或部分的副本。只有经过其他“数据库管理员”的同意,才能向数据库中添加新的记录。此外,也正是由于区块链,才使得加密货币和智能合约成为现实。???区块?...
paramiko基础
用于连接远程服务器并执行基本命令import paramiko# 创建SSH对象ssh = paramiko.SSHClient()# 允许连接不在know_hosts文件中的主机ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 连接服务器ssh.connec
jmeter4.0 统计结果次数 BeanShell Sampler,Debug Sampler
jmeter4.0统计结果次数BeanShellSampler,DebugSampler业务场景:抽奖活动,程序按比例分配奖品,测试员想模拟100次抽奖,获取抽奖的结果,分析大致的概率1.setUpThreadGroup前置,右击添加BeanShellSampler输入props.put("a",0);props.put("b",0);props.put(&
阿里,腾讯内部十二个大数据项目,你都有做过吗?
随着社会的进步,大数据的高需求,高薪资,高待遇,促使很多人都来学习和转行到大数据这个行业。学习大数据是为了什么?成为一名大数据高级工程师。而大数据工程师能得到高薪、高待遇的能力在哪?自然是项目经验。下面给大家大概介绍一下在阿里的"双11"、"双12"、"双旦"即将到来的"618"与腾讯大数据都用上的十二个大数据项目:阿
大数据之HBase基础
HBase简介1.1.什么是HBaseHBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。HBase的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。HBase是GoogleBigtable的开源实现,但是也有很多不同之处。比如:GoogleBigta
大数据随笔(一)
一、概述谈到大数据,离不开云计算、物联网、数据中心这些关键基础技术。云计算是分布式处理、并行处理和网格计算的,或者说是这些计算机科学概念的商业实现。狭义上云计算指IT基础设施的交付和使用模式,即通过网络以按需、易扩展的方式获得所需资源;广义上云计算指服务的交付和使用模式,即通过网络以按需、易扩展的方式获得所需服务。云计算强调云存储和计算能力,是一个动态的过程。大数据是计算的对象,强调的是服务器的存
匹配搜索 match,search,findall区别
匹配搜索match,search,findall区别match首字母搜索匹配,匹配即停止importrere.match(r'de','de8ug').group()'de're.match(r'de','8ugde').group()---------------------------------------------------------------------------Attribu
pandas中set_index和reset_index的用法
pandas中set_index和reset_index的用法。
复合高斯积分(节点数小于等于1的版本Python实现)
复合高斯积分(节点数小于等于1的版本Python实现)。
导出导入数据库流水账的操作教程
导出导入数据库流水账的操作教程。导出数据库,因为本地只有plsql,没有安装oracle客户端,无法通过工具导出数据库(导出时没有可执行文件)。