0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

信息安全的加密与解密

工程师 来源:汽车电子硬件设计 作者:汽车电子硬件设计 2020-10-19 15:48 次阅读

前言

在《林海雪原》里,杨子荣为了能够假装胡彪,打入虎穴,学习了些黑话,题记里杨子荣正跟土匪对着暗号,验明自己身份的合法性。这是在提到洋气的A和B之前,能想到密码学里身份校验的故事,当然前提是山寨里的人都没见过胡彪,只是有所耳闻,故事里土匪一直在想法设法试探杨子荣的身份,感兴趣大家可以看看《智取威虎山》中的电影片段。

话说回来,土匪和杨子荣的对话并不涉及加解密的过程,只是凭着行话,核验身份,与我们正常输入登录账号密码一样,那最多称之为口令,那什么是密码学呢?我们简单看下维基百科的定义。

Cryptography is about constructing and analyzing protocols that prevent third parties or the public from reading private messages. (密码学是关于构建和分析防止第三方或公众读取私人消息的方法体系)。

信息安全的属性

在密码学世界里有两个虚拟的人物Alice和Bob以拟人化A和B,假如Alice和Bob是同班同学且互有好感,有一天Alice终于鼓起勇气要以情书的形式向Bob表白,正常来讲他会有些担心,最理想的情况下,是情书安全的送到了Bob那里,万一情书被人发现,也没有关系,只有Bob能看懂,同时要确保Bob收到情书之后,还得确定是Bob发来的,不然搞错了对象也会很尴尬。

Alice确实是个心思缜密的人,他的担心涉及到了信息传递的几个安全属性。

机密性: 自己的真实意图只能让Bob知道,不能让公众晓得,他可以把情书放到密码箱里,把钥匙给到Bob,或者也不怕别人看到,对于情书内容进行加密,也只有Bob知道密钥。

完整性: 情书中途被人掉包,或者内容被篡改,明明是表白I love you 结果换成 I hate you那就坏了好事了。

真实性: Bob收到情书之后,得知道是Alice写的,当然写匿名情书搞暗恋又另说了。此时就需要Alice签字,或者做个人的特殊标记,比如加上自己的俄语一段话,因为班上只有Alice会俄语。

Alice的想法也是人之常情,不仅要有勇气将重要的信息传递出去,同时也要有足够的智慧保证信息的传递准确到位。其实在密码学在这里就可以派上用场了。

加密与解密

Alice可以将情书放到有密码锁的笔记本里,然后将本子和钥匙一起送给Bob,这也是一种方式,钥匙上锁和解锁的过程,暂且换上专业的说法,加密和解密,同时发送者和接受者用的同一把钥匙,也就是我们说的对称加密,当然密钥只有Alice和Bob知道,同时消息和密钥要同时发给对方。其逻辑如下:

在介绍加解密之前,简单普及下基础的概念,在现代的计算机和依赖计算机的设备里都用到了二进制,每个数字称为一个比特(bit),一个字节由8个比特构成,储存的数值范围为0-255。

既然二进制是计算机的语言,那么消息都必须得转化为二进制才能进行计算,很多问题就变成了数学问题,此时密码学就成功成了数学家的天地,这也是我们普通大众对密码学望而却步的原因。(顺便提一句,目前国内在密码学造诣最深的是山东大学数学系出身的王小云院士。)

再回到Alice和Bob的小秘密,经过仔细考虑,情书的关键信息如下:

I LOVE YOU

现在为了确保消息只有Bob看得懂,而别人看不懂,暂且假设只有Alice和Bob知道密钥,此时正常来说他三种操作方式。

首先是字母替换,每个字母按照制定规则逐一替换,此时Bob收到加密消息的同时,还会收到的字符关系表,逐个解密得出明文消息。正经的说,也就是利用预先设计的固定代替规则,对明文逐个进行替换,这个代替规则又称为代替函数,代替表或者代替函数,所以相同的明文字符组一定会产生相同的密文字符,此时可以采用频率分析基本可以得到找到对应关系。

然后是行移位,I LOVE YOU 按照26个字母顺序依次向后移一位,那么变化如下:

I LOVE YOU-》 J MPWF ZPV

如此解密时,J MPWF ZPV 各字母向前移动一位就解决问题,得到答案里。

最后就是加减密码,将明文逐个字符或逐字符组与乱数相加或相减的密码,在这里就不赘述了。

对称密钥

Alice和Bob的小秘密大部分情况下要通过密码技术来保证,顺着Alice面对安全威胁的担忧,接下来我们还是有必要整体介绍,密码学的常用要点。

在之前,其实我们简要介绍过了对称密钥,也就是加密和解密用的是同一套密钥。关于具体的对称密钥算法,还是有必要介绍AES, 一般会将明文分成128bit的明文块,密钥长度有128,192,256bit三种选择,对于128而言,加密轮数为10轮。分别用到了XOR运算,字母替换,行移位,列混淆一套组合拳,然后经过10轮加密计算得到密文。

听起来挺复杂的,其实逻辑很简单,通过一堆骚操作之后,让你看不懂密文,除非拿到密钥解密得到消息。但对于Alice想跟Bob表白这件事情来说,也最好不要这样,除非你确定Bob对密码学很感兴趣。即使Bob拿到了密钥,你手把手教他解密,把最后的I LOVE YOU的信息给解出来也不是件容易的事。

非对称密钥

对称密钥有个问题,情书发送的时候,要顺带把钥匙也给对方,不然对方是解不开的,此时不仅要保护情书不落入情敌手中,同时也要确保密钥的安全。也就是说对称密钥存在密钥配送的问题。

1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。

也就是我们经常提到的非对称加密,咋个理解法?在《图解密码技术》里面提了个非常有意思的说法解释公钥和私钥的关系。

假如Alice到超市购物要存包,先投一枚硬币,此后空箱子弹开,你放上你的私人物品后,合上寄存柜的门,然后自动弹出一个小纸条,那个小纸条你得拿好,上面的条形码是唯一的,到时拿着纸条对着扫码机扫一下,解锁后寄存柜打开,然后完成这个过程。

这样一套自动化系统成功的解决存包管理的问题,同时将寄存柜变成了公共设施,同时还能收一笔使用费用。其中硬币相当于公钥,谁都可以有,你有了一块钱就可以锁上柜子,然后你的柜子只有你自己的纸条能打开,相当于私钥。

也就是说公钥加密,私钥解密。非对称加密尽管增加了一套密钥分发系统,但是相对于对称加密每次都要随带密钥,不仅提高了安全性,还省了内存。

关于非对称密码的算法实现,不得不提到RSA,其逻辑如下:

密文=明文^E mod N, 密文等于明文的E次方,然后除以N的余数。

E和N构成公钥,D和N构成私钥,中间的数学算法在此就不细展开了,如果大家感兴趣查阅相关的资料

不管是对称加密,还是非对称加密,解决的核心问题还是机密性,不希望别人看到个人的隐私信息,密钥本身也同等重要,比如利用随机数加密数据,也就是一次性密码,只是长度与明文一样长,保护明文与密钥成本相同,那就脱离加密本身的初衷,但那也是唯一无法破解的密码,不过没有实用的价值,此时说世界上没有绝对的安全,一点也不为过。

单向散列函数

如果加密和解密的渠道都是正常进行的,万一有人篡改了消息的内容,又该如何保证 呢?

每次发来的文件消息数据量巨大,不可能挨个原文比对验证完整性,那工作量太大了。此时单向散列函数就出现了。

单向散列函数,首先是单向不可逆的,你无法通过散列值计算出明文,另外是压缩数据,不管多大的数据,都可以计算出固定长度的散列值。最后就是消息不同,散列值也不同,消息稍微有点变化,散列值本身就会有很大的变化。

如果说消息传递时空间的有效性,你可以通过安全传输协议来保证其安全,如果消息时间的有效性,你可以通过前后对比计算散列值得到结果,针对昨天和今天的校验值,你如何校验呢?此时计算消息的散列值,然后对比,这问题就可以解决了,其逻辑步骤如下:

消息认证

Bob怎么确定发送者是Alice呢? 这就要验证消息的合法性,刚才只是按照消 息原文计算了散列值,比对内容是否有篡改,主要应用的是昨天跟今天消息的对比,不涉及到消息传输。 今天Bob收到情书了,想确定是Alice发来的,此时就要考虑密钥问题了。

其实消息认证码就是一种与密钥相关联的单向散列函数,有了共享密钥的参与就可以验证消息来源的合法性了,共享密钥只有发送者和接收者知道,Alice和Bob的小秘密才足以捍卫。其工作流程如下:

数字签名

通过消息认证码可以识别消息是否被篡改或者发送者身份是否被伪装,也就可以校验 消息的完整性,还可以对消息进行认证。 如果Alice向Bob借了1000块钱,借钱过程都是合理合法,万一有天Alice否认没有找Bob借 过钱呢?

对称加密里面,密钥是双方都知晓,非对称里面公钥是公开大家都知道的,私钥只有Bob知道,真正属于Alice的个人信息并没有,也就是内容没毛病,就是没有签字画押,对了抗抵赖性,此时数字签名就派上了用场。

在非对称密钥里面,公钥加密,私钥解密。

在数字签名里面,私钥签名,公钥验签,对于初学者来说容易弄混,但是从逻辑上可以这么理解,签名是具有个人属性独一无二的,当然得用Alice得私钥签名,而验签则是任何需要验签得人都可以持有。

验证签名就是检查该消息的签名是否真的属于Alice,验证的结果可以是成功或者失败,成功则以为着这个签名是属于Alice的,失败则意味着这个签名不是属于Alice的。

总结

密码学真是为了保护Alice 和Bob的小秘密操碎心,对称密钥只有一个密钥,加解密便 捷快速,但密钥同消息一起传输又不太安全,非对称密钥解决了密钥管理的问题,可又担心别人篡改了Alice情书的内容,费尽心思设计单向散列函数实现了数据比对的轻量化,Bob担心Alice借钱不承认,特意设置了数字签名,真的是太难了。

安全的本质就是信任,当你不信任对方时,会千方百计的校验对方的身份,设置各种密 码措施,如果不表白似乎就没这么多事了,但为了人类的繁衍的,科技的进步,你总归是要走下去的。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 信息安全
    +关注

    关注

    5

    文章

    645

    浏览量

    38844
  • 数字签名
    +关注

    关注

    2

    文章

    76

    浏览量

    13790
  • 函数
    +关注

    关注

    3

    文章

    4250

    浏览量

    62212
收藏 人收藏

    评论

    相关推荐

    安全服务加密存储代码怎么查

    安全服务加密存储代码的查询与实现是一个复杂的过程,涉及到多个方面,包括数据加密、密钥管理、访问控制等。 1. 引言 随着云计算的快速发展,越来越多的企业和个人将数据存储在云端。然而,数据安全
    的头像 发表于 07-02 09:28 265次阅读

    量子加密安全通信的未来

    随着我国信息社会、数字社会、智能社会的发展,信息安全要求越来越迫切。传统的加密方法虽然在一定程度上保障了信息
    的头像 发表于 06-24 10:40 309次阅读
    量子<b class='flag-5'>加密</b>:<b class='flag-5'>安全</b>通信的未来

    鸿蒙开发接口安全:【@system.cipher (加密算法)】

    加密类型,可选项有: 1. encrypt 加密 2. decrypt 解密
    的头像 发表于 06-06 09:11 852次阅读
    鸿蒙开发接口<b class='flag-5'>安全</b>:【@system.cipher (<b class='flag-5'>加密</b>算法)】

    基于 FPGA 的光纤混沌加密系统

    算法具有高复杂度,可防止 SPA\\DPA 攻击。让指挥信息能足够保密,防止被敌人窃取。 1.3 主要技术特点 FPGA 设计加密算法具有安全性高,加密速度快,开发周期短,开发成
    发表于 04-26 17:18

    【先楫HPM5361EVK开发板试用体验】4手把手实战EXIP在线解密引擎

    功能,让数据加密密钥等敏感信息得到了安全的保护。 EXIP与XPI控制器紧密合作,就像超级英雄找到了得力的助手。它们一起让外部存储器可以直接映射到系统的地址空间上,就像打开了一个魔法门。处理器、DMA
    发表于 01-26 11:08

    加密狗是什么意思 加密狗怎么解除加密

    加密算法和技术,以确保软件的安全性和防止非法复制、盗版以及未经授权的使用。 加密狗可以看作是软件版权保护的一种授权策略,它将软件授权信息存储在硬件设备中,并要求用户必须插入
    的头像 发表于 01-25 17:19 7606次阅读

    加密芯片工作原理max32555

    加密芯片MAX32555是一种广泛应用的硬件加密设备,它采用先进的加密算法和技术,对数据进行加密解密操作,以确保数据传输和存储的
    的头像 发表于 12-13 15:03 1849次阅读

    简单认识安全加密处理器

    安全加密处理器 (Secure Cryptoprocessor) 是一种本身不产生加密数据或程序指令,但产生密钥(Key)的处理器,其应用产品有智能卡、ATM、电视机机顶盒、军事系统等。而加密
    的头像 发表于 12-06 09:19 1025次阅读

    php加密方式有哪些

    PHP加密方式有许多种,以下是一些常用的加密方式: 对称加密 对称加密算法使用相同的密钥进行加密解密
    的头像 发表于 12-04 15:32 572次阅读

    国密加密工业路由器 数据安全升级

    提高数据传输的安全性,确保信息的机密性。国密加密路由器的优势主要体现在以下几个方面:一、高级别加密保护,支持国密加密芯片和国密SM算法软
    的头像 发表于 11-29 14:07 432次阅读
    国密<b class='flag-5'>加密</b>工业路由器 数据<b class='flag-5'>安全</b>升级

    浅谈芯片常用的解密

    关于解密设备其实是很多种工具,例如我们常常听说到得FIB设备,其实不能说FIB是解密设备,FIB是聚焦离子束设备,是在纳米级的对材料切割和连接的一种仪器,当然在微电子领域应用最多,如果使用FIB解密芯片,那么就是要对芯片电路进行
    的头像 发表于 11-08 11:45 827次阅读

    单片机解密是否损坏母片?

    损坏母片。在本文中,我将详尽、详实、细致地探讨这个问题,并对相关的问题和观点进行分析。 首先,我们需要了解什么是单片机解密。单片机解密是一种技术手段,旨在破解已经加密或保护的单片机内部代码和电路。通过
    的头像 发表于 11-07 10:18 595次阅读

    单片机解密失败有哪几点原因呢?

    硬件保护机制,这些机制旨在防止对芯片内部信息的非法访问。常见的硬件保护机制包括随机数生成器、系列芯片锁定,以及对Flash或EEPROM进行加密等。这些保护机制使得解密者在破解芯片时面临更大的挑战,导致
    的头像 发表于 11-07 10:17 777次阅读

    Ciphey :Python全自动解密解码神器

    Ciphey 是一个使用自然语言处理和人工智能的全自动解密/解码/破解工具。 简单地来讲,你只需要输入加密文本,它就能给你返回解密文本。就是这么牛逼。 有了Ciphey,你根本不需要知道你的密文
    的头像 发表于 10-31 15:14 1442次阅读
    Ciphey :Python全自动<b class='flag-5'>解密</b>解码神器

    探秘STM32U5安全特性|硬件加解密引擎与软件算法对比

    探秘STM32U5安全特性|硬件加解密引擎与软件算法对比
    的头像 发表于 10-27 10:23 1541次阅读
    探秘STM32U5<b class='flag-5'>安全</b>特性|硬件加<b class='flag-5'>解密</b>引擎与软件算法对比