Note: I'm new to information security practices so feel free to point out anything I could be doing better.
Situation : I'm currently creating an encryption system for instant messaging and I want to know if what I'm doing is good.
I'm building a variant of polyalphabetic subsitution :
- take a link, and then get all text on the webpage
- build a dict
char -> list of positions
from the webpage's text - use the dict to map every char of the message to one position picked (randomly) in the list
- encode the position in exadecimal
- optionally compress the result if it's a file encrypted
It returns me things like that : 5118 35b0 60ec 3e19 6aa6 6bfb 32db 6cd7 4a2d
for a 9 char string.
There is the full Python module code and a tiny tool to test all the module : https://github.com/NimingCypher
Questions :
- Is it secure and possible to create a webpage to generate a public key?
- Alice want to talk with Bob for example, so Alice generate a hash with a password and some random chars stored into her computer (or anywhere else)
- Then Bob get the hash and generate his own by the same method
- Bob put both hashes into the webpage and then give the
private
key - Then the webpage return a link who redirect to the
private
key if informations provided by php parameters generate one of the two hashes.
- Is there a way to prevent sniffing attacks?
Thanks for your help.