Pages:
Author

Topic: Using mouse input for extra entropy (Read 339 times)

legendary
Activity: 2030
Merit: 1569
CLEAN non GPL infringing code made in Rust lang
September 06, 2019, 04:06:48 PM
#29

You move your mouse until you make the necessary entropy. You can use your keyboard as well with your mouse movements. After that, your private key is generated.

However, I read somewhere that humans are not good sources of entropy.... so maybe that is not a good idea. We problably keep moving the mouse in some crazy pattern.

I have seen that long ago, even Openbsd does it at first (ssh init?) boot (if you don't move the mouse it simply takes longer). Also noticeably Keepass and other password managers, before generating a random password.

I don't think they use only the mouse, but a combination of sources, just to make random more random Smiley
legendary
Activity: 1624
Merit: 2481
September 05, 2019, 01:52:50 PM
#28
~snip~

This would still require people to download and run the source code, not to simply download the webpage (what everyone is suggesting to do).
And most of the time it is easier to check C/Java/Python code than javascript. Most websites use tons of JS libraries which makes it almost impossible to check them all.

JS is known to be somewhat risky when dealing with crypto operations.

My way to go would still be to either 1) generate a private key using the linux command line or 2) to use a well-known wallet (e.g. electrum / core).
legendary
Activity: 3472
Merit: 10611
September 05, 2019, 01:40:42 PM
#27
as for point #2, if the source code is run on a clean and offline computer (like a live Linux from a DVD) then i don't see how this could even be an issue.

There could be bugs in the implementation of some algorithms, for example regarding PRNG's.

well, the same argument could be made about any other implementation and it would be true!

Quote
Or they might be simply using outdated libraries, which even could already contain known vulnerability, decreasing the entropy used to generate the private key(s).
i am not an expert and since i have never used this project for anything serious i have never needed to check the source code but it is open source and you could check it. if you found a vulnerability in the implementation, the libraries and the way it is using them then let us know with specifics. otherwise only talking about possibilities covers all the tools, libraries, wallets and implementations out there.
legendary
Activity: 1624
Merit: 2481
September 05, 2019, 06:17:47 AM
#26
as for point #2, if the source code is run on a clean and offline computer (like a live Linux from a DVD) then i don't see how this could even be an issue.

There could be bugs in the implementation of some algorithms, for example regarding PRNG's.
Or they might be simply using outdated libraries, which even could already contain known vulnerability, decreasing the entropy used to generate the private key(s).

The javascript aspect isn't really influenced by where it is run (online / offline pc), but by the code and libraries itself.
A faulty implementation could result in easily crackable private keys. And you have no proper and comfortable way of checking the code / libraries.


A better way would be to simply create a wallet (e.g. core or electrum) on an offline computer with a live distro and use that private key for a paper wallet.
legendary
Activity: 3472
Merit: 10611
September 05, 2019, 02:44:08 AM
#25
Anyone else care to explain why https://www.bitaddress.org would not be safe to use?

from reddit by luke-jr taken from that article:
Quote
1. It's a website. Even if you download it locally, you're setting yourself a habit of putting private data in your web browser.
2. It's Javascript, which is an extremely poor record for security and crypto, and is super-flexible to the extent that it can be hijacked in subtle ways (think browser extensions that quietly redefine how basic mathematics works).
3. It encourages either address reuse (which has no shortage of problems, as /u/sQtWLgK pointed out), or managing multiple keypairs by hand (which is liable to accidental loss, since key management is excessively complicated and humans screw up eventually).

although i have to disagree about calling the "tool" unsafe just because users may use it wrong (points 1 and 3 and partly 2). for example if someone is using the website then they don't understand what this tool is for, and for these types of users no wallet or other tool is safe because they can lose their money just the same way.
or regarding #3 paper wallets have a clear purpose, they are meant to be used as a cold storage which means when you have a certain amount of bitcoin and want to "store" that for a long time. again if you are reusing that address then you are using the tool wrong.
as for point #2, if the source code is run on a clean and offline computer (like a live Linux from a DVD) then i don't see how this could even be an issue.
legendary
Activity: 3542
Merit: 1965
Leading Crypto Sports Betting & Casino Platform
September 05, 2019, 01:51:59 AM
#24
No, you are mistaken. If the site is malicious it could be programmed to generate private keys known to the site owner. In that case it doesn't need network connectivity to compromise wallets so using it offline doesn't make a damn bit of difference.

Well, until you have some evidence that this is happening, you can't condemn the website.

You showed me a link of a newbie that lost hia funds because he didn't take any precaution and didn't follow website recommendations.



Another victim of bitcoin paper wallet dot com: https://www.reddit.com/r/CryptoCurrency/comments/cyd6uj/bitcoinpaperwalletcom_scam_or_not_4_btc_stolen/ .

I use https://www.bitaddress.org for my paper wallets and they also use mouse input for extra entropy, but I see a article posted in 2016 says it is not safe to use it? https://www.newsbtc.com/2016/12/11/bitcoin-users-stop-using-bitaddress-org-look-alternatives/

I have not had one of the 100's of Paper wallets that I created "offline" with this script, being compromised. I used a old second hand computer & printer that were not connected to the internet to create these wallets and then I physically destroyed it.  Wink

Anyone else care to explain why https://www.bitaddress.org would not be safe to use?
newbie
Activity: 38
Merit: 0
September 04, 2019, 09:20:56 PM
#23
A compromised computer producing not truly random numbers is unlikely to produce a collusion after two 'random' events. They will rather produce random numbers in a smaller space. The output will appear random without testing, but someone with knowledge of the specific space numbers will be generated will be able to generate a collusion with fairly low effort.

The movement of the mouse is intended to counter the above risk in adding user specific random to create a larger space of possible private keys even if the computer's random function is compromised.

If computer/OS random function (such as /dev/random) is compromised, then that means your computer most likely is compromised as well since you need superuser access to compromise it.
<>
Besides, good entropy won't help if the output is biased.
Using your mouse for additional 'randomness' will only help against a narrow subset of possible attacks, but one that is difficult to detect.

This might help you if you are using an 'offline' computer to generate private keys that has previously been exposed to the internet, but that will not be connected to the internet in the future. An attacker may anticipate this and mess with the /dev/random function and nothing else.

I understand this private key generation will take both the output from the /dev/random and the mouse movements converted into a number, and display a private key based on both. So if the /dev/random produces the same output two times, the difference in mouse movements will cause the software to produce two private keys.

The duration of mouse movements play a huge role as well. It gets exponentially more secure the longer you move your mouse around. every movement of the mouse so to say makes its predictability increasingly more difficult. So even if you move the mouse in a predictable manner for 10 seconds, if you move it in a non-standard way for 1 additional movement it becomes practically impossible to predict. Now do this for 30 seconds and you see where this is going. I don't have the math for this at hand right now, but it is simple statistics.
legendary
Activity: 3682
Merit: 1580
September 02, 2019, 12:11:45 AM
#22
No, you are mistaken. If the site is malicious it could be programmed to generate private keys known to the site owner. In that case it doesn't need network connectivity to compromise wallets so using it offline doesn't make a damn bit of difference.

Well, until you have some evidence that this is happening, you can't condemn the website.

You showed me a link of a newbie that lost hia funds because he didn't take any precaution and didn't follow website recommendations.



Another victim of bitcoin paper wallet dot com: https://www.reddit.com/r/CryptoCurrency/comments/cyd6uj/bitcoinpaperwalletcom_scam_or_not_4_btc_stolen/ .
legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
August 23, 2019, 05:11:18 AM
#21
Good idea, but AFAIK some wallet already use /dev/random and few OS-level random which generally accepted for cryptography usage.
Additionally, /dev/random have various entropy source which is more "random" than mouse.

The point is to add an extra set of entropy on top of using /dev/random and whatever other RNG, it's just to spice things up after you've setup your whole thing, obviously you can't depend on mouse input alone, but I don't see how this isn't an improvement in overall entropy, assuming the whole thing is done in an airgapped computer and so on (unlike the guy that requested that online site).

Fair point, but AFAIK there's no noticeable difference regarding security/"randomness" unless you have serious concern about good entropy source.

This might help you if you are using an 'offline' computer to generate private keys that has previously been exposed to the internet, but that will not be connected to the internet in the future. An attacker may anticipate this and mess with the /dev/random function and nothing else.

As i mentioned earlier, compromise /dev/random requiring you to compromise the OS itself. And if your OS were compromised, most likely your Bitcoin already stolen with other way (such as keylogger, copy wallet.dat and access private memory which might contain private key if you open your wallet).
legendary
Activity: 1624
Merit: 2481
August 23, 2019, 01:47:24 AM
#20
So if the /dev/random produces the same output two times, the difference in mouse movements will cause the software to produce two private keys.

This won't happen. /dev/random uses multiple sources as entroy, including CPU interrupts and noise from drivers.
You won't produce the same result twice. Adding mouse movement won't change much.

/dev/random and /dev/urandom both are considered good PRNGs.


And even tho an attacker might be able to compromise those files, this also means he already compromised the system and therefore does not need to change /dev/random at all.
copper member
Activity: 1666
Merit: 1901
Amazon Prime Member #7
August 23, 2019, 12:12:14 AM
#19
A compromised computer producing not truly random numbers is unlikely to produce a collusion after two 'random' events. They will rather produce random numbers in a smaller space. The output will appear random without testing, but someone with knowledge of the specific space numbers will be generated will be able to generate a collusion with fairly low effort.

The movement of the mouse is intended to counter the above risk in adding user specific random to create a larger space of possible private keys even if the computer's random function is compromised.

If computer/OS random function (such as /dev/random) is compromised, then that means your computer most likely is compromised as well since you need superuser access to compromise it.
<>
Besides, good entropy won't help if the output is biased.
Using your mouse for additional 'randomness' will only help against a narrow subset of possible attacks, but one that is difficult to detect.

This might help you if you are using an 'offline' computer to generate private keys that has previously been exposed to the internet, but that will not be connected to the internet in the future. An attacker may anticipate this and mess with the /dev/random function and nothing else.

I understand this private key generation will take both the output from the /dev/random and the mouse movements converted into a number, and display a private key based on both. So if the /dev/random produces the same output two times, the difference in mouse movements will cause the software to produce two private keys.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
August 22, 2019, 01:28:36 PM
#18
No, you are mistaken. If the site is malicious it could be programmed to generate private keys known to the site owner. In that case it doesn't need network connectivity to compromise wallets so using it offline doesn't make a damn bit of difference.

Well, until you have some evidence that this is happening, you can't condemn the website.

You showed me a link of a newbie that lost hia funds because he didn't take any precaution and didn't follow website recommendations.

legendary
Activity: 1610
Merit: 1183
August 22, 2019, 01:17:47 PM
#17
Good idea, but AFAIK some wallet already use /dev/random and few OS-level random which generally accepted for cryptography usage.
Additionally, /dev/random have various entropy source which is more "random" than mouse.

The point is to add an extra set of entropy on top of using /dev/random and whatever other RNG, it's just to spice things up after you've setup your whole thing, obviously you can't depend on mouse input alone, but I don't see how this isn't an improvement in overall entropy, assuming the whole thing is done in an airgapped computer and so on (unlike the guy that requested that online site).
legendary
Activity: 3682
Merit: 1580
August 22, 2019, 01:11:44 PM
#16
The original owner washed his hands of it years ago. He may have sold it to a scammer or he may have broken bad himself. It cannot be trusted.

Did you expect that the former owner of the website do anything different? He said he sold the website and cannot be responsible for it anymore

What did you expect? Like "ok, I sold my website but I can guarantee that the new owner is an honest guy and I am responsible for his actions"

If you sell your site to a scammer then you definitely bear some responsibility. You're setting people up to lose money. The only way to legitimately exit such a business is to sell it to someone you know is honest. Otherwise you don't sell it at all and yes that means you lose out on the gains but it is the right thing to do.

An example of the correct way to do things can be found in the sale of multibit software to keepkey. The multibit developers made sure to sell to a trusted entity in the space. When Keepkey found themselves incapable of maintaining the software they chose to shutdown the project rather than sell it to a malicious entity. They could have sold it and recovered the amount they spent on acquiring multibit but they chose doing the right thing over material gains. All in all no user lost funds and the reputations of all parties involved were maintained.

Quote
That's not how things work. And if you properly airgap your computer, the risks of using this website are very low (or non existent)

No, you are mistaken. If the site is malicious it could be programmed to generate private keys known to the site owner. In that case it doesn't need network connectivity to compromise wallets so using it offline doesn't make a damn bit of difference.
legendary
Activity: 1624
Merit: 2481
August 22, 2019, 12:31:41 PM
#15
That's not how things work. And if you properly airgap your computer, the risks of using this website are very low (or non existent)

Not necessarily.

If the PRNG is sabotaged or it is coded to only create X (e.g. 1.000.000) different private keys, then even using it offline would not be safe.
And that would probably be the most realistic attack if an bad actor would use such a site to steal funds.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
August 22, 2019, 12:06:15 PM
#14
The original owner washed his hands of it years ago. He may have sold it to a scammer or he may have broken bad himself. It cannot be trusted.

Did you expect that the former owner of the website do anything different? He said he sold the website and cannot be responsible for it anymore

What did you expect? Like "ok, I sold my website but I can guarantee that the new owner is an honest guy and I am responsible for his actions"

That's not how things work. And if you properly airgap your computer, the risks of using this website are very low (or non existent)
legendary
Activity: 3682
Merit: 1580
August 22, 2019, 11:36:51 AM
#13
If the site is compromised it doesn't matter if you use it offline or online. The owner of the site could easily set it up to generate compromised private keys. Other users have complained about this site too. It  is not safe.

Do you know how much people have complained about electrum already ? Countless..
Do you regard electrum as not being safe too ?

I do not agree with any kind of paper wallet creation through websites (regardless whether online or offline). But without proper evidence, or at least some indications, calling a random paper wallet website not safe is not completely correct.
No website is safe for newbies. No web wallet is. And no desktop wallet is.
Nothing is safe for a user without common sense. Not even a hardware wallet.

Are there any indications why this website should be avoided (besides newbies complaining about it) ?

The original owner washed his hands of it years ago. He may have sold it to a scammer or he may have broken bad himself. It cannot be trusted.
legendary
Activity: 1624
Merit: 2481
August 21, 2019, 12:33:31 PM
#12
If the site is compromised it doesn't matter if you use it offline or online. The owner of the site could easily set it up to generate compromised private keys. Other users have complained about this site too. It  is not safe.

Do you know how much people have complained about electrum already ? Countless..
Do you regard electrum as not being safe too ?

I do not agree with any kind of paper wallet creation through websites (regardless whether online or offline). But without proper evidence, or at least some indications, calling a random paper wallet website not safe is not completely correct.
No website is safe for newbies. No web wallet is. And no desktop wallet is.
Nothing is safe for a user without common sense. Not even a hardware wallet.

Are there any indications why this website should be avoided (besides newbies complaining about it) ?
legendary
Activity: 3682
Merit: 1580
August 21, 2019, 11:04:13 AM
#11
This site isn't safe. Please remove your active link to it. You don't want to help it rank better in the search engine results pages!

No site is safe for newbies. You should always use a hardware wallet if you are a newbie.

It was his fault.
Quote from:  url=https://www.reddit.com/r/Bitcoin/comments/cs68ri/my_paper_wallet_generated_on/
I generated my bitcoin paper wallet on in January, 2019. I did it online in my browser and didn’t follow through all the recommendations at 

That guuy didn't follow recommendations and is now crying that he was hacked....

If the site is compromised it doesn't matter if you use it offline or online. The owner of the site could easily set it up to generate compromised private keys. Other users have complained about this site too. It  is not safe.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
August 21, 2019, 08:55:10 AM
#10
This site isn't safe. Please remove your active link to it. You don't want to help it rank better in the search engine results pages!

No site is safe for newbies. You should always use a hardware wallet if you are a newbie.

It was his fault.
Quote from:  url=https://www.reddit.com/r/Bitcoin/comments/cs68ri/my_paper_wallet_generated_on/
I generated my bitcoin paper wallet on https://bitcoinpaperwallet.com/ in January, 2019. I did it online in my browser and didn’t follow through all the recommendations at https://bitcoinpaperwallet.com/#security page.

That guuy didn't follow recommendations and is now crying that he was hacked....
Pages:
Jump to: