举个栗子帮助理解
▌场景:小星与阿呆即时聊天中
阿呆:小星,今天来我家玩,来的路上,有一家披萨店,很好吃,顺便带一点哈。
小星:哦,要不你来我家玩吧,你顺便带上披萨。
阿呆:小星,你竟然都这么说了,看来只能抛硬币解决了。
小星:丫的,这个怎么抛,我怎么知道你有没有搞鬼。
阿呆:嗯,那到也是,要不这样。
1对结果加密
阿呆:我心中想一个数,假设为A,然后A在乘以一个数B,得到结果C。A是我的密钥,我把结果C告诉你。你来猜A是奇数还是偶数,猜中了,算你赢。
小星:这不行,如果你告诉我C是12,我猜A是奇数,你可以说A是4,B是3。我猜A是偶数,你可以说A是3,B是4。要不你告诉我C是多少的时候,也告诉我B是多少。
阿呆:那这不行,告诉你C和B,不等于告诉你A是多少了,还猜个屁。不行得换个方式。
2不可逆加密
阿呆:小星,你看这样可以不,我想一个A,经过下面的过程:
1.A+123=B
2.B^2=C
3.取C中第2~4位数,组成一个3位数D
4.D/12的结果求余数,得到E
阿呆:我把E和上述计算方式都告诉你,你猜A是奇数还是偶数,然后我告诉你A是多少,你可以按上述的计算过程来验证我是否有说谎。
小星:嗯,我想想,假如阿呆你想的A为5,那么:
5+123=128
128^2=16384
D=638
E=638mod12=53 (mod表示除法的求余数)
小星:咦,厉害了,一个A值对应一个唯一的E值,根据E还推算不出来A。你太贱了,好吧,这个算公平,谁撒谎都能被识别出来。
小星:阿呆,你出题吧 ……
这种丢掉一部分信息的加密方式称为“单向加密”,也叫哈希算法。
标签:加密,奇数,披萨,偶数,算法,理解,告诉,哈希,阿呆 来源: https://www.cnblogs.com/bsxc2/p/15402788.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。