Ignore:
Timestamp:
Sep 22, 2010, 8:36:32 PM (11 years ago)
Author:
Sven Rech
Message:

Some index-calculus-algorithm fixes (still doesn't work very good yet :( )

File:
1 edited

Legend:

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

    r1852 r1933  
    4646        private BigInteger inputMod;
    4747        private BigInteger outputLogarithm;
     48        private bool running;
    4849
    4950        #endregion
     
    106107        public void Execute()
    107108        {
     109            running = true;
     110
    108111            if (inputMod.IsZero || inputMod.IsOne)
    109112            {
     
    139142        private void IndexCalculus()
    140143        {
     144            //TODO: Make index calculus method stoppable ;)
    141145            IndexCalculusMethod ic = new IndexCalculusMethod();
    142146            try
     
    155159            BigInteger t = inputBase;
    156160            BigInteger counter = 1;
    157             while (t != 1 && t != inputValue)
     161            while (t != 1 && t != inputValue && running)
    158162            {
    159163                t = (t * inputBase) % inputMod;
    160164                counter++;
    161165            }
     166
     167            if (!running)
     168                return;
     169
    162170            if (t == inputValue)
    163171                OutputLogarithm = counter;
     
    185193        public void Stop()
    186194        {
     195            running = false;
    187196        }
    188197
Note: See TracChangeset for help on using the changeset viewer.