0
我刚刚完成了一个小小的viginere密码,我想通过在每个字符加密后在sbox中添加两个字符交换来尝试使其变为动态。python中的字符串字符的条件交换? (Dynamic Substitution Cipher)
问题是,在我看到的每个地方都有一些关于交换字符的信息时,要交换的字符的位置必须写在代码本身中。有没有办法做到这一点,所以要交换的角色依赖于另一个函数轮的结果?
一些澄清:所以在我的代码的顶部,我有:
a = 'abcdefghijklmnopqrstuvwxyz'
然后在加密功能我:
for p,k in zip(plaintext,keystream):
pt = a.index(p)
kt = a.index(k)
c = pt + kt
if c > 25:
c -= 25
c = a[c]
ciphertext += c
所以我的问题是,如果我想换在明文中的每个字符被加密之后,在a
附近有2个字符,并且对其进行加密,以便交换的字符取决于对每个字符进行加密的值a.index(p)
和a.index(k)
。怎么会这样做呢?