不安全的算法
‘壹’ aes算法中哪种模式不安全
应该是ecb的模式,因为ecb掩盖不了明文结构信息,难以抵抗统计分析攻击。可对明文进行主动攻击。
‘贰’ 什么算法能在不安全信道上传输密钥
在不安全信道上传输密钥未必需要算法安全。这个问题的关键在于密钥所属的安全机制是否足够安全。比如,在RSA中,密钥就可以经不安全信道传输。另外,你这个问题的含义本身就比较模糊。
‘叁’ HashMap为什么不安全
我们都知道HashMap是线程不安全的,在多线程环境中不建议使用,但是其线程不安全主要体现在什么地方呢,本文将对该问题进行解密。
1.jdk1.7中的HashMap
在jdk1.8中对HashMap做了很多优化,这里先分析在jdk1.7中的问题,相信大家都知道在jdk1.7多线程环境下HashMap容易出现死循环,这里我们先用代码来模拟出现死循环的情况:
publicclassHashMapTest{publicstaticvoidmain(String[]args){HashMapThreadthread0=newHashMapThread();HashMapThreadthread1=newHashMapThread();HashMapThreadthread2=newHashMapThread();HashMapThreadthread3=newHashMapThread();HashMapThreadthread4=newHashMapThread();thread0.start();thread1.start();thread2.start();thread3.start();thread4.start();}}{privatestaticAtomicIntegerai=newAtomicInteger();privatestaticMapmap=newHashMap<>();@Overridepublicvoidrun(){while(ai.get()<1000000){map.put(ai.get(),ai.get());ai.incrementAndGet();}}}
上述代码比较简单,就是开多个线程不断进行put操作,并且HashMap与AtomicInteger都是全局共享的。
在多运行几次该代码后,出现如下死循环情形:
2.jdk1.8中HashMap
在jdk1.8中对HashMap进行了优化,在发生hash碰撞,不再采用头插法方式,而是直接插入链表尾部,因此不会出现环形链表的情况,但是在多线程的情况下仍然不安全,这里我们看jdk1.8中HashMap的put操作源码:
这是jdk1.8中HashMap中put操作的主函数, 注意第6行代码,如果没有hash碰撞则会直接插入元素。
如果线程A和线程B同时进行put操作,刚好这两条不同的数据hash值一样,并且该位置数据为null,所以这线程A、B都会进入第6行代码中。
假设一种情况,线程A进入后还未进行数据插入时挂起,而线程B正常执行,从而正常插入数据,然后线程A获取CPU时间片,此时线程A不用再进行hash判断了,问题出现:线程A会把线程B插入的数据给覆盖,发生线程不安全。
总结
首先HashMap是线程不安全的,其主要体现:
在jdk1.7中,在多线程环境下,扩容时会造成环形链或数据丢失。
在jdk1.8中,在多线程环境下,会发生数据覆盖的情况。
‘肆’ 不安全的加密算法不包括什么
DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;
算法原理
AES 算法基于排列和置换运算。排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。AES 使用几种不同的方法来执行排列和置换运算。
‘伍’ rc4 算法不安全 跟证书有关系吗
RC4加密算法是大名鼎鼎的RSA三人组中的头号人物RonRivest在1987年设计的密钥长度可变的流加密算法簇。
‘陆’ DES安全性的安全体现不安全体现原来的算法如何改进
安全性:雪崩效应,加密运算速度,对称性等
不安全性:密码空间随着计算能力的提升,已经显得太小了
S盒的不可靠性
还有一些差分分析的脆弱性吧,现在已经被淘汰了,
美国已经用新标准了
改进......看从那方面说了,分组密码有自身的局限性,改进无非就是增加密钥长度,多次迭代运算等,或者和其他密码混合使用
现在很流行的就是RSA和DES和混合使用。RSA加密太慢,但是安全;DES不安全,但是算法很快
我也就只知道这些了,楼主有问题再补充吧
呵呵
‘柒’ 海因里希法则计算求死亡,重伤,不安全行为数,如何计算求过程
公式是1:29:300。
如事件总数为1000,
则死亡或重伤人数计算方法为:1000÷330X1。
轻伤人数计算方法为:1000÷330X29。
无伤害人数为1000除以330X300。
海因里希法则(Heinrich's Law)又称“海因里希安全法则”、“海因里希事故法则”或“海因法则”,是美国着名安全工程师海因里希(Herbert William Heinrich)提出的300∶29∶1法则。
这个法则意为:当一个企业有300起隐患或违章,非常可能要发生29起轻伤或故障,另外还有一起重伤、死亡事故。
海因里希法则是美国人海因里希通过分析工伤事故的发生概率,为保险公司的经营提出的法则。这一法则完全可以用于企业的安全管理上,即在一件重大的事故背后必有29件轻度的事故,还有300件潜在的隐患。
(7)不安全的算法扩展阅读:
海因里希最初提出的事故因果连锁过程包括如下5个因素。
遗传及社会环境
遗传因素及环境是造成人的性格上缺点的原因,遗传因素可能造成鲁莽、固执等不良性格;社会环境可能妨碍教育、助长性格上的缺点发展。
人的缺点
人的缺点是使人产生不安全行为或造成机械、物质不安全状态的原因,它包括鲁莽、固执、过激、神经质、轻率等性格上的先天缺点,以及缺乏安全生产知识和技能等后天缺点。
人的不安全行为或物的不安全状态
所谓人的不安全行为或物的不安全状态是指那些曾经引起过事故,或可能引起事故的人的行为,或机械、物质的状态,它们是造成事故的直接原因。
例如,在起重机的吊荷下停留、不发信号就启动机器、工作时间打闹或拆除安全防护装置等都属于人的不安全行为;没有防护的传动齿轮、裸露的带电体、或照明不良等属于物的不安全状态。
事故
事故是由于物体、物质、人或放射线的作用或反作用,使人员受到伤害或可能受到伤害的、出乎意料之外的、失去控制的事件。坠落、物体打击等使人员受到伤害的事件是典型的事故。
伤害
直接由于事故而产生的人身伤害。人们用多米诺骨牌来形象地描述这种事故因果连锁关系,得到图中那样的多米诺骨牌系列。
在多米诺骨牌系列中,一颗骨牌被碰倒了,则将发生连锁反应,其余的几颗骨牌相继被碰倒。如果移去连锁中的一颗骨牌,则连锁被破坏,事故过程被中止。
海因里希认为,企业安全工作的中心就是防止人的不安全行为,消除机械的或物质的不安全状态,中断事故连锁的进程而避免事故的发生。
‘捌’ 即使分组加密算法是安全的,为什么说采用ecb方式加密依然存在不安全性
加密算法在传输过程中就会有数据报文输出,输入,这个过程中被嗅探工具探知以后,在大数据服务器上进行解密算法, 算出后,就可进行拦截,伪造,等手法,让你不知不觉中招,
所以说没有那种加密算法是完全安全的,只有不停的更新算法,才能保证不被破解。这是一个长期的工作, 只有一些国际企业才有这种实力,长期进行加密算法更新,ps(国际常用的加密算法也就那么几种,自己网络搜搜)
‘玖’ RSA算法的安全问题
不安全 虽然没泄露n 但是e d都被知道后 有利于求得n的欧拉函数 进而分解n
这就是所谓的 “共模攻击”
为了防止共模攻击 所以Rsa使用有2个注意
1。私钥泄露,立刻换n
2。同组多用户不能使用同一个n
‘拾’ 为什么Google急着杀死加密算法SHA-1
大部分安全的网站正在使用一个不安全的算法,Google刚刚宣称这将是一个长周期的紧急情况。
大约90%采用SSL加密的网站使用SHA-1算法来防止自己的身份被冒充。当你去访问网址时,保证了你正在访问的确实是正品Facebook,而不是把自己的密码发送给攻击者。然而不幸的是,SHA-1算法是非常脆弱的,长期以来都是如此。该算法的安全性逐年降低,却仍然被广泛的应用在互联网上。它的替代者SHA-2足够坚固,理应被广泛支持。
最近谷歌声明如果你在使用Chrome浏览器,你将会注意到浏览器对大量安全的网站的警告会不断发生变化。
证书有效期至2017年的站点在Chrome中发生的变化
首批警告会在圣诞节之前出现,并且在接下来6个月内变得越来越严格。最终,甚至SHA-1证书有效期至2016的站点也会被给予黄色警告。
通过推出一系列警告,谷歌这正在宣布一个长周期的紧急情况,并督促人们在情况恶化之前更新他们的网站。这是件好事情,因为SHA-1是时候该退出历史舞台了,而且人们没有足够重视SHA-1的潜在风险。
如果你拥有一个使用SSL的网站,你可以使用我创建的SHA-1测试小工具来测试你的网站,它会告诉你应该怎么做。即使你没有网站,我仍然推荐你去读一读。在接下来的博文,我会介绍网站上SSL和SHA-1是如何一起工作的,为什么如谷歌说的那么紧急,和浏览器正在采取的措施。
同样重要的是,安全社区需要让证书更换过程少些痛苦和麻烦,因为网站的安全升级不必那么紧急和匆忙。
FreeBuf科普:安全散列算法与SHA-1
安全散列算法(英语:Secure Hash Algorithm)是一种能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。且若输入的消息不同,它们对应到不同字符串的机率很高;而SHA是FIPS所认证的五种安全散列算法。这些算法之所以称作“安全”是基于以下两点(根据官方标准的描述):
1、由消息摘要反推原输入消息,从计算理论上来说是很困难的。
2、想要找到两组不同的消息对应到相同的消息摘要,从计算理论上来说也是很困难的。任何对输入消息的变动,都有很高的机率导致其产生的消息摘要迥异。
SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院(NIST) 发布的一系列密码散列函数。