1、ElGamal密码体制,它是由Tacher Elgamal在1985年提出的,是一种概率性也就是不确定性公钥加密算法,该算法的安全性基于又一类数学困难问题,就是有限域上的离散对数问题
2、有限域上的离散对数问题

如果已知a,p,x,那么使用快速指数算法可以轻易地算出b
如果仅知a,p,b,特别是当p的取值特别大时,要想求出x是非常困难的
为了使基于离散对数问题的公钥密码算法具有足够的密码强度,一般要求p的长度在150位以上
3、ElGamal算法的描述





4、ElGamal算法的安全性
有学者曾提出模p生成的离散对数密码可能存在陷门,一些‘弱’素数p下的离散对数较容易求解

7.5ElGamal算法相关推荐

  1. golang通过RSA算法生成token,go从配置文件中注入密钥文件,go从文件中读取密钥文件,go RSA算法下token生成与解析;go java token共用

    RSA算法 token生成与解析 本文演示两种方式,一种是把密钥文件放在配置文件中,一种是把密钥文件本身放入项目或者容器中. 下面两种的区别在于私钥公钥的初始化, init方法,需要哪种取哪种. 通过 ...

  2. 通用解题法——回溯算法(理解+练习)

    积累算法经验,积累解题方法--回溯算法,你必须要掌握的解题方法! 什么是回溯算法呢? 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就&quo ...

  3. 伍六七带你学算法 进阶篇-生命游戏

    有趣的算法题–生命游戏 难度-中等 根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机. 想要体验生命游戏的小伙伴可以到这里-->生命游戏 进入 ...

  4. 伍六七带你学算法 进阶篇-排序算法

    给定一个整数数组 nums,将该数组升序排列. 示例 1: 输入:[5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:[5,1,1,2,0,0] 输出:[0,0,1,1,2,5] 各排序算 ...

  5. 伍六七带你学算法 入门篇-卡牌分组

    力扣-914. 卡牌分组 难度-简单 这是一道非常有趣的题,提交通过率令人深思 ,思考它是不是一道简单的题- 开始正题: 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以 ...

  6. 伍六七带你学算法 入门篇-最小的k个数

    java面试题-最小的k个数 难度-简单 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 示例 1: 输入:a ...

  7. 十大算法,描述+代码+演示+分析+改进(赶紧收藏!)

    十大算法 1.冒泡排序 ​ (1)算法描述 ​ 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来.走访数列的工作是重复地进行直到没有再需要 ...

  8. 人工智能3d建模算法_打破国外垄断,全国产3D芯片为机器人“点睛”

    ◎ 科技日报记者 崔爽 传统机器人只有"手",只能在固定好的点位上完成既定操作,而新一轮人工智能技术大大推动了机器和人的协作,这也对机器人的灵活性有了更高要求. 要想像人一样测量. ...

  9. 算法设计思想(5)— 递归法

    1. 递归概念 递归 Recursion是指在函数的定义中使用函数自身的方法,直观上来看,就是某个函数自己调用自己. ​ 递归有两层含义: 递归问题必须可以分解为若干个规模较小.与原问题形式相同的子问 ...

最新文章

  1. devkit_如何使用NodeMCU Devkit和Firebase数据库开始物联网
  2. 基于模型的强化学习比无模型的强化学习更好?错!
  3. java有没有求组合的函数_如何在Java 8中使用compose和andThen组合函数
  4. halcon知识:对空图像的系列操作
  5. C++源代码免杀之函数的动态调用
  6. 程序员制作出价值5亿外卖神器却不能取消订单,你知道吗?
  7. 简化的插入排序 (15 分)
  8. IList对象排序算法
  9. 【面经】回顾19秋招面经
  10. 【2018宁夏邀请赛 L】Continuous Intervals【线段树】
  11. workflow-工作流
  12. win10中 有道词典不能联网/发音解决方法
  13. 用 QuantLib 给国债估值
  14. 蓝桥杯算法提高 盾神与条状项链
  15. 微信小程序首页加载的优化
  16. MATLAB | 经典力学框架下的三体运动数值模拟软件
  17. Java生态浩如烟海
  18. UI设计师—这个世界上最棒的工作!
  19. Java程序员简历内容及格式--Java程序员简历内容
  20. js隐藏部分手机号码

热门文章

  1. Handle Protocol
  2. Saliency Integration :An Arbitrator Model阅读总结
  3. Android审计平台,Android系统安全审计方法研究
  4. golang对接支付宝支付
  5. 如何让区块链获得人工智能的能力
  6. linux系统触摸板双击,linux下Synaptics触摸板设置双指触摸
  7. 码分多址(CDMA)通信原理
  8. openFlow入门
  9. python123.io同一个号可以同时在不同设备登陆吗-ITech8 - 合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下!...
  10. Linux手动设置网卡IP