
密码学
密码算法
DiliLearngent
因为热爱,所以坚持
展开
-
密码加密解密(八)——SHA散列算法实现
1、该种散列算法求哈希值与MD5大致一样,但也有不同之处。2、代码实现K = ["5A827999", "6ED9EBA1", "8F1BBCDC", "CA62C1D6"]f1 = lambda x, y, z: ((x & y) | ((~x) & z))f2 = lambda x, y, z: (x ^ y ^ z)f3 = lambda x, y, z: ((x & y) | (x & z) | (y & z))f4 = lambda x, y,原创 2021-04-21 18:18:01 · 565 阅读 · 0 评论 -
密码加密解密(七)——MD5散列算法实现
Hash函数是将任意长的数字串转换成一个较短的定长输出数字串的函数,输出的结果称为Hash值。Hash函数具有如下特点:(1)快速性:对于任意一个输入值x,由Hash函数H(x),计算Hash值y,即y=H(x),是非常容易的。(2)单向性:对于任意一个输出值y,希望反向推出输入值x,使得y=H(x),是非常困难的。(3)无碰撞性:对任意给定的数据块x,希望找到一个y,满足H(x)=H(y),且x≠y,具有计算的不可行性。Hash函数可用于数字签名、消息的完整性检测、消息的起源认证检测等。现在常用的原创 2021-04-21 18:08:19 · 1264 阅读 · 0 评论 -
密码加密解密(六)——RSA公钥密码设计
RSA算法描述如下:1.公钥选择两个互异的大素数p和q,n是二者的乘积,即n = pq,使Ф(n)=(p-1)(q-1),Ф(n)为欧拉函数。随机选取正整数e,使其满足gcd(e,Ф(n))=1,即e和Ф(n)互质,则将(n,e)作为公钥。2.私钥求出正数d,使其满足e×d=l mod Ф(n),则将(n,d)作为私钥。3.加密算法对于明文M,由C=Me mod n,得到密文C。4.解密算法对于密文C,由M=Cd mod n,得到明文M。如果窃密者获得了n、e和密文C,为了破解密文必须计算原创 2021-03-07 10:52:36 · 771 阅读 · 0 评论 -
密码加密解密(五)——DES对称密码设计
DES算法将明文分成64位大小的众多数据块,即分组长度为64位。同时用56位密钥对64位明文信息加密,最终形成64位的密文。如果明文长度不足64位,则将其扩展为64位(如补零等方法)。具体加密过程首先是将输入的数据进行初始换位(IP),即将明文M中数据的排列顺序按一定的规则重新排列,生成新的数据序列,以打乱原来的次序。然后将变换后的数据平分成左右两部分,左边记为L0,右边记为R0,然后对R0实行在子密钥(由加密密钥产生)控制下的变换f,结果记为f(R0,K1),再与L0做逐位异或运算,其结果记为R1,R0则原创 2021-03-07 10:48:11 · 984 阅读 · 0 评论 -
密码加密解密(四)——RC4流密码设计
RC4是Ron Rivest在1987年为RSA公司设计的一种流密码,是一个可变密钥长度、面向字节操作的流密码。RC4得到了广泛应用,特别在SSL协议、无线通信领域。RC4 包含两个主要的算法:密钥调度算法KSA和伪随机数生成算法PRGA。python源代码''' args = { name:RC4加解密 author:Lsy date:2020-11-25 }'''def GetInit(): ''' arg原创 2021-03-07 10:38:59 · 920 阅读 · 0 评论 -
密码加密解密(三)——仿射密码设计
代换密码算法的原理是使用替代法进行加密,就是将明文中的字符用其它字符替代后形成密文。例如,明文字母a、b、c、d,用D、E、F、G做对应替换后形成密文。代换密码包括多种类型,如单表代换密码、多表代换密码等。下面介绍一种典型的单表代换密码——仿射密码。''' args = { name:仿射变换加解密 author:Lsy date:2020-11-18 }'''# 加密函数def encrypt(Plaintext, a, b):原创 2021-03-07 10:34:48 · 1266 阅读 · 0 评论 -
密码加密解密(二)——凯撒密码
''' 凯撒编码解码模块 @author Liao @time 2020-1-19'''class kaisa: ''' decodekaisa:解密函数 encodekaisa:加密函数 ''' def encodekaisa(self,plaintext="",key=1): ...原创 2020-01-20 11:38:28 · 1758 阅读 · 0 评论 -
密码加密解密(一)——摩斯密码
摩尔斯电码(又译为摩斯密码,Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。摩斯编码:1、加密方法2、解密方法要求:解密的时候要求能够自动识别间隔符,如空格,“\”等。解密的时候能够自动识别出配对字符,如0和1,.和-。加密的时候能够自定义区分间隔的符号,默认输出空格。摩斯密码解密加密Python脚本如下:''' ...原创 2020-01-19 16:40:00 · 7057 阅读 · 0 评论