Résultats de chiffrement AES-CFB incohérents entre Go et Pycrypto
En utilisant le chiffrement AES-CFB, des résultats variables sont obtenus lors de la comparaison entre Go et Pycypto . Pour étudier cette divergence, nous analysons les échantillons de code fournis.
Dans Python, crypto.cipher.aes utilise mode_cfb avec un vecteur initial explicitement spécifié (iv). Inversement, dans Go, AES.NewCipher nécessite une création explicite d'un chiffre de blocs AES et une instanciation ultérieure de CFBenCrypter ou CFBDecrypter avec IV souhaité.
Une distinction critique entre les deux implémentations réside dans leur traitement de la taille du segment. Pycrypto fonctionne sur des segments 8 bits, connus sous le nom de CFB8, tandis que GO utilise des segments 16 bits par défaut. Cette différence conduit à la divergence observée dans les résultats du chiffrement.
Adapting Go à l'approche CFB8 de Python
pour permettre GO pour décrypter le texte chiffré crypté par pycrypto avec les paramètres CFB8, la source Le code CFBDecrypter de Go peut être modifié. Plus précisément, la méthode XorkeyStream peut être adaptée pour gérer les segments de 8 bits.
Cette modification permettrait à GO à DecryptCipherText chiffré en utilisant les deux langues spécifiques de Pycrypt et de décryptage des deux langues dans les tasks de l'encryption et de décryptage.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3