首页 > 其他分享 >应用密码学——古典密码

应用密码学——古典密码

时间:2024-03-08 21:23:30浏览次数:20  
标签:字母 明文 密码 密钥 古典 密文 密码学 置换

替代密码

单表替代

每个字母对应的密文字母固定。

  1. 一般单表替代
    密钥空间n = 26!
  2. 移位密码
    凯撒密码就是密钥为3的移位密码。
  3. 仿射密码
    加密:k1*m + k0 (mod 26)
    要求k1与26互素,避免出现多个明文对应同样的密文。
  4. 密钥短语密码
    密钥是一个短语(单词),写在替代表最前端,整张替代表去掉所有重复字母。

多表替代

  1. 维吉尼亚密码
    a-z用0-25编号,明文对应数字按位加上密钥(长度不够就循环使用)对应数字mod26,得到的数字译成字母就是密文。
  2. 希尔密码
    密钥是一个n*n矩阵,将明文分为长度为n的组,密钥矩阵乘上每个分组矩阵,结果mod26得到密文对应矩阵,按原顺序拼成完整密文。
  3. 一次一密密码
    难以做到。
  4. Playfair密码
    基于一个5*5方格。
    密钥去除重复字母按行从左上开始填入,具体类似于密钥短语密码填替换表的方法。i和j填在同一格。
    明文两个分为一组。遵循下述复杂规则:
  • 若两字母同行,分别加密为右侧紧邻字母。
  • 若两字母同列,分别加密为下方紧邻字母。
  • 若不同行不同列,分别加密为由两字母确定的矩形的同行字母。
  • 若两字母相同,则在两字母中间插入一个事先约定的字母,按上述规则处理。
  • 若明文长度为奇数,在末尾插入事先约定字母。
  • 上下边界、左右边界进行循环。

置换密码

周期置换密码

给出一个置换密钥Π,按密钥长度将明文分组,每一组按照密钥进行置换后按顺序拼成密文。

列置换密码

给出一个置换密钥Π,明文按密钥长度为一行写出,按列执行密钥的置换。

转轮机密码

慢、中、快三个转子,慢端输入明文,快端输出密文。每次按键,快端向下移动一个位置,26次后中端移动,中端移动16次后慢端移动。加解密双方需要使用同样的转轮机。

标签:字母,明文,密码,密钥,古典,密文,密码学,置换
From: https://www.cnblogs.com/ww0809/p/18061825

相关文章

  • win共享盘出现用户名或密码错误,你不能访问此共享文件夹,因为你组织的安全策略阻止未经
     win10共享文件夹的创建、访问凭据一直提示“用户名或密码错误”的解决办法_输入你的凭据以连接到用户名和密码不正确-CSDN博客 https://blog.csdn.net/wxp353/article/details/127055846 如何解决“你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访......
  • MongoDB Server 用户名和密码登录
    一、前言#默认情况下,MongoDB实例启动运行时是没有启用用户访问权限控制的,也就是说,在实例本机服务器上都可以随意连接到实例进行各种操作,MongoDB不会对连接客户端进行用户验证,这是非常危险的MongoDBServer默认不进行安全认证,即任何MongoDBClient都可以连接并拥有操作权限。在个......
  • Windows 下 强制修改 MySQL的 root 账号密码
    更新记录点击查看2024年3月6日发布。2024年2月6日初始化。关闭MySQL服务netstopMySQLnetstopMySQL57netstopMySQL80netstop自定义的服务名启动MySQL但不带权限转到mysql/bin目录然后执行mysqld–console–skip-grant-tables–shared-memory如果遇到......
  • 【Redis】docker redis设置永久密码
    1.进入容器dockerexec-it容器idbash 2.追加密码设置echo"requirepass123456">>/etc/redis/redis.conf 3.退出容器并重启容器exitdockerrestart容器id ......
  • 密码安全:保护你的数据不被入侵的重要性
    在数字时代,密码安全是保护个人和机构数据的关键。然而,不安全的密码可能导致严重的后果,包括个人隐私泄露、金融损失和声誉受损等。本文将探讨密码安全的重要性,揭示不安全密码的危害,列举一些因密码不安全而发生的真实事件,介绍安全的密码特征以及不安全的密码特征,并提供一些创建......
  • mysql 8 修改账号密码
    一进入Mysqlbin目录cmd运行(跳过密码),运行完不要关闭mysqld--console--skip-grant-tables--shared-memory二新打开一个cmdmysqlbin目录下登录,密码输入时,直接回车mysql-uroot-p三修改密码mysql>usemysql;mysql>updateusersetauthentication_string=......
  • Java正则约束密码
    1.密码只能是数字、小写英文字母、大写英文字母、下划线组成,且密码至少包含3种,长度至少有11位。//定义字符串Stringpassword="slwoei123_1";//匹配字符串Stringverify="^(?![a-zA-Z]+$)(?![a-z\\d]+$)(?![a-z_]+$)(?![A-Z\\d]+$)(?![A-Z_]+$)(?![\\d_]+$)[a-zA-Z\\d_]{1......
  • 青少年CTF平台练习密码学
    凯撒大帝的征讨之路题目凯撒大帝在出征之路上留下了这样一串字符,你能通过这串字符得到FLAG并提交吗?lnixoa{1x2azz7w8axyva7y1z2320vxy6v97v9a}我的解答:凯撒密码qsnctf{1c2fee7b8fcdaf7d1e2320acd6a97a9f}PigPig题目这是什么密码呢?得到的结果请加上qsnctf{}后提交。我的......
  • powershell保护明文密码
    winrm脚本能运行了,就想着明文密码怎么也隐藏一下,网上搜了一圈,还是sparkdev的简单明了:https://www.cnblogs.com/sparkdev/p/7258507.html试着走一下,txt方式有效,高级的txt+key却报错“ConvertTo-SecureString:输入数据不是完整的块”,一时也不知怎么解决,只得记下日后反刍。$Pass......
  • 20211121杨博川《密码工程》1、2章笔记
    一二章笔记@目录一二章笔记第1章密码学研究范围思维导图知识概述1.1密码学作用1.2木桶原理1.3对手设定1.4专业偏执狂1.5威胁模式1.6密码学不是唯一解决方案1.7密码学是非常难的1.8密码学是简单的部分1.9通用攻击1.10安全性和其他设计准则1.11更多阅读材料1.12专业偏执狂练习第2......