安全(六种核心安全机制-加密、密钥、签名与证书)

希望通信中的信息对外进行保密(不想任何第三方来窥探你的信息)

例如:你是某个公司的高层领导,你有很多机密的文档。你可能放到了公司的保险箱或者家里的保险箱,只有你才有key(钥匙)才能打开看。

2、鉴别/认证(Authentication)

希望可以鉴别认证出与你通信的那个对端确实是所认为的那个对端。(例如跟你女朋友打电话,你怎么能确认和你打电话的那个人就是你女朋友)

例如:你怎么能确认打电话的就是你朋友呢?不是仿冒的人在这里。通过你女朋友的声音可以鉴别出是女朋友本人。

例如:组织上安排重庆地下工作者与上海地下工作者接头在某个地点,并出示了相关接口口号,只有口号对头才能鉴别是要接头的人。

例如:借钱的时候会写借条,写借条的技巧:用大小写,字体间隔非常小,防止篡改。

3、完整性(Integrity)

一旦某个信息产生了以后,你希望这个信息不能被谁来篡改;或者说它已经发生了篡改,你可以很方便的鉴别出它已经发生了篡改。

4、不可否认性(non-repudiation)

对于某一个信息,你可以很方便的确认这个信息是由谁产生的,并且一旦由某人产生了某个信息,将来在某一时刻他想否认都是不可以的。

例如:犯人进行签字画押;皇帝传位需要写诏书和盖龙印。

例如:电子文档签名。

二、密码术:

在日常场景中,其实你都在有意无意中利用密码术来完成特定的安全需求

1、字母加密

字母A用B代替,C用D代替,前面的一个字母用后面的一个字母替代。

2、藏头诗

诗里面藏了一些我要表达的含义。

例如:毛氏今有才人出,晓文晓理难晓伊。冬去春来秋月夜,爱却江山爱美人。

3、倒写文

例如:把书信完整的倒过来写。

4、任何规则都可以定义密码术

5、为什么不自己发明和使用新的密码术呢?

因为自己发明的密码术没有通过验证,没有黑客攻击过,很难考证它的安全强度。你有可能在密码术留下后门,将来用来盈利。

6、算法和秘钥的分离

算法公开,秘钥保密。算法公开的目的使用者的验证、专家的论证、黑客的尝试与破解。若干年后该密码术没有被黑客攻破或者专家破解,该密码术就会成为公开的算法。

三、安全机制之对称加密

1、典型的加密模型

密钥:分为加密密钥和解密密钥。

明文:没有进行加密,能够直接代表原文含义的信息。

密文:经过加密处理之后,隐藏原文含义的信息。

加密:将明文转换成密文的实施过程。

解密:将密文转换成明文的实施过程。

2、对称秘钥算法

对称的含义(Symmetric):加密端和解密端是用的同一个key

置换加密,转置换加密和乘积密码(算法的模型)

置换加密(顺序不变,原始的数据用其他数据替换,原始的字母用其他字母进行替换)

例如:

abcde  ----> klmno

转置换加密(原始数据的信息不变,是数据顺序打乱变化)

例如:

123456789  ----> 253698174

乘积密码(置换密码和转置换密码的混合使用)

例如:

abcde ----> poklm ----> mlkpo

3、DES(Data Encryption Standard)数据加密标准

每取64bit (8byte)作为加密单元,经过19次的反复置换和转置换加密。秘钥其实是56bit。

后面出现的3重DES,就是DES经过了三次转换。

4、AES(Advanced Encryption Standard)高级加密标准

运用了复杂的数学书法,内部构造还是沉积密码。它的输入是128bit,以128bit为单元加密。秘钥是可选的,可以以128bit长度加密单,也可以以192bit长度加密,也可以用256bit长度加密,比较灵活。

四、安全机制之非对称加密

非对称加密模型

加密秘钥 K 称为公钥(public),解密秘钥 K ’ 称为私钥(private)

加密秘钥可以任何人知道,解密秘钥需要保密(解密者保管)。

数学是科学基础,基础学科研究之物,虚虚实实,先虚后实。

公开秘钥算法的最重要两大数学基础。

1、建立在分解大数的困难度

2、建立在以大素数为模来计算离散对数的困难度。

RSA算法(非对称加密算法)

建立在分解大数的困难度

公钥/私钥长度 至少1024bit

五、安全机制之密钥交换

1、对称加密优缺点:

高效(相对于非对称加密来说,传输速度快)

秘钥交换问题(会话秘钥实时产生且周期性变化)

不如RSA的加密安全程度高,但是当选择256bit的AES,仍然能胜任绝大多数的安全领域。

2、非对称加密优缺点:

安全性足够高

没有秘钥交换的问题

效率低,对于大数据加密很慢(加密算法复杂)

3、其他秘钥交换方式:

Diffie-Hellman 秘钥交换协议

基于以大素数为模计算离散对数的困难度

对方各自选定key,然后以一定算法交换(使得key不以明文传输)后传输给对方

双方利用对方交换来的数据和自己选定的key做交换,获得一个一致的结果,作为会话秘钥

六、安全机制之消息摘要

1、HASH与散列函数的定义与特点

HASH翻译成散列或者哈希

HASH(散列)函数(算法)的定义是:变长的输入变换成定长的输出

常见的HASH算法:MD5(128bit)、SHA1(160bit)

HASH的特点:

易变性:即便原始信息发生1bit的变化,HASH的输出将会有不可预知的巨大变化。

不可逆:通过HASH结果构造出满足的输入信息是不可能的或者及其困难的。

2、消息摘要与数字指纹

人的指纹的特点:双胞胎的指纹不同;通过指纹猜不出它的主人。

与Hash的对应关系:易变性、不可逆

数字指纹由此而来

消息摘要:摘要窥/定全体

名字真多:HASH、哈希、散列、MD、消息摘要、数字指纹

3、HASH的应用场景:放篡改

基于易变性特性

可保完整性

示例:文件下载时的MD5、消息传送时尾部额外传MD

4、HASH的应用场景:防损坏

基于易变性特性

可保完整性

示例:

CRC校验的作用和不足

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

Android进阶资料

以下的资料是近年来,我和一些朋友面试收集整理了很多大厂的面试真题和资料,还有来自如阿里、小米、爱奇艺等一线大厂的大牛整理的架构进阶资料。希望可以帮助到大家。

Android进阶核心笔记

百万年薪必刷面试题

最全Android进阶学习视频

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

!(备注:Android)**

Android进阶资料

以下的资料是近年来,我和一些朋友面试收集整理了很多大厂的面试真题和资料,还有来自如阿里、小米、爱奇艺等一线大厂的大牛整理的架构进阶资料。希望可以帮助到大家。

Android进阶核心笔记

[外链图片转存中…(img-AbPPvLxd-1713587760078)]

百万年薪必刷面试题

[外链图片转存中…(img-v9zOpKp4-1713587760079)]

最全Android进阶学习视频

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
为了综合运用密码学机制设计和实现安全Diffie-Hellman密钥交换协议,可以采用以下步骤: 1. 确定密钥交换算法 在实现Diffie-Hellman密钥交换协议时,可以选择使用RSA、AES等常见的加密算法来保证通信的安全性。在选择加密算法时,需要考虑到算法的安全性和效率,并根据实际需求确定密钥长度等参数。 2. 生成公私钥 在进行密钥交换之前,需要生成公私钥对。对于RSA算法而言,可以通过openssl库进行公私钥的生成。在生成公私钥时,需要指定密钥长度、加密算法等参数。 3. 安全交换公钥 为了保证公钥的安全性,需要采用一定的加密机制对公钥进行加密。可以选择使用TLS/SSL等协议进行加密传输,或者使用对称加密算法对公钥进行加密。 4. 计算共享密钥 当双方都已经获得对方的公钥后,就可以开始计算共享密钥。双方分别使用自己的私钥和对方的公钥进行计算,得到相同的共享密钥。 5. 加密通信 在得到共享密钥后,可以使用对称加密算法对通信进行加密。可以选择使用AES等算法进行通信加密,确保通信的安全性。 综合运用密码学机制设计和实现安全Diffie-Hellman密钥交换协议需要综合考虑算法的安全性、效率和可靠性等因素,同时需要使用合适的加密算法和密钥长度等参数。在实现过程中,需要对加密机制进行充分测试,确保通信的安全性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值