Ignore:
Timestamp:
Sep 23, 2009, 1:19:57 PM (12 years ago)
Author:
oruba
Message:
  • added TriviumControl for M/S with CubeAttack
  • added M/S support for Trivium
  • added sample file for CubeAttack w/ Trivium
Location:
trunk/CrypPlugins/CubeAttack
Files:
3 edited

Legend:

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

    r544 r563  
    1313// reference to the BFPController interface
    1414using Cryptool.BooleanFunctionParserController;
     15// reference to the TriviumController interface (own dll)
     16using Cryptool.TriviumController;
    1517
    1618namespace Cryptool.CubeAttack
     
    250252            try
    251253            {
    252                 bool[] vBool = new bool[v.Length];
     254                /*bool[] vBool = new bool[v.Length];
    253255                bool[] xBool = new bool[x.Length];
    254256
     
    260262                bool[] vx = new bool[v.Length + x.Length];
    261263                System.Buffer.BlockCopy(vBool, 0, vx, 0, vBool.Length);
    262                 System.Buffer.BlockCopy(xBool, 0, vx, vBool.Length, xBool.Length);
    263 
    264                 result = TestProperty.SolveFunction(null, vx, 1);
     264                System.Buffer.BlockCopy(xBool, 0, vx, vBool.Length, xBool.Length);
     265
     266                result = TestProperty.SolveFunction(null, vx, 1); */
     267                result = TriviumOutput.GenerateTriviumKeystream(v, x, settings.TriviumOutputBit, settings.TriviumRounds, false);
    265268            }
    266269            catch (Exception ex)
     
    899902                else
    900903                {
     904                    //int result = TriviumOutput.GenerateTriviumKeystream(pubVari, secVari, settings.TriviumOutputBit, settings.TriviumRounds, false);
     905                    //CubeAttack_LogMessage("Result = " + result, NotificationLevel.Info);
    901906                    if (cube.Count > 0)
    902907                    {
     
    907912                        }
    908913                        else
    909                           CubeAttack_LogMessage("The corresponding superpoly is not a linear polynomial !", NotificationLevel.Info);
     914                          CubeAttack_LogMessage("The corresponding superpoly is not a linear polynomial !", NotificationLevel.Info); 
    910915                    }
    911916                    else
     
    959964
    960965        private IControlSolveFunction testProperty;
    961         [PropertyInfo(Direction.ControlMaster, "Test IControlSolveFunction Master", "Tooltip1", "", DisplayLevel.Beginner)]
     966        [PropertyInfo(Direction.ControlMaster, "Master for BFP", "Master for BFP (SolveFunction)", "", DisplayLevel.Beginner)]
    962967        public IControlSolveFunction TestProperty
    963968        {
     
    967972                if (value != null)
    968973                    testProperty = value;
     974            }
     975        }
     976
     977        private IControlTrivium triviumOutput;
     978        [PropertyInfo(Direction.ControlMaster, "Master for Trivium", "Master for Trivium", "", DisplayLevel.Beginner)]
     979        public IControlTrivium TriviumOutput
     980        {
     981            get { return triviumOutput; }
     982            set
     983            {
     984                if (value != null)
     985                    triviumOutput = value;
    969986            }
    970987        }
  • trunk/CrypPlugins/CubeAttack/CubeAttack.csproj

    r446 r563  
    44    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    55    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    6     <ProductVersion>9.0.30729</ProductVersion>
     6    <ProductVersion>9.0.21022</ProductVersion>
    77    <SchemaVersion>2.0</SchemaVersion>
    88    <ProjectGuid>{A7BE7721-3F38-4B95-B659-736A1FCA4A67}</ProjectGuid>
     
    5656    <Reference Include="System.Data" />
    5757    <Reference Include="System.Xml" />
     58    <Reference Include="TriviumController, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d4526fd6dc4c2912, processorArchitecture=MSIL">
     59      <SpecificVersion>False</SpecificVersion>
     60      <HintPath>..\TriviumController\bin\Debug\TriviumController.dll</HintPath>
     61    </Reference>
    5862    <Reference Include="WindowsBase">
    5963      <RequiredTargetFramework>3.0</RequiredTargetFramework>
  • trunk/CrypPlugins/CubeAttack/CubeAttackSettings.cs

    r519 r563  
    5050        private int linTest = 50;
    5151        private string setPublicBits = "0*00*";
     52        private int triviumOutputBit;
     53        private int triviumRounds;
    5254       
    5355        #endregion
     
    246248        }
    247249
     250        [PropertySaveOrder(9)]
     251        [TaskPane("Trivium output bit index",
     252            "Chooses the output bit index in the stream cipher Trivium.",
     253            null,
     254            9,
     255            false,
     256            DisplayLevel.Beginner,
     257            ControlType.NumericUpDown,
     258            ValidationType.RangeInteger,
     259            1,
     260            10000)]
     261        public int TriviumOutputBit
     262        {
     263            get { return triviumOutputBit; }
     264            set
     265            {
     266                if (value != this.triviumOutputBit) HasChanges = true;
     267                triviumOutputBit = value;
     268                OnPropertyChanged("TriviumOutputBit");
     269            }
     270        }
     271
     272        [PropertySaveOrder(10)]
     273        [TaskPane("Trivium rounds",
     274            "Number of Trivium initialisation rounds.",
     275            null,
     276            10,
     277            false,
     278            DisplayLevel.Beginner,
     279            ControlType.NumericUpDown,
     280            ValidationType.RangeInteger,
     281            1,
     282            1152)]
     283        public int TriviumRounds
     284        {
     285            get { return triviumRounds; }
     286            set
     287            {
     288                if (value != this.triviumRounds) HasChanges = true;
     289                triviumRounds = value;
     290                OnPropertyChanged("TriviumRounds");
     291            }
     292        }
     293
    248294        #endregion
    249295
Note: See TracChangeset for help on using the changeset viewer.