【密码学复习】第七章 公钥加密体制(二)

文章介绍了RSA和基于椭圆曲线的ElGamal两种单向陷门函数加密算法。在RSA中,密钥生成涉及大素数和离散对数问题,而椭圆曲线版本则利用了椭圆曲线上的数学特性。这两种方法都依赖于计算上的困难性,确保了加密的安全性。加密过程中,随机数的选择和使用是一关键环节,防止攻击者破解。
摘要由CSDN通过智能技术生成

RSA单向陷门函数及其应用

ElGamal单向陷门函数

1)密钥生成

选择一大素数p,选取Zp * 的生成元g ;

② 任选小于p的随机数x,计算yg x mod p;

(y, g, p)为公开密钥, (x, g, p)为秘密密钥.

2)加密:设待加密明文为M.

随机选一整数k,0<k<=p-1;

计算密文对: C = {C1 ,C2 }, 发送给接收者.

C1g k mod p, C2y kM mod p

有限域上离散对数问题:

已知(Zp ,+, *)是一个有限域,g为Zp * 的生成元,y∈ Zp ,求x使得y=g x mod p.

如果求有限域离散对数问题是容易的,则获得公钥攻击者能够解出xElGamal加密算法完全破译.

加密过程:随机数k不能泄露;随机数k不能重用。

椭圆曲线单向陷门函数简介

有限域上的椭圆曲线指曲线方程定义式中,所有系数都是有限域GF(p)中的元素(其中p为大素数).

最为常用的曲线是

1)椭圆曲线上ElGamal算法

密钥生成

Ø 选取一条椭圆曲线Ep (a,b),取Ep (a,b)的一个生成元G, Ep (a,b)和G作为公开参数.

用户A选xA 作为秘密钥,并以PA=xAG作为公开钥

加密运算

用户Bob若想向Alice发送消息Pm ,可选取一随机正整数k,产生以下点对作为密文:

Cm ={kG, Pm+kPA }={c1 ,c2 }

解密运算

Alice解密时,以密文对中的第二个点减去用自己的秘钥与第一个点的倍乘,即c2 - xA c1 = Pm +kPA -xA kG=Pm +k(xAG)-xA kG = Pm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆呆水獭_(:_」∠)_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值