Question

Quelqu'un peut-il proposer un algorithme de chiffrement 2 voies rapide pour de longues ints?

Mes candidats sont:

  • AES:. L'Advanced Encryption Standard spécifié par le NIST FIPS-197
  • BLOWFISH:. L'algorithme Blowfish défini par Bruce Schneier
  • DES: l'algorithme de chiffrement de données standard défini par le NIST FIPS-46-3
  • .
  • DESede: le "Triple DES" algorithme défini par le NIST FIPS-46-3.

Modifier -

La vitesse est plus d'un facteur de sécurité. La demande réelle était de « obscurcir » ids passage sur les services Web internes ainsi dans le cas où un identifiant est toujours exposé, on ne pouvait deviner d'autres ids en ajoutant 1. (un argument pour les clés UUID plus languit auto-incrément ??)

Était-ce utile?

La solution

Utilisez AES. La vitesse était un facteur important dans sa sélection pour remplacer DESede. Sur le matériel PC moderne, il a tendance à être plus rapide que Blowfish, et comme une norme, il est plus probable d'avoir un soutien matériel spécialisé.

Par ailleurs, tous les chiffrements chiffrer des entiers longs, chaque flux d'octets est un nombre entier, représenté dans la base-256.

Autres conseils

  

Je ne ai pas besoin d'une clé publique. L'exigence est de chiffrer ids dans une base de données lors de leur passage entre les machines. Les deux machines auront le sel

Alors, XOR?

Quel est votre premier critère de sélection? Vitesse ou la sécurité? C'est le compromis fondamental dans le domaine de la cryptographie. Voici un ensemble de résultats de référence pour Crypto. Ils ne vous diront pas tout, mais vous serez en mesure de dire quels algorithmes sont généralement plus rapides que d'autres. Voici un discuter des points forts relatifs de certains algorithmes populaires . La détermination de la force est une chose très difficile à faire dans le cas général, bien que certains algorithmes ont été suffisamment d'attention étant donné que leurs forces et leurs faiblesses sont assez bien connues (DES, RSA, etc.). Une règle classique de base est que des clés plus longues impliquent plus forts, mais tu dois être très prudent avec ça. Je pense que dans votre cas, AES ou Blowfish seront très bien. AES sera probablement un peu plus largement soutenue, mais vraiment - soit probablement faire. Restez à l'écart de vitesse est à moins DES un facteur critique.

Si la sécurité est votre principale préoccupation, j'irais avec AES.

Cependant, le cryptogramme peut être trop grand pour votre base de données. Si vous ajoutez IV, padding, il est 64 caractères en hexadécimal au moins. Vous pouvez utiliser l'algorithme que j'ai posté ici si vous couru dans cette limite,

simple, chiffrement symétrique de temps à cordes (et arrière) en java

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top