摘要:下面希赛小编为大家整理的软考程序员知识点网络基础知识之加密与解密基础,希望能帮助学友们。
>>>>>希赛网改版上线5周年庆,感恩钜惠!全场买就减,较高立减500,还有1元秒杀,5折限时抢购,众多“豪”礼等你来享,进入抢购!
下面希赛小编为大家整理的软考程序员知识点网络基础知识之加密与解密基础,希望能帮助学友们。具体内容如下:
1.加密算法概述
加密算法根据内容是否可以还原分为可逆加密和非可逆加密。
可逆加密根据其加密解密是否使用的同一个密钥而可以分为对称加密和非对称加密。
对称加密即是指在加密和解密时使用的是同一个密钥:举个简单的例子,对一个字符串C做简单的加密处理,对于每个字符都和A做异或,形成密文S。解密的时候再用密文S和密钥A做异或,还原为原来的字符串C。这种加密方式有一个很大的缺点就是不安全,因为一旦加密用的密钥泄露了之后,就可以用这个密钥破解其他所有的密文。
非对称加密在加密和解密过程中使用不同的密钥,即公钥和私钥。公钥用于加密,所有人都可见,私钥用于解密,只有解密者持有。就算在一次加密过程中原文和密文发生泄漏,破解者在知道原文、密文和公钥的情况下无法推理出私钥,很大程度上保证了数据的安全性。
此处,我们介绍一种非常具有代表性的非对称加密算法,RSA加密算法。RSA算法是1977年发明的,全称是RSA Public Key System,这个Public Key就是指的公共密钥。
2、RSA加密算法的使用过程
同样以一个字符串来进行举例,例如要对字符串the art of programming进行加密,RSA算法会提供两个公钥e和n,其值为两个正整数,解密方持有一个私钥d,然后开始加密解密过程过程。
1.首先根据一定的规整将字符串转换为正整数z,例如对应为0到36,转化后形成了一个整数序列。
2.对于每个字符对应的正整数映射值z,计算其加密值M=(N^e)%n.其中N^e表示N的e次方。
3.解密方收到密文后开始解密,计算解密后的值为(M^d)%n,可在此得到正整数z。
4.根据开始设定的公共转化规则,即可将z转化为对应的字符,获得明文。
3.RSA加密的缺点
1)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。
2)安全性,RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价,而且密码学界多数人士倾向于因子分解不是NP问题。
3)速度太慢,由于RSA的分组长度太大,为保证安全性,n至少也要600 bitx以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。
希赛网培训优势
希赛网教研组希赛网课程体系涵盖90%考试知识点,确保通过考试
往年知识点分析:结合真题,对考试的知识体系进行精细分解
重点讲解:对考试的重要知识点重点讲解和梳理
考前串讲:希赛网结合教材和知识点的变化分析梳理核心知识点
专业的考试培训机构:拥有近十名全职的软件水平考试培训专业讲师。
多年考试培训经验:希赛网已有十四年的软件水平考试培训经验。
主编考试辅导教材:全国80%的软件水平考试辅导教材均由希赛网主编。
希赛软考网,拥有十四年软考培训经验,希赛网一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库(软考历年真题)、软考培训教材和软考视频教程,多样的培训方式包括在线辅导、面授、和,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,,软考平均通过率在全国。
软考备考资料免费领取
去领取