title: ÐÑÐ°ÐºÑÐ¸ÑÐµÑÐºÐ¸Ð¹ Ð°Ð½Ð°Ð»Ð¸Ð· ÐºÑÐ¸Ð¿ÑÐ¾Ð³ÑÐ°ÑÐ¸ÑÐµÑÐºÐ¸Ñ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼Ð¾Ð², Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÐ¼ÑÑ Ð² ÐºÑÐ¸Ð¿ÑÐ¾Ð²Ð°Ð»ÑÑÐ½ÑÑ ÐºÐ¾ÑÐµÐ»ÑÐºÐ°Ñ
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° ÑÐ¿ÐµÑÐ¸Ð°Ð»Ð¸ÑÑÐ°
titleType: Subtitle
title: Practical analysis of cryptographic algorithms used in cryptocurrency wallets
Creators: name: ÐÑÐµÐ·Ð¸Ð½Ð°, Ð¡Ð¾ÑÑÑ
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2021
Subjects: ÐÐ»Ð³Ð¾ÑÐ¸ÑÐ¼Ñ
ÐºÐ¾ÑÐµÐ»ÐµÐº ÐºÑÐ¸Ð¿ÑÐ¾Ð²Ð°Ð»ÑÑ
ÑÐ¸ÑÑÐ¾Ð²Ð°Ð½Ð¸Ðµ ÐºÐ¾ÑÐµÐ»ÑÐºÐ° ÐºÑÐ¸Ð¿ÑÐ¾Ð²Ð°Ð»ÑÑ
ÑÑÐ½ÐºÑÐ¸Ñ Ð²ÑÑÐ°Ð±Ð¾ÑÐºÐ¸ ÐºÐ»ÑÑÐ° Ð¸Ð· Ð¿Ð°ÑÐ¾Ð»Ñ
ÑÐ¼ÐµÐ½Ð° ÐºÐ»ÑÑÐ° ÑÐ¸ÑÑÐ¾Ð²Ð°Ð½Ð¸Ñ
ÑÑÐµÐ¼ÐµÑÐ½ÑÐ¹ ÐºÐ»ÑÑ
cryptocurrency wallet
encrypting cryptocurrency wallet
password-based key derivation function
changing encryption key
ephemeral key

description: ÐÐ°Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð¿Ð¾ÑÐ²ÑÑÐµÐ½Ð° Ð¾ÑÐµÐ½ÐºÐµ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾ÑÑÐ¸ ÑÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ð¸ ÑÐ¸ÑÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÑÐ¸Ð¿ÑÐ¾Ð²Ð°Ð»ÑÑÐ½ÑÑ ÐºÐ¾ÑÐµÐ»ÑÐºÐ¾Ð². Ð ÑÐ°Ð±Ð¾ÑÐµ ÑÐ°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°Ð»Ð¸ÑÑ ÐºÐ¾ÑÐµÐ»ÑÐºÐ¸ Bitcoin Core Ð¸ Electrum. Ð ÑÐ¾Ð´Ðµ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÐ°Ð±Ð¾ÑÑ ÑÐµÑÐ°Ð»Ð¸ÑÑ ÑÐ»ÐµÐ´ÑÑÑÐ¸Ðµ Ð·Ð°Ð´Ð°ÑÐ¸: 1. ÐÐ·ÑÑÐ¸ÑÑ Ð¿ÑÐ°ÐºÑÐ¸ÑÐµÑÐºÐ¸Ðµ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼Ñ ÑÐ¸ÑÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²ÑÐ±ÑÐ°Ð½Ð½ÑÑ ÐºÐ¾ÑÐµÐ»ÑÐºÐ¾Ð². 2. ÐÑÐ¾Ð°Ð½Ð°Ð»Ð¸Ð·Ð¸ÑÐ¾Ð²Ð°ÑÑ ÑÑÐ½ÐºÑÐ¸Ð¸ Ð²ÑÑÐ°Ð±Ð¾ÑÐºÐ¸ ÐºÐ»ÑÑÐ° Ð¸Ð· Ð¿Ð°ÑÐ¾Ð»Ñ, ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð½ÑÐµ Ð² ÐºÐ¾ÑÐµÐ»ÑÐºÐ°Ñ. 3. ÐÑÐ¾Ð°Ð½Ð°Ð»Ð¸Ð·Ð¸ÑÐ¾Ð²Ð°ÑÑ Ð¾ÑÐ³Ð°Ð½Ð¸Ð·Ð°ÑÐ¸Ñ ÑÐ¼ÐµÐ½Ñ ÐºÐ»ÑÑÐµÐ¹ ÑÐ¸ÑÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑÐ¸ Ð·Ð°Ð´Ð°Ð½Ð¸Ð¸ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¼ Ð½Ð¾Ð²Ð¾Ð³Ð¾ Ð¿Ð°ÑÐ¾Ð»Ñ. 4. Ð ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°ÑÑ Ð´ÐµÐ¼Ð¾Ð½ÑÑÑÐ°ÑÐ¸Ð¾Ð½Ð½ÑÐµ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ñ Ð´Ð»Ñ Ð¿ÑÐ¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð°ÑÐ°ÐºÐ¸ Ð½Ð° ÐºÐ¾ÑÐµÐ»ÐµÐº Bitcoin Core. 5. ÐÑÐµÐ½Ð¸ÑÑ Ð²ÑÐµÐ¼Ñ Ð¿ÐµÑÐµÐ±Ð¾ÑÐ° Ð¿Ð°ÑÐ¾Ð»ÐµÐ¹ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð´Ð»Ñ ÑÐ°ÑÑÐ¸ÑÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾ÑÐµÐ»ÑÐºÐ¾Ð². Ð ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐµ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÐ°Ð±Ð¾ÑÑ Ð±ÑÐ»Ð¾ Ð¾Ð±Ð½Ð°ÑÑÐ¶ÐµÐ½Ð¾, ÑÑÐ¾ Ð² Bitcoin Core Ð½Ðµ ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð° ÑÐ¼ÐµÐ½Ð° ÐºÐ»ÑÑÐ° ÑÐ¸ÑÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°ÐºÑÑÑÑÑ ÐºÐ»ÑÑÐµÐ¹ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ. Ð¢Ð°ÐºÐ°Ñ ÑÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ñ Ð´ÐµÐ»Ð°ÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ð¹ Ð¿ÑÐ¾Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ Ð¿Ð¾Ð²ÑÐ¾ÑÐ½Ð¾Ð¹ Ð°ÑÐ°ÐºÐ¸ Ð½Ð° ÐºÐ¾ÑÐµÐ»ÐµÐº Ð±ÐµÐ· Ð·Ð½Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ Ð¿Ð°ÑÐ¾Ð»Ñ, ÐµÑÐ»Ð¸ Ð¾Ð½ ÑÐ¶Ðµ Ð±ÑÐ» ÑÐºÐ¾Ð¼Ð¿ÑÐ¾Ð¼ÐµÑÐ¸ÑÐ¾Ð²Ð°Ð½ ÑÐ°Ð½ÐµÐµ. Ð ÐºÐ¾ÑÐµÐ»ÑÐºÐµ Electrum ÑÐ¼ÐµÐ½Ð° ÐºÐ»ÑÑÐ° Ð¾ÑÐ³Ð°Ð½Ð¸Ð·Ð¾Ð²Ð°Ð½Ð° Ð¿ÑÐ¾Ð·ÑÐ°ÑÐ½Ð¾ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð¿Ð¾ÑÐ»Ðµ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑÐµÐ°Ð½ÑÐ° ÑÐ°Ð±Ð¾ÑÑ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð³ÐµÐ½ÐµÑÐ°ÑÐ¸Ð¸ ÑÑÐµÐ¼ÐµÑÐ½Ð¾Ð³Ð¾ ÐºÐ»ÑÑÐ° ÐºÐ°Ðº Ð¾Ð´Ð½Ð¾Ð¹ Ð¸Ð· ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ ÐºÐ»ÑÑÐ° ÑÐ¸ÑÑÐ¾Ð²Ð°Ð½Ð¸Ñ. Ð ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð½ÑÐ¹ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼ Ð²ÑÑÐ°Ð±Ð¾ÑÐºÐ¸ ÐºÐ»ÑÑÐ° Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ ÑÑÑÐµÐºÑÐ¸Ð²Ð½Ð¾ Ð²ÑÑÐ¸ÑÐ»ÑÑÑ ÐºÐ»ÑÑ ÑÐ¸ÑÑÐ¾Ð²Ð°Ð½Ð¸Ñ, ÐµÑÐ»Ð¸ Ð¿Ð°ÑÐ¾Ð»Ñ Ð¸Ð·Ð²ÐµÑÑÐµÐ½, Ð¸ Ð·Ð°Ð¼ÐµÐ´Ð»ÑÐµÑ Ð¿ÑÐ¾ÑÐµÑÑ Ð¿ÑÐ¸ Ð¿Ð¾Ð»Ð½Ð¾Ð¼ Ð¿ÐµÑÐµÐ±Ð¾ÑÐµ. Ð ÐµÐ·ÑÐ»ÑÑÐ°ÑÑ ÑÐ°Ð±Ð¾ÑÑ Ð¼Ð¾Ð³ÑÑ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÑÑÑ Ð´Ð»Ñ ÑÐ»ÑÑÑÐµÐ½Ð¸Ñ ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÑ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½ÑÑ ÑÑÐµÐ´ÑÑÐ², Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÑÑÐ¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸ÑÐ½ÑÐµ ÐºÑÐ¸Ð¿ÑÐ¾Ð³ÑÐ°ÑÐ¸ÑÐµÑÐºÐ¸Ðµ Ð¼ÐµÑÐ¾Ð´Ñ.
description: This work is devoted to assessing the security of the implementation of encryption of cryptocurrency wallets. The work considered Bitcoin Core and Electrum wallets. In the course of the work, the following goals were solved: 1. Explore practical encryption algorithms for selected wallets. 2. Analyze the functions of generating a key from a password, implemented in wallets. 3. Analyze the organization of encryption keys change when the user sets a new password. 4. Implement demo programs for attacking the Bitcoin Core wallet. 5. Estimate the time it takes to brute force user passwords to decrypt wallets. The result of the research it was discovered that Bitcoin Core is not implemented to change the encryption key of user private keys. This implementation makes it possible to conduct a repeated attack on the wallet without knowing the new password, if it has already been compromised earlier. In the Electrum wallet, changing encryption key is organized transparently for the user after each session of the program by generating an ephemeral key as one of the components of the encryption key. Realized key generation algorithm allows to efficiently calculate the encryption key, if the password is known, and slows down the process with a full search. The results of the work can be used to improve various software tools using similar cryptographic methods.