日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

公钥密码体制(RSA,椭圆曲线密码,ElGamal

發(fā)布時(shí)間:2025/3/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 公钥密码体制(RSA,椭圆曲线密码,ElGamal 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

概述

RSA

?密鑰的產(chǎn)生

加密:

?解密:

?ElGamal:

橢圓密碼曲線密碼ECC:


概述

密鑰是需要定期更換的。如果采用對(duì)稱密鑰體制(分組密碼和序列密碼)更換密鑰以及相應(yīng)的“密鑰分發(fā)”工作量相當(dāng)大。

由于對(duì)稱密碼在實(shí)際應(yīng)用中“密鑰分發(fā)”的問(wèn)題,非對(duì)稱密碼在這方面相對(duì)安全。

1976年,Diffie,Hellman發(fā)表了非對(duì)稱密碼的奠基性論文《密碼學(xué)的新方向》,建立了公鑰密碼的概念。

序列密碼在加密和解密時(shí),無(wú)論是種子密鑰還是生成密鑰流,都是一樣

分組密碼初始密鑰是一樣的,子密鑰使用順序相反或者可以互推。

而非對(duì)稱密碼不一樣,公鑰公開(kāi),私鑰藏好。

?只有持有私鑰的才能解密。

對(duì)稱密碼體制和非對(duì)稱密碼體制配合,對(duì)稱密碼加密速度快,但密鑰分發(fā)困難,公鑰密碼加密速度慢,基本不存在密鑰分發(fā)問(wèn)題。可以用公鑰密碼傳遞對(duì)稱密碼的密鑰,完成密鑰的分發(fā),之后運(yùn)用對(duì)稱密碼進(jìn)行大規(guī)模傳輸。

分類:基于大整數(shù)難分解問(wèn)題(RSA,Rabin?;陔x散對(duì)數(shù)難題ElGamal?;跈E圓曲線離散對(duì)數(shù)的密碼體制。

基于的數(shù)學(xué)難題

RSA

大整數(shù)難分解問(wèn)題:

已知大整數(shù)N是兩個(gè)大素?cái)?shù)的乘積。求大素?cái)?shù)p和q使得N=p*q。

?密鑰的產(chǎn)生

選擇兩個(gè)滿足需求的大素?cái)?shù)p和q,n=p*q計(jì)算φ(N) = (P-1)(Q-1)??其中φ(N)是n的歐拉函數(shù)。

選一個(gè)整數(shù)e,滿足1<e<φ(N),且gcd(φ(N),e)=1,e 與 φ(n) 互質(zhì)。gcd求最大公因數(shù)

取d,可以使得 ed 除以 φ(n) 的余數(shù)為 1
( 1<d<e,且ed mod φ(n) = 1 )?

以{e,n}為公開(kāi)密鑰,{d,n}為私密密鑰。

加密:

c:密文
m:明文
加密:c = m^e mod N

?解密:

解密:m = c^d mod N

?RSA準(zhǔn)確性證明:

證明 m ?經(jīng)加解密后還是? m,
?

?在實(shí)現(xiàn)RSA算法時(shí),在提高指數(shù)運(yùn)算速度上,可以運(yùn)用膜重復(fù)的算法

?RSA平方乘算法

將e表示為二進(jìn)制形式 bk bk-1 .。。。。。b0

?a為明文,b為e??

?ElGamal:

?基于離散對(duì)數(shù)難題的公鑰密碼體制:

離散對(duì)數(shù)問(wèn)題:已知大素?cái)?shù)p,y屬于{1,2,。。。。,p-1}。g是膜p的本原元(即ord p(g)=p-1(g能被p^p-1整除)),由y,g,p求x使得y=g^X(modp)

1、ElGamal密鑰生成
首先選擇一個(gè)大素?cái)?shù)p,g是模p的本原元α,再選取一個(gè)隨機(jī)數(shù)x,1<x < p-1, 計(jì)算 y = g^x ( mod p ),則其公鑰為 y,g,p。私鑰是x,g,p。

的概念:若模n下a的階d=φ (n),a就是n的(又稱為原根)。

先是階的概念:模19下7的階為3(7^1=7mod19,7^2=11mod19,7^3=1mod19,7^4=7mod19....)

本原元并不唯一

2、ElGamal加密
(1)對(duì)于明文M加密,隨機(jī)地選取一個(gè)整數(shù)k,2≤k≤p-2
(2)C1=g^k mod p
(3)C2=My^k mod p
(4)密文為(C1,C2)

3、ElGamal解密
由密文可得明文M,M=C2/(C1^d) mod p

缺點(diǎn):密文長(zhǎng)度是所對(duì)應(yīng)的明文長(zhǎng)度的兩倍。

橢圓密碼曲線密碼ECC:

?安全性:基于橢圓曲線離散對(duì)數(shù)問(wèn)題的困難性

已知橢圓曲線Ep(a,b),以及兩個(gè)點(diǎn)Q R屬于Ep(a,b),由R Q Ep(a,b)求K屬于Z 使得R=KQ。

K=kG ?[其中 K,G為Ep(a,b)上的點(diǎn),k為小于n(n是點(diǎn)G的階)的整數(shù)]
  不難發(fā)現(xiàn),給定k和G,根據(jù)加法法則,計(jì)算K很容易;但給定K和G,求k就相對(duì)困難了。
  這就是橢圓曲線加密算法采用的難題。

  我們把點(diǎn)G稱為基點(diǎn)(base point),

  k(k<n,n為基點(diǎn)g的階)稱為私有密鑰(privte key),

  k稱為公開(kāi)密鑰(public="" key)。<="" p="">

  現(xiàn)在我們描述一個(gè)利用橢圓曲線進(jìn)行加密通信的過(guò)程:

  1、用戶A選定一條橢圓曲線Ep(a,b),并取橢圓曲線上一點(diǎn),作為基點(diǎn)G。
  2、用戶A選擇一個(gè)私有密鑰k,并生成公開(kāi)密鑰K=kG。
  3、用戶A將Ep(a,b)和點(diǎn)K,G傳給用戶B。
  4、用戶B接到信息后 ,將待傳輸?shù)拿魑木幋a到Ep(a,b)上一點(diǎn)M(編碼方法很多,這里不作討論),并產(chǎn)生一個(gè)隨機(jī)整數(shù)r(r<n)。
  5、用戶B計(jì)算點(diǎn)C1=M+rK;C2=rG。
  6、用戶B將C1、C2傳給用戶A。
  7、用戶A接到信息后,計(jì)算C1-kC2,結(jié)果就是點(diǎn)M。

  因?yàn)镃1-kC2=M+rK-k(rG)=M+rK-r(kG)=M再對(duì)點(diǎn)M進(jìn)行解碼就可以得到明文。

  在這個(gè)加密通信中,如果有一個(gè)偷窺者H ,他只能看到Ep(a,b)、K、G、C1、C2 而通過(guò)K、G 求k 或通過(guò)C2、G求r 都是相對(duì)困難的。因此,H無(wú)法得到A、B間傳送的明文信息。

設(shè)私鑰、公鑰分別為k、K,即K = kG,其中G為G點(diǎn)。
?
公鑰加密:
選擇隨機(jī)數(shù)r,將消息M生成密文C,該密文是一個(gè)點(diǎn)對(duì),即:
C = {rG, M+rK},其中K為公鑰
?
私鑰解密:
M + rK - k(rG) = M + r(kG) - k(rG) = M
其中k、K分別為私鑰、公鑰。

摘抄于橢圓曲線


?

總結(jié)

以上是生活随笔為你收集整理的公钥密码体制(RSA,椭圆曲线密码,ElGamal的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。