9、EIGamal公钥密码算法

article/2025/9/25 2:25:56

目录

EIGamal公钥密码算法

一、相关数学基础

二、算法原理

三、算法详细流程

四、特点和安全性


EIGamal公钥密码算法

ElGamal公钥密码算法是1985年由塔希尔·盖莫尔提出,是一个基于迪菲-赫尔曼密钥交换非对称加密算法,是在密码协议中有着重要应用的一类公钥密码算法,其安全性是基于有限域上离散对数学问题的难解性。它至今仍是一个安全性良好的公钥密码算法,是一种既可用于加密又可用于数字签名的公钥密码算法。

一、相关数学基础

有限域、阶、本原元

二、算法原理

ElGamal算法的可靠性基础:有限域上离散对数的问题的难解性。

三、算法详细流程

1、参数定义和密钥生成

  • 取大素数 p ,要求p-1有大素数因子,再选择一个模p的本原元g;
  • 随机选取一整数 x (2 <= x <= (p - 2),
  • 计算 y = g^x (mod p)
  • (p,g,x) 是私钥、((p,g,y) 是公钥

2、加、解密、签名

加密M:

  • 假定:用户A发送明文M给用户B,A加密明文M得到密文C;
  • A将M编码为一个在0到p-1之间的整数m作为传输的明文;
  • 随机选取一整数 r (2 <= r<= (p - 2) 且 k 与 (p - 1) 互素);
  • 计算 c1= g^r mod p,c2 = m*y^r mod p(y为用户B的公钥);
  • 得到密文 C = (c1, c2);
  • 用户A把密文C传给用户B;

解密C:

  • 用户B接受到密文,计算明文m;
  • m = c2 * c1^(-x) mod p ;(x为用户B的私钥)
  • 注解:c2 * c1^(-x) mod p Ξ m * y^r * g^(-xr) Ξ m * g^(xr) * g^(-xr) Ξ m

签名:

四、特点和安全性

  • 引入随机数:增强了算法的不确定性;
  • 参数选取:参数P应足够大,应为150位以上的十进制数,且P-1应有大素数因子;r及解密密钥不应太小;加密使用的随机数必须是一次性的;
  • 应用:GnuPGPGP等很多密码学系统

ElGamal加密过程需要两次模指数运算和一次模乘积运算,解密过程需要模指数运算,求逆运算和模乘积运算各一次。每次加密运算需要选择一个随机数,所以密文既依赖于明文,又依赖于选择的随机数,故对于同一个明文,不同的时刻生成的密文不同。另外,El-Gamal加密使得消息扩展了两倍,即密文的长度是对应明文长度的两倍。

注:

如有错误、侵权,请联系笔者更改删除!!!


http://chatgpt.dhexx.cn/article/jRJYMqW1.shtml

相关文章

【密码科普】第6期 - 密码算法和商用密码体系架构

作者&#xff5c; 姜钰来源&#xff5c; 翼安研习社发布时间&#xff5c;2022-01-06 1. 密码算法的分类 1.1 对称密码算法 加密和解密使用相同密钥的加密算法。 该算法又分为分组密码算法&#xff08;块加密算法&#xff09;和流密码算法&#xff08;序列密码算法&#xff09…

密码学学习笔记(二)——对称密码算法(轻量级密码算法Twine)

文章目录 1. 分组密码&#xff08;Twine&#xff09;1.1 加解密方式1.1.1 加密1.1.2 密钥生成算法1.1.3 解密1.1.4 全部代码 1.2. 分组密码的模式1.2.1 ECB模式1.2.2 CBC模式1.2.3 CFB模式1.2.4 OFB模式1.2.5 CTR模式 2.序列密码 如图&#xff0c;对称加密算法是应用较早的加密…

中国商用密码算法SM4

中国商用密码算法SM4 2006年我国国家密码管理局公布了无线局域网产品使用的SM4密码算法。这是我国第一次公布自己的商用密码算法&#xff0c;意义重大&#xff0c;影响深远。这一举措标志着我国商用密码管理更加科学化和国际接轨。 SM4密码算法设计简洁&#xff0c;算法结构有…

区块链的密码算法

区块链系统包含了计算机科学过去几十年的成果&#xff1a;计算机网络P2P、算法、数据库、分布式系统、计算机密码学等 密码学是区块链系统安全性保障的基础技术&#xff0c;形象地称为区块链的骨骼 哈希算法 ■哈希算法(Hash、 散列、杂凑&#xff0c; 消息摘要&#xff0c;…

8、RSA 公钥密码算法

目录 RSA公钥密码算法 一、RSA的数学基础 二、RSA原理 三、算法详细流程 四、RSA特点 五、RSA应用 参考推荐&#xff1a; https://blog.csdn.net/lemon_tree12138/article/details/50696926 RSA加密算法原理_张维鹏的博客-CSDN博客_rsa加密算法原理 图解RSA算法取余和…

常用的密码算法有哪些?

我们将密码算法分为两大类。 对称密码&#xff08;密钥密码&#xff09;——算法只有一个密钥。如果多个参与者都知道该密钥&#xff0c;该密钥 也称为共享密钥。非对称密码&#xff08;公钥密码&#xff09;——参与者对密钥的可见性是非对称的。例如&#xff0c;一些参与者仅…

分组密码算法与DES算法

目录 1 分组密码的含义 1.1 分组密码介绍 1.2 分组密码的含义 1.3 分组密码的要求 2 分组密码的设计思想 2.1 分组密码的设计思想 3 分组密码的基本特点 3.1 分组密码的基本特点 3.2 分组密码的迭代结构 3.3 子密钥的生成方法 3.4 轮函数的设计准则 3.5 迭代的轮数 4…

11、国产密码算法

参考推荐&#xff1a; 国密SM1\ SM2\ SM3\ SM4\ SSF33算法和国际RSA算法的对应关系_小明做IT的博客-CSDN博客_ssf33算法 国密算法SM1/SM2/SM3/SM4_fengwang0301的博客-CSDN博客_sm2/sm3/sm4 国产密码算法 国产密码算法是指由国家密码研究相关机构自主研发&#xff0c;具有相…

密码算法应用规范

术语解释 对称算法&#xff08;Symmetric key algorithm&#xff09;&#xff1a;采用相同的密钥执行加密或解密。 非对称算法&#xff08;Asymmertric key algorithm&#xff0c;公开密钥算法&#xff09;&#xff1a;用作加密的密钥不同于用作解密的密钥&#xff0c;而且解密…

古典密码算法(移位密码算法、维吉尼亚算法)

古典密码算法(凯撒、维吉尼亚) A. 1-1.移位密码算法 【实验目的】 1&#xff09; 学习移位密码的原理 2&#xff09; 学习移密码的实现 【实验原理】 算法原理 a) 移位密码就是对26个字母进行移位操作&#xff0c;可以移动任意位数&#xff0c;这样就实现了对明文的加密…

换位密码算法

换位密码算法基本原理&#xff1a;先把明文按固定长度进行分组&#xff0c;然后对每一组的字符进行换位操作&#xff0c;从而实现加密。为加强安全性&#xff0c;可进行多次换位密码算法运算。 import random def encrypt(plainText,t):result[]lengthlen(t)temp[plainText[i:…

常见密码学算法

学习笔记 分类 密码学用于解决信息安全中的保密性&#xff0c;完整性&#xff0c;认证和不可否认性等问题。最初主要用于解决保密性。随着密码学技术的发展&#xff0c;逐渐应用到其它领域。 常见密码学算法&#xff1a;DES,AES; RSA, ECC; Hash; Signature等。 分类 对称密…

密码学基础(一)常见密码算法分类

一、密码算法分类&#xff1a; 密码算法主要分为三类&#xff1a;对称密码算法、 非对称密码算法、摘要算法。 二、对称密码算法&#xff08;Symmetric-key Algorithm&#xff09; 1、概念 对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算…

常用的密码算法汇总分析(动态更新ing)

常用密码算法整理汇总 常用对称加密算法常用非对称加密算法常用Hash算法国产密码关于密码算法会持续更新.... 常用对称加密算法 对称加密算法(分组加密)描述DES将明文分为64位一组、密钥64位&#xff0c;实际56位&#xff08;64位中8位奇偶校验位&#xff09;3DES执行了3次DES&…

【密码学】常见密码算法分类和运用

一、摘要算法&#xff08;Digest Algorithm&#xff09; 摘要算法 是指把任意长度的输入消息数据转化为固定长度的输出数据的一种密码算法&#xff0c;又称为 散列函数 、 哈希函数 、 杂凑函数 、单向函数 等&#xff0c;通常用来做数据完整性的判定&#xff0c;即对数据进行…

常用密码算法介绍

算法种类 根据技术特征&#xff0c;现代密码学可分为三类&#xff1a; 对称算法 说明&#xff1a;加密密钥和解密密钥相同&#xff0c;对明文、密文长度没有限制 子算法&#xff1a; 流密码算法&#xff1a;每次加密或解密一位或一字节的明文或密文 分组密码算法&#xff…

2020 shodan 配置详解

需要先注册一个号>然后才能在kali里安装并认证 官网&#xff1a;https://www.shodan.io 安装命令&#xff1a; git clone https://github.com/achillean/shodan-python.git cd shodan-python python setup.py installshodan -h 查看使用&#xff1a; 这个。。土味英语&am…

Python中shodan模块的使用

关于shodan的安装和使用&#xff0c;传送门——> 渗透测试之Shodan的安装和使用 常用 Shodan 库函数 shodan.Shodan(key) &#xff1a;初始化连接APIShodan.count(query, facetsNone)&#xff1a;返回查询结果数量Shodan.host(ip, historyFalse)&#xff1a;返回一个IP的详细…

暗黑引擎 -- Shodan常用搜索语法

fofa&#xff0c;钟馗之眼&#xff0c;shodan等等一系列的公网设备搜索引擎&#xff0c;其中fofa和shodan使用的最多&#xff0c;本文就来整理一些shodan的搜索语法 Shodan&#xff1a;www.shodan.io Ps&#xff1a;均来自互联网搜集整理 工业控制系统 三星电子广告牌 &quo…

shodan的使用及maltego的注册

渗透学习 信息收集工具指南1 文章目录 渗透学习前言*本文只做学习用途&#xff0c;严禁利用本文提到的技术进行非法攻击&#xff0c;否则后果自负&#xff0c;本人不承担任何责任。* 一、shodan1.网络空间搜索引擎2.shodan3.命令行shodan 二、maltego1.情报分析2.maltego 总结…