1,对称加密与非对称加密

  1. 对称加密:对文件的加密和解密采用的都是同一个密钥,有IDEA和DES两种加密算法
  2. 非对称加密:有一对公钥和私钥,如果我们使用公钥加密,必须使用私钥解密,如果使用私钥加密,则必须使用公钥解密。当加密和解密两种不同的密钥,我们称之为非对称加密

2,信息摘要
对数据进行处理,得到一段固定长度的结果
一般在进行数字签名的时候我们先对文件使用HASH算法计算其摘要信息,然后对该摘要进行数字签名 信息摘要的特点有:
1,输出长度不固定,所以输出长度与输入长度无关
2,不可逆,输出数据无法推导出输入数据
3,对输入数据很敏感,对极小的变化输出数据也会发生明显的变化
4,防碰撞,用不同的数据得到相同的结果的可能性极低
数字签名原理
对于原报文,我们用单向哈希算法计算出摘要,之后把它用私钥进行加密,把原报文,公钥和机密之后的数字签名传给另一方
另一方需要得到摘要,他的对比方式是,对于数字签名使用使用公钥解密得到加密前的摘要,在对原报文采用得到摘要时的单项哈希算法来得到摘要,,从而对比摘要是否被掉包或者是被更改

数字签名算法——RSA算法(非对称加密)
RSA是目前最有影响力的公钥加密算法,它能够抵抗目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。
RSA支持公钥加密,私钥解密以及私钥加密,公钥解密。公钥密码体制即公开密钥密码体制,也称非对称密码体制或双密钥密码体制。RSA属于公钥密码体制。

RSA算法原理:
1,参数定义与密钥生成
a,用户首先秘密选择两个大素数pq,计算出N=pq
b,用户计算出p-1和q-1的最小公倍数n,然后随机选择一个整数e,满足1<e<n,且e和n互素,将其作为加密密钥。有时也称e为加密指数。
c,用户利用加密密钥e和n可容易计算出脱密密钥d,使得:ed(mod n)=1,有时也称d为脱密指数
d,用户将加密密钥及大合数(e,N)公布为其公开参数,而将两个大素数p,q及脱密指数d严格保密作为其秘密参数
2,加密、解密方式
设明文为m,密文为c,E表示加密算法,D表示脱密算法,有
加密:c=E(m)=m^e(mod N)
解密:m=D©=c^d(mod N)
RSA算法用c++实现
应实现大数类的幂运算和求余数运算
幂运算可以用快速幂算法运算,也就是二进制乘法运算
再次简述以下实现过程:

实现过程:
1 随意选择两个大的质数p和q,p不等于q,计算N=p*q。
2 根据欧拉函数,求得r = (p-1)(q-1)
3 选择一个小于 r 的整数 e,求得 e 关于模 r 的模反元素,命名为d。(模反元素存在,当且仅当e与r互质)
将 p 和 q 的记录销毁。

基于RSN的数字签名技术相关推荐

  1. 基于java的数字签名技术在电子政务中的应用

    肖蕾    杨世平      摘要  本文介绍了数字签名技术在电子政务中的应用,传统的数字签名技术都是基于非对称的密码算法,原文以明文的方式传送,在这种方式下,原文的安全性受到了极大的威胁,因此,本文 ...

  2. 【网络技术】(5)身份认证技术与访问控制------数字签名技术

    概念及功能 数字签名是指用户用私钥对原始数据进行加密得到的特殊字符串,用于保证数据来源的真实性.数据传输的完整性和防抵赖性. 法律上签名的两个功能: 1)标识签名人 2)表示签名人对文件内容的任可 我 ...

  3. 【graceup系列】--基于Java带数字签名的邮件收发系统

    公钥和私钥就是俗称的不对称加密方式,使用公钥与私钥的目的就是实现安全的电子邮件,必须实现如下目的: 1.我发送给你的内容必须加密,在邮件的传输过程中不能被别人看到. 2.必须保证是我发送的邮件,不是别 ...

  4. 基于matlab的硅晶体模型,基于Matlab的图像处理技术识别硅太阳电池的缺陷

    第 44 卷 第 7 期 2010 年 7 月 上 海 交 通 大 学 学 报 JOURNAL OF SHANGHAI J IAOTON G UNIVERSITY Vol. 44 No. 7 Jul. ...

  5. MPB:生态环境中心陈保冬组-基于高通量测序技术的丛枝菌根真菌多样性研究方法...

    为进一步提高<微生物组实验手册>稿件质量,本项目新增大众评审环节.文章在通过同行评审后,采用公众号推送方式分享全文,任何人均可在线提交修改意见.公众号格式显示略有问题,建议电脑端点击文末阅 ...

  6. 基于投影仪的定位技术

    00如何定位? 在前文 这是群什么鬼? 介绍了由Sean Follmer等人制作的 Zooids:Building Blocks for Swarm User Interfaces .看过之后,有人在 ...

  7. 探讨增强现实(AR)基于模型的追踪技术

    作者简介: 古鉴,于2015年加入暴风魔镜,负责 AR 类产品及交互技术的研发工作. 方维,主要从事计算机视觉和 AR 相关的跟踪定位研究. 本文为作者投稿,版权归原作者所有,非经作者同意,请勿转载. ...

  8. 图像检索:几类基于内容的图像分类技术

    FROM: http://blog.csdn.net/leixiaohua1020/article/details/16847823 一共有四种基于内容的图像分类方法,即颜色.纹理.形状和空间关系. ...

  9. 计算机组成原理认识fpga,计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现_精品.doc...

    计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现_精品 目录 前言2 第一章 课程设计内容2 1.1 实验要求2 1.2 实验目的2 第二章 实验原理及方案2 2.1 实验 ...

最新文章

  1. Jupyter Notebook中cell操作
  2. 基于双TMS320C6678+双XC6VSX315T的6U VPX高速数据处理平台
  3. bert 中文 代码 谷歌_如何用最强模型BERT做NLP迁移学习?
  4. HP LaserJet 1010卡纸解决方法
  5. 前沿 | 使用Transformers进行端到端目标识别
  6. 【Netty】Netty之Bootstrapping
  7. OSG仿真案例(7)——osg自动驾驶
  8. Android Animation学习(四) ApiDemos解析:多属性动画
  9. redux-effect
  10. Java实现简易版金山打字
  11. DSP28377S_CAN通信
  12. enum ordinal java_Java Enum ordinal()方法与示例
  13. PHP 下载保存文件到本地
  14. Unity - Timeline 之 Nesting Timeline instances(嵌套的Timeline实例)
  15. 折腾词库,一个词库互转程序
  16. 【故障处理】队列等待之enq: TX - row lock contention
  17. Python -- 限流 throttle
  18. [弹幕词云姬]硬核b站up主一周撸出来的小工具,根据b站弹幕生成词云(一)
  19. 技术升级 戴着口罩也能识别人脸啦
  20. html可复用的div写法,六种常见的HTML5写法误用

热门文章

  1. linux最新的版本是多少,redhat最新的版本是多少啊?
  2. Linux只允许某一IP登录SSH
  3. 华为云杯”2020人工智能创新应用大赛总结与分析
  4. final class java_Java 中常见的 final 类
  5. PasswordEncoder
  6. 又是奥运年,了解下国旗
  7. 【Python】快速学会简单使用Python
  8. C#之使用HttpClient的优解
  9. 计算机图形学:多边形填充算法(算法原理及代码实现)
  10. fluent-bit之配置详解