凯撒密码 (哈希+技巧)

ctf古典密码学特征大全(更新中) 阅读详情

凯撒密码
[Description]
Gemini最近喜欢上了历史,他了解到历史上有一种神奇的加密方法叫做凯撒密码。
凯撒密码非常的简单,就是把每个字母向后移动m位(z的后一位是a)。例如,当m=1,abcd加密后就是bcde,当m = 5,xyz加密后会变成cde。
Gemini对学会一种加密方法表示非常兴奋,于是,他构造了大量长度为5的纯英文小写密文(为什么是5?我也不知道)。然后……,然后他把哪个明文对应哪个密文搞混了。(-_-|||)
幸运的是,经过分析,还是可以找出明文和密文的对应关系的如“dtfeg”,“tiyoj”,“eugfh”,
“vkaql”四个串,明显“dtfeg”,“eugfh”相互对应(m =1),“tiyoj”,“vkaql”相互对应(m = 2)。
然而,看到海量的字符串,Gemini失去了手动匹配的信心,于是他机智地拿出了Raspberry Pi,开始写程序。
[Input]
第一行,一个整数N,表示有N段明文,N段密文。
第二行,N个长度为5的字符串,表示N段密文。
第三行,N个长度为5的字符串,表示N段明文。
[Output]
N行,每行两个整数ai,mi。ai表示第i 段明文对应的密文编号(从1开始),mi表示从第
i 段明文加密得到第i段密文所用的密钥m。
[Sample]
Sample Input
2
eugfh vkaql
dtfeg tiyoj

Sample Output
1 1
2 2
[Hint]
2 ≤ N ≤ 300 000。
保证有且只有一组解。
m的取值范围为[0,25]

一道神tm坑爹的哈希!我试图用普通的字符串哈希,然后强行枚举每个串mi从0到5的情况,然后boom超时一半。 显然题解用了一种更高明的方法,因为明文和密文的对应关系是唯一的,所以前后两个字符的ASCII码的差值也就固定了(如果有重复的那就混乱了,一个明文可能和多个密文对应,一个密文也可以和多个明文对应)。 所以设计一个26进制的哈希,第i位代表第i个字母和i+1个字母的ASCII码差值,这样每一个串就有唯一的哈希值了。然后进行普通的哈希处理即可。

program mys;
type
node=record
data:string[5];
num:longint;
end;

var a:string;
b:string[5];
st:ansistring;
ch:char;
i,j,k,m,n,t,ha:longint;
s:array[0..300000]of string[5];
p:array[0..600000]of node;

function hash(x:string):longint;
var i,y:longint;
begin 
hash:=0;
for i:=1 to 4 do 
begin 
y:=ord(x[i+1])-ord(x[i]);
if y<0 then y:=y+26;
hash:=hash*26;
hash:=hash+y;
end;
end;

procedure make(x:string;z:longint);
var ha:longint;
begin 
ha:=hash(x);
p[ha].num:=z;
p[ha].data:=x;
end;

procedure find(x:string);
var 
y,h:longint;
ss:string[5];
begin 
h:=hash(x);
ss:=p[h].data;
y:=ord(ss[1])-ord(x[1]);
if y<0 then y:=y+26;
writeln(p[h].num,' ',y);
end;

begin 
assign(input,'caesar.in'); reset(input);
assign(output,'caesar.out'); rewrite(output);
readln(n);
for i:=1 to n do 
begin 
b:='';
read(ch);
while (ch>='a')and(ch<='z') do
begin 
b:=b+ch;
read(ch);
end;
make(b,i);
end;

readln;
for i:=1 to n do 
begin 
read(ch);
while (ch>='a')and(ch<='z') do 
begin 
s[i]:=s[i]+ch;
read(ch);
end;
end;

for i:=1 to n do 
find(s[i]);
close(input);
close(output);
end.
网络安全CTF夺旗赛入门到入狱-密码学下篇 哈喽大家好,我是菜鸡林某。今天给大家带来CTF夺旗赛入门的第一步密码学篇下半部分(干货部分)不了解什么是CTF和密码学的可以看上一篇 传送门: 网络安全CTF夺旗赛入门到入狱-入门介绍篇 网络安全CTF夺旗赛入门到入狱-密码学上篇 好那么林某人课堂正式开课 常见的几种编码方式 字符编码: • ASCII编码 • base64编码 • Unicode编码 • URL编码 javascript编码: • js混淆 • JSfuck • jother • aaencode 一、ASCII编码(这玩意应该用不着 阅读详情

相关推荐

CTF-加密与解密(六)

声明:以下CTF题均来自网上收集,在这里主要是给新手们涨涨见识,仅供参考而已。需要题目数据包的请私信或在下方留言。 11.Hash还原 (来源:网络) 1.关卡描述 小明一直将电脑密码的Hash值写在标签纸上,结果一不小心墨水撒到了上面,只能看到前十位是c2979c7124,另外小明记得他的密码是4位的数字加字母,你能帮小明恢复密码的Hash值吗?(密码的Hash值即为Flag值) 2.解题步骤 2.1 通过分...

→_→ 5599

在线凯撒密码自动分析工具

2年前做的一个工具,根据英语语法中的单词分布频率来进行 分析偏移值。 注意:该工具仅能分析加密内容,如果原文不是英文,不符合英文的单词分布频率,则没有任何效果。 使用方式:将加密的凯撒密文放入到输入框中,然后点击分析即可。 在线使用链接:https://keith404.gitee.io/tool/caesarAuto.html gitee源代码仓库地址:Keith400/Tool (gitee.com) 毕竟是早期写的代码,所以写的代码风格和规范不是很好。 ...

Keith_Prime的博客 7367

CTF密码学实战:从基础编码到复杂加密的破解技巧

本文系统介绍了CTF竞赛中密码学题目的核心破解技巧。从Base64、URL编码等基础编码的快速识别,到凯撒密码、栅栏密码等古典密码的变种分析,再到MD5哈希查询与RSA公钥密码的入门级分解攻击,文章结合BUUCTF等平台实战案例,提供了清晰的解题思路与工具使用指南,帮助初学者建立系统的密码学破解思维。

weixin_29325007的博客 289

ubuntu20.04使用fcitx黑屏,改用ibus输入法

安装20.04ubuntu,在安装完搜狗拼音之后出现重启输入密码后黑屏问题,在下面的这位博客中找到了正确处理方式: Ubuntu18.04开机输入密码后无法进入桌面,只显示鼠标和背景问题解决。 由于卸载了fcitx后,不能用搜狗拼音了,故改用ibus的中文输入法解决输入问题: sudo apt-get install ibus-pinyin 再在设置里对输入方式进行设置,点击“+”选择中文输入法: 按win+space键切换输入法 ...

limtyty的博客 2828

从凯撒密码到RSA:一份给开发者的CrypTool2与OpenSSL实战速查手册

本文为开发者提供了一份从凯撒密码到RSA的密码学实战指南,重点介绍了CrypTool2和OpenSSL两大工具的应用。通过可视化学习和命令行操作,帮助开发者掌握古典密码到现代加密技术的核心原理与实践技巧,包括对称加密、非对称加密、证书管理等内容,提升应用安全性。

weixin_30383279的博客 657

CTFshow CRYPTO挑战:从入门到精通的密码学实战解析

本文系统解析了CTFshow平台上的CRYPTO密码学挑战,从古典密码、现代编码到RSA、对称加密等常见算法,提供了详细的实战解题思路与工具使用指南。文章旨在帮助读者快速识别密文特征,掌握高效解题流程,并搭建本地工具链,从而在CTF竞赛中从入门走向精通。

weixin_29303701的博客 303

凯撒密码解密脚本(python)

def casearDecrypt(ciphertext, source_char, destination_char): offset = ord(destination_char) - ord(source_char) chars = "abcdefghijklmnopqrstuvwxyz" for char in ciphertext:

Squeen_的专栏 8889

基于PlatformIO与CMSIS的STM32库函数开发实战:从环境搭建到外设驱动

本文详细介绍了基于PlatformIO与CMSIS的STM32库函数开发实战,从环境搭建到外设驱动实现。通过对比传统IDE,PlatformIO结合CMSIS框架在跨平台开发、代码可移植性和调试体验上更具优势。文章包含PlatformIO.ini配置详解、GPIO/USART驱动开发实例及常见问题解决方案,帮助开发者高效完成STM32项目开发。

weixin_29190169的博客 421

凯撒密码图解

一 什么是凯撒密码 二 凯撒密码的加密过程 用凯撒密码加密,密钥是3 三 凯撒密码的解密过程 用凯撒密码解密,密钥也是3 四 暴力破解凯撒密码 在凯撒密码中,密钥就是字母表平移的数字。由于字母表只有26个字母,因此加密用的密钥只有0到25共26种(平移0个字母实际相对于没有加密)。 按顺序将这26种密钥都尝试一遍。 五 补充 这种密码破译方法,就是将所有可能的密钥...

实践求真知 9万+

无人机避障——Mid360+Fast-lio感知建图+Ego-planner运动规划(胎教级教程)

本工作将 Mid360 激光雷达、Fastlio-SLAM 和 Ego-Planner 集成,实现无人机的环境感知、定位建图和运动规划(仿真过程)—— 胎教级教程。

weixin_45390670的博客 1万+

四足机器人机械结构设计:从腿型到驱动的全面解析

本文全面解析了四足机器人机械结构设计的核心要点。资深工程师老张深入探讨了并联腿与串联腿的选型策略、不同腿型布局对稳定性的影响,并详细对比了皮带轮与连杆驱动方式的优劣。文章结合实战经验,强调了足端设计、材料选择及整体结构轻量化等关键细节,为机器人开发者提供了从理论到实践的宝贵指导。

assembly8low的博客 632

2022-4-28 BUUCTF Crypto区部分题目分享

主题:BUUCTF Crypto区部分题目分享

Menou16的博客 3640

Spyglass实战指南:跨时钟域同步方案深度解析

本文深度解析了Spyglass在跨时钟域同步方案验证中的实战应用。通过真实案例阐述了亚稳态的危害,并详细介绍了从基础的两级同步器到复杂的异步FIFO与握手协议等八大同步方案,以及如何利用Spyglass进行有效配置、检查与问题排查,为提升芯片设计可靠性提供系统性的避坑指南。

weixin_29219189的博客 837

ctf密码学总结

自己做题总结的小知识点。 1.RSA 公钥标准文件的后缀是  .pem 加密过程  选择两个大素数p和q,计算出模数N = p * q  计算φ = (p−1) * (q−1) 即N的欧拉函数,然后选择一个e (1&lt;e&lt;φ),且e和φ互质  取e的模反数为d,计算方法: e * d ≡ 1 (mod φ)  对明文m进行加密:c≡m^e (mod n) 或 c = pow(...

Reset 1万+

复旦微FMSH_Procise安装流程

双击FMSH_Procise_2021.1_full_win64_202103151947.exe 选择好安装目录后点击“Next” 一路next 点install 找技术支持代为申请 License,将电脑MAC地址发过去,将获得的 license 拷贝到 procise 安装目录“data”文件夹,即可使用 procise。点license manager和copy license 将licence,.lic文件放到这个目录 要是报下面错误要...

wangjie36的博客 1万+

从微服务到 Agent 服务:架构思维的迁移

微服务的概念最早在2014年由Martin Fowler提出,核心是“将单体应用拆分为一组小的服务,每个服务运行在独立的进程中,服务之间采用轻量级的通信机制互相协作,每个服务围绕具体业务构建,并且可以独立部署到生产环境”。单一职责:每个微服务只负责一个业务领域的功能,比如订单服务只处理订单相关的逻辑,用户服务只处理用户相关的逻辑被动响应:微服务是“哑的”,只有收到外部请求的时候才会执行逻辑,本身没有主动决策的能力固定流程:微服务的逻辑是硬编码的,执行流程是提前定义好的,只能按照程序员写的代码处理请求。

AI智能探索者的博客 275

CTF密码学解题思路

变异凯撒 密文:afZ_r9VYfScOeO_UL^RWUc 格式:flag{} 因为题目给的是凯撒密码加密所以思考位移,a-f 五位 f-l 六位 z-a 七位 以此类推,对照ASCII表进行对照 验证思路是否正确,使用工具将密文转换为10进制 可以使用在线工具,python脚本,本地工具 97 102 90 95 114 57 86 89 102 83 99 79 101 79 95 85 76 94 82 87 85 99 将数字俩俩一对,逐个进行加法操作,第一对加5 第二对加6,以此类推得到,这一

龙卷风摧毁停车场 3074

Anomalib库安装以及使用

Anomalib是一个专注于异常检测的深度学习库。它的目标是收集最新的异常检测算法,并提供用于在公共和私有数据集上进行基准测试的工具。该库提供了一系列已实现的异常检测算法,这些算法在最近的文献中有所描述。此外,Anomalib还提供了一套工具,方便开发人员开发和实现自定义模型。该库特别注重基于图像的异常检测,旨在识别数据集中的异常图像或图像中的异常像素区域。通过使用Anomalib,用户可以快速构建和评估各种异常检测算法,以满足其特定需求。

mingo_敏 5197

2021-01-15

BUuCTF密码16到18题 1:rsarsa 1 看题: 打开附件,是个压缩包,360压缩打开 可知是rsa解密 可以用工具RSA Tool2求d: 题目中的e是十进制,在RSA Tool2中要改为16进制,用RSA Tool2求出私钥d,再用python函数pow()即可求出flag 运行得到flag: 5577446633554466577768879988 2:大帝的密码武器 打开附件: 是的zip文件,可以用360压缩打开 看到两个文档: 根据题意可知先通过凯撒解密 再进行下一步

m0_53548344的博客 205

磁悬浮分子泵:起源、现状与未来趋势深度解析

摘要 磁悬浮分子泵作为高真空获取的关键设备,通过磁悬浮技术实现转子无接触高速运转,大幅提升了真空系统的性能和可靠性。本文系统梳理了分子泵从机械轴承到磁悬浮的技术演变历程,分析了当前行业格局及主要厂商产品特性,包括爱德华兹、普发真空等国际巨头的技术优势。研究进一步探讨了磁悬浮分子泵在半导体制造、科研设备等领域的核心应用,通过数学模型揭示了其性能参数关系。最后,展望了未来在智能化、节能化等方面的发展趋势,为相关领域的技术创新提供参考。 关键词:磁悬浮分子泵;高真空技术;半导体制造;科研设备;技术发展

技术工作者 690

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Hello-CTF密码学基础:从古典密码到现代加密的完整解析

欢迎来到Hello-CTF密码学入门指南!作为CTF竞赛中最基础也是最重要的技能之一,密码学知识对于网络安全爱好者和CTF新手来说至关重要。本文将带你全面了解密码学的基础知识,从简单的编码技术到复杂的现代加密算法,为你在CTF竞赛中解决密码学题目打下坚实基础。 ## 📚 密码学基础知识概览 密码学是保护信息安全的核心技术,在CTF竞赛中占有重要地位。Hello-CTF项目提供了系统的密码学学

gitblog_00018的博客 886

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Crypto(BUU 题解)

观察题目,已经给了我们一大部分的flag,只剩下7个没给出来,可以直接枚举出来需要知道的一点要注意一点:我们是知道最后的是“}”,那么只需要循环6次即可,多了可能跑不出来得到答案:FCTF{e388fc29-339a-45f3-84ac-7f84c790b4cb}

m0_73725283的博客 1590

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Buuctf-Crypto-之深夜刷题部分wp

萌萌哒的八戒 首先下载好附件,解压,是一幅猪图,图的下方是一串看不懂的字,百度输入关键词猪、密码,可知这是猪圈密码,手撸得WHENTHEPIGWANTTOEAT 大写不对,换成小写。 whenthepigwanttoeat 传统知识+古典密码 首先下载好附件,解压:小明某一天收到一封密信,信中写了几个不同的年份辛卯,癸巳,...

若谷的博客 192

信安小组暑假作业

信安小组暑假作业 web安全作业 2019年8月11日# (由于markdown 的文件要上交,所以就不插入图片了,也不知道图片传来传去就传没了) 题目一摩斯密码 .. .-.. --- ...- . -.-- --- ..- 从优快云上找到的摩斯密码转换代码:原理为使用字典,直接进行转换 python代码 from __future__ import print...

韩旭051的博客 1172

reverse[MoeCTF 2022]fake_key

【代码】reverse[MoeCTF 2022]fake_key。

SUOYE_GUANXING的博客 252

[SWPU CTF]之Misc篇(NSSCTF)刷题记录⑥

第十二张图: 新闻联播 一般我晚上 7点或者19.00。第一张图:20%和80% 猜测可能是 28或82。第三张图:而立之年 30而立嘛 肯是30。第二张图:一张八卦图 猜测是08。第六张图:飞机歼-20 20。第七张图:两只黄鹂鸣翠柳 02。第八张图:一起去看流星雨 17。第四张图:北斗七星图 07。第五张图:江南四大才子 04。第十一张图:12星座 12。第十张图:一马当先 01。第九张图:乔丹 23。

Aluxian_的博客 3498
上一篇: WikiOI 4163 hzwer与逆序对 (归并排序)
下一篇: 查错 (拓扑排序+堆维护)
CodeOnce
博客等级 码龄10年 3粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值