Comment tester la qualité d'un algorithme de chiffrement?

Je veux tester un algorithme de chiffrement pour la force. Il n'a pas à être fort, il faut juste résister à accidentelle de fissuration et de dire, un hacker déterminé en train de 10 heures à perdre. (J'ai écrit l'algorithme de chiffrement. Oui, je sais que c'est généralement une mauvaise idée, mais je pense que j'ai une bonne raison.)

Quels tests dois-je faire? Jusqu'à présent, j'ai essayé ceci:

  • Générer de l'aléatoire A.
  • Retourner l'un de bits aléatoires de faire B.
  • De vérifier que le nombre de 1s à chiffrer(a) XOR chiffrer(b) correspond à une distribution de poisson (sauf que le XOR jamais sorties 0).

Toute autre suggestion de tests?

Sur le chiffrement

C'est un standard Fiestel de Chiffrement conçu pour fonctionner dans des 3n et être entièrement combinatoire, pas de registres. (C'est un ordre de grandeur plus rapide que DES/AES/etc.) - Je faire autant de tours que je peux dans 3n, qui est seulement d'environ 6.

J'ai d'abord permuter l'ordre des bits d'entrée.

Ensuite, pour chaque bit sur la moitié gauche de l'entrée, je XOR avec la sortie d'une fonction F. F a une entrée 3-bit et de sortie 1 bit. Les 3 bits d'entrée de F sont sélectionnés à partir de la droite de la moitié de l'entrée. La sortie de F est une permutation de {00001111} donc F est équilibré. Les 3 bits d'entrée de F sont choisis parmi les bits sur la droite de la moitié de sorte que chaque bit sur la moitié droite est utilisé le même nombre de fois (ou aussi proche que possible). Chaque "F" est généré aléatoirement et indépendamment l'un de temps.

Prochaine je swap moitiés gauche et droite du résultat et de le faire à nouveau. Encore une fois, de nouveaux "F" pour chaque bit avec la nouvelle entrée.

Tout ce qui est à un seul tour. Je fais 6 fois, à chaque round par hasard, indépendamment généré F fonctions. 6 tours de prendre environ 3n. J'ai essayé de changer le nombre de tours et le nombre d'entrées du F.

source d'informationauteur Eyal