Exemplo n.º 1
0
 private static void SubSisip(Stego.Mode myMode)
 {
     if (myMode == Stego.Mode.PCA)
     {
         Rotasi = "R";
         for (int i = 1; i < Pr; i++)
         {
             Y = Misc.FastExp(G, i, Pr);
             if (i - 1 < N)
             {
                 if (isGanjil(Pixel[Y].R + Pixel[Y].G + Pixel[Y].B + Convert.ToInt32(M_1[i - 1].ToString())))
                 {
                     Pixel[Y] = newPixel(Pixel[Y]);
                 }
             }
             else
             {
                 break;
             }
         }
     }
     else if (myMode == Stego.Mode.PCS)
     {
         Rotasi = "R";
         for (int i = 0; i < N; i++)
         {
             if (isGanjil(Pixel[i].R + Pixel[i].G + Pixel[i].B + Convert.ToInt32(M_1[i].ToString())))
             {
                 Pixel[i] = newPixel(Pixel[i]);
             }
         }
     }
 }
Exemplo n.º 2
0
        private static string SubEkstrak(Stego.Mode myMode, int Start, int Panjang)
        {
            string res = "";

            if (myMode == Stego.Mode.PCA)
            {
                for (int i = 1 + Start; i <= (Start + Panjang); i++)
                {
                    int Y = Misc.FastExp(G, i, Pr);
                    if (isGanjil(Pixel[Y].R + Pixel[Y].G + Pixel[Y].B))
                    {
                        res += "1";
                    }
                    else
                    {
                        res += "0";
                    }
                }
            }
            else if (myMode == Stego.Mode.PCS)
            {
                for (int i = Start; i < (Start + Panjang); i++)
                {
                    if (isGanjil(Pixel[i].R + Pixel[i].G + Pixel[i].B))
                    {
                        res += "1";
                    }
                    else
                    {
                        res += "0";
                    }
                }
            }
            return(res);
        }
Exemplo n.º 3
0
        public static bool isBmpCukup(string myPesan, string myKunci, Bitmap myBmp, Stego.Mode myMode, Stego.Enkrip myEnkrip)
        {
            bool res = false;

            M = myPesan;
            K = myKunci;

            img_ori = myBmp;
            nP      = img_ori.Width * img_ori.Height;


            if (myEnkrip == Stego.Enkrip.AES128)
            {
                bK = JadiBit(PadChar(K, 16), 8);
                eM = AES.Enkrip(PadChar(M, 16), PadChar(K, 16));
            }
            else if (myEnkrip == Stego.Enkrip.AES256)
            {
                MessageBox.Show("Maaf Fitur AES256 Belum Ada", "Informasi");
            }
            else if (myEnkrip == Stego.Enkrip.NoEnkrip)
            {
                K = ""; bK = ""; eM = M;
            }

            bM = JadiBit(eM);

            inM = Misc.IntToBin(nP).Length;
            bnM = Misc.IntToBin(bM.Length).PadLeft(inM, '0');

            M_1 = bnM + bK + bM;
            N   = M_1.Length;

            if (myMode == Stego.Mode.PCA)
            {
                Pr = Misc.GetPrima(nP);
                G  = Misc.GetGemod(Pr);
                if (Pr > N)
                {
                    res = true;
                }
                else
                {
                    res = false;
                }
            }
            else if (myMode == Stego.Mode.PCS)
            {
                if (nP > N)
                {
                    res = true;
                }
                else
                {
                    res = false;
                }
            }
            return(res);
        }
Exemplo n.º 4
0
 public static Bitmap Sisip(string myPesan, string myKunci, Bitmap myBmp, Stego.Mode myMode, Stego.Enkrip myEnkrip)
 {
     if (isBmpCukup(myPesan, myKunci, myBmp, myMode, myEnkrip))
     {
         isiPixel();
         SubSisip(myMode);
         img_hsl = JadiBmp();
     }
     return(img_hsl);
 }
Exemplo n.º 5
0
        public static bool isKunciSama(Bitmap myBmp, string myKunci, Stego.Mode myMode, Stego.Enkrip myEnkrip)
        {
            img_ori = myBmp; isiPixel();

            nP  = img_ori.Width * img_ori.Height;
            inM = Misc.IntToBin(nP).Length;

            if (myMode == Stego.Mode.PCA)
            {
                Pr = Misc.GetPrima(nP);
                G  = Misc.GetGemod(Pr);
            }

            bnM = SubEkstrak(myMode, 0, inM);
            nM  = Misc.BinToInt(bnM);
            //MessageBox.Show(myEnkrip.ToString(), "Informasi");
            if (myEnkrip == Stego.Enkrip.AES128)
            {
                bK = SubEkstrak(myMode, inM, 128);
                K  = JadiText(bK).Trim();
            }
            else if (myEnkrip == Stego.Enkrip.AES256)
            {
                MessageBox.Show("Maaf Fitur AES256 Belum Ada", "Informasi");
            }
            else if (myEnkrip == Stego.Enkrip.NoEnkrip)
            {
                bK = ""; K = "";
            }

            //MessageBox.Show(K);

            if (K == myKunci)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 6
0
 public static string Ekstrak(Bitmap myBmp, string myKunci, Stego.Mode myMode, Stego.Enkrip myEnkrip)
 {
     if (isKunciSama(myBmp, myKunci, myMode, myEnkrip))
     {
         if (myEnkrip == Stego.Enkrip.AES128)
         {
             bM = SubEkstrak(myMode, (inM + 128), nM);
             eM = JadiText(bM);
             M  = AES.Dekrip(eM, K, 4);
         }
         else if (myEnkrip == Stego.Enkrip.AES256)
         {
             M = "Maaf Fitur AES256 Belum Ada";
         }
         else if (myEnkrip == Stego.Enkrip.NoEnkrip)
         {
             bM = SubEkstrak(myMode, inM, nM);
             eM = JadiText(bM);
             M  = eM;
         }
     }
     return(M);
 }