Version 3 of Shrinking generator

Updated 2006-12-30 19:54:14

In progress

 proc XOR args {
   if {[llength $args] == 1} { set args [lindex $args 0] }
   set work [lindex $args 0]
   set args [lrange $args 1 end]
   foreach item $args {
     set work [expr $work ^ $item]
   }
   return $work
 }
 proc leftshift {current polynominals} {
   set selected [list]
   foreach selector $polynominals {
     lappend selected [string index $current $selector]
   }
   set new_bit [XOR $selected]
   return "[string range $current 1 end][set new_bit]"
 }
 proc shrink_generate_keystream {seedA polynominalsA seedS polynominalsS keystream_length} {
   set registerA $seedA
   set registerS $seedS
 }

Category Cryptography