1. 维吉尼亚原理分析 Vigenenre 密码使用一个词组作为密钥,密钥中每一个字母用来确定一个代换表, 每一个密钥字母被用来加密一个明文字母,第一个密钥字母加密第一个明文字母, 第二个密钥字母加密第二个明文字母,等所有密钥字母使用完后,密钥再次循环使用, 于是加解密前需先将明密文按照密钥长度进行分组。 2. 算法分析 密码算法可表示如下: 设密钥 K = ( kl ; kZ ; … ; kd ) , 明文 M = ( ml , mZ , … ; mn ) , 密文 C = ( cl ; cZ ; … ; cn ) ; 加密变换为: ci = Ek(mi) = mi + k( mod 26 ) 解密变换为: mi = Dk( ci ) = ci- ki ( mod 26 ) # -*- coding: utf-8 -*- """ Created on Nov 27 08:17:01 2018 at D704 @author: Kevil """ from string import ascii_lowercase as lowercase # 加密 def VigenereEncrypto(p, key): p = get_trim_text(p) ptLen = len(p) keyLen = len(key) quotient = ptLen // keyLen # 商 remainder = ptLen % keyLen # 余 out = "&q更多内容已被隐藏
主题内容你需要付费可见 (点击购买) 售价:1 金币打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.