当前位置: 首页 > news >正文

[密码学入门]凯撒密码

单表代换

单表:英文26字母的顺序

代换:替换为别的字母并保证解密的唯一性

假如我们让加密方式为所有字母顺序移动3位

import stringstring.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'

b=3

加密算法y=(x+b)mod26

解密算法为x=(y-b)mod26

密钥空间26

明文空间,密文空间均为26个英文字母

如果不使用英文标准表,而是从26字母的全排列(26!)中随机选择一个,敌手单纯爆破这个单表和密钥还是很难的。

不过单表代换密码有一个问题:无法掩盖英文字母的统计学特征(如字母e的出现次数更多)。

假如:e在明文中出现700次,e被加密为s,s在密文中也会出现700次。敌手可以通过分析单个字母,词组,词缀等方法直接跳过秘钥,直接尝试恢复明文。

http://www.lryc.cn/news/161988.html

相关文章:

  • 博客之QQ登录功能(一)
  • Redis多机数据库实现
  • Leangoo领歌 -敏捷任务管理软件,任务管理更轻松更透明
  • go的iris框架进行本地资源映射到服务端
  • 代码随想录day46|139. 单词拆分
  • MATLAB实现函数拟合
  • vue优化首屏加载时间优化-cdn引入第三方包
  • lv4 嵌入式开发-3 标准IO的读写
  • iOS UIDevice设备信息
  • SLAM ORB-SLAM2(2)编译安装
  • 第11节-PhotoShop基础课程-索套工具
  • Json字符串内容比较-超实用版
  • Redis系列之客户端Redisson
  • centos 端口被占用的快速排查方式
  • Java“牵手”淘宝商品列表数据,关键词搜索淘宝商品数据接口,淘宝API申请指南
  • OpenEuler/CentOS如何修改密码策略
  • # Spring MVC与RESTful API:如何设计高效的Web接口
  • Scrum敏捷模式的优势点、实践经验及适用企业
  • 【C++杂货铺】探索stack和queue的底层实现
  • “系统的UI”——SystemUI
  • 类和对象:构造函数,析构函数与拷贝构造函数
  • 谈谈Java的特点和优点以及选择Java的原因
  • 消息队列(MQ)面试
  • 无涯教程-JavaScript - COUPNUM函数
  • 上海控安携汽车网络安全新研产品出席AUTOSEMO“恒以致远,共创共赢”主题研讨会
  • 小程序引入高德/百度地图坐标系详解
  • 英诺森 “供应链智能数据平台”荣获“科技进步奖”
  • kafka 3.5 主题分区的Follower创建Fetcher线程从Leader拉取数据源码
  • Golang web 项目中实现自定义 recovery 中间件
  • Direct3D绘制旋转立方体例程