Cryptography
文章平均质量分 79
加解密算法
KB-野原新之助
学生小白,请多多指教。
展开
-
Diffie-Hellman密钥交换算法
DH密钥交换是1976年由Diffie和Hellman共同发明的一种算法。使用这种算法,通信双方仅通过交换一些可以公开的信息就能够生成出共享的密码数字,而这一密码数字就可以被用作对称密码的密钥。IPsec中就使用了经过改良的DH密钥交换。原创 2020-01-29 15:01:28 · 2171 阅读 · 0 评论 -
序列密码
简述通俗讲,序列密码就是利用初始密钥(种子密钥),产生密钥流,再利用密钥流,对明文逐比特进行加密(异或运算),解密相同,将密文与密钥进行逐比特异或运算。由于密钥流的周期性会导致加密的不安全,但是非周期(随机)又存在协商难题,因此序列密码在产生密钥流时采用的是伪随机数(周期很大的周期序列)采用伪随机数近乎完美地解决了以上两个难题,也实现了一次一密的加密方案。序列密码又分为同步序列密码与自同步...原创 2019-12-21 15:29:19 · 1582 阅读 · 0 评论 -
hill密码(希尔密码)
简述希尔密码是利用矩阵进行加密的一种加密算法,其本质是一种多表代换密码。百科:希尔密码是运用基本矩阵论原理的替换密码,由Lester S. Hill在1929年发明。每个字母当作26进制数字:A=0, B=1, C=2… 一串字母当成n维向量,跟一个n×n的矩阵相乘,再将得出的结果模26。注意用作加密的矩阵(即密匙)在 必须是可逆的,否则就不可能解码。只有矩阵的行列式和26互质,才是可...原创 2019-12-21 15:29:09 · 24898 阅读 · 3 评论 -
置换密码
简述置换密码是一种不改变明文字符、只改变字符顺序的加密算法。加解密:给出明文字符串,如 abcde,则此时的排序记为 [1,2,3,4,5]给定一个随机序列作为密钥,如 [2,1,4,5,3]加密将原始字符串的字符位置,按照密钥的排序位置改变,重新组合。初始:[1,2,3,4,5]置换:[2,1,4,5,3]上述加密结果:[b,a,d,e,c]解密将密文序列进行一次密...原创 2019-12-19 11:04:37 · 4022 阅读 · 1 评论 -
RSA算法
RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。原创 2019-11-29 20:39:12 · 361 阅读 · 0 评论 -
仿射密码
仿射密码为单表加密的一种,字母系统中所有字母都藉一简单数学方程加密,对应至数值,或转回字母。原创 2019-11-26 10:08:42 · 584 阅读 · 0 评论 -
基于背包问题的公钥加密算法
简述:公钥加密背包问题ss加解密:加密解密代码实现:import randomfrom my_modules import modules# 初始化def init(length, interval): listV = [] # 超递增向量 listV_b = [] # 每个元素对应的乘数 bagCapacity = ...原创 2019-11-08 10:17:02 · 3991 阅读 · 3 评论 -
古典密码之“维吉尼亚密码”
简述维吉尼亚密码是在代换密码(即单表代换)基础上,衍生出来的多表代换密码。与单表代换相同,维吉尼亚密码也采用明文字母与密钥字母(即打乱顺序后的26字母表)间建立一一对应关系。但是与之不同的是,单表代换密码中一旦密钥字母确定,相同的明文就只能产生唯一的密文,而维吉尼亚密码则是在单表的基础上,加入了密钥字,使用密钥字对明文进行分组加密,因此即使密钥确定了,密钥字不同,也会产生不同的密文。加解密...原创 2019-11-05 18:48:26 · 7639 阅读 · 0 评论 -
古典密码之“代换密码”
简述代换密码是古典密码中的典型例子,采用单表代换的方式进行加密。单表代换即在原始顺序的26个字母表的基础上,通过改变字母位置而生成无序的26字母表,该字母表就是本次加密的密钥。比如在下表中,大写字母即初始字母表,其对应的小写字母,就是变换顺序后的字母表,也就是密钥。因为代换密码的密钥是26个字母的排列组合,因此该加密算法的密钥空间为26!,与凯撒密码相比,如果对代换密码进行穷举搜索的方式...原创 2019-11-04 19:34:22 · 3183 阅读 · 0 评论 -
凯撒密码(移位加密)
简介:移位加密是一种古典的替换加密技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如:当偏移量是3的时候,所有的字母A将被替换成D,B替换成E,此时的加密方式称为凯撒密码。此程序进行动态录入移位数,称之为密钥;并且仅支持输入大小写字母。思路:利用取余的方式实现移位代码:–加密过程–#include <stdio.h>#...原创 2018-12-18 15:49:30 · 19816 阅读 · 6 评论