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

密码学---常见的其他密码

费纳姆密码:加解密都需要密钥,以二进制形式表示的密码。(密钥多是一次性的,称位一次性密码本)

加密过程:

char_num = {'A': '1000001', 'B': '1000010', 'C': '1000011', 'D': '1000100','E': '1000101', 'F': '1000110', 'G': '1000111', 'H': '1001000','I': '1001001', 'J': '1001010', 'K': '1001011', 'L': '1001100','M': '1001101', 'N': '1001110', 'O': '1001111', 'P': '1010000','Q': '1010001', 'R': '1010010', 'S': '1010011', 'T': '1010100','U': '1010101', 'V': '1010110', 'W': '1010111', 'X': '1011000','Y': '1011001', 'Z': '1011010'}num_char = {'1000001': 'A',  '1000010': 'B', '1000011': 'C', '1000100': 'D','1000101': 'E', '1000110': 'F', '1000111': 'G', '1001000': 'H','1001001': 'I', '1001010': 'J', '1001011': 'K', '1001100': 'L','1001101': 'M', '1001110': 'N', '1001111': 'O', '1010000': 'P','1010001': 'Q', '1010010': 'R', '1010011': 'S', '1010100': 'T','1010101': 'U', '1010110': 'V', '1010111': 'W', '1011000': 'X','1011001': 'Y', '1011010': 'Z', }# 转换
def txt_num(txt):txt = txt.upper()result = ""for i in txt:result = result + char_num[i]return  result# 最终数字转换为字母
def num_list(txt):num = 0s = []while True:s.append(txt[num:num + 7])num += 7if num > len(txt) - 7:breakreturn s# 加密 文本内容
def encipher(txt, k):result = ''if txt.isalpha() and k.isalpha():txt = txt_num(txt)k = txt_num(k)j = len(k)for i in range(0, len(txt)):if txt[i] == k[i % j]:result += '0'else:result += '1'else:result = "明文与密钥应为纯字母"return result# 解密 文本为数字格式
def decipher(txt, k):result = ''if k.isalpha():k = txt_num(k)j = len(k)for i in range(0, len(txt)):if txt[i] == k[i % j]:result += '0'else:result += '1'result = num_list(result)result_char = ""for i in result:try:result_char = result_char + num_char[i]except KeyError:result_char = result_char + '?'result = result_charelse:result = "密钥应为纯字母"return  resultif __name__ == '__main__':# 加解密,密文text,明文text_2text = ''# 读文本文件key = "polar"text_2 = "polarCTF"print(encipher(text_2, key))# print(decipher(text, key))

 

 解密过程:

char_num = {'A': '1000001', 'B': '1000010', 'C': '1000011', 'D': '1000100','E': '1000101', 'F': '1000110', 'G': '1000111', 'H': '1001000','I': '1001001', 'J': '1001010', 'K': '1001011', 'L': '1001100','M': '1001101', 'N': '1001110', 'O': '1001111', 'P': '1010000','Q': '1010001', 'R': '1010010', 'S': '1010011', 'T': '1010100','U': '1010101', 'V': '1010110', 'W': '1010111', 'X': '1011000','Y': '1011001', 'Z': '1011010'}num_char = {'1000001': 'A',  '1000010': 'B', '1000011': 'C', '1000100': 'D','1000101': 'E', '1000110': 'F', '1000111': 'G', '1001000': 'H','1001001': 'I', '1001010': 'J', '1001011': 'K', '1001100': 'L','1001101': 'M', '1001110': 'N', '1001111': 'O', '1010000': 'P','1010001': 'Q', '1010010': 'R', '1010011': 'S', '1010100': 'T','1010101': 'U', '1010110': 'V', '1010111': 'W', '1011000': 'X','1011001': 'Y', '1011010': 'Z', }# 转换
def txt_num(txt):txt = txt.upper()result = ""for i in txt:result = result + char_num[i]return  result# 最终数字转换为字母
def num_list(txt):num = 0s = []while True:s.append(txt[num:num + 7])num += 7if num > len(txt) - 7:breakreturn s# 加密 文本内容
def encipher(txt, k):result = ''if txt.isalpha() and k.isalpha():txt = txt_num(txt)k = txt_num(k)j = len(k)for i in range(0, len(txt)):if txt[i] == k[i % j]:result += '0'else:result += '1'else:result = "明文与密钥应为纯字母"return result# 解密 文本为数字格式
def decipher(txt, k):result = ''if k.isalpha():k = txt_num(k)j = len(k)for i in range(0, len(txt)):if txt[i] == k[i % j]:result += '0'else:result += '1'result = num_list(result)result_char = ""for i in result:try:result_char = result_char + num_char[i]except KeyError:result_char = result_char + '?'result = result_charelse:result = "密钥应为纯字母"return  resultif __name__ == '__main__':# 加解密,密文text,明文text_2text = '00000000000000000000000000000000000001001100110110001010'# 读文本文件key = "polar"text_2 = "polarCTF"# print(encipher(text_2, key))print(decipher(text, key))

杰弗逊转轮加密需要密钥并用很多行乱序英文字母表示密文的密码。首先要将密文按密钥顺序进行调整,再根据密文顺序整每行字符串即可得到明文。

方法1:

除了每行第一个字母组成的,依次往后向下寻找有意义的字符串,直到找到为止!!!

方法2:

import re
PasswordList = '''
1: < ZWAXJGDLUBVIQHKYPNTCRMOSFE <
2: < KPBELNACZDTRXMJQOYHGVSFUWI <
3: < BDMAIZVRNSJUWFHTEQGYXPLOCK <
4: < RPLNDVHGFCUKTEBSXQYIZMJWAO <
5: < IHFRLABEUOTSGJVDKCPMNZQWXY <
6: < AMKGHIWPNYCJBFZDRUSLOQXVET <
7: < GWTHSPYBXIZULVKMRAFDCEONJQ <
8: < NOZUTWDCVRJLXKISEFAPMYGHBQ <
9: < XPLTDSRFHENYVUBMCQWAOIKZGJ <
10: < UDNAJFBOWTGVRSCZQKELMXYIHP <
11: < MNBVCXZQWERTPOIUYALSKDJFHG <
12: < LVNCMXZPQOWEIURYTASBKJDFHG <
13: < JZQAWSXCDERFVBGTYHNUMKILOP <
'''
ciphertext = "UOFJLBLSXJPJY"  # 存放密文
content = re.findall(r'<(.*?)<', PasswordList, re.S)  # 匹配所有的密码表字符串
key = [2, 3, 7, 5, 13, 12, 9, 1, 8, 10, 4, 11, 6]   # 密钥
list = []   # 定义空列表list,和空串ans
ans = ""
for i in range(13):index = content[key[i]-1].index(ciphertext[i])list.append((index))
for i in range(0, 26):flag = ""for j in range(13):flag += content[key[j]-1][(list[j]+i) % 26]print(flag)

 

 从出来的结果找出有意义的那串字符即为明文!!!

常见图形密码—猪圈密码

 变种形式1:

变种形式2:

圣堂武士密码:

旗语密码:

盲文:

精灵语密码:

 

跳舞的人密码:

夏多密码:(下面的四个是方向指示符号,向上,右,下,左旋转,碰到表示将密文整体进行该方向的旋转)

银河密码:

相关文章:

密码学---常见的其他密码

✨费纳姆密码&#xff1a;加解密都需要密钥&#xff0c;以二进制形式表示的密码。&#xff08;密钥多是一次性的&#xff0c;称位一次性密码本&#xff09; 加密过程&#xff1a; char_num {A: 1000001, B: 1000010, C: 1000011, D: 1000100,E: 1000101, F: 1000110, G: 100…...

Mysql8 主从复制主从切换(超详细)

文章目录 1 主从复制1.1 实施前提1.2 主节点配置(在192.168.25.91操作)1.3 从节点配置(在192.168.25.92操作)1.4 创建用于主从同步的用户1.5 开启主从同步1.5 主从同步验证 2 主从切换2.1 实施前提2.2 主节点设置只读(在192.168.25.91操作)2.3 检查主从数据是否同步完毕(在192.…...

8月29日wpf

小语 折磨我们的往往是想象&#xff0c;而不是真实。 学wpf 7.07 1.vs如何创建新项目&#xff1f; 退出&#xff0c;创建新项目&#xff0c;点c#&#xff0c;windows&#xff0c;进入界面 2.app.config在哪里&#xff1f; 好像只有这个。。。 试一下&#xff0c;不是 我…...

Android经典实战之SurfaceView原理和实践

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 SurfaceView 是一个非常强大但也相对复杂的 UI 组件&#xff0c;特别适用于对性能要求较高的绘制任务&#xff0c;如视频播放、游戏等。 1. Su…...

蜜罐的识别

蜜罐技术本质上是对网络攻击方欺骗的一项技术&#xff0c;通过在服务上布置一些仿真的系统、网络服务、或是模拟一些物联网设备来诱惑攻击方对其实施攻击从而捕获攻击行为&#xff0c;分析攻击手段与方式&#xff0c;或是收集一些攻击者的个人信息来进行分析画像达到精准溯源的…...

传感与检测技术

感知技术 传感器基本特性 静态特性 动态特性 传感器分类 电阻式传感器 通常情况下&#xff0c;电阻应变传感器的灵敏系数为常数 根据测量对象不同可分为...

监控平台之nodejs模拟后端接口

github&#xff1a;可以下载进行实验 https://github.com/Mr-Shi-root/sdk-platform/tree/master 1.配置node环境&#xff0c;安装express cors body-parser babel/cors body-parser - node.js 中间件&#xff0c;用于处理 JSON, Raw, Text 和 URL 编码的数据。cookie-parse…...

TCP 协议详解

目录 一.定义 二.TCP 协议报文格式 三.确认应答(ACK)机制 四.捎带应答 五.连接管理机制 六.滑动窗口 七.快重传 八.拥塞控制 九.延时应答 十.面向字节流 十一.粘包问题 十二.异常情况 十三.TCP 小结 一.定义 传输控制协议&#xff08;TCP&#xff0c;Transmissio…...

【转载】golang内存分配

Go 的分配采用了类似 tcmalloc 的结构.特点: 使用一小块一小块的连续内存页, 进行分配某个范围大小的内存需求. 比如某个连续 8KB 专门用于分配 17-24 字节,以此减少内存碎片. 线程拥有一定的 cache, 可用于无锁分配. 同时 Go 对于 GC 后回收的内存页, 并不是马上归还给操作系…...

TPM管理培训:学以致用,才是硬道理

全面生产维护&#xff08;TotalProductiveMaintenance,TPM&#xff09;作为一种先进的管理体系&#xff0c;正被越来越多的企业所采用&#xff0c;以期通过全员参与、全系统改善的方式&#xff0c;实现设备综合效率的最大化。然而&#xff0c;理论学习与实践应用之间往往存在鸿…...

2024年六月英语四级真题及解析PDF共9页

2024年六月英语四级真题及解析PDF共9页&#xff0c;真题就是最好的复习资料&#xff0c;希望对大家有所帮助。...

自闭症儿童语言干预

自闭症儿童的语言发展往往面临独特挑战&#xff0c;这不仅影响了他们的日常交流能力&#xff0c;也制约了其社交与认知的全面发展。因此&#xff0c;实施科学有效的语言干预对于促进自闭症儿童的语言能力至关重要。 语言干预应基于个性化原则&#xff0c;充分考虑每个孩子的兴…...

webpack基本使用(基础配置)

文章目录 概要理解 一、使用示例1.引入库2.创建config/webpack.dev.js 测试环境3.创建config/webpack.prod.js 正式环境3.创建eslintrc.js4.创建babel.config.js5.package.json5.main.js 总结 概要理解 vue或者react 通常用webpack作为打包工具&#xff0c;打包成浏览器识别的…...

在js渲染的dom中的事件中传递对象

在某些情况下&#xff0c;可能需要将整个对象或部分对象嵌入到 HTML 元素的属性中&#xff0c;可以将对象数据序列化为 JSON 字符串&#xff0c;存储在 data-* 自定义属性中。这样可以在事件中取出并解析对象数据&#xff1a; <!DOCTYPE html> <html lang"en&qu…...

服务器加速器如何应对大规模并行计算需求

服务器加速器&#xff0c;如GPU(图形处理单元)、FPGA(现场可编程门阵列)和TPU(张量处理单元)&#xff0c;在大规模并行计算需求中发挥着重要作用。它们通过提供高效的并行处理能力&#xff0c;大幅提升了计算性能&#xff0c;满足了许多领域对大规模并行计算的需求。下面详细介…...

C++/Qt 多媒体(续四)

一、前言 前边讲述到了Qt的两项独特的模块编程支持的另一项内容——多媒体编程,上篇文章具体讲述的包括采集和播放原始音频相关类的概述,而本章开始主要概述多媒体编程实现的功能中的最后两项:播放视频文件和通过摄像头拍照和录像。 对于上篇内容的示例全部代码,可…...

怎样把flv转换成mp4格式?8种可以推荐的视频转换方法

怎样把flv转换成mp4格式&#xff1f;MP4格式因其广泛的兼容性&#xff0c;几乎可以在所有设备和媒体播放器上顺畅播放&#xff0c;这极大地方便了用户的观看体验。与flv文件相比&#xff0c;MP4通常能更有效地压缩视频文件&#xff0c;既能保持较高的画质&#xff0c;又能显著减…...

【2024数学建模国赛赛题解析已出】原创免费分享

2024数模国赛赛题已正式发布 数模加油站初步分析评估了此次竞赛题目&#xff1a; A题&#xff1a;偏数学仿真建模&#xff0c;难度偏难&#xff0c;适合数学专业背景的同学 B题&#xff1a;评价决策类&#xff0c;自由度大&#xff0c;容易水&#xff0c;适合基础不太好的同…...

Windows安装使用Docker

配置Dorker环境 启用或关闭windows功能 安装wsl 以管理员身份打开windows PowerShell&#xff0c;安装相关配置 下载docker应用程序 Releases tech-shrimp/docker_installer (github.com) 安装Docker 指定安装位置 默认双击程序就开始安装了&#xff0c;要安装在指定位置…...

【wsl2】从C盘迁移到G盘

参考大神 C盘的ubuntu22.04 非常大&#xff0c;高达30g 迁移后就只有几百M了&#xff1a; 右键有一个move没有敢尝试 迁移过程 Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved.Install the latest PowerShell for new features and improveme…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...

CSS | transition 和 transform的用处和区别

省流总结&#xff1a; transform用于变换/变形&#xff0c;transition是动画控制器 transform 用来对元素进行变形&#xff0c;常见的操作如下&#xff0c;它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...