Ejemplo n.º 1
0
        /// <summary>
        /// Builds tree from pub and also the public key as a BitString
        /// </summary>
        /// <param name="pub">A bunch of last 32 bytes of public keys</param>
        /// <returns>LMS public key</returns>
        private BitString GenerateLmsPublicKey(byte[] pub)
        {
            var tree = LmsDllLoader.BuildTreeWithPub(_h, _m, _I.ToBytes(), pub, _lmots.GetP(), _lmots.GetN(), _lmots.GetW());

            _tree = new LmsTree(_h, _m, tree);

            var publicKey = _typecode.ConcatenateBits(_lmotsTypecode)
                            .ConcatenateBits(_I)
                            .ConcatenateBits(_tree.GetRoot());

            return(publicKey);
        }