license程序设计 系统划分


加密:
加密模块:
1、对称加密算法(AES、DES、3DES)
对称加密算法是指加密和解密采用相同的密钥,是可逆的(即可解密)。
AES加密算法是密码学中的高级加密标准,采用的是对称分组密码体制,密钥长度的最少支持为128。AES加密算法是美国联邦政府采用的区块加密标准,这个标准用来替代原先的DES,已经被多方分析且广为全世界使用。
AES数学原理详解:https://www.cnblogs.com/block2016/p/5596676.html
优点:加密速度快
缺点:密钥的传递和保存是一个问题,参与加密和解密的双方使用的密钥是一样的,这样密钥就很容易泄露。
2、非对称加密算法(RSA、DSA、ECC)
非对称加密算法是指加密和解密采用不同的密钥(公钥和私钥),因此非对称加密也叫公钥加密,是可逆的(即可解密)。公钥密码体制根据其所依据的难题一般分为三类:大素数分解问题类、离散对数问题类、椭圆曲线类。
RSA加密算法是基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解极其困难,因此可以将乘积公开作为加密密钥。虽然RSA的安全性一直未能得到理论上的证明,但它经历了各种攻击至今未被完全攻破。 
优点:加密和解密的密钥不一致,公钥是可以公开的,只需保证私钥不被泄露即可,这样就密钥的传递变的简单很多,从而降低了被破解的几率。
缺点:加密速度慢
RSA加密算法既可以用来做数据加密,也可以用来数字签名。
–数据加密过程:发送者用公钥加密,接收者用私钥解密(只有拥有私钥的接收者才能解读加密的内容)
–数字签名过程:甲方用私钥加密,乙方用公钥解密(乙方解密成功说明就是甲方加的密,甲方就不可以抵赖)
详细数学原理见 【来龙去脉系列】RSA算法原理
ECC加密算法是基于椭圆曲线上离散对数计算问题(ECDLP)的ECC算法。ECC算法的数学理论非常深奥和复杂,在工程应用中比较难于实现,但它的单位安全强度相对较高。
用国际上公认的对于ECC算法最有效的攻击方法–Pollard rho方法去破译和攻击ECC算法,它的破译或求解难度基本上是指数级的。正是由于RSA算法和ECC算法这一明显不同,使得ECC算法的单位安全强度高于RSA算法,也就是说,要达到同样的安全强度,ECC算法所需的密钥长度远比RSA算法低。有研究表示160位的椭圆密钥与1024位的RSA密钥安全性相同。在私钥的加密解密速度上,ECC算法比RSA、DSA速度更快。存储空间占用更小。
扩展阅读:
ECDH and ECDSA   
How to encrypt data using Elliptic Curve Algorithm in C#
ECC Examples for C#
3、线性散列算法算法(MD5、SHA1、HMAC)
MD5全称是Message-Digest Algorithm 5(信息摘要算法5),单向的算法不可逆(被MD5加密的数据不能被解密)。MD5加密后的数据长度要比加密数据小的多,且长度固定,且加密后的串是唯一的。
适用场景:常用在不可还原的密码存储、信息完整性校验等。
信息完整性校验:典型的应用是对一段信息产生信息摘要,以防止被篡改。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。
SHA-1 与 MD5 的比较
SHA-1摘要比MD5摘要长32 位,所以SHA-1对强行攻击有更大的强度,比MD5更安全。使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2128数量级的操作,而对SHA-1则是2160数量级的操作。
在相同的硬件上,SHA-1 的运行速度比 MD5 慢。
4、混合加密
由于以上加密算法都有各自的缺点(RSA加密速度慢、AES密钥存储问题、MD5加密不可逆),因此实际应用时常将几种加密算法混合使用。
例如:RSA+AES:
采用RSA加密AES的密钥,采用AES对数据进行加密,这样集成了两种加密算法的优点,既保证了数据加密的速度,又实现了安全方便的密钥管理。
那么,采用多少位的密钥合适呢?一般来讲密钥长度越长,安全性越高,但是加密速度越慢。所以密钥长度也要合理的选择,一般RSA建议采用1024位的数字,AES建议采用128位即可。
5、Base64
严格意义讲,Base64并不能算是一种加密算法,而是一种编码格式,是网络上最常见的用于传输8bid字节代码的编码方式之一。
Base64编码可用于在HTTP环境下传递较长的标识信息,Base编码不仅不仅比较简单,同时也据有不可读性(编码的数据不会被肉眼直接看到)。

license程序设计 系统划分 及加密设计 加密算法调用openssl库相关推荐

  1. AOSP ~系统安全 全盘加密

    在 Android 的安全性方面,有很多模块: 内核安全性 应用安全性 应用签名 身份验证 Trusty TEE SELinux 加密 - 其中,加密又分全盘加密(Android 4.4 引入)和文件 ...

  2. 红外遥控C语言程序设计,光电红外遥控开关设计(光电系统课程设计)【PCB图仿真图单片机C语言分工心得】..doc...

    光电红外遥控开关设计(光电系统课程设计)[PCB图仿真图单片机C语言分工心得]. 本科生课程论文 论文题目光电红外遥控开关设计课程名称光电系统设计学生姓名学号所在学院所在班级指导教师 目 录 摘要3 ...

  3. Python 程序设计-系统登录页面设计

    Python 程序设计-系统登录页面设计 目录 Python 程序设计-系统登录页面设计 1.需求分析 2.总体设计 3.详细设计 4.程序运行结果测试与分析 5.完整源代码 1.需求分析 系统要有管 ...

  4. c语言程序设计报告机房机位预定系统,c语言课程设计 机房机位预定系统 绝对正确,附源代码.doc...

    菲赦夸昨弹祭礁堑似雪陕躲八素览练俐责害臣慨惠叮宦雅吼此鲤郭所芭碾台岳芥舟荚讼惨讫独微藏蝶千染井虎上乍殆暴凛耪西香裤吾上同助喂摧喊秽抑俏叶监巧沧高击赃控凯戊疮烽株磕哗驳傣延菌越材桐执拓厢诲详句庇天编滑颧 ...

  5. 第五章.系统安全分析与设计

    目录 第五章.系统安全分析与设计 第一节.信息系统安全属性 第二节.对称加密技术与非对称加密技术 对称加密技术 非对称加密技术 第三节.信息摘要与数字签名 信息摘要 数字签名 第四节.数字信封与PGP ...

  6. 【系统分析师之路】第十八章 系统安全分析与设计章节习题集

    [系统分析师之路]第十八章 系统安全分析与设计章节习题集 ■习题汇总 [系分章节习题第01题:绿色] 01.以下关于利用三重DES进行加密的说法中,()是正确的. A.三重DES的密钥长度是56位. ...

  7. “程序设计与算法训练”课程设计“二值图像数字水印技术的实践”

    数据结果课程设计(题目抄袭自某牛逼985高校). github项目地址(含报告等) 课程编号:0521733B                                              ...

  8. 基于SSM实现的校园食堂点餐系统-JAVA【数据库设计、源码、开题报告】

    第1章 绪论 1.1 课题背景 科技时代早已到来,社会在不断地进步,尤其是电脑类产品大范围的普及,电脑的应用也已逐步的从大规模科学计算的数据处理转移到大量的事务处理.因此产生了以计算机为中心内容,利用 ...

  9. c语言程序设计第2章,C语言程序设计第2章 结构化程序设计与算法.ppt

    C语言程序设计第2章 结构化程序设计与算法.ppt 现在人们公认的具有"良好风格"的程序设计方法之一是所谓的"结构化程序设计方法".其核心是规定了算法的三种基本 ...

最新文章

  1. DL之DNN:利用DNN【784→50→100→10】算法对MNIST手写数字图片识别数据集进行预测、模型优化
  2. kuka机器人股票代码_【内幕】溢价收购KUKA机器人 美的钱从哪来?
  3. SAP在快速消费品行业中的实施方案
  4. python用电度数设计_Python时间序列预测实战(电力负荷预测)
  5. crossdomain.xml配置不当的利用和解决办法
  6. 基础算法 —— 模拟思维
  7. PHP服务端推送技术Long Polling
  8. 大数据工程师简历怎么写,更受到HR青睐?
  9. 2009年下半年 系统集成项目管理工程师 下午试卷
  10. 那些年我们一起追逐过的安全工具
  11. [转帖]DRAM芯片战争,跨越40年的生死搏杀
  12. java实现redis批量lpush,redis lpush list命令
  13. 【CS】软件测试概念Software Testing
  14. 好数推荐 数据堂平均音色语音库
  15. 用于拆解和组合PDF中各个对象的shell脚本
  16. Lync 客户端:无法登陆到Lync,验证服务器中的证书时遇到问题
  17. 位图文件, JPG格式,PNG格式
  18. c语言a-gt;ave=0.0什么意思?,来位c语言的大神把,来把这个程序解释一遍吧!跪求啊...
  19. 【大数据分析专业毕设之基于python的手机销售大数据分析可视化系统】
  20. BZOJ 1057 棋盘制作(最大黑白相间子矩阵)

热门文章

  1. MySql数据库:数据查重、去重的实现
  2. Tms320F28335中PWM触发ADC16路级联顺序采样
  3. isis 网络 level 2 iih_ngspice实例介绍2--直流扫描分析
  4. 祝大家新年快乐,鼠年平安健康、阖家幸福如意!
  5. 安装colmap时报错“METIS_INCLUDE_DIRS-NOTFOUND“
  6. mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor...
  7. 繁体简体转换的python包pylangtools
  8. liunx更改root@后面的主机名
  9. 删除表字段的sql语句
  10. 语音识别芯片的基本原理和工作流程