Exemple #1
0
        /// <summary>
        /// Save current graph as png image
        /// </summary>
        public void SaveGraph()
        {
            SaveFileDialog saveFileDialog = new SaveFileDialog();

            saveFileDialog.DefaultExt = ".png";
            saveFileDialog.Filter     = "Portable-Network-Graphic|*.png";

            string suggestedFilename = "a = " + ellipticCurve.A + " b = " + ellipticCurve.B;

            if (ellipticCurve is EllipticCurveZ)
            {
                EllipticCurveZ tmp = (EllipticCurveZ)ellipticCurve;
                suggestedFilename += " p = " + tmp.P;
            }

            saveFileDialog.FileName = suggestedFilename;

            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                Bitmap bmp        = new Bitmap(Form.PicBoxGraph.Image);
                Bitmap croppedBmp = bmp.Clone(new Rectangle(0, 0, coordinateSystem.Width, coordinateSystem.Height),
                                              bmp.PixelFormat);
                croppedBmp.Save(saveFileDialog.FileName);
            }
        }
Exemple #2
0
        public void AddMultiplyTest()
        {
            int            a     = 3;
            int            b     = 19;
            int            p     = 23;
            EllipticCurveZ curve = new EllipticCurveZ(a, b, p);
            ECPoint        p1    = new ECPoint(3, 3);
            ECPoint        p2    = new ECPoint(4, 7);
            ECPoint        p3    = new ECPoint(3, 20);


            Assert.AreEqual(new ECPoint(19, 9), curve.Add(p1, p1));
            Assert.AreEqual(new ECPoint(13, 22), curve.Multiply(3, p1));
            Assert.AreEqual(new ECPoint(1, 0), curve.Multiply(6, p1));
            Assert.AreEqual(new ECPoint(9, 19), curve.Add(p1, p2));
            Assert.AreEqual(new ECPoint(), curve.Add(p1, p3));
        }