Maison > développement back-end > Golang > Pourquoi Go et Pycrypto produisent-ils différents textes chiffrés AES-CFB ?

Pourquoi Go et Pycrypto produisent-ils différents textes chiffrés AES-CFB ?

Susan Sarandon
Libérer: 2024-12-16 19:14:21
original
746 Les gens l'ont consulté

Why Do Go and Pycrypto Produce Different AES-CFB Ciphertexts?

Résultats différents entre Go et Pycrypto avec AES-CFB

Lorsque vous tentez d'implémenter le cryptage AES-CFB à l'aide de Pycrypto de Python et du package cryptographique de Go, des divergences significatives dans les résultats du texte chiffré ont été observées. Cet écart est dû aux différents paramètres utilisés dans le processus de cryptage :

Python Pycrypto :

  • Mode AES-CFB avec segments 16 bits (CFB16)

Allez crypto package :

  • Mode AES-CFB avec segments de 8 bits (CFB8)

Résolution
Go ne prend pas en charge nativement CFB8 prêt à l'emploi. Cependant, en modifiant le code source des CFBDecrypter et CFBEncrypter intégrés dans le package crypto, Go peut être adapté pour prendre en charge CFB8. Cette modification implique le remplacement de certaines constantes codées en dur pour s'adapter à la taille du segment de 8 bits.

En implémentant cette modification, Go devient entièrement compatible avec les paramètres de chiffrement utilisés dans l'implémentation Python Pycrypto. Par conséquent, il peut déchiffrer avec succès le texte chiffré généré par Pycrypto et vice versa.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal