加密那些事

这篇具有很好参考价值的文章主要介绍了加密那些事。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

        说到加解密也许有些人会有些陌生(仅对于初学者或其他行业的学者),先不说那些让人看到千篇一律的概念,就是如果两个人发信息怎样才能不被第三个人知道呢?是不是脑海里冒出了使用某种暗号,只有相互传信的人了解其中的奥秘,就算别人看到了也没有办法解开你们传递的真正含义。

二、前世今生

 2.1、前世(历史的加密算法应用)

        既然说到了加密就不得不提加密工具提到加密工具,下面简单列举下历史中加密算法出现的场景。

        时间回到公元前1000年相传商纣王末年,姜太公辅佐周室。有一次,他们带领的周军指挥大营被叛兵包围,情况危急,姜太公令信使突围,回朝搬兵,他怕信使遗忘机密,又怕周文王不认识信使,耽误军务大事,就将自己珍爱的鱼竿折成数节,每节长短不一,各代表一件军机,令信使牢记,不得外传。信使几经周折回到朝中,周文王令左右将几节鱼竿合在一起,亲自检验,周文王辨认出是姜太公的心爱之物,亲率大军到事发地点,解了姜太公之危。事后,姜太公拿着那几节使他化险为夷、转危为安的鱼竿,妙思如泉涌,他将鱼竿传信的办法加以改进,便发明了“阴符”。

        再回到公元前405年伯罗奔尼撒战争进入尾声。斯巴达统帅抓住一名雅典信使并在他身上搜到了一条布满杂乱无章字母的腰带,看起来并没有重要信息,无意中,统帅将腰带缠到剑鞘上,竟发现杂乱的字母有序地对接到一起,重要的军事情报显露出来。这实际上就是人类历史上最早的加密器械之一“斯巴达棒”。

        在近现代历史中,加密技术在两次世界大战中发挥了重要作用。例如,恩格玛密码机是纳粹德国在二战期间使用的一种复杂加密机器,它采用了旋转轮盘和电气线路来生成复杂的密码。盟军曾花费大量时间和精力来破解恩格玛密码,最终由艾伦·图灵领导的破解小组成功破解了这种密码,为盟军取得了重要的胜利,他因此挽救了数百万人的生命。

细思极恐,是不是发现这些都源于战争

 2.2、今生(现代的加密算法应用)

 2.2.1 、金融领域

        现代科技的不断进步,现代生活中也演变出了很多新的加密技术,让人最耳熟能详的就是区块链技术了;实际把区块链应用到金融货币领域就是耳熟能详的比特币了。说到这里可能有些人会对区块链有点好奇但是又不知它其中的奥秘,最大的疑问莫过于区块链能防止篡改,怎么我就改不了你的账本了呢?

加密那些事

其实就是一群人在记账的过程,区块链系统中的每一个人都有机会参与记账。系统会在一段时间内,可能选择十秒钟内,也可能十分钟,选出这段时间记账最快最好的人,由这个人来记账,他会把这段时间数据库的变化和账本的变化记在一个区块(block)中,我们可以把这个区块想象成一页纸上,系统在确认记录正确后,会把过去账本的数据指纹链接(chain)这张纸上,然后把这张纸发给整个系统里面其他的所有人。然后周而复始,系统会寻找下一个记账又快又好的人,而系统中的其他所有人都会获得整个账本的副本。这也就意味着这个系统每一个人都有一模一样的账本,这种技术,我们就称之为区块链技术(Blockchain)。

 2.2.2、数据存储领域

        主要是用于数据库存储数据加密,比如说现在的购物网站或者医疗网站一些用户隐私的数据都是加密存储的,就算有人直接拿到用户的数据也是无法直接查看使用的,比如某一个用户的银行卡号实际号码是abc那么实际数据库存储的可能就是:sfsdfdssf=== 。

2.2.3、互联网通信领域

        互联网高速发展的现代,诞生了许多社交软件,也方便了大家沟通传递各种信息,再也不用之前那样繁琐的去寄邮件了,但是有利就有弊端,怎么样防止两个人聊天的内容在传递过程中被黑客截获呢?这样就引出了HTTPS,so?又来一个不认识的单词,别着急用一种生动的方式给大家介绍下它的工作原理。

小明和小红想通过飞鸽传达信件,但是呢又害怕被别人截取信件进而看到信件的内容,小明思索再三就想到了用加密的方法(对称加密),这样就万无一失了。但是呢小明突然发现如果他和小红不认识怎么办?用这种商量的办法貌似不太行哈,所以就改进了一下传信方案,给小红的信件里面只带一个空的信箱,信箱上面带一个开着的锁头,小红写完信将信件上锁,这样小明收到的信件就可以用钥匙解锁查看了(悄悄的说其实这个就是非对称加密哦)。然而仔细想想这样其实还有问题,就是小红不能确定这个信箱是不是小明发过来的呀,万一是别人冒充小明呢发写信呢?于是呢就找到了小镇上面有权威的小信,每次发信息除了收件人和发件人的签名还有一个小信的签名(这个签名就是SSL签名)。但是呢这并不是最终结果,最终结果是鸽子要罢工,因为每次带着一个锁太重了,于是小明和小红优化了加密的方案把一开始携带的锁头更换为了对称加密的规则传递,这样后续双方就使用对称加密就能进行通讯啦。大概就是下面这张图这样

加密那些事

三、洞若观火(加密算法的如何工作的)

        上面说了这么多那么实际有哪些加密算法呢?他们是咋样加密工作的,别着急下面娓娓道来。

3.1、对称加密

        通俗的说其实就是一把锁两把钥匙,小红和小明写信害怕被人看到信件内容,所以买了一个密码本,然后呢只有小明和小红有这个密码本的密码,你以为这样就万无一失了?小黑是个偷窥狂,有一次无意间窃取了小红的密码。如果用绘图的方式呢大概就是这样(图片画的有点粗糙见谅哈)。

        加密那些事

         常见的有SM1(国产)、AES、DES、3DES(TDEA)、RC5等加密算法都是对称加密算法。虽然这些算法很多但是大部分属于阉割版,也就是说因受到美国军事出口限制在其密钥长度上有所缩减,加密强度有所降低。例如,DES算法因受到军事出口限制,目前仅提供56位的密钥长度,而事实上,安全要求则至少需要128位。不过别灰心,我们强大的祖国也研发了自己的对称加密算法SM1虽然它没有对外公布商用但是在不久的将来它会公布于众的。

3.2、非对称加密

        顾名思义它的加密方式是非对称的,这次小明发现她和小红的聊天被人窃取了,然后小明想了下就采用了新的方式买了一个高级信箱有两个柜子一个柜子可以放入信件(寄件箱),放入的信件就会进入下面的柜子(收件箱),这样小明把寄件箱的钥匙送给了小红,小明自己保留了信箱的收件箱钥匙,只有他自己能打开。

加密那些事

        大概就是这么个意思,但是这时候就有人会问你这样也不安全啊,给小红的钥匙还是会被人偷走或者被人复制,这样中间人篡改信件内容或者冒充小红写信了?早就防着小黑子了,其实就算小红的钥匙被窃取也没有关系,这里还有一个重要的概念,签名防止小黑子冒充(证书具有权威机构颁发的授权证书),当然这里只是简单介绍方便大家理解,其实里面有很多专业术语,这里就不再赘述了。

        常见的非对称加密算法有SM2(国产)、RSA、Elgamal,也许耳熟能详的大概大家对于RSA比较熟悉,但是这里要说下SM2国密加密算法(因为他是中国研发的加密算法),SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法,随着密码技术和计算机技术的发展,目前常用的1024位RSA算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线算法替换RSA算法。

3.3、摘要

        最后说一下不可逆加密算法,它将任意长度的输入数据映射为固定长度的输出数据,称为摘要。消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密。摘要算法通常用于文件完整性验证、密码存储、数字签名等领域,因为任何对数据的修改都会导致摘要的改变。

        常见的摘要算法有SM3(国产)、MD5、SHA-256等,这里的SM3性能以及安全性和SHA-256是相当的。下面罗列了下他们之间的性能比较。

几种摘要算法比较
信息摘要算法 信息输入长度 摘要输出长度 安全性
SM3 * 256bits(32字节) 高,推荐使用
MD5 * 128bits(16字节) 低,有被碰撞的可能性
SHA256 <2^64 256bits(32字节) 高,推荐使用,最长使用
*是任意长度

四、蓦然回首

        加密安全贯穿古今事件,是人类发展的印证,但加密不仅仅文中提到的这些,文中提到的只是加密发展的冰山一角;如果你问上面这些加密算法那个是最安全的,那个是万无一失的,我会回答没有绝对的安全,因为随着计算机算力的提高,任何加密数据被破解的时间会逐渐缩短,只能说我们在信息传递过程或信息存储过程中避免数据直接暴露给外部,让小黑子拿到不可以直接使用的,这其实也是加密安全的初衷。说了这么多的加密的事,希望大家有所收获,当然有什么疑惑或者想探讨的也欢迎大家留言,在下知无不言。文章来源地址https://www.toymoban.com/news/detail-453565.html

到了这里,关于加密那些事的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • php对称加密AES加密解密

    AES-128-ECB和AES-256-CBC是两种常见的AES加密模式,它们在加密方式和安全性上有以下区别: 加密方式: AES-128-ECB:ECB(Electronic Codebook)模式是最简单的AES加密模式,它将数据分成固定大小的块,每个块独立加密。这意味着相同的明文块将始终加密为相同的密文块,因此ECB模式不

    2024年02月09日
    浏览(64)
  • 利用Base64加密算法将数据加密解密

    Base64准确来说并不像是一种加密算法,而更像是一种编码标准。 我们知道现在最为流行的编码标准就是ASCLL,它用八个二进制位(一个char的大小)表示了127个字符,任何二进制序列都可以用这127个字符表示出来。 而Base64则是用6个二进制位表示了64个字符,也就是说,任何的

    2024年04月09日
    浏览(95)
  • 【图像加密解密】区块链的前提下扩散图像加密解密(含直方图)【含Matlab源码 4120期】

    ✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。 🍎个人主页:海神之光 🏆代码获取方式: 海神之光Matlab王者学习之路—代码获取方式 ⛳️座右铭:行百里者,半于九十。 更多Matlab仿真内容点击👇 Matlab图像处理(进阶版) 路径规划

    2024年03月22日
    浏览(73)
  • SWIFT HMAC加密、解密

    import CryptoKit /*: 加密,使用HMAC密钥  */ let key = SymmetricKey(size: .bits256) let theme = \\\"asdfasfsdä343433dfdfgdfsdf\\\" let data = theme.data(using: .utf8)! let encryptedContent = try! ChaChaPoly.seal(data, using: key).combined print(encryptedContent) /*: 解密  */ let sealedBox = try! ChaChaPoly.SealedBox(combined: encryptedContent) let decry

    2024年02月03日
    浏览(58)
  • 实战:加密传输数据解密

    下面将分享一些实际的渗透测试经验,帮助你应对在测试中遇到的数据包内容加密的情况。我们将以实战为主,技巧为辅,进入逆向的大门。 开局先讲一下技巧,掌握好了技巧,方便逆向的时候可以更加快速的找到关键函数位置! 后续也会有更多的实战会按照技巧去操作。

    2024年01月23日
    浏览(47)
  • Python实现希尔加密/解密

    希尔加密的原理就不多讲了,直接上代码。 定义一个函数:def fun(s, mod1, mod2, key) s:要加密/解密的字符串 mod1:加密或解密 mod2:A=0或A=1,目前网络上的希尔加密都不是统一的,两种模式得出的结果是不一样的。 key:密钥,转换为矩阵后必须为方阵且可逆 要有传入的参数,key的长

    2023年04月19日
    浏览(44)
  • wireshark专栏——解密加密报文

    示例抓包文件解密参数: snmpUser=“ABC” authenType=“SHA” authenPass=“ABC123” priType=“AES” priPass=“ABC123” 备注:这些参数是SNMPv3读取mib节点时设置的参数 我们看到加密报文把报文中携带的数据信息给加密了:encryptedPDU:privKey Unkown 根据设备中设置的加密参数输入对应的位置 报

    2024年01月19日
    浏览(38)
  • 前端AES加密解密

    前端经常会遇到这种接口和参数需要加密的情况,目前用的最多的就是aes加密了。以下就是操作步骤。以下方式适用各个前端框架,请自行根据框架修改对应语法 1.安装 CryptoJS 这个库就是用来加密的核心,直接打开项目终端,输入 npm install crypto-js --save 2. 新建 crypto.js 在 @/

    2024年02月13日
    浏览(62)
  • SQLite加密解密

    微信聊天记录导出(2020新版) Android数据库加解密逆向分析(三)——微信数据库密码破解 微备份 论坛讨论 转自windwos 安装 pysqlcipher3 下载 pysqlcipher 去https://pypi.org/search/?q=pysqlciphero=下载pysqlcipher3 1.2.0文件 安装python 推荐安装 python3.7 日常使用够了,不要追求新出来的版本,不太

    2024年02月09日
    浏览(40)
  • Java 常用加密解密

    常见的加密算法可以分成三类,对称加密算法,非对称加密算法和Hash算法。 对称加密 常见的对称加密算法:DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6和AES 非对称加密 常见的非对称加密算法:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用) Hash算法 常见的H

    2024年01月16日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包