Making your own crypto algorithm is considered a bad idea unless you are a cryptographer and are willing to spend a lot of time creating/testing it.
The algorithm in P3 is (according to the mailinglists) created by a guy who knows his stuff, but it's not a standard. I suggest using AES instead if you want to use passwords (AES is a symmetric encryption algorithm).
The problem at the moment is that there are no readily available modules for Python 3 that come with AES support. For Python 2.x there is Pycrypto, an excellent library for any cryptographic algorithm, but it's still getting ported at this time to Python 3. However there is a branch that already contains AES here.
Now how tough would it be to crack AES with a 10 to 20 character password? Very tough. If you use the most secure one (which is AES 256 at the moment) and your password consists of only numbers,upper and lower case letters. Then you would have (26+26+10 possibilities for one letter)^10 (all possible combinations). This is a huge number of passwords you'd need to try (statistically half the amount actually). Because of the complexity and CPU load AES can cause, it would take over one hundred thousand years to crack it.