`
cakin24
  • 浏览: 1384396 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

python实现换位密码算法

阅读更多

一 介绍

换位密码基本原理:先把明文按照固定长度进行分组,然后对每一组的字符进行换位操作,从而实现加密。例如,字符串“Error should never pass silently”,使用秘钥1432进行加密时,首先将字符串分成若干长度为4的分组,然后对每个分组的字符进行换位,第1个和第3个字符位置不变,把第2个字符和第4个字符交换位置,得到“Eorrrs shluoden v repssa liseltny”
二 代码
def encrypt(plainText,t):
 result =[]
 length = len(t)
 temp =[plainText[i:i+length]for i in range(0,len(plainText),length)]
for item in temp[:-1]:
 newItem=''
for i in t:
 newItem = newItem + item[i-1]
 result.append(newItem)
return''.join(result)+ temp[-1]
p ="Error should never pass silently"
c = encrypt(p,(1,4,3,2))
print(c)
print(encrypt(c,(1,4,3,2)))
 
三 运行结果
Eorrrhs odlu venep ra ssselintly
Error should never pass silently
1
0
分享到:
评论

相关推荐

    python 换位密码算法的实例详解

    ### Python 换位密码算法的实例详解 #### 一、换位密码基本概念与原理 换位密码(Transposition Cipher)是一种简单的古典密码技术,它通过对明文中的字符顺序进行重新排列来达到加密的目的。在换位密码中,原始...

    python实现换位加密算法的示例

    换位加密算法是一种古老的密码学技术,通过...总的来说,这段Python代码提供了一个基础的换位加密算法实现,对于理解加密原理和初学者实践很有帮助。然而,在实际应用中,应考虑使用更安全的加密算法,如AES、RSA等。

    python实现密码学课程作业 cipher 课程设计 算法

    利用python 实现 A1Z26;仿射密码;阿特巴什;自动钥匙;培根密码;基地16;基数32;基地64;基数85;博福特密码;双歧;蛮力凯撒密码;凯撒密码;密码数学模块;用卡方解密凯撒;确定性米勒·拉宾;迪菲;迪菲·赫尔曼;埃尔加马尔...

    infosec_古典密码算法_希尔密码_

    本主题将深入探讨希尔密码的原理、实现方式以及Python编程语言中的应用。 希尔密码的核心在于利用矩阵论来对字母进行编码和解码。在希尔密码中,每个字母被映射到一个特定的数值,通常使用26字母表,A对应0,B对应1...

    全排列的算法 翻转法 换位法 字典序法

    这三种方法都可以通过编程语言实现,例如在Python中,可以利用递归、循环和辅助函数来实现。在解压的"求排列的算法"文件中,应该包含了这些算法的具体实现代码,可以作为学习和参考的资源。通过阅读和理解这些代码,...

    python-恩尼格码密码机实现(csdn)————程序.pdf

    【Python 恩尼格码密码机实现】 在二战期间,恩尼格码密码机(Enigma Machine)被德军广泛用于加密通信,确保信息的安全。然而,这种看似牢不可破的加密方式最终被计算机科学的先驱艾伦·图灵等人破解,大大加速了...

    Python实现冒泡排序的简单应用示例

    本文实例讲述了Python实现冒泡排序的简单应用。分享给大家供大家参考,具体如下: 冒泡排序的主要思想是换位,例如在满足某种条件下将i和j调换: if i>j: p = i i = j j = p 举出例子如下: 随意输入两个数字,...

    改进的单亲遗传算法在TSP中的应用

    成果显示:在算法实现上,PGA因其简便高效的优势,较TGA更适合于解决组合优化问题;在遗传原理上,PGA完全基于单亲的遗传算子,却隐含了TGA中复杂交叉算子的功能,TGA适用的领域同样适用PGA;在收敛性能上,通过图式...

    shenlun.rar_古典密码

    在【描述】中提到,这是作者近期编写的源代码,这可能意味着代码使用了现代编程语言,如Python、C++或Java,用以实现这些古典密码算法。代码可能还包含了测试用例,用于验证各种密码的加密和解密功能。 在【压缩...

    青蛙换位问题

    在提供的实验报告中,可能包含了具体算法的伪代码或者实际的Python、C++等编程语言实现,以及可能的优化策略,如剪枝技术,以减少无效的路径探索。剪枝技术通常基于一些条件提前停止分支的扩展,比如当青蛙跳跃次数...

    -单纯形算法源代码-

    "-单纯形算法源代码-"可能是一个包含C++、Python、Java或其他编程语言编写的程序,用于演示和执行单纯形算法的过程。 单纯形算法的核心步骤包括: 1. **构建初始基本解**:从线性规划问题的可行域的某个顶点开始...

    CrPYtoLearn:我的应用密码学项目

    项目特色密码学技术移位密码单字母密码护栏技术简单的列换位技术Vernam密码Diffie-Hellman 密钥交换对称算法电子密码本 (ECB) 密码区块链 (CBC) 密码反馈 (CFB) 输出反馈 (OFB)其他特性5章数据安全测试5个章节的测验...

    Python程序员面试分类模拟9.doc

    - 将二叉查找树转换成一个排序的双向链表,可以通过中序遍历(In-Order Traversal)来实现,因为中序遍历的结果是树中节点值的升序序列。 - 在遍历过程中,我们维护两个指针`pHead`和`pEnd`,分别指向链表的头节点...

    欧拉公式求圆周率的matlab代码-Python-Numerics:Python中的数值机器

    Damerau-Lenenshtein距离DL距离的一种实现,用于测量两个字符串之间的“距离”(由删除,替换,换位和插入的数量定义)。 我用它来检测脏话及其拼写错误。 ###离散期权定价包含使用离散定价理论计算金融衍生工具的...

    easyAI:适用于游戏的Python人工智能框架

    在引擎盖下,AI是一种Negamax算法,具有alpha-beta修剪和换位表,如。安装如果您已安装pip ,请在终端中输入sudo pip install easyAI否则,下载源代码(例如在),将所有内容解压缩到一个文件夹中,然后在终端的此...

    华为-华为od题库练习题之字符串加解密.zip

    1. **基础加密算法**:基础的加密算法包括替换密码(例如凯撒密码)、换位密码(如维吉尼亚密码)以及更复杂的如DES(Data Encryption Standard)和AES(Advanced Encryption Standard)。这些算法通过特定的规则对...

    Security-algorithms-Flask-python:此应用程序用于安全算法

    该演示应用程序的算法是1 /铯2 /换位3 /公平游戏4 /全动态5 / AffineCipher 6 /山密码7 /置换和换位的组合8 /一次性Pad 9 / RSA 10 / DES加密和解密

    pyspellchecker:纯Python拼写检查http

    pyspellchecker 基于在设置简单拼写检查算法上博客文章的纯Python拼写检查。 它使用算法来查找距原始单词2个编辑距离内的排列。 然后,它将所有排列(插入,删除,替换和换位)与单词频率列表中的已知单词进行比较。...

Global site tag (gtag.js) - Google Analytics