Solved

Mildly Cryptographic

Posted on 1998-12-20
2
223 Views
Last Modified: 2010-04-15
I wish to generate registration codes for users of software.

The users software has an embedded unique INT known by me
say:
int user = 12345678;

Now I have a fixed key INT known only to me
say:
int key = 19673215;

How would I write an algorithm to generate ascii passwords for the users to enter, (when emailed to them).

And an algorithm within the program to check that the supplied password is valid for the unique user ID int.

This not on UNIX so crypt is not an option and I want to do something a bit more exotic than XOR.

Can anybody help??????
Some workable C code examples only please






0
Comment
Question by:samas122098
2 Comments
 
LVL 16

Accepted Solution

by:
imladris earned 100 total points
ID: 1255346
The simplest way to proceed would be along the following lines:

Write any old algorithm that transforms the number in their program in some hideous fashion. Do exponentiation, multiply it by big constants, add big numbers, subtract them, take sines and add the result etc. etc. Whatever makes you feel nice and secure. Now the idea is for this to be a one-way (trapdoor) algorithm. I.e. it is reasonably apparent (at least to you) how to get the result given the initial number and the algorithm. However it tantamount to impossible to get the first number from the second one, even if you have the algorithm.

Now, the user phones up and wants to register his package. You get the number embedded in his software. You generate the second number for him. Now he can enter that as a number or you can try to pretty it up by getting letters for it. For instance if the second number is 1234132, you can have him enter 1234132 or you could make ABCDACB or something along those lines.

Now the user enters that and the program stores it somewhere. Whenever the user goes to execute his program it takes the number in it, turns the hideous algorithm loose on it and compares the result to what the user entered. If it matches; voila he is registered and enabled.

0
 
LVL 84

Expert Comment

by:ozo
ID: 1255347
Is the user ID int chosen by the algorithm?
0

Featured Post

Do email signature updates give you a headache?

Do you feel like you are constantly making changes to email signatures? Are the images not formatting how you want them to? Want high-quality HTML signatures on all devices, including on mobiles and Macs? Then, let Exclaimer solve all your email signature problems today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
how to define a string array with big size in c language 10 129
SQL Statment to match two tables in c# 6 77
What is atomic operation? 6 46
delete-remove 14 65
Preface I don't like visual development tools that are supposed to write a program for me. Even if it is Xcode and I can use Interface Builder. Yes, it is a perfect tool and has helped me a lot, mainly, in the beginning, when my programs were small…
Windows programmers of the C/C++ variety, how many of you realise that since Window 9x Microsoft has been lying to you about what constitutes Unicode (http://en.wikipedia.org/wiki/Unicode)? They will have you believe that Unicode requires you to use…
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use for-loops in the C programming language.
The goal of this video is to provide viewers with basic examples to understand and use conditional statements in the C programming language.

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now