密码学替代技术_替代技术及其类型| 密码学

密码学替代技术

As we already discussed what are the Substitution techniques and one of its type Ceasar Cipher? So we are not discussing it here for that please refer to Cryptography: CeasarCipher here: Cryptography: Caesar Cipher and its Python Implementations

正如我们已经讨论的那样, 什么是替代技术,以及哪种类型的Ceasar Cipher ? 因此,此处我们不在此讨论,请参考密码学:CeasarCipher此处: 密码学:Caesar Cipher及其Python实现

替代技术的类型 (Types of Substitution Techniques)

1. Mono-alphabetic Cipher:

1.单字母密码:

Predictability of Caesar Cipher was its weakness once any key replacement of a single alphabet is known then, the whole message can we decipher and almost 25 attempts are required to break it.

一旦知道单个字母的任何键替换,Caesar Cipher的可预测性就是它的弱点,那么我们就可以解密整个消息,几乎需要25次尝试才能破解它。

In this technique, we simply substitute any random key for each alphabet letter, that is 'A' can be being replaced with any letters from B to Z and 'B' can be changed to rest of the Alphabets but itself and so on. Let's say we substitute A with E that doesn't mean that B will be replaced by F.

在这种技术中,我们只需将任意随机键替换为每个字母即可 ,即可以用B到Z的任何字母替换“ A”,并且可以将“ B”更改为其余字母,但以此类推。 假设我们用E代替A并不意味着B将被F取代

Mathematically, we have 26 alphabet permutation which means (26 x 25 x 24 x...2) which is about 4 x 1026 possibilities.

在数学上,我们有26个字母排列,这意味着(26 x 25 x 24 x ... 2)大约有4 x 1026个可能性。

There is only one problem with it and that is short text created using this technique, a crypto analyst can try different attacks solely based on her knowledge of the English language. English analyst found that the probability of occurrence of the letter P is 13.33% which highest followed by Z with 11.67% and occurrence of letters like C, K, L, N or R is negligible. A cryptanalyst can try various alphabets in place of cipher-text alphabet or she can look for repeated patterns of the word for is example word 'to' or 'is' occur frequently in English so she can try replacing all the T's and O's from the cipher-text and deduce further to three letter words like 'the', 'and' and so on.

它只有一个问题,那就是使用这种技术创建的短文本,加密分析师可以仅根据她的英语知识来尝试不同的攻击。 英国分析家发现,字母P出现的概率为13.33% ,其次是Z ,其出现概率为11.67% ,而字母C,K,L,N或R的出现概率可以忽略不计。 密码分析员可以尝试使用各种字母代替密文字母,也可以寻找单词的重复模式,例如单词“ to”或“ is”在英语中经常出现,因此她可以尝试替换字母中的所有T和O密文,并进一步推论出三个字母词,例如“ the”“ and”等。

2. Homophonic Substitution Cipher:

2.谐音替代密码:

The Homophonic substitution and mono-alphabetic substitution are very much alike. Like in plain cipher substation we replace an alphabet with a key but in case of Homophonic Substitution, we map an alphabet with a set of fixed keys (more than one key). For instance, A can be replaced with H, J, O, P and B will replace with any of the following inspite of A's key set D, I, W, Z etc.

谐音取代和单字母取代非常相似。 就像在普通密码变电站中一样,我们用一个键替换一个字母,但是在同音替换的情况下,我们使用一组固定键(一个以上的键)映射一个字母。 例如, A可以替换为H,J,O,P,而B可以替换为以下任意A,但其键集为D,I,W,Z等。

3. Polygram Substitution Cipher:

3.多边形替代密码:

In Polygram substitution cipher, instead of replacing one plain-text alphabet we simply replace a block of the word with another block of a word. Example, 'INCLUDEHELP' will change to 'WDSAEQTGTAI' whereas 'HELP' will replace to 'RYCV'. This is true that the last four letters are the same but still different in both words.

在Polygram替换密码中,我们没有替换一个纯文本字母,而是简单地用另一个单词块替换了一个单词块。 例如, “ INCLUDEHELP”将更改为“ WDSAEQTGTAI”,“ HELP”将替换为“ RYCV” 。 的确是最后四个字母相同,但两个单词仍然不同。

Polygram Substitution Cipher

4. Polyalphabetic Substitution Cipher:

4.多字母替代密码:

Polyalphabetic Substitution cipher was introduced by Leon Battista in the year 1568, and its prominent examples are Vigenère cipher and Beaufort cipher.

多字母替代密码是莱昂·巴蒂斯塔(Leon Battista)在1568年提出的,其著名的例子是维格涅尔密码博福特密码

We use multiple one-character keys, each key encrypts one plain-text character. This first key encrypts the first plain-text character, the second the key encrypt the second plain-text character and so on, after all, keys are used then they are recycled. If 50 one-letter keys, every 50th character in the plain text would be placed with the same key and this number (in our case, 50) is period of the cipher.

我们使用多个单字符密钥,每个密钥加密一个纯文本字符。 这个第一个密钥加密第一个纯文本字符,第二个密钥加密第二个纯文本字符,依此类推,毕竟使用了密钥然后将它们回收。 如果有50个单字母密钥,则纯文本中的 50 字符将使用相同的密钥放置,并且该数字(在我们的示例中为50)是密码的周期

The key points of the polyalphabetic substation cipher are the following:

多字母变电站密码的要点如下:

  1. It uses a set of related mono-alphabetic substitution rules.

    它使用一组相关的单字母替换规则。

  2. The ruleused for transformations determined by the key it uses.

    用于转换的规则,由它使用的键确定。

翻译自: https://www.includehelp.com/cryptography/substitution-techniques.aspx

密码学替代技术

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/541705.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flask+uwsgi+Nginx环境搭建

2019独角兽企业重金招聘Python工程师标准>>> 开源软件准备 需要的软件列表: setuptools-33.1.1.zip Python-2.7.13.tgz pip-9.0.1.tar.gz nginx-1.10.3.tar.gz 软件统一上传到/usr/local/src/下,python是使用自己编译的。Python安装 先安装以…

穿越迷宫c语言程序设计教程课后答案,实验二 迷宫实验.doc

#include #define ROW 11#define COLUMN 15typedef struct{ /*栈中的数据元素的类型定义*/int row; /*行下标*/int col; /*列下标*/int direction; /*下一步移动方向*/} DATA;Typedif struct node{ /* 栈类定义*/DATA data;Struct node *next;}LinkStack;Typedef struct{/*移动…

ofb模式_密码学中的输出反馈模式(OFB)

ofb模式This is an output feedback (OFB) mode is similar in structure to that of CFB in Cryptography. It is the output of the encryption function that is fed back to the shift register in OFB in the cryptography, whereas in CFB in the mode of blocks, the ci…

JavaScript0-闭包

1.闭包的概念:在JavaScript中局部作用域总是能够访问到全局作用域,即内部函数总是能够访问到外部函数的参数和变量,即使内部函数调用完毕。也就是指有权访问到函数作用域里的变量。 function fn1() {var x 0;return function() {cosole.log(…

win8编程c语言,Win8系统怎么运行C语言 win8系统运行C语言的方法

C语言是一门通用计算机编程语言,是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言,但是许多win8系统用户并不知道要怎么运行C语言,针对这个情况,小编就给大家分享一…

stack示例_C.示例中的Stack.CopyTo()方法

stack示例C#Stack.CopyTo()方法 (C# Stack.CopyTo() method) Stack.CopyTo() method is used to copy the stack elements/objects to an existing array from the given index. Stack.CopyTo()方法用于将堆栈元素/对象从给定索引复制到现有数组。 Syntax: 句法&am…

Linux sudoers文件的写法

2019独角兽企业重金招聘Python工程师标准>>> 文件的组成 sudoers文件由三部分组成: sudoers的默认配置,主要设置sudo的一些缺省值(本文不会对这些默认配置进行介绍,若有兴趣可以自己man 5 sudoers然后搜defaults)alias…

if是什么c语言,这个C语言是什么(if(1))?

我在openssl源代码中注意到一个奇怪的成语,here并重复如下:if ((in NULL) && (passwds NULL)) {if (1) { (* #ifndef OPENSSL_NO_UI/* build a null-terminated list */static char *passwds_static[2] { NULL, NULL };passwds passwds_static;if (in …

c#queue_带有C#示例的Queue.CopyTo()方法

c#queueC#Queue.CopyTo()方法 (C# Queue.CopyTo() method) Queue.CopyTo() method is used to copy the Queue elements/objects to an existing array from specified index. Queue.CopyTo()方法用于将Queue元素/对象从指定的索引复制到现有数组。 Syntax: 句法&a…

指针在c语言中的运用,怎么理解C语言中的指针,如何运用?

恰好我之前写了一系列介绍 C 语言的文章,介绍了什么是指针,以及为什么要使用指针,下面摘录一部分,感兴趣的话,可以点我了解更多。什么是 C语言指针?不同的数据类型的主要区别在于占用的存储空间不同。我们知…

设计模式(一)单例模式的七种写法

1. 饿汉模式 public class Singleton { private static Singleton instance new Singleton(); private Singleton (){}public static Singleton getInstance() { return instance; } } View Code这种方式在类加载时就完成了初始化,所以类加载较慢,…

scala 字符串转换数组_如何在Scala中将字节数组转换为字符串?

scala 字符串转换数组Byte Array in Scala is an array of elements of a byte type. String in Scala is a collection of the character data type. Scala中的字节数组是字节类型的元素的数组。 Scala中的String是字符数据类型的集合。 将字节数组转换为字符串 (Convert byt…

智能关机软件 c语言,智能关机软件

智能关机软件是一款免费共享关机软件。智能关机软件不但具有定时关机、自动关机的功能,而且还可以进行定时提醒信息、打开文件、打开网页、重启计算机、注销用户、锁定计算机、计算机休眠、计算机待机、关闭显示器,并且可以进行多任务计划,可…

wget: command not found

-bash: wget: command not found的两种解决方法 今天给服务器安装新LNMP环境时,wget 时提示 -bash:wget command not found,很明显没有安装wget软件包。一般linux最小化安装时,wget不会默认被安装。可以通过以下两种方法来安装:1、rpm 安装rp…

数据库数据规范化看不懂_数据库管理系统中的规范化

数据库数据规范化看不懂DBMS中的规范化 (Normalization in DBMS) Every table must have a single idea. The method by which we divide tables approximately is called normalization and the rest used for normalization is a functional dependency. For the normalizati…

c 语言开发一个四则运算器,C++实现四则运算器(无括号)

本文实例为大家分享了C实现无括号的四则运算器的具体代码,供大家参考,具体内容如下完成度更高的带括号版本可以看C实现四则运算器(带括号)对于无括号的计算器,实现起来比较容易,下面让我们一步步实现。举例首先明确需要实现怎样的…

iOS开发之解决系统数字键盘无文字时delete键无法监听的技巧

最近在做用户登录获取验证码时添加图形验证码功能,就是只有正确输入图形验证码才能收到后台发送的短信验证码。效果如下: 看起来虽然是个小功能,但是实际操作起来,会发现苹果给我们留下的坑,当然更多的是自己给自己挖的…

c ++查找字符串_C ++结构| 查找输出程序| 套装1

c 查找字符串Program 1: 程序1&#xff1a; #include <iostream>#include <math.h>using namespace std;struct st {int A NULL;int B abs(EOF EOF);} S;int main(){cout << S.A << " " << S.B;return 0;}Output: 输出&#xff1a…

二级c语言加油,二级C语言 备考指南及常见问题(2013版)

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼3、关于上机操作部分的复习最好买一本上机题库方面的教材&#xff0c;或打印、阅读南开百题之类的电子文档。配合上机模拟软件(无纸化考试软件)&#xff0c;上机练习是必须的。上机软件一般有100套题多一点&#xff0c;每套有程序填…

开放定址散列表

再散列之后散列函数要重新计算。 // kaifangliaobiao.cpp : 定义控制台应用程序的入口点。 //使用平方探测解决冲突问题时&#xff0c;散列表至少空一半时&#xff0c;总能插入一个新的元素#include "stdafx.h" #include<iostream> using namespace std;#ifnde…