Encryption / Decryption

Post here about scripting and programming for HaloPC (audio, network, ai, etc.)
Post Reply
PlasmaGhost





Posts: 149
Joined: Wed Oct 05, 2005 12:23 pm

Encryption / Decryption

Post by PlasmaGhost »

Hello everyone, I've created a very simple encryption algorithm that's 100% coded by me. I'm not releasing the source because ppl might steal my algorithm which I've worked a couple days on. So....here it is! Encrpytion, decryption. Oh btw the algorithm is named ZRB777. Heres the link! The program is called GRS Encryption is because I'm making a new encryption call GRS (short for Grasshopper lol).

EXE Format Download: http://www.uploading.com/?get=QBL8MA6Z
DLL Format Download: http://www.uploading.com/?get=NIAJDGI0

The encryption supports these characters:
QWERTYUIOPASDFGHJKLZXCVBNM`1234567890-=[]\;',./~!@#$%^&*()_+{}|:"<>?(space)

The encryption does NOT supoorted CaPiTaLiZaTiOn but it will convert the caps into lowercase automatically....expect caps support in GRS Encryption. GRS Encryption will also support multi-layer encryption for more advanced security!

If you use the DLL in your application, please include me (PlasmaGhost) in the credits for creating the Encryption / Decryption.

If you'd like a custom algorithm similar to mine in DLL format (so you can add safer encryption to applications without people decrypting it) please either PM me or IM me. My AIM s/n is PlasmaGrunt. However, you still have to add my name into the credits of your application.

If there are any bugs you find, please post here, PM me, or send me an IM on AIM. My s/n is PlasmaGrunt!

YOU NEED THE .NET FRAMEWORK 2.0 LOCATED HERE: http://www.microsoft.com/downloads/deta ... laylang=en

Please comment :D
Onetoomanysodas





Posts: 325
Joined: Mon Mar 22, 2004 3:59 pm
Location: Everywhere but nowhere
Contact:

Post by Onetoomanysodas »

Lol, it's like my first day back to HaloMods. Meh, this algorithm is OK. You should incorporate extreme cryptology methods that use multiple elements to encrypt something. I'll IM you again and we can talk.
PlasmaGhost





Posts: 149
Joined: Wed Oct 05, 2005 12:23 pm

Post by PlasmaGhost »

ok thanks
User avatar
kornman00




ONI New Age

Posts: 146
Joined: Fri Dec 12, 2003 6:30 pm
Contact:

Post by kornman00 »

enum IntTranslation {
Unknown,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
Zero,
One,
Two,
Three,
Four,
Five,
Six,
Seven,
Eight,
Nine,
Tidle1,
Tidle2,
ShiftOne,
ShiftTwo,
ShiftThree,
ShiftFour,
ShiftFive,
ShiftSix,
ShiftSeven,
ShiftEight,
ShiftNine,
ShiftZero,
Dash,
Underscore,
Equal,
Plus,
Bracket1Open, // '['
Bracket2Open, // '{' i think Bracket2 is called a "brace".
Bracket1Close,
Bracket2Close,
BackwardsSlash,
Pipe,
Semicolon,
ShiftSemicolon,
DoubleQuote,
SingleQuote,
Comma,
Period,
ForwardSlash,
LessThan, // '<'
GreaterThan // '>'
};

Thats basiclly what all those numbers in an encrypted string are, using an enumeration (which, of course, defaults starting at 0)

Unknown (00) is used for anything not in the range of 01 and 78

enum StrTranslation {
Unknown = ' ',
Four = 'A',
Eight,
Seven,
Two,
One,
Zero,
Five,
Nine,
Three,
Six,
};

For encrypting he just has:

Code: Select all

 if (this.input.TextLength == 0)
                  return;

            string text1 = this.toInt(this.input.Text);
            string text2 = this.input.TextLength.ToString();
            if (text2.Length == 1)
                  text2 = "0" + text2;

            text1 = text2 + " " + text1;
            text1 = this.switchDigits(text1);
            string[] textArray1 = text1.Split(new char[] { ' ' });
            text1 = "";
            string[] textArray2 = textArray1;
            for (int num3 = 0; num3 < textArray2.Length; num3++)
            {
                  string text3 = textArray2[num3];
                  int num1 = int.Parse(text3);
                  num1 += int.Parse(text2);
                  text1 = text1 + num1.ToString() + " ";
            }
            text1 = this.toStr(text1);
            if (text1.EndsWith(" "))
                  text1 = text1.Substring(0, text1.Length - 1);

            this.output.Text = text1;
Where "toInt" *shivers at old school C++\java conventioning* takes a character and translates it. 'a' becomes 01, 'b' becomes 02, and so one using the IntTranslation enum.

and switchDigits:

Code: Select all

private string switchDigits(string data)
{
      string text1 = "";
      string[] textArray1 = data.Split(new char[] { ' ' });
      string[] textArray2 = textArray1;
      for (int num1 = 0; num1 < textArray2.Length; num1++)
      {
            string text2 = textArray2[num1];
            char[] chArray1 = text2.ToCharArray();
            char ch1 = chArray1[0];
            chArray1[0] = chArray1[1];
            chArray1[1] = ch1;
            text1 = text1 + chArray1[0].ToString() + chArray1[1].ToString() + " ";
      }
      if (text1.EndsWith(" "))
            text1 = text1.Substring(0, text1.Length - 1);

      return text1;
}
User avatar
Phenomena





Posts: 1510
Joined: Thu Jul 01, 2004 3:25 pm
Location: Training my ducks
Contact:

Post by Phenomena »

kornman.... is there anything you DONT know? :P
Image
And if they don't accept Jesus as their Personal Savior, you can kill them later. How cool is that!
PlasmaGhost





Posts: 149
Joined: Wed Oct 05, 2005 12:23 pm

Post by PlasmaGhost »

ugh...why do ppl intend on taking ur work and diminshing it into nothing. i released this for ppl do use to encrypt sum stuff for fun

oh and by the way thats not entirely correct. my translation (toInt) doesnt work that way. 0-9 does not come after the letters, theres a skip in translation. and 00 is used for spaces and unknowns.
User avatar
kornman00




ONI New Age

Posts: 146
Joined: Fri Dec 12, 2003 6:30 pm
Contact:

Post by kornman00 »

PlasmaGhost wrote:oh and by the way thats not entirely correct. my translation (toInt) doesnt work that way. 0-9 does not come after the letters, theres a skip in translation. and 00 is used for spaces and unknowns.
Yes they do, and I said that IntTranslation.Unknown was used for anything below 01 and above 78, because those are the limits of the enum. There isn't a enum member for a space.
PlasmaGhost





Posts: 149
Joined: Wed Oct 05, 2005 12:23 pm

Post by PlasmaGhost »

who cares if the code sucks, at least the program works and theres more than what u showed too. u didnt show toStr. toStr doesnt work like toInt - in order. the reason i made this is cause the cryptography that comes with it doesnt work for me and its hard to set up for ppl who r new so i made sumthing really simple for ppl. well turns out maybe i shouldnt have been so nice and i shouldnt have released it
User avatar
kornman00




ONI New Age

Posts: 146
Joined: Fri Dec 12, 2003 6:30 pm
Contact:

Post by kornman00 »

PlasmaGhost wrote:u didnt show toStr.
kornman00 wrote: enum StrTranslation {
Unknown = ' ',
Four = 'A',
Eight,
Seven,
Two,
One,
Zero,
Five,
Nine,
Three,
Six,
};
But I show'd the translation table. And who said the code sucks? I was just showing that you could easilly find the algro. for ur encryption, no reason to throw a hissy fit :/
Post Reply