Qu'est-ce que l'algorithme de cryptage peut utiliser 2 clés: admin - chiffrent & et decrypt utilisateur - seulement déchiffrer?algorithme de chiffrement: utilisateur ne déchiffrer
Répondre
Édition: Ceci est incorrect (voir le commentaire de Daniel).
Vous pouvez modifier n'importe quel algorithme pour autoriser deux clés en générant une clé de session, en utilisant cela pour chiffrer la charge utile, puis en utilisant les deux clés pour chiffrer la clé de session.
Par exemple, si Ak
est la clé admin, Uk
est la clé de l'utilisateur, Sk
est une clé de session aléatoire et e(k, p)
est une fonction de chiffrement symétrique, vous utilisez:
ciphertext = e(Ak, Sk) . e(Uk, Sk) . e(Sk, p)
Vous pouvez faire cela avec RSA en utilisant la clé privée pour le cryptage (comme si vous signeriez). Le tuple (d,n)
serait la clé d'administration (normalement appelée clé privée), (e,n)
serait la clé de l'utilisateur (normalement appelée clé publique). La clé d'administration est utilisée pour le chiffrement, la clé d'utilisateur pour le déchiffrement. Seul l'administrateur est en possession de la clé d'administration, tandis que l'utilisateur et l'administrateur connaissent la clé de l'utilisateur. Maintenant, seul l'administrateur peut crypter, alors que l'utilisateur ne peut que déchiffrer.
Notez que j'ai délibérément choisi l'exposant d
pour la clé d'administration de chiffrement et non vice-versa, car e
est généralement choisi pour être très petit pour une meilleure performance, et si vous faites cela avec la clé d'administration au lieu de la clé utilisateur, le système serait brisé.
Notez que si vous construisez un système hybride pour cela, la propriété de déchiffrement désirée se casse, car l'utilisateur peut également accéder à la clé de session symétrique et modifier le message. J'imagine que vous voudrez peut-être que la propriété decrypt-only réalise effectivement l'authentification de quantités potentiellement importantes de données cryptées (c'est-à-dire que l'utilisateur sache que les données doivent provenir de l'administrateur et qu'elles n'ont pas été falsifiées). Si oui, ce dont vous avez réellement besoin, c'est d'un système plus complexe avec une signature numérique appropriée (fournissant une authentification) et une forme de cryptage pour la confidentialité, par ex. hybride utilisant un chiffrement symétrique pour le chiffrement en masse et par ex. RSA pour le cryptage de la clé symétrique.
Cependant, vous devriez être très prudent lors de la conception de systèmes cryptographiques comme ceci, il y a un lot de choses qui peuvent mal se passer et compromettre complètement la sécurité de votre système. Demander un avis d'expert.
- 1. Chiffrement personnalisé Crypter/Déchiffrer flux
- 2. décryptage base64 avec algorithme de chiffrement inconnu
- 3. algorithme de chiffrement Delphi
- 4. Mon algorithme de chiffrement
- 5. algorithme de chiffrement de chiffrement et de chiffrement de flux
- 6. Décodage à l'aide de chiffrement algorithme
- 7. C# Caesar Chiffrement impossible à déchiffrer
- 8. chiffrement: algorithme RSA
- 9. Algorithme simple de chiffrement asymétrique
- 10. Algorithme de chiffrement de bloc
- 11. Algorithme de chiffrement personnalisé Python
- 12. javascript algorithme de chiffrement césar
- 13. Algorithme simple de chiffrement/déchiffrement de chaîne
- 14. algorithme de chiffrement pour l'application
- 15. algorithme de chiffrement C++ caesar
- 16. Décryptage de base pour algorithme de chiffrement simple
- 17. Comment décrypter une chaîne avec un algorithme de chiffrement inconnu?
- 18. Impossible de créer de chiffrement, aucun algorithme
- 19. Algorithme de chiffrement Caeser en PHP
- 20. MS Access Chiffrement de substitution VBA Crypter/Déchiffrer
- 21. Comment fonctionne cet algorithme de chiffrement?
- 22. C++ simple algorithme de chiffrement Caesar
- 23. Java/Groovy: Algorithme de chiffrement non déterministe
- 24. nouvel algorithme de chiffrement pour ssh
- 25. chiffrement et de déchiffrement utilisant base64 algorithme
- 26. ASP.NET MVC Formulaire algorithme de chiffrement?
- 27. algorithme de chiffrement simple pour les nombres
- 28. IBM MobileFirst - Algorithme de chiffrement pour encryptWebResources
- 29. Travailler autour d'un algorithme de chiffrement très lourd?
- 30. Essayer de déchiffrer un fichier texte avec un algorithme
Votre proposition ne possède pas la propriété souhaitée que les utilisateurs peuvent uniquement déchiffrer. Puisque les utilisateurs peuvent déchiffrer 'Sk', ils peuvent utiliser' Sk' pour chiffrer une charge utile différente 'p'' et construire un nouveau texte chiffré à partir de cela. –
D'oh! Tu as très raison. Merci. Je vais laisser ma réponse ici comme un avertissement de comment ne pas le faire. –