java-信息安全(十一)-非对称加密算法ECC以及ECDSA签名
2024-08-25 22:48:09
概述
信息安全基本概念:
- ECC算法(Elliptic curve cryptography,椭圆曲线密码学)
一、ECC加密解密【暂时无意义】
椭圆加密算法(ECC)是一种公钥加密体制,最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。
是目前已知的公钥体制中,对每比特所提供加密强度最高的一种体制。在软件注册保护方面起到很大的作用,一般的序列号通常由该算法产生。
ECC算法在jdk1.5后加入支持,目前仅仅只能完成密钥的生成与解析。 如果想要获得ECC算法实现,需要调用硬件完成加密/解密(ECC算法相当耗费资源,如果单纯使用CPU进行加密/解密,效率低下).
代码地址:https://github.com/bjlhx15/algorithm-sign.git 加解密示例代码【仅有理解意义】
二、ECDSA签名
基于ECC与DSA签名算法分类信息,ECDSA(elliptic curve digital signature algorithm) 椭圆曲线数字签名算法:速度快,强度高,签名短
算法 | 密钥长度 | 默认长度 | 签名长度 | 实现的方 |
NONEwithECDSA | 112-571 | 256 | 128 | JDK/BC |
RIPEMD160withECDSA | 同上 | 256 | 160 | BC |
SHA1withECDSA | ... | 256 | 160 | JDK/BC |
SHA224withECDSA | ... | 256 | 224 | BC |
SHA256withECDSA | ... | 256 | 256 | JDK/BC |
SHA384withECDSA | ... | 256 | 384 | JDK/BC |
SHA512withECDSA | ... | 256 | 512 | JDK/BC |
签名示例
代码地址:https://github.com/bjlhx15/algorithm-sign.git
http://baike.baidu.com/item/%E6%A4%AD%E5%9C%86%E5%8A%A0%E5%AF%86%E7%AE%97%E6%B3%95/10305582?sefr=cr
最新文章
- 14——小心copying行为
- struts2 如何实现mvc 的?
- Linux下cp -rf总是提示覆盖的解决办法
- excel如何用公式判断单元格的值是否为数字、英文、中文,以及相应的计数
- 整理时下流行的浏览器User-Agent大全
- C++Primer 第十五章
- URAL-1987 Nested Segments 线段树简单区间覆盖
- [转]Flex 布局教程:语法篇
- 用eval 动态编译代码
- VFL语言
- Git学习 -- 管理修改
- 每天一个Linux命令(11)--nl命令
- [AH/HNOI2017]单旋
- Linux内核编程、调试技巧小集
- C#基础知识之关键字
- karma测试实践
- 傻瓜式搭建私人网络硬盘——owncloud安装指南
- David Silver强化学习Lecture2:马尔可夫决策过程
- Shc 应用
- 解决stackoverflow打开缓慢的问题
热门文章
- 【EF框架】EF DBFirst 快速生成数据库实体类 Database1.tt
- 【docker】 centos7 下 使用docker 安装 LNMP
- Java 8 特性 – 终极手册
- Webpack2 升级指南和特性摘要(转)
- 原生js--表单
- SharpGL学习笔记(一) 平台构建与Opengl的hello World
- Elasticsearch学习之深入搜索一 --- 提高查询的精准度
- 墨菲定律:当你觉得一个地方可能有bug,那么这个地方就会有bug----顺带了解下Tomcat那少有人注意的localhost.log
- Unity3D Animator控制参数和添加事件
- HP P2xxx/MSA SMI-S Provider