当前位置: 首页 > news >正文

网站右侧 回到顶部学校诗歌网站建设

网站右侧 回到顶部,学校诗歌网站建设,漂亮的网站改版中 html代码,wordpress 搬家 换域名前言 非对称加解密算法 #xff0c;就有对称加解密算法 1:对称算法 定义 对称算法#xff0c;加解密双方使用一个密钥。即加密秘钥和解密秘钥相同。 对称加密又分为#xff1a;分组加密和流加密 分组加密 分组加密是每次只能处理特定长度的一块数据的一类密码算法#xff0…前言 非对称加解密算法 就有对称加解密算法 1:对称算法 定义 对称算法加解密双方使用一个密钥。即加密秘钥和解密秘钥相同。 对称加密又分为分组加密和流加密 分组加密 分组加密是每次只能处理特定长度的一块数据的一类密码算法这里的“一块”就称为分组block。一个分组的比特数就称为分组长度block lenght。 常见的分组算法有DES、3DES、DESX、Blowfish、IDEA、RC2、RC5、RC6和AES以及中国的SSF33、SM1、SM4。 分组加密又可以根据其迭代模式分为ECBCBCOFBCFBCTR。 最简单的就是 异或XOR ⊕ 明文 c88 密码 p 119 随便选的这个数字 加密 密文 e 88 ⊕ 119 47 88(01011000) ⊕ 119(01110111) 47(00101111) 解密 明文 c e ⊕ p 47 ⊕ 119 88 47(00101111) ⊕ 119(01110111) 88(01011000) 代码实现 package mainimport fmtfunc main() {valuea ,valueb : 0,0for ;; {fmt.Printf(please input value1 and value2)if _,err : fmt.Scan(valuea,valueb);err !nil{fmt.Printf(input error)break}fmt.Printf(%v(%08b) ⊕ %v(%08b) %v(%08b) \n,valuea,valuea,valueb,valueb,valuea^valueb,valuea^valueb)}fmt.Printf(ready exit \n) }2非对称算法 非对称算法也叫公钥算法在公钥密码系统中加密和解密使用的是不同的密钥这两个密钥之间存在着相互依存关系即用其中任一个密钥加密的信息只能用另一个密钥进行解密。 这使得通信双方无需事先交换密钥就可进行保密通信。其中加密密钥和算法是对外公开的人人都可以通过这个密钥加密文件然后发给收信者这个加密密钥又称为公钥 而收信者收到加密文件后,它可以使用他的解密密钥解密这个密钥是由他自己私人掌管的并不需要分发因此又成称为私钥这就解决了密钥分发的问题。 主要的公钥算法有 RSA、 DSA、 DH 和 ECC。 以ras为例 1RSA算法原理 RSA算法的基于这样的数学事实两个大质数相乘得到的大数难以被因式分解。 2 加解密 步骤 (1):选取两个大质数pq计算N p q 及 φ ( N ) φ § φ (q) (p-1) * (q-1) 互质关系如果两个正整数除了1以外没有其他公因子我们就称这两个数是互质关系 φ(N)叫做欧拉函数是指任意给定正整数N在小于等于N的正整数之中有多少个与N构成互质关系。 如果n是质数则 φ(n)n-1。 如果n可以分解成两个互质的整数之积 φ(n) φ(p1p2) φ(p1)φ(p2)。即积的欧拉函数等于各个因子的欧拉函数之积 (2):选择一个大于1 小于φ(N)的数e使得 e 和 φ(N)互质 e其实是1和φ(N)之前的一个质数 (3):计算d使得de1 mod φ(N) 等价于方程式 ed-1 k φ(N) 求一组解。 d 称为e的模反元素e 和 φ(N)互质就肯定存在d 模反元素是指如果两个正整数a和n互质那么一定可以找到整数b使得ab被n除的余数是1则b称为a的模反元素。 可根据欧拉定理证明模反元素存在欧拉定理是指若n,a互质则 aφ(n) ≡ 1(mod n) 及 aφ(n) a * aφ(n)-1 可得a的 φ(n)-1 次方就是a的模反元素。 (4):(n, e)封装成公钥(n, d)封装成私钥。 eg: p53 q 59 //这里选择2个小的素数否则演算计算量太大 n53 * 59 3127 φ(n)φ(3127)(53-1)(59-1)3016 选e[1,3016) 中的 3 e3 d * e 1 mod φ(n) d * 3 1 %3016 所以 d 2011 公钥 n,e (3127,3) 私钥 (n,d)(3127,2011) 明文 m 89 公钥用于加密、私钥用于解密 用公钥加密 密文 c me mode n 893 %3127 1394 用私钥解密 明文 m2 cd mod n 13942011 %312789 私钥用于签名、公钥用于验签名 摘要 hash256(明文) hash256(89) 这里省略 生成签名 用私钥 s md mod n89 2011 %3127 89 2011 16722583105308279104923867509715064099387784608129733532437680187247 01215476410680999915339774392775625618233497328039884105689289924625582672941711 14563895043871648877622204606536874504743584113292955847998021758180183927990417 49483897500785819175507565180862762681431353853013275102682395465719327412623371 28258050540279247025052968465776417477732907653405452503367096267673308971002206 96013929839366953469750761508775627460108983472889315804374409770037901189582126 58584765838551342604665358768706709286758455626768426827094918375880196280792838 33242284123972362692542970870210820376163435285317114274868254235528576051694461 71886867007589261526018877015824351473905037078170385773571206872142783198744172 37420356120173721472673067303174336047691352905498282982912556200369171268385120 35368134353869874578285960630415249362175228225147658323679663388146810809892417 34773762158899470010728479221462789538011196143235172295578671268192706789018415 01885133453915904484211096564142085081941233809369050230936738583285768617029750 86855854029263209898380849484341544160701565220283509506919749641513286320938181 74426329777153490925965948182708990967298527879750649938514756880817748425094982 18528844063701501465673309513211313717073444822078926546639912596559101776600291 95289512865177970012200681378332786352832156519536532812801091036293225470401223 32278480265698762935823434005119051663266223842380021326366079884015190554544757 33597277984129017297117077357965207375402877434119200886062896909104440409151485 22743462761578806274987697882655739546874286280567384147637584423420286898409862 06466335795738478208695453058762360993731422884437868861327934497662202657334729 70236985545597451542028429242343037658892139587600615265499948144118327954449465 35618795250490495375905698154597385010130752598856956900608700719832715964840532 24468034509793798980275070900414799021001652242043411131078254314388221096120089 29940764075886214680043890032577058149842407181571895522992650418441812514638050 74227220844356190425089580935029400020627915985927252389649246619559582482300123 54197818896427053734072948991126640475317464835569739191294816223693705963022771 74389261583712633606772420414866768733271883540367820750129689834409888436179409 79069494913901559652601008376112353715145897343526707491237847627803956357203979 32488398183539195531355629591575375980588991352299880617507113151223829123351267 38747035476138207179442159372387291324507010172254791123218745267066126158317009 61669009554099745263515225991384855384573902383889926414875574409006054378516445 72615735070655816819992318033133397352135540960674920556941926967176694849651610 63937756029486720177421753457661415872296229038633165753788154435164086513111898 11533612558006602515157339354685670227296222116077251263299481829968926775094390 49381095343453455669645799589043581137242807466717817336806439552748353887282238 51625631811789517654670280214107956893132243723685465932839910155750094832737778 50673337898123602954848673933575733902485338477466107390230119432960922704684283 48234399487763421817649560864944290073299489909151306331586949188024680434310502 86315823429151473246501833787084960016712392353065321715828858205683528640724515 98283038085467122414386158696038747851276510349977799877704030278732062050372941 69418641722401217855825517675095640553262856773390176905315186450213572617147504 89606160010003274195219724096285452561873678385841307500050432789610118206122774 83813649349446528839590415154647713580610495836553676580266311849974148636131510 27421735097426663505594232582524772119777264433643630855801556736992349566635395 55071065179017867436478530674868755873936214732855625699896586123250163536023602 46769939250810530377624055909322011694251321310059768288035223058621511296187291 08733718490134528313611337300091548944728868954706289021446131823641591812726819 40270036421978674519568461112149439540979564871459345931696461369788565080942032 2710802420489 please input value1,power and mod89 2011 3127 (89 ^ 2011)mod 3127 545 怎么计算的 看后面的代码 eth 有专门函数 s md mod n89 2011 %3127 545 //签名文件 用 明文m89 s545 给对方对方用公钥验证 明文 m1 se mod n 5453 %3127 161878625 % 3127 89 如 m1 m mod n ,验证成功签名OK 大数N次方 上代码 package mainimport (fmtgithub.com/ethereum/go-ethereum/common/mathmath/big )func main() {valuea ,power,mod : 0,0,0//89 ^2011 %3127for ;; {fmt.Printf(please input value1,power and mod)if _,err : fmt.Scan(valuea,power,mod);err !nil{fmt.Printf(input error)break}a : int64(valuea)b : int64(power)big1 : math.BigPow(a,b)m : big.NewInt(int64(mod))big2 : m.Mod(big1,m)fmt.Printf((%v ^ %v)mod %v %v \n,valuea,power,mod,big2)}fmt.Printf(ready exit \n) } 总结 公钥 n,e (3127,3) 私钥 (n,d)(3127,2011) 明文 m 加密 密文s me mod n 解密 明文 m1 sd mod n 签名 签文s md mod n 验证 明文 m1 se mod n 是不是很简单 3:如果觉得有用麻烦点个赞加个收藏
http://www.zqtcl.cn/news/244133/

相关文章:

  • 联合年检怎么做网站上国家备案查询
  • 社交网站wap模板wordpress网址导航插件
  • 沈阳快速建站公司有哪些国外做二手服装网站
  • 手机如何建立网站平台seo比较好的优化
  • 电商网站建设外包禅城南庄网站制作
  • 哈尔滨企业网站开发报价免费php网站源码
  • 东莞市公司网站建设淄博网站制作营销
  • 企业网站无线端怎么做手机网站做成app
  • 让他人建设网站需要提供的材料可在哪些网站做链接
  • 外贸公司做网站3d建模好学吗
  • dedecms新网站 上传到万网的空间上海新媒体运营公司排名
  • 包装东莞网站建设0769三层网络架构
  • 淘客网站自己做固安建站公司
  • 咸阳学校网站建设联系电话网络app开发网站建设价格
  • 没网站怎么做淘宝客网站建设耂首先金手指
  • 网站带做收录排名淘外网站怎么做
  • 网站建设分金手指排名五申请邮箱账号注册
  • 餐饮加盟网站建设字体怎么安装wordpress
  • 网站建设与维护培训凡科和有赞哪个好用
  • 景区网站的作用长春新冠最新情况
  • 个人网站上传有啥要求wordpress 浏览记录
  • appcan 手机网站开发wordpress首页音乐
  • 杭州响应式网站案例建筑工程网站建站方案
  • 网站访客抓取国内网站搭建
  • 凡科网站做的好不好太原网页
  • 十堰商城网站建设国外效果图网站
  • 怎么登陆建设工程网站泉州网红
  • 哈尔滨队网站网页美工跨境电商是什么意思
  • 网站规划与建设课程推广型网站建设软件
  • 山东网站建设系统网站设计哪家更好