Nihilist—矩阵式替换密码

正常的替换密码像凯撒,单表替换之类的都是特定的位移长度或者一对一替换,还有难一点的多表替换,但都是以一个一维数组的形式来替换的。
Nihilist这个替换密码又叫关键字密码,属于Polybius密码的变形种类,利用密钥构建棋盘矩阵,如果是26个字母作为明文的信息,构建一个5*5的矩阵,将字母不重复的依次填入矩阵,并且i和j是等价的。

以关键字helloworld为例

得到这样的一个加密矩阵
加密过程:
a = map[2,3]=23
q = map[4,3]=43

解密过程:
23 = map[2,3] = a
43 = map[4,3] = q

结论:
替换密码的特点:
纯数字,只有1-5,密文长度为偶数
缺点:
1.关键字暴露就崩盘(加解密方法简单)
2.密文足够长可以词频分析破解
3.当使用同一关键字,多次加密消息时,可以被破解
优点:
加解密简单
占用传输资源小

Nihilist—矩阵式替换密码相关推荐

  1. 单表置换密码java代码实现_单表替换密码

    要求: 实现单表替换密码,用键盘接收明文和密钥,屏幕答应替换表和密文,大小写敏感,输入健壮性. 实际问题: 密钥处理应该是这个程序的重点,加密和解密都没有什么要注意的地方.用key[]数组接收keyt ...

  2. 推荐一个自动破解替换密码的工具

    在解决替换密码的时候,我们一般使用Jcrypto或者cryptool(https://www.cryptool.org/de/jcryptool)先进行频率分析. 然而我不久前发现了个有用的工具可以进 ...

  3. 使用爬山法实现简单替换密码的破译

    使用爬山法实现简单替换密码的破译 本来我没有这个作业,看到有人在群里问这个作业,就顺手写出来了,感觉收获挺大的,就写成个博文和大家一起交流. 欢迎来我网站:www.xuanworld.top 一.题目 ...

  4. NSSCTF刷题wp——单表替换密码

    NSSCTF Crypto 模块 单表替换密码 [HGAME 2022 week1]Matryoshka ID:1855 打开Matryoshka.txt,发现是一堆点,看标签可能是Braille盲文 ...

  5. 信息安全——替换密码加密(使用Cryptool、物联网)

    信息安全--替换密码加密(使用Cryptool.物联网) 古典密码算法曾经被广泛应用,大都比较简单,使用手工和机械操作来实现加密和解密.它的主要对象是文字信息,利用密码算法实现文字信息的加密和解密.古 ...

  6. 历史著名密码(凯撒密码、简单替换密码、Enigma)

    凯撒密码 公元前100多年凯撒发明的一种密码,简单来说是平移密码,也就是将字母位置向后移动一定位数. 如原文是ABCDEFG,密钥为3,加密后就是DEFGHIJ. 以密钥的数字向后平移了三位,如果密钥 ...

  7. 密码学(第二讲)---凯撒密码破译和简单替换密码

    上节课,我们已经初步学习了凯撒密码和一些密码学的概念.今天,我们来学习破译和简单替换密码. 一.凯撒密码 凯撒密码是将字母往后平移3个,(列如apple加密的方式为: a–>a+3–>d ...

  8. 密码学学习笔记(一)——凯撒密码及简单替换密码

    文章目录 1. 凯撒密码 1.1 加解密方式 1.1.1 加密 1.1.2 解密 1.2 暴力破解 2. 简单替换密码 2.1 加解密方式 2.1.1 加密 2.1.2 解密 2.2 频率分析法破解 ...

  9. 密码学替换密码c语言编程,古典密码学上机实验

    实验一.传统密码算法 一.实验目的及任务 通过编程实现替代密码算法和置换密码算法,加深对古典密码体制的了解,为深入学习密码学奠定基础 二.实验环境 运行Windows操作系统的PC机,具有C语言编译环 ...

最新文章

  1. 从某次测试过程中,得到的MySQL性能优化的建议,和定位问题的方法
  2. hihoCoder 1312:搜索三·启发式搜索(A* + 康托展开)
  3. DataInputStream
  4. ASP.NET 2.0主题和皮肤实现网站美化
  5. app 应用商店系统php,GitHub - ChhXin/appstore-admin: 基于ThinkPHP的应用商店后台管理系统...
  6. Linux Android 常用shell命令汇总 不断更新
  7. 怎样用CDN防篡改、抗攻击、控内容?一份CDN安全指南请查收
  8. c语言中日期间的天数怎么计算,关于计算两个日期间天数的代码,大家来看看...
  9. 搭建NFS共享目录,解决wordpress负载均衡图片上传问题
  10. 基于JAVA+Swing+MYSQL的研究生科研信息管理系统
  11. linux下的C语言开发(进程等待)
  12. 工业机器人九龙坡区职教中心_2020年度机械行业职业教育技能大赛“汇博杯”精密模具智能制造综合技术应用赛项于重庆工业职业技术学院正式闭幕...
  13. CAM(内容可寻址存储器)的认知
  14. 面试官:如何进行 JVM 调优(附真实案例)
  15. 在linux下安装mplayer和解码器
  16. 怎么计算机械需要的电机,比方说一个90kw的电机它的最大电流应该是多少?应该用多少平方的铜线?怎么计算呀?...
  17. 重磅来袭!这几款手机软件绝对的深入人心!
  18. 【Python】pandas的read_csv参数简略概括(header,path),DataFrame的返回值describe,plot,head
  19. php 实现每日持续签到,累计签到,送积分
  20. 胆结石饮食有什么禁忌?

热门文章

  1. 初识Chrome Performance
  2. 预见2021:云计算发展十大趋势
  3. 实战演练 | 在 Navicat 16 中生成测试数据
  4. 什么是股票期权?股票期权激励是什么?
  5. android调用js接口,Android代码和JavaScript互相调用
  6. scratch练习之渣男
  7. enum枚举构造函数
  8. 计算机械效率的公式四种,功功率和机械效率复习课)ppt课件.ppt
  9. 动手学Zeppelin数据挖掘生产力怪兽
  10. Romberg算法(C语言实现)