编码学习的笔记

编码学习的笔记

密码学从古典密码的替换、置换到机械密码再到现代密码学,这是个漫长的过程。
最近看了一本《编码:隐藏在计算机软硬件背后的语言》,对编码有了一些体会,做个笔记。(笔记部分选取书内,)

前言

先来个小彩蛋
记事本输入“联通”,然后保存,再打开,发现乱码,大概这个样子
在这里插入图片描述
而“移动”重复这样操作就没有这种情况,戏称为“联通不如移动”。

原因是:
而这种情况是因为windows默认编码是GB2312,“联通”的联GB2312编码为\uc1aa,二进制为110000110101010,是按八位一组与UTF8的编码对应,使得windows误认为是UTF-8的文件。

古典密码CTF上并不是感觉很让人有什么兴趣,毕竟工具多基本上就能出来,但CTF不过是竞赛,与真实世界的模拟还有一定距离,在密码学划了一段时间水后,找到了一些好的资料,蛮有意义。
本质上来说,编码更多是的交流,而不是加密保护机密,比如GBK2312的汉语编码,在现在加密更多的是现代密码学。

摩尔斯密码(Morse code)

又称为莫斯密码(翻译问题)
在这里插入图片描述
只有点(bot)和划(dash)的古典密码,应用上有很多替代的方式,比如0和1代替点和划线,中间用/或者空格代替,又或是音频里面其中一个声道的电平可以用来制作摩尔斯密码。
特点:

  • 只有两个字符

  • 字符间隔:“.”为1t,“———”为3t,两个之间1t,字符间3t,字间7t。

    附上一个快速记下摩尔斯密码的树形图。(原图太模糊,重新做了一个)
    在这里插入图片描述

进制的转换

2进制:Binary
8进制:Octal
10进制:Decimal
16进制:Hexadecimal
顾名思义,二进制每个位数为0-1,八进制即为0-7,16进制为0-f(其中a-f代表10-15)。

简单的计算过程:
二进制到十进制 如10010,

10010 = 1 × 2 4 + 0 × 2 3 + 0 × 2 2 + 1 × 2 1 + 0 × 2 0 10010=1\times2^4+0\times2^3+0\times2^2+1\times2^1+0\times2^0 10010=1×24+0×23+0×

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值