密码算法

《图解密码技术》阅读笔记

妖精的绣舞 提交于 2019-12-06 08:52:10
第一章 密码与信息安全常识 不要使用保密的密码算法: 密码算法的秘密早晚会公诸于世 试图通过密码算法本身的保密性来保证安全称之为隐蔽式安全,很蠢。 使用低强度的密码比不进行任何加密更危险 任何密码总有一天会被破解 第二章 凯撒密码: 位移实现加密 知道位移量即可进行逆向移动解密(也可以暴力穷举破解) 替换密码: 将明文中所有字母变替换为另一套字母表 密钥空间:所有密钥的集合 频率分析:明文中字母出现的频率与密文中字母出现的频率是一致的 破译技巧: 高频字母和低频字母都能成为线索 字母连成单词 Enigma 国防军密码本的“每日密码”通信密码 通信密码是3位,写两次共6位 每日密码加密后的通信密码和通信密码加密后的密文被拼接发送给对端 弱点: 将通信密码连续输入两次 通信密码是人为选定的 必须派发国防军密码本 第三章 XOR(异或) 两个相同的数进行异或运算的结果一定为0 一次性密码本 即使可以遍历整个密码空间,遍历解密得到明文,也无法确认哪个是正确的明文 一次性密码是无条件安全的,在理论上是无法破译的 不实用: 密钥在两边配送 密钥保存 密钥重用 密钥同步 密钥生成 DES DES是一种将64位明文加密成64位密文的对称密码算法 密钥长度是56bit(64bit,每隔7位有1bit错误检验bit) 轮: 将输入的数据(64bit)等分为左右两部分

八 电磁信息辐射和电磁兼容

雨燕双飞 提交于 2019-12-06 05:56:40
2.8电磁兼容和电磁信息辐射 2.8.1电磁兼容EMC 根据国家标准GB/T4365所述,电磁兼容(Electromagnetic Compatibility)的设备或系 统指该设备或系统在其电磁环境中能正常工作且不对环境中任何事物构成不能承受的电磁 干扰能力(所谓电磁环境是指于给定场所的所有电磁现象包括全部时间与全部频谱的总和 )。当该设备或系统能达到这要求后方能称为具有电磁兼容性。从上述说明中可以看到如 果设备或系统要达到具有电磁兼容性,就一定要做到两点: 1、在电磁环境中能正常工作,亦即能抵抗或防止外来的电磁干扰; 2、不对环境中任何事物构成不能承受的电磁干扰,亦即能抑制设备或系统自身所发出的电 磁干扰而不致影响其他设备或系统的功能。 随着技术的发展,特别是人们环境保护意识的增强,对产品的电磁兼容性越来越重视 。我国已将产品的电磁兼容性要求纳入了国家强制性产品认证范围,国家规定从2003年5月 1日起凡列入国家强制性产品认证目录的产品未经认证不得出厂、进口和销售。 电磁兼容性和我们所熟悉的安全性一样,是产品质量最重要的指标之一。安全性涉及 人身和财产,而电磁兼容性则涉及人身和环境保护。在我们日常生活的空间确实存在着另 外一种环境污染——电磁污染。可以这样说,凡有电、有开关的设备均会产生电磁干扰。 自从1986年成立了全国无线电干扰标准化委员会后,我国才开始有组织有系统地对应

APP密码算法通用分析方法

懵懂的女人 提交于 2019-12-02 15:58:42
APP密码算法通用分析方法 在APP测试过程经常会遇到报文被加密的情况,之前在大部分的情况,可能需要进行脱壳,逐行分析代码,获取算法,编写解密的程序(工具)—— 适用于任何情况下的万能解法。 因为过程实在是有些繁琐,文章里是我尝试分析app加密算法的一些取巧的方式,可以进行尝试。 密码算法介绍 密码算法强度依赖 密码算法源头可以追溯到古典算法。 一般而言古典算法依赖于两种方式——移位和代换混淆明文,从而无法破译。但是对于大多数的古典密码而言,其加密强度依赖于算法保密性以及密钥保密。 但是对于现代密码学而言,加密强度完全依赖于密钥(算法在某种程度上一定会被获取,而设计好的算法存在一定的难度)。 对于我想要做的app算法分析而言,我在大部分的情况是在寻找密钥。找到密钥,套用几个现代密码学算法,完成分析。 涉及概念 我在实际的接触过程中,大部分的人其实对于密码涉及到的相关概念其实认识的很模糊,经常统称为密码算法,这里进行简单的介绍 Hash算法(哈希算法) 常见的包括md5、sha1、sm3。 这类算法主要对信息进行摘要,从摘要两个字应该能够意识到进行这种算法获取的数据无法还原成原来的信息,因为只保存了部分数据。 那么我们常说的md5解密、sha1解密,又是什么呢?其实这是在说明一类情况 Hash碰撞,—— A通过hash函数生成了C,B也通过hash函数生成了C,这样一种情况

SM4密码算法matlab实现

只愿长相守 提交于 2019-11-30 11:14:57
%function C=SM4(X,K,M) %M为1时进行加密,M为0时进行解密操作,X为明文/密文输入,K为密钥输入 X='0123456789abcdeffedcba9876543210'; %X='681edf34d206965e86b3e94f536e4246'; K='0123456789abcdeffedcba9876543210'; M=1; %****************X输入明文************* XB=[]; A=zeros(36,32); for i=1:32 Xi=X(i); XBi=['0000',dec2bin(hex2dec(Xi))]; XBi=XBi(end-3:end); XBi=[str2num(XBi(1)),str2num(XBi(2)),str2num(XBi(3)),str2num(XBi(4))]; XB=[XB,XBi]; if rem(i,8)==0 A(ceil(i/8),:)=XB; XB=[]; end end %****************K输入密钥*********** KB=[]; MK=zeros(4,32); for i=1:32 Ki=K(i); KBi=['0000',dec2bin(hex2dec(Ki))]; KBi=KBi(end-3:end); KBi=[str2num(KBi(1))

本体技术视点 | 区块链的恐慌来了?

时光怂恿深爱的人放手 提交于 2019-11-28 12:47:50
上个月末, Google AI Quantum 等机构发布的一篇关于量子计算机进展的论文 《Quantum Supremacy Using a Programmable Superconducting Processor》 引起了巨大反响, 量子计算机 以其远远超越经典计算机的计算能力得到了广泛关注。而这种超级计算能力也给区块链领域带来了一丝恐慌,各个社区纷纷开始担心量子计算机会成为区块链底层密码算法的致命威胁。 图 | 网络 一、引言 量子计算机正成为新兴计算机的一个发展方向。虽然量子计算机目前还没有成为现实,但也在一步一步地努力实现中。早在2015年,IBM 的研究员在位于纽约的实验室中就建造了一台有5个量子比特的量子计算机,并向公众发布免费量子计算云服务,让所有人都可以使用这5量子比特的量子计算机。在2019年度国际消费电子展上, IBM 展示了一台 量子计算机 IBM Q System One 模型 。据报道,IBM 将很快为其 IBM Q Network 的客户提供53量子比特的量子计算机。而 谷歌 在2018年美国物理学会年会上推出的 Bristlecone 量子计算芯片有72个量子比特。另外, D-Wave 也在推出其 下一代的量子退火计算机 。 这一切迹象表明量子计算机正在悄然而坚定地向我们走来。据 美国国家标准与技术研究院(NIST) 预测,在十五年左右的时间内,