维吉尼亚密码加密/解密在线工具
维吉尼亚密码加密/解密在线工具,工具链接:http://www.atoolbox.net/Tool.php?Id=856
维吉尼亚密码是在凯撒密码基础上产生的一种加密方法,它将凯撒密码的全部25种位移排序为一张表,与原字母序列共同组成26行及26列的字母表。另外,维吉尼亚密码必须有一个密钥,这个密钥由字母组成,最少一个,最多可与明文字母数量相等。
维吉尼亚密码加密方法示例如下:
明文:I've got it.
密钥:ok
密文:W'fs qcd wd.
首先,密钥长度需要与明文长度相同,如果少于明文长度,则重复拼接直到相同。本例中,明文长度为8个字母(非字母均被忽略),密钥会被程序补全为“okokokok”。现在根据如下维吉尼亚密码表格进行加密:
明文第一个字母是“I”,密钥第一个字母是“o”,在表格中找到“I”列与“o”行相交点,字母“W”就是密文第一个字母;同理,“v”列与“k”行交点字母是“F”;“e”列与“o”行交点字母是“S”……
在维吉尼亚密码中,发件人和收件人必须使用同一个关键词(或同一段字母),这个关键词告诉他们怎么样才能前后改变字母的位置来获得该段信息中的每个字母的正确对应位置。比如:如果关键字为“BIG”,发件人将把明文中的第一个字母按“B”行来加密(向后移动1个位置,因为B是排在A后面的第1个字母),明文中的第二个字母按“I”行来加密(向后移动8个位置,因为I是排在A后面的第8个字母),明文中的第三个字母按“G”行加密(向后移动6个位置,因为G是排在A后面的第6个位置),后面再循环操作即可完成加密任务。
例如:
明文:THE BUTCHER THE BAKER AND THE CANDLESTICK MAKER。
密钥:BIG
密文:UPK CCZDPKS BNF JGLMX BVJ UPK DITETKTBODS SBSKS
注意:维吉尼亚密码在线加密/解密工具只对字母进行加密,不区分大小写,若文本中出现非字母字符会原样保留。
维吉尼亚密码加密/解密在线工具相关推荐
- python编写加密程序_python编写的维吉尼亚密码加解密程序
维吉尼亚密码表 ============================================= #维吉尼亚密码 加密 key='helloworld' plaintext='whereis ...
- python 维吉尼亚密码加密和解密
最近在学密码学,作业里面的加密解密看得脑壳疼,刚好寒假自学了一些python,第一反应就是用python帮我加解密. 菜菜的我写了好久,刚写完,然后同学告诉我维吉尼亚密码有专门的加密解密的库,我一下就 ...
- 实验吧-密码学-杯酒人生(特殊凯撒--维吉尼亚密码)(凯撒加解密脚本、维吉尼亚密码加解密脚本)...
题目: 使用古典密码 一喵星人要想喵星发送一段不知道干什么用的密码"BLOCKCIPHERDESIGNPRINCIPLE", 但是它忘记了密钥是什么, 手头(爪头)只有它自己加密过 ...
- 维吉尼亚密码加解密与破解
实验目的 1.进一步理解维吉尼亚密码的加解密原理 2.进一步理解维吉尼亚密码的缺陷和利用方法 3.提高编程实践能力 实验要求 1.实现维吉尼亚加解密函数 2.破解维吉尼亚加密的密文 实验步骤 1.维吉 ...
- Vigenere维吉尼亚密码加解密
1 相关公式及算法 参考:https://slidesplayer.com/slide/17887679/ 源码:https://github.com/pp-tt/Vigenere 1.1 加密算法 ...
- 维吉尼亚密码加解密以及密文破解(某电密码学进展实验)
注:破解采用的是卡西斯基实验,博主水平有限,代码仅供参考学习 import string from itertools import cycle import numpy as np import r ...
- 用python实现维吉尼亚密码的加密与唯密文解密
目录 加密过程 加密原理 代码加密的思路 代码预览 代码解析与运行效果 唯密文解密过程 解密原理 代码预览 代码分析与运行结果 加密过程 加密原理 字母表中每一个字母都对应着一个数字,从A~ Z依次是 ...
- RSA算法与维吉尼亚密码
RSA算法 RSA算法描述 第1步:用两个很大的互异的质数p和q(p和q必须保密),计算它们的乘积n=pq:n是模数. 第2步:选择一个比n小的数e,它与(p-1)(q-1)互为质数,即除了1以外,e ...
- 密码学 | 维吉尼亚密码(Vigener)
1 单字母替换(前备知识) 在大量英文文献以及普通英文文章中,研究者发现这种文章中单词出现的频率符合一定的规律.如上表所示,例如a出现的频率在8.2%左右,e出现的频率最高,在12.4%左右.y.z频 ...
最新文章
- Linux的19 个装B的命令,记得搂一遍!!!
- ATO/MTO类机械制造业特点以及ERP需求分析(三)
- JS魔法堂:彻底理解0.1 + 0.2 === 0.30000000000000004的背后
- 阿里云安装git_阿里云服务器快速建网站_安装BT宝塔面板和wordpress
- Oracle修改redo log大小的方法
- 单调队列以及单调队列优化DP
- Android异常总结---1.Android java.net.SocketException: Address family not supported by protocol
- MySQL 存储过程 if语句
- python下载哪个版本好-python下载哪个版本好
- C#:获取web.config中配置的IP地址
- hfss仿真软件入门教程
- 百度文库文章提取器(下)
- 西门子S7-200smart PLC远程下载程序的方法
- Android 最常用的设计模式十一 安卓源码分析—— 代理模式(proxy)
- HDMI接口是什么?HDMI接口的基础知识讲解
- win10+Ubuntu18.04.2双系统双硬盘安装及分区
- rk板子linux系统安装rga,drm,mpp
- PHP性能 - php_performance - by llia alshanetsky
- MFC无标题栏自绘对话框可拖动按钮三态仿QQ弹窗样式
- Centos下rarcrack破解压缩包密码
热门文章
- upc 6617: Finite Encyclopedia of Integer Sequences(树的先序遍历第n/2个结点)
- 体素转换为点云(VRN)
- 体素滤波算法python实现
- java 手机应用开发
- java 空格 char_java中如何判断char是否是空格
- git branch分支创建、切换、合并,git tag标签
- 3GPP TS 23501-g51 中英文对照 | 5.2.4 Authorisation
- SCM:新一代存储介质技术
- 线性代数拾遗(二):线性方程组的解集及其几何意义
- Sublime Text 3 汉化的简单方法