Changeset 748


Ignore:
Timestamp:
Oct 20, 2009, 11:43:36 AM (12 years ago)
Author:
oruba
Message:

modified IController to BooleanFunctionParser plug-in

Location:
trunk/CrypPlugins/CubeAttack
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/CubeAttack/CubeAttack.cs

    r724 r748  
    357357                        for (int i = 0; i < x.Length; i++)
    358358                            xBool[i] = Convert.ToBoolean(x[i]);
    359                         bool[] vx = new bool[v.Length + x.Length];
     359                        /*bool[] vx = new bool[v.Length + x.Length];
    360360                        System.Buffer.BlockCopy(vBool, 0, vx, 0, vBool.Length);
    361                         System.Buffer.BlockCopy(xBool, 0, vx, vBool.Length, xBool.Length);
    362                         result = ParserOutput.SolveFunction(null, vx, 1);
     361                        System.Buffer.BlockCopy(xBool, 0, vx, vBool.Length, xBool.Length); */
     362                        result = ParserOutput.SolveFunction(vBool, xBool);
    363363                        break;
    364364                    // Trivium as black box
     
    372372                        else
    373373                        {
    374                             result = TriviumOutput.GenerateTriviumKeystream(v, x, indexOutputBit, settings.TriviumRounds, false);
     374                            result = TriviumOutput.GenerateTriviumKeystream(v, x, indexOutputBit, false);
    375375                            break;
    376376                        }
     
    476476            // Output Bit Index if Trivium is Black Box
    477477            if (settings.BlackBox == 1)
    478                 output.Append("   Trivium Output Bit Index: " + (indexOutputBit + settings.TriviumRounds - 1) + "\n");
     478                output.Append("   Trivium Output Bit Index: " + indexOutputBit + "\n");
    479479            else
    480480                output.Append("\n");
     
    880880                                // Output Bit Index if Trivium is Black Box
    881881                                if (settings.BlackBox == 1)
    882                                     outputCube += "   Trivium Output Bit Index: " + (indexOutputBit + settings.TriviumRounds - 1);
     882                                    outputCube += "   Trivium Output Bit Index: " + indexOutputBit;
    883883
    884884                                CubeAttack_LogMessage(outputCube, NotificationLevel.Info);
     
    948948                    flag = false;
    949949                    logOutput = string.Empty;
    950                     output.Append("Maxterm Equation: ");
     950                    output.Append("Superpoly: ");
    951951                    if (superpolyMatrix[i, 0] == 1)
    952952                    {
     
    989989                                    for (int l = 0; l < pubVarElement.Length; l++)
    990990                                        vBool[l] = Convert.ToBoolean(pubVarElement[l]);
    991                                     b[i] ^= ParserOutput.SolveFunction(null, vBool, 2);
     991                                    b[i] ^= ParserOutput.SolveFunction(vBool, null);
    992992                                    break;
    993993                                case 1:
    994994                                    // Online phase Trivium
    995                                     b[i] ^= TriviumOutput.GenerateTriviumKeystream(pubVarElement, null, outputBitIndex[i], settings.TriviumRounds, false);
     995                                    b[i] ^= TriviumOutput.GenerateTriviumKeystream(pubVarElement, null, outputBitIndex[i], false);
    996996                                    break;
    997997                            }
     
    10221022                }
    10231023                else
    1024                     CubeAttack_LogMessage("Not enough linearly independent superpolys have been found to discover all secret bits !", NotificationLevel.Info);
     1024                    CubeAttack_LogMessage("Not enough linearly independent superpolys have been found in the preprocessing to discover all secret bits !", NotificationLevel.Info);
    10251025            }
    10261026        }
  • trunk/CrypPlugins/CubeAttack/CubeAttackSettings.cs

    r724 r748  
    5050        private int linTest = 50;
    5151        private string setPublicBits = "0*00*";
    52         private int triviumOutputBit;
    53         private int triviumRounds;
     52        private int outputBit;
    5453       
    5554        #endregion
     
    164163            null,
    165164            5,
    166             true,
     165            false,
    167166            DisplayLevel.Beginner,
    168167            ControlType.NumericUpDown,
     
    252251
    253252        [PropertySaveOrder(9)]
    254         [TaskPane("Trivium Output Bit",
    255             "Chooses the output bit in the stream cipher Trivium.",
     253        [TaskPane("Output Bit",
     254            "Chooses the output bit of the black box, which should be evaluated.",
    256255            null,
    257256            9,
     
    264263        public int TriviumOutputBit
    265264        {
    266             get { return triviumOutputBit; }
    267             set
    268             {
    269                 if (value != this.triviumOutputBit) HasChanges = true;
    270                 triviumOutputBit = value;
     265            get { return outputBit; }
     266            set
     267            {
     268                if (value != this.outputBit) HasChanges = true;
     269                outputBit = value;
    271270                OnPropertyChanged("TriviumOutputBit");
    272271            }
    273272        }
    274273
    275         [PropertySaveOrder(10)]
    276         [TaskPane("Trivium Initialisation Rounds",
    277             "Number of Trivium initialisation rounds.",
    278             null,
    279             10,
    280             false,
    281             DisplayLevel.Beginner,
    282             ControlType.NumericUpDown,
    283             ValidationType.RangeInteger,
    284             1,
    285             1152)]
    286         public int TriviumRounds
    287         {
    288             get { return triviumRounds; }
    289             set
    290             {
    291                 if (value != this.triviumRounds) HasChanges = true;
    292                 triviumRounds = value;
    293                 OnPropertyChanged("TriviumRounds");
    294             }
    295         }
    296 
    297         #endregion
     274        #endregion
     275
    298276
    299277        #region INotifyPropertyChanged Members
Note: See TracChangeset for help on using the changeset viewer.