密码学算法
文章平均质量分 65
现代密码学技术常见算法
躺平都躺不明白
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
仿射密码加解密算法
print('再对密文进行解密得到明文:%s'%D_Affine_Cipher(a,b,c))print('参数b不合理,请输入0-25范围内的数:')print('参数a不合理,请输入Z/*26中的数:')a=int(input('请输入参数a:'))b=int(input('请输入参数b:'))m=input('请输入想要加密的明文:')print('加密后的密文为:%s'%c)#求a与b的最大公因子。原创 2025-04-18 19:05:25 · 361 阅读 · 0 评论 -
DES加解密算法
plain_hex = format(int(cipher, 2), '016x') # 16 个 hex 字符,不足左补 0。R4[i]=bin(R4[i])[2:].zfill(4)#将十进制变为二进制并补充为4bits。list_key.append(int(i))#把'0'、'1'变成0和1。# 调用F(R[i-1],round_key[i-1])函数。# 调用F(R[i-1],round_key[i-1])函数。#S盒(sBox[8][4][16])8个4行16列。原创 2025-05-19 23:56:00 · 721 阅读 · 0 评论 -
Hill密码加解密算法(3阶方阵)
eval(input(f"请输入3×3密钥矩阵第{i + 1}行的三个数,用逗号隔开(如:11,2,19):")))eval(input(f"请输入3×3密钥矩阵第{i+1}行的三个数,用逗号隔开(如:11,2,19):")))print("密钥参数错误,行列式与26不互素,请重新输入:\n")print(f"再对密文进行恢复得到明文:{m1}")m=input("请输入你要加密的明文:")print(f"加密后的明文为:{c}")print("解密密钥如下:")#求a与b的最大公因子。原创 2025-05-19 23:54:01 · 416 阅读 · 0 评论 -
移位密码加解密算法
移位密码加解密算法原创 2025-04-18 13:14:43 · 432 阅读 · 0 评论 -
维吉尼亚密码加解密算法
print('恢复后的明文为%s'%m)key=input('请输入密钥:')m=input('请输入明文:')print('密文为%s'%c)#维吉尼亚密码加密算法。#维吉尼亚密码解密算法。#维吉尼亚密码测试函数。原创 2025-04-18 19:51:48 · 350 阅读 · 0 评论 -
维吉尼亚密码重合指数法破译
统计c中每个字幕出现的次数,返回值为一个字典,键为字母,值为出现次数。#将元组(密钥长度,平均IC值)保存到列表ic_list。print(f"\n解密后的明文:\n{plaintext}")print(f"\n最可能的密钥长度:{best_m}")# key为-x[1]表示按IC值降序进行排列。# 2. 选择最可能的密钥长度(IC最高的)#x表示列表的元组,x[1]表示平均IC值。print(f"恢复的密钥:{key}")print("猜测密钥长度及IC值:")#i为密文中某个字符索引,c为字符本身。原创 2025-05-19 23:55:22 · 370 阅读 · 0 评论
分享