From 97a52eb815a17a9a2739a6592cbc068be44129be Mon Sep 17 00:00:00 2001
From: Phil <phil@secdev.org>
Date: Thu, 10 Dec 2009 23:39:13 +0100
Subject: [PATCH] Tweaked RandomEnumeration to have better statistical
 characteristics

---
 scapy/volatile.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/scapy/volatile.py b/scapy/volatile.py
index bbe61e7f..de294593 100644
--- a/scapy/volatile.py
+++ b/scapy/volatile.py
@@ -42,10 +42,11 @@ class RandomEnumeration:
     def next(self):
         while True:
             if self.turns == 0 or (self.i == 0 and self.renewkeys):
+                self.cnt_key = self.rnd.randint(0,2**self.n-1)
                 self.sbox = [self.rnd.randint(0,self.fsmask) for k in xrange(self.sbox_size)]
             self.turns += 1
             while self.i < 2**self.n:
-                ct = self.i
+                ct = self.i^self.cnt_key
                 self.i += 1
                 for k in range(self.rounds): # Unbalanced Feistel Network
                     lsb = ct & self.fsmask
-- 
GitLab