Я пытаюсь одновременно изучать питон и криптографию.Как изменить зашифрованный текст в python?
Я пытаюсь изменить текст шифрования немного (или больше), чтобы увидеть эффект, который он мог бы иметь на моем открытом тексте при расшифровке.
Например:
from Crypto.Cipher import AES
import base64
import os
BLOCK_SIZE = 16
key = os.urandom(BLOCK_SIZE)
PADDING = '{'
pad = lambda s: s + (BLOCK_SIZE - len(s) % BLOCK_SIZE) * PADDING
EncodeAES = lambda c, s: base64.b64encode(c.encrypt(pad(s)))
DecodeAES = lambda c, e: c.decrypt(base64.b64decode(e)).rstrip(PADDING)
cipher = AES.new(key)
# encode a string
encoded = EncodeAES(cipher, 'This is some text.')
print 'Encrypted string:', encoded
# decode the encoded string
decoded = DecodeAES(cipher, encoded)
print 'Decrypted string:', decoded
Так что я снова хочу расшифровывать, за исключением того, модифицировали шифрованный текст («закодированный») перед дешифрования.
Спасибо.
Это уже небезопасно. Он использует генератор случайных чисел ОС, который может быть недостаточно высоким для криптографии. –
@CrazyPython urandom отлично подходит для криптографии (по крайней мере, на Linux). –
@ T.J. Добро пожаловать в переполнение стека! Каков ваш реальный вопрос? Вы просто хотите изменить «закодированный», прежде чем использовать «DecodeAES()», и задаетесь вопросом, какой лучший подход к этому может быть? – mech