| Welcome to Crypto. We hope you enjoy your visit. You're currently viewing our forum as a guest. This means you are limited to certain areas of the board and there are some features you can't use. If you join our community, you'll be able to access member-only sections, and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free. Join our community! If you're already a member please log in to your account to access all of our features: |
| An Interesting Challenge... | |
|---|---|
| Tweet Topic Started: Apr 3 2006, 01:32 AM (563 Views) | |
| zeyhexre | Apr 3 2006, 01:32 AM Post #1 |
|
Just registered
![]() ![]() ![]()
|
Hey, all. An interesting challenge has been presented to me. I have very little cryptography experience, and can't really see any clear pattern to this problem. While Googling around for information, I stumbled across your forum and this challenge section. So, after seeing the request for more challenges to be posted up in the News section, I wondered if there is anyone here who would be interested in wrapping their heads around this! To make it a little more interesting, I further obfuscated things slightly in the description of the challenge as well as in the known data presented. I have included a spoiler/hint at the end of this post to provide a little help if it is needed. ---------- CHALLENGE: To determine the rules behind how a particular string of characters is derived from a specific number value. RULES: 1) From a number, you must generate a string of characters 16 bytes in length. 2) You will be given and must work from 2 examples where the complete pair of the decimal number and the resulting 16 bytes is known. The same set of steps were used to generate both strings from their respective original numbers from which they were derived. 3) Any byte within the final 16-byte string may only fall within the following ASCII values: 48 (0x30) - 57 (0x39), 65 (0x41) - 70 (0x46), and 97 (0x61) - 102 (0x66). These are the ranges for the ASCII values representing numeric digits 0 through 9, uppercase letters 'A' through 'F', and lowercase letters 'a' through 'f' 4) The ASCII values you come up with when testing your algorithm against the known examples provided to you MUST match exactly (that is, you cannot substitute an uppercase letter for a lowercase one, or vice-versa). Here are the two known examples: (BASE-10 NUMBER -> "STRING") 8070343304 -> "14afd43B8af3d0af" 8070485810 -> "204Ac7c4d8a6409f" Good luck! If you all decide to accept the challenge, I'll be eager to see if you get anywhere with it. |
![]() |
|
| zeyhexre | Apr 3 2006, 01:36 AM Post #2 |
|
Just registered
![]() ![]() ![]()
|
SPOILER: The "number" may actually be more useful to you as a sequence of bytes. Take the number in decimal form, convert it to hexadecimal/base-16, and then "pad" the *front* of the number with enough zeros so that the entire representation of the number in hex form fills exactly 6 bytes. It is possible that only a part of this set of 6 bytes is being used to derive the final 16-byte string and the rest is being tossed/ignored, and it is equally possible that the complete set of 6 bytes is required to construct the final string. |
![]() |
|
| insecure | Apr 3 2006, 05:49 AM Post #3 |
|
NSA worthy
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
So you have a mapping from one number to another number. That the second number is expressed in base 22 (i.e. 22 different "digit" symbols) is irrelevant. It's still a number. You have been given mappings X1 -> Y1 and X2 -> Y2 These can be represented as the points (X1, Y1) and (X2, Y2) on the Cartesian plane. The gradient of this line is of course (Y2 - Y1) / (X2 - X1). We call this gradient M. We observe that Y1 - M * X1 and Y2 - M * X2 both evaluate to a constant, C. We now have a general mapping that gives any required solution Y to an input of X: Y = MX + C If you didn't want a straight line, you should have provided more than two points! |
![]() |
|
| 1 user reading this topic (1 Guest and 0 Anonymous) | |
| « Previous Topic · Challenges · Next Topic » |





![]](http://z2.ifrm.com/static/1/pip_r.png)



12:25 AM Jul 11