public static ChuoiNhiPhan TinhPC2(ChuoiNhiPhan chuoiTrai, ChuoiNhiPhan chuoiPhai)
        {
            ChuoiNhiPhan CongChuoiVao = chuoiTrai.Cong(chuoiPhai);
            ChuoiNhiPhan ChuoiSauPC2  = new ChuoiNhiPhan(48);

            for (int i = 0; i < ChuoiSauPC2.DoDai; i++)
            {
                ChuoiSauPC2.MangNhiPhan[i] = CongChuoiVao.MangNhiPhan[PC2[i] - 1];
            }
            return(ChuoiSauPC2);
        }
        public static ChuoiNhiPhan TinhIP_1(ChuoiNhiPhan chuoiTrai, ChuoiNhiPhan chuoiPhai, int MaHoaHayGiaiMa) // 1 ma hoa, -1 giai ma
        {
            ChuoiNhiPhan ChuoiNoi = chuoiTrai.Cong(chuoiPhai);
            ChuoiNhiPhan KQ       = new ChuoiNhiPhan(ChuoiNoi.DoDai);

            for (int i = 0; i < ChuoiNoi.DoDai; i++)
            {
                KQ.MangNhiPhan[i] = ChuoiNoi.MangNhiPhan[(MaHoaHayGiaiMa == 1 ? IP_1[i] - 1 : IP[i] - 1)];
            }
            return(KQ);
        }