古典密码学学习笔记

1.历史

古典密码阶段:1949年以前

近代密码阶段:1949-1975年

现代密码阶段:1976年至今

2.加密方法

古典密码学的加密方法主要有两大类:替代和置换,或者是两者的结合

3.基本密码

1.键盘布局加密

  • 这是一种比较简单也比较另类的密码,通常都是给出一堆无意义的字符,但定将这些字符按照在键盘上的布局比划一下,就可以根据形状拼出相应字符。
  • 这类题目基本可以划归脑洞题的范围,不过由于比较简单,只要做过几个练习题,再遇到类似的题目就自然有了思路。

例题:

1. 南邮-crypto-keyboard

 

我们看到第一串字符为a,后面的字符依次画出来:areuhack

2. 键盘坐标加密

 例题:

1.

flag{qazijcv},flag不对我们换成大写试试就对了:flag{QAZIJCV }

 2.

 

 2.BrainFuck和Ook密码

  1. BrainFuck和ook主要用于对程序源代码进行加密,主要思想是将源码中的指令替换成其它的一些符号。

  2. 对于这两类加密方法,我们无需去探究其原理,只要在做题时能识别出这是哪种加密方法,然后再利用相应的工具解密即可。

  3. BF密码用 > < + - . , []八种符号来替换c语言的各种语法和命令。

  •  2+3经过编码之后的密文:

  • I++++++l->+十++十十+<>+.------.+++++++十,<

  1. Ook密码由三种符号组成:Ook.、Ook?、Ook!
  2. 还有一种就是简写形式就是去掉了Ook只有.、?、!
  • 2+3轻过编码之后的密文:
  • Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook!

  • Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

  • Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook! Ook. Ook!

  • Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.

  • Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

 

4.替代密码 

  •  替代密码是指先建立一个替换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文。

  • 在替代密码中,每个字母或每一组字母被另一个字母或另一组字母所取代。

  •  替代密码保留了明文符号的顺序,但是将明文伪装起来。

 1.摩斯密码

  1. 摩斯密码由美国人艾尔菲德·维尔(Alfred Lewis Vail)与萨缪尔·摩尔斯(SamuelFinley Breese Morse)在1836年发明。

  2. 摩斯密码是一种早期的数字化通信形式,虽然由点“."和横“"两种符号组成,但它不同于现代只使用o和1两种状态的二进制代码。

      

查看源图像

查看源图像

 

查看源图像

 

 

 

 例题:

1.0是.,1是-

 

man ascii        #查看ASCII码表

2.凯撒密码

 

 

#解密
print("*"*30)
	print("    欢迎来到凯撒密码解密系统!")
	print("*"*30)
	x = input("请输入你的密文:")
	y = int(input("请输入公钥:"))
	c = ''
	for i in x:
		c += chr((ord(i)-97-y)%26+97)
	print("明文:",c)
#加密
print("*"*30)
	print("欢迎来到凯撒密码加密系统!")
	print("*"*30)
	x = input("请输入你的密文:")
	y = int(input("请输入公钥:"))
	c = ''
	for i in x:
		c += chr((ord(i)-97+y)%26+97)
	print("密文:",c)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值