Help me make a very mathematical encryption algorithm

In summary: What do you want the function to do?What do you want the function to do?I want it to map each number in S to its corresponding number in T.
  • #1
Jamin2112
986
12
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?
 
Computer science news on Phys.org
  • #2
Hey Jamin2112.

What properties do you want your bijective function to have?
 
  • #3
chiro said:
Hey Jamin2112.

What properties do you want your bijective function to have?

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
What is the quantization scheme you want to use for the parameters and what is the state space for the DE model?
 
  • #5
chiro said:
What is the quantization scheme you want to use for the parameters and what is the state space for the DE model?

Scratch that. I'm going to 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
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
chiro said:
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.

Make 'em 16 x 16 matrices. We've got a 256-bit machine.
 
  • #8
So what do you want your function to be exactly (given this 16x16 matrix)?
 
  • #9
chiro said:
So what do you want your function to be exactly (given this 16x16 matrix)?

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.
 

1. How does encryption work?

Encryption is a process of converting data or information into a code to prevent unauthorized access. It involves using a specific mathematical algorithm to scramble the data in a way that can only be deciphered with a secret key.

2. What makes a good encryption algorithm?

A good encryption algorithm should be mathematically complex and difficult to reverse engineer. It should also have a large key space, meaning there are many possible combinations for the key, making it harder to crack. Additionally, it should be resistant to known attacks and have a low probability of producing the same output for different inputs.

3. Can a mathematical algorithm be completely secure?

There is no such thing as a completely secure encryption algorithm. However, a good encryption algorithm can make it extremely difficult for hackers to break the code and access the data. The security level also depends on the strength of the key and how well it is protected.

4. How do I create my own encryption algorithm?

Creating a secure encryption algorithm requires a deep understanding of mathematics and computer science. It is recommended to consult with experts in the field and thoroughly test the algorithm before using it. It is also important to keep the algorithm and key secret to maintain its security.

5. How do I know if my encryption algorithm is strong enough?

The strength of an encryption algorithm can be measured by its resistance to known attacks, the size of the key space, and its ability to produce different outputs for different inputs. It is also important to regularly review and update the algorithm to ensure it is keeping up with advancements in technology and hacking techniques.

Similar threads

  • Computing and Technology
Replies
4
Views
3K
Replies
9
Views
938
Replies
1
Views
828
  • Electrical Engineering
Replies
4
Views
704
  • Engineering and Comp Sci Homework Help
Replies
1
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
5
Views
2K
  • Introductory Physics Homework Help
Replies
3
Views
158
  • Thermodynamics
Replies
4
Views
1K
  • Set Theory, Logic, Probability, Statistics
Replies
1
Views
1K
  • Programming and Computer Science
Replies
29
Views
2K
Back
Top