当前位置: 首页>>代码示例>>C#>>正文


C# mpz_t.Power方法代码示例

本文整理汇总了C#中Mpir.NET.mpz_t.Power方法的典型用法代码示例。如果您正苦于以下问题:C# mpz_t.Power方法的具体用法?C# mpz_t.Power怎么用?C# mpz_t.Power使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Mpir.NET.mpz_t的用法示例。


在下文中一共展示了mpz_t.Power方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: HandleResponse

        /// <summary>
        /// Generates the key after a response is received.
        /// </summary>
        /// <param name="response">The string representation of the response.</param>
        public void HandleResponse(byte[] response)
        {
            var currentPlatform = OSCheck.RunningPlatform ();
            if (currentPlatform == OSCheck.Platform.Mac) {
                throw new PlatformNotSupportedException ("Mac OSX is not a supported operating system for this.");
            }
            if (currentPlatform == OSCheck.Platform.Windows) {
                var B = new mpz_t (response, 1);

                S = B.Power (a);
                S = (S as mpz_t).Mod ((p as mpz_t));
                W_GetKeyData ();
            } else if (currentPlatform == OSCheck.Platform.Linux) {
                var B = new Integer (response);
                S = B.Pow (a);
                S %= p;
                L_GetKeyData ();
            }
        }
开发者ID:gitter-badger,项目名称:LightNet,代码行数:23,代码来源:DiffieHellman.cs

示例2: GenerateResponse

        /// <summary>
        /// Generate a response packet.
        /// </summary>
        /// <param name="request">The string representation of the request.</param>
        /// <returns></returns>
        public byte[] GenerateResponse(byte[] request)
        {
            var currentPlatform = OSCheck.RunningPlatform ();
            if (currentPlatform == OSCheck.Platform.Mac) {
                throw new PlatformNotSupportedException ("Mac OSX is not a supported operating system for this.");
            }

            var instream = new MemoryStream (request);
            var gData = DataUtility.ReadBytesFromStream (instream);
            var pData = DataUtility.ReadBytesFromStream (instream);
            var AData = DataUtility.ReadBytesFromStream (instream);
            byte[] BData = null;

            if (currentPlatform == OSCheck.Platform.Windows) {
                g = new mpz_t (gData, 1);
                p = new mpz_t (pData, 1);
                var A = new mpz_t (AData, 1);

                // Generate the parameters.
                a = RandomGenerator.Next (bytes);
                var B = g.Power (a);
                B = B.Mod (p);

                // Get Raw IntX Data
                BData = B.ToByteArray (1);

                // Got the key!!! HOORAY!
                S = A.Power (a);
                S = S.Mod (p);
                W_GetKeyData ();
            } else if (currentPlatform == OSCheck.Platform.Linux) {
                g = new Integer ();
                g.FromBytes (gData);
                p = new Integer ();
                p.FromBytes (pData);
                var A = new Integer (AData);

                // Generate the parameters.
                a = RandomGenerator.Next (bytes);
                var B = g.Pow (a);
                B %= p;

                // Get Raw IntX Data
                BData = B.ToBytes ();

                // Got the key!!! HOORAY!
                S = A.Pow (a);
                S %= p;
                L_GetKeyData ();
            }
            return BData;
        }
开发者ID:gitter-badger,项目名称:LightNet,代码行数:57,代码来源:DiffieHellman.cs


注:本文中的Mpir.NET.mpz_t.Power方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。