# Help me make a very mathematical encryption algorithm

1. Apr 18, 2013

### Jamin2112

Suppose I make an application with a password of max 20 characters -- no special characters and not case-sensitive. So that means there is a 1-to-1 correspondence between the set of all passwords P and the set S = {1, 2, ..., 3720 - 1, 3720}. A simple bijective function f:P-->S could be constructed. Then I want to construct another bijective function g:S-->T for some set T. Any ideas?

2. Apr 18, 2013

### chiro

Hey Jamin2112.

What properties do you want your bijective function to have?

3. Apr 18, 2013

### Jamin2112

Actually, it doesn't have to be bijective, now that I think about it. Could be merely injective.

Maybe take the binary representation of the numbers and have each of those digits correspond to parameters in a differential equation?

4. Apr 18, 2013

### chiro

What is the quantization scheme you want to use for the parameters and what is the state space for the DE model?

5. Apr 18, 2013

### Jamin2112

Scratch that. I'm gonna need something simpler than a differential equation.

Let's assume the ints 1, 2, ..., 3720 are represented with 64 bits. Convert the binary representation of each to an 8 x 8 matrix of 0's and 1's. Then raise that matrix to, say, the 69th power. Now we have to assume that this makes for an injective function. Is that too much to assume?

6. Apr 18, 2013

### chiro

One small problem:

log_2(37^20) = 20*log_2(37) = 30*ln(37)/ln(2) = 104.1891 which means if you have a uniform distribution with those values, you will need at least 105 bits to store them.

7. Apr 18, 2013

### Jamin2112

Make 'em 16 x 16 matrices. We've got a 256-bit machine.

8. Apr 18, 2013

### chiro

So what do you want your function to be exactly (given this 16x16 matrix)?

9. Apr 18, 2013

### Jamin2112

g(M) = M69 where M ε ℝ16x16

Lets assume that if the only possible M in the domain are those binary matrix representations of the numbers 1 through 3720, we have an injective function.