PY3解决维吉尼亚加解密

kevil   ·   发表于 2018-11-30 17:39:51   ·   闲聊灌水区
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 金币

打赏我,让我更有动力~

0 条回复   |  直到 2018-11-30 | 1311 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.