Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Geek Culture / Who thinks they can decrypt this?

Author
Message
eat much pie
20
Years of Service
User Offline
Joined: 9th Apr 2004
Location: Within the mind of a lowly mortal...
Posted: 24th Aug 2004 07:06
I've just found TCA's Tiny Encryption Algorithm (TEA) dll, and was wondering if it could stand the ultimate test; you guys!

I've prepared 3 codes for you: the first uses a small key and a small piece of data. The second uses a long key and a small piece of data. The third uses a long key and a long piece of data

the first:
Ã2ÄJ…?š°

the second:
–F {Dmá™

the third:
^6®_öÁ~Þbµ]›Š¯<ÖÈ8I ç\²ñÞn¢Oµ~vãn–}Þ«8/


If you could flex your code-breaking muscles, I'd be very greatful.

Cheers!


[href]Checkpoint Router[/href]: My AI Routing Program
Sam Wright
Three Score
20
Years of Service
User Offline
Joined: 18th Jun 2004
Location: behind you
Posted: 24th Aug 2004 08:29
1st hello
2nd no idea
3rd no idea

and to think i am usually pretty good at hacking encryption

Teh Go0rfmeister
21
Years of Service
User Offline
Joined: 17th Aug 2003
Location:
Posted: 24th Aug 2004 09:05
2nd= world
3rd=decrypt this!!!

(j/k) i dnt have a clue really

eat much pie
20
Years of Service
User Offline
Joined: 9th Apr 2004
Location: Within the mind of a lowly mortal...
Posted: 24th Aug 2004 18:56
nope, none of you have gotten any yet. Keep trying!

If you want, I could post the answers so you could see how you could have figured it out.


[href]Checkpoint Router[/href]: My AI Routing Program
Sam Wright
OSX Using Happy Dude
21
Years of Service
User Offline
Joined: 21st Aug 2003
Location: At home
Posted: 24th Aug 2004 22:51
Quote: "I've just found TCA's Tiny Encryption Algorithm (TEA) dll"

The actual idea wasn't mine - I just coded it...


Come to the UK Convention on the 23rd & 24th of October
eat much pie
20
Years of Service
User Offline
Joined: 9th Apr 2004
Location: Within the mind of a lowly mortal...
Posted: 25th Aug 2004 01:29
Alright then


[href]Checkpoint Router[/href]: My AI Routing Program
Sam Wright
Mentor
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: United Kingdom
Posted: 25th Aug 2004 01:48
@TCA can you adjust the vertical hold on your sig please?

@EMP: sorry, I tried, but it beat me (I`m not a LeEt HaXXor type anyway)

Mentor.

PC1: P4 3ghz, 1gig mem, 2x160gig hd`s, Radeon 9800pro w cooler (3rd gfx card), 6 way speakers.
PC2: AMD 2ghz, 512mb ram, FX5200 ultra, 16 bit SB.
Mini ATX cases suck.
Kevin Picone
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 25th Aug 2004 02:06 Edited at: 23rd Aug 2010 01:06
You want to be very careful calling an external dll to protect your data. As what's to stop "John Q Cracker" wrapping the dll and lifting the key parameters at will ?

Van B
Moderator
22
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 25th Aug 2004 02:21
There's really no need to use an external DLL, surely DB can handle some encryption - in fact DBPro is so sideways when it comes to hacking that hackers would have a tough job disassembling. Just don't store it as a long string anywhere, make the hacker work.

Ohh, and if it's a password serial thingy, put in a 30 second delay if they get the password wrong, that way they won't be able to 'machine-gun' your app with a password cracker.

If you really want to annoy them though, use a truncated result, like say your result is a long number - set it to a 100,000 limit, if it's above 100,000 - subtract 100,000 until it's below. Gives hackers far less to go on .


Van-B


Muhahahahaha.
OSX Using Happy Dude
21
Years of Service
User Offline
Joined: 21st Aug 2003
Location: At home
Posted: 25th Aug 2004 02:59 Edited at: 25th Aug 2004 03:00
Quote: "TCA can you adjust the vertical hold on your sig please?"

Unfortunately that would defeated the point of the animation.


Come to the UK Convention on the 23rd & 24th of October
eat much pie
20
Years of Service
User Offline
Joined: 9th Apr 2004
Location: Within the mind of a lowly mortal...
Posted: 25th Aug 2004 03:01 Edited at: 25th Aug 2004 03:34
yeah,i was wondering what would stop hackers from just messing around with the dll, but then I though that I could do a byte-for-byte check of the dll against what i know it to be. Something like this:



I could put the label "dll_array_filling" in another source file that I could create in a program, eg.



Perhaps it could work?


[href]Checkpoint Router[/href]: My AI Routing Program
Sam Wright
Ian T
22
Years of Service
User Offline
Joined: 12th Sep 2002
Location: Around
Posted: 25th Aug 2004 03:14
Good idea. They could just kill the check, of course, but it'd be a lot harder to root it out of the .exe.

As far as I know that is .

Peter H
20
Years of Service
User Offline
Joined: 20th Feb 2004
Location: Witness Protection Program
Posted: 25th Aug 2004 03:15
1- a word
2-a word
3 several words

"We make the worst games in the universe."
eat much pie
20
Years of Service
User Offline
Joined: 9th Apr 2004
Location: Within the mind of a lowly mortal...
Posted: 25th Aug 2004 03:32
@ mouse
once they get a look at the code, there's not much I can do about it. I'll just use the system described above.

@ peter_H
very nearly got it! You're soooo close now! Oh wait, no you're not


[href]Checkpoint Router[/href]: My AI Routing Program
Sam Wright
eat much pie
20
Years of Service
User Offline
Joined: 9th Apr 2004
Location: Within the mind of a lowly mortal...
Posted: 25th Aug 2004 04:07
right; made the file (took about 30 secs), worked fine. Then, when it comes to compilation, it seems that it takes quite a long time to work through 9732 lines of code! I'll have to optimise this...


[href]Checkpoint Router[/href]: My AI Routing Program
Sam Wright
eat much pie
20
Years of Service
User Offline
Joined: 9th Apr 2004
Location: Within the mind of a lowly mortal...
Posted: 25th Aug 2004 05:45
WHAT!?!?!?! This just isn't nice at all. It took me 26 secs to check the dll! The code that made the label "dll_array_checking" is:



The code for the checking is:



The file created using the first program is included in the same project as the second code.

I was hoping to be able to check the dll every time I save/load, so 26 secs isn't really good enough. Would checking every other byte still make sure that the dll hasn't been tampered with? Perhaps every few bytes? How many bytes could I have between each checked byte while still being sure of the dll's fidelity?


[href]Checkpoint Router[/href]: My AI Routing Program
Sam Wright
OSX Using Happy Dude
21
Years of Service
User Offline
Joined: 21st Aug 2003
Location: At home
Posted: 25th Aug 2004 05:55
Byte reading is very slow - what you need to do is read in blocks of, say, 1K and check that. You will then get the speed down to less than 1 second.


Come to the UK Convention on the 23rd & 24th of October
eat much pie
20
Years of Service
User Offline
Joined: 9th Apr 2004
Location: Within the mind of a lowly mortal...
Posted: 25th Aug 2004 06:17 Edited at: 25th Aug 2004 06:28
There don't seem to be any commands to do that in DBPro. Would you happen to have a plugin to do this?

Also, while you're here, where is the link to the TEA's source?

Cheers!

by the way, it seems that doing fewer encryptions with longer strings is quicker using the TEA, and the key doesn't affect speed


[href]Checkpoint Router[/href]: My AI Routing Program
Sam Wright
OSX Using Happy Dude
21
Years of Service
User Offline
Joined: 21st Aug 2003
Location: At home
Posted: 25th Aug 2004 06:35 Edited at: 25th Aug 2004 06:36
Quote: "where is the link to the TEA's source?"

Good question - I'll have to see if I've still got it.

Quote: "Would you happen to have a plugin to do this?"

Yes, my File I/O system, I think has block I/O access - I'll have to look. Yes, it can.


Come to the UK Convention on the 23rd & 24th of October
eat much pie
20
Years of Service
User Offline
Joined: 9th Apr 2004
Location: Within the mind of a lowly mortal...
Posted: 25th Aug 2004 06:41
Right, great, excellent, um ... how?

Which command should I use and what are the syntax?

Cheers!


[href]Checkpoint Router[/href]: My AI Routing Program
Sam Wright
OSX Using Happy Dude
21
Years of Service
User Offline
Joined: 21st Aug 2003
Location: At home
Posted: 25th Aug 2004 07:32
I've uploaded an example file I/O program on my site.


Come to the UK Convention on the 23rd & 24th of October
Mussi
21
Years of Service
User Offline
Joined: 27th Jan 2003
Location: Netherlands
Posted: 25th Aug 2004 07:38
How is it that you got a dll for everything ?



Specs: AMD Athlon 1800, 256 DDRRam 266mhz, 80GB HD 7200rmp U133, Geforce 4 Ti4400 128mb
OSX Using Happy Dude
21
Years of Service
User Offline
Joined: 21st Aug 2003
Location: At home
Posted: 25th Aug 2004 07:44
'cos I'm brilliant.


Come to the UK Convention on the 23rd & 24th of October
1010011 binary for 83
20
Years of Service
User Offline
Joined: 19th Aug 2004
Location: where ever your not
Posted: 25th Aug 2004 10:47 Edited at: 25th Aug 2004 10:48
do you have one to make a bootable OS out of a dbpro program

-didn't think so

http://free-space.myftp.org for free ftp
come and ye all shall be happy with 60mb more spaceth
OSX Using Happy Dude
21
Years of Service
User Offline
Joined: 21st Aug 2003
Location: At home
Posted: 25th Aug 2004 17:22
Never really fancied making an OS...


Come to the UK Convention on the 23rd & 24th of October
eat much pie
20
Years of Service
User Offline
Joined: 9th Apr 2004
Location: Within the mind of a lowly mortal...
Posted: 25th Aug 2004 17:53
Ah, but then what's to stop someone from wrapping the memory plugin? It seems that the best method would be to write my own encryption code in DBPro.

If you could post a link to the source for TEA, then that would really help.

Cheers!


[href]Checkpoint Router[/href]: My AI Routing Program
Sam Wright
OSX Using Happy Dude
21
Years of Service
User Offline
Joined: 21st Aug 2003
Location: At home
Posted: 25th Aug 2004 19:52
Heres the original paper on it :

Complete with 5 line source...


Come to the UK Convention on the 23rd & 24th of October
eat much pie
20
Years of Service
User Offline
Joined: 9th Apr 2004
Location: Within the mind of a lowly mortal...
Posted: 25th Aug 2004 22:54
Excellent! Now all I need to do is try to understand what this code means ...

1) what is a "long" data type? Is it a "word"?

2) what does the * symbol represent here: long* v

3) What's the DBPro equivilent of an unsigned long?

4) what does the following mean? -->

Actually, there's quite a lot there for me to learn. To save us all time, is it possible to port this code into DBPro?

Encode:



Decode:


Cheers!


[href]Checkpoint Router[/href]: My AI Routing Program
Sam Wright
OSX Using Happy Dude
21
Years of Service
User Offline
Joined: 21st Aug 2003
Location: At home
Posted: 25th Aug 2004 23:33
1) Long is 4 bytes. A word is 2 bytes
2) It means a pointer to a long variable
3) DWORD
4) It should actually be n-- > 0 (decrease n while its > 0)

As for porting - it could probably be done...


Come to the UK Convention on the 23rd & 24th of October
eat much pie
20
Years of Service
User Offline
Joined: 9th Apr 2004
Location: Within the mind of a lowly mortal...
Posted: 26th Aug 2004 01:47 Edited at: 26th Aug 2004 01:48
Cheers TCA. However...

unsigned long y=v[0]

I know that the first part means:
dword y
But then I don't know what v[0] means. Does it mean the pointer to v? Or the first character of the string at the pointer v?

If so, then I'll need to know the pointer to the string. The only way I can see doing this in DBPro is to convert the string into bytes (ascii), then put them into a memblock, then pass the pointer of the memblock as v when calling the function; then doing something like:

dword y = memblock byte(1,0)
dword z = memblock byte(1,1)

Would that be correct?


Also, what does this mean: +=

and this: (z<<4)

Cheers!


[href]Checkpoint Router[/href]: My AI Routing Program
Sam Wright
GothOtaku
21
Years of Service
User Offline
Joined: 23rd Nov 2003
Location: Amherst, MA, USA
Posted: 26th Aug 2004 02:19
Quote: "But then I don't know what v[0] means. Does it mean the pointer to v? Or the first character of the string at the pointer v?"

v[0] is the first element of array v.

Quote: "Also, what does this mean: +=

and this: (z<<4)
"

x += 3 is the same as x=x+3
z<<4 means to shift the bits of z right 4 times (check the DBPro bitwise opperators for this).
eat much pie
20
Years of Service
User Offline
Joined: 9th Apr 2004
Location: Within the mind of a lowly mortal...
Posted: 26th Aug 2004 02:26
Cheers GothOtaku! But wouldn't the "z<<4" thing make them shift left (seeing how they're pointing to the left).


[href]Checkpoint Router[/href]: My AI Routing Program
Sam Wright
GothOtaku
21
Years of Service
User Offline
Joined: 23rd Nov 2003
Location: Amherst, MA, USA
Posted: 26th Aug 2004 02:32
Oops! Yep....
Mentor
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: United Kingdom
Posted: 26th Aug 2004 02:57
lol, I did a post with a dbpro encode/decode routine, see if you can find it , if you do and you think it isn`t secure enough then I could tweak it for more security.

Mentor.

PC1: P4 3ghz, 1gig mem, 2x160gig hd`s, Radeon 9800pro w cooler (3rd gfx card), 6 way speakers.
PC2: AMD 2ghz, 512mb ram, FX5200 ultra, 16 bit SB.
Mini ATX cases suck.
Mussi
21
Years of Service
User Offline
Joined: 27th Jan 2003
Location: Netherlands
Posted: 26th Aug 2004 03:03
Quote: "Cheers GothOtaku! But wouldn't the "z<<4" thing make them shift left (seeing how they're pointing to the left)."


z<<4 equals z*4*4



Specs: AMD Athlon 1800, 256 DDRRam 266mhz, 80GB HD 7200rmp U133, Geforce 4 Ti4400 128mb
eat much pie
20
Years of Service
User Offline
Joined: 9th Apr 2004
Location: Within the mind of a lowly mortal...
Posted: 26th Aug 2004 07:16
Alright, this is just riddiculous. I've decided to make my own encryption algorithm. I'll take the principles of the TEA algorithm and add it to other principles. Does anyone know of any places where I can read about encryption algorithmss? (online , that is. I'm not walking all the way down to the library)


[href]Checkpoint Router[/href]: My AI Routing Program
Sam Wright
Class I Coder
20
Years of Service
User Offline
Joined: 11th Apr 2004
Location:
Posted: 26th Aug 2004 07:29
Eat Much Pie, there have been similar threads to this before.The ppl here are damn fine game hackers and programmers, but knowledgeable crackers/cryptanalysts?

What are you trying to protect, from whom, and for how long?
Kevin Picone
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 26th Aug 2004 14:12 Edited at: 23rd Aug 2010 01:07
That's a good point. Although there's certainly people around here that come form the darker side (cough, couldn't resist a bad pun!) of programming. But they're few and far between.

Are you trying to protect text/data or what ?

eat much pie
20
Years of Service
User Offline
Joined: 9th Apr 2004
Location: Within the mind of a lowly mortal...
Posted: 26th Aug 2004 18:59
I'm trying to encrypt data files that I'm going to use to transmit data (such as e-mails, usernames, passwords, etc.) for Checkpoint Router.

I've been searching around for some examples of ecryption code, but haven't found what I'm looking for. I'd like to know the different ways in which I can encrypt data.

If anyone has any links to good sites for explaining the different forms of encryption, then could you post them here please.

Cheers!


[href]Checkpoint Router[/href]: My AI Routing Program
Sam Wright
flibX0r
21
Years of Service
User Offline
Joined: 14th Feb 2003
Location: Western Australia
Posted: 26th Aug 2004 21:25
Should look into the Vernam cipher, particularly as a One Time Pad. Mathematically proven to be unbreakable, as it would be easier to just think of every possible solution as opposed to decrypting it.


http://www.jellystudios.tk
Current Project: Cube3 Arena (TGC Compo Entry)
Class I Coder
20
Years of Service
User Offline
Joined: 11th Apr 2004
Location:
Posted: 26th Aug 2004 23:26
Vernam type ciphers are unsuitable in this situation, as these require the distribution of the 'key' to the trusted parties who will receive the ciphertext. Though the one time pad is unbreakable, who needs to break anything when you've just handed them the key?

By the looks of it you're interested in something called 'Public Key Cryptography'. Ever heard of PGP or RSA? These use public key methods. Google will return a large number of hits but just for starters try http://www.faqs.org/faqs/cryptography-faq/part06/

I'd think twice about writing your own prog as there's lots of pitfalls to avoid, but if you're going to write your own program forget using DB, it wasn't designed for speedy bit-twiddling. Most progs you'll find are written in C as this is good'n'fast for bit manipulation.

Login to post a reply

Server time is: 2024-11-25 21:53:31
Your offset time is: 2024-11-25 21:53:31