簡體   English   中英

Python 2.7加密AES

[英]Python 2.7 crypto AES

我在python 2.7中遇到了aes問題

import pyelliptic
iv = pyelliptic.Cipher.gen_IV('aes-256-cfb')
ctx = pyelliptic.Cipher("secretkey", iv, 1, ciphername='aes-256-cfb')

ciphertext = ctx.update('test1')
ciphertext += ctx.final()

ctx2 = pyelliptic.Cipher("secretkey", iv, 0, ciphername='aes-256-cfb')

現在,我不知道如何將該消息發送到服務器,並在服務器上對其進行解密,因為我不知道IV,我的服務器無法解密它。 服務器具有密鑰。

IV不需要保密,但是對於具有相同密鑰的每個加密操作,它都需要唯一(隨機)。

許多實現只是將IV字節添加到密文的開頭。 您必須知道IV用於實現的時間,以便您可以在解密之前將其切開。

# encrypt
ciphertext = iv + ciphertext

# decrypt
blocksize = pyelliptic.Cipher.get_blocksize('aes-256-cfb')
iv = ciphertext[0:blocksize]
ciphertext = ciphertext[blocksize:]

代碼中可以明顯看出,IV的生成大小與密文塊大小相同,因此從密文中切出一個塊以獲取IV是安全的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM