Может быть, вы знаете о проекте PyBitmessage по Atheros:
Его код может быть использован, чтобы сделать это:
Код:
#! / USR / бен / окр питон
# - * - кодирование: UTF-8 - * -
от highlevelcrypto импорта *
от pyelliptic импорта арифметики
от binascii импорта hexlify, unhexlify
# тзд
открытый текст = "Bitcoin это новая мировая валюта."
# От Casascius Btc утилиты
privkeyUtil = "0x29635CB46E2AA93EFF403448E1555DC99F4ECB75898BBF232D769EA5C029A1DF"
pubkeyUtil = "0x04AAC5327CEF4681FEDCA19C5D9C009172484A3497B616376947E81F2E9ED35968A707D3C4966AB49608F047A5F9E29D16ABD35FB4F613D5B5A119EBDD6799C45D"
pubkeyHashUtil = "702B9096868BA888D71326D1F55EC2B20CB84D3A"
addressUtil = "1BE6sRNQgQ28iiYPKBXeyHh1E6LPAdaxfH"
################################################## ##############
# Фактическая работа
################################################## ##############
pubkeyEcc = privToPub (privkeyUtil [2:]). Верхний ()
Шифр = зашифровать (открытый текст, pubkeyEcc)
матч = BOOL (дешифровать (шифр, privkeyUtil [2:]) == открытого текст)
################################################## ##############
# вывод
Распечатать "ключи ------------"
Распечатать "Данные утилиты Casascius"
Распечатать "privkey:", privkeyUtil
Распечатать "Публичных:", pubkeyUtil
Распечатать "адрес:", addressUtil
Распечатать
Распечатать "Данные, полученные из выше privkey с PyBitmessage highlevelcrypto (pyelliptic / OpenSSL)"
Распечатать "Публичных:", pubkeyEcc
Распечатать "адрес:", Arithmetic.pubkey_to_address (pubkeyEcc)
Распечатать
Распечатать "шифрование ------------"
Распечатать "простой текст:", простой текст
Распечатать "шифр:", Hexlify (шифр)
если матч:
Распечатать "расшифровывать: матч"
#вывод:
## клавиш ------------
## данные из утилиты Casascius
## privkey: 0x29635CB46E2AA93EFF403448E1555DC99F4ECB75898BBF232D769EA5C029A1DF
## Публичные: 0x04AAC5327CEF4681FEDCA19C5D9C009172484A3497B616376947E81F2E9ED35968A707D3C4966AB49608F047A5F9E29D16ABD35FB4F613D5B5A119EBDD6799C45D
## Адрес: 1BE6sRNQgQ28iiYPKBXeyHh1E6LPAdaxfH
##
## данные, полученные выше privkey с PyBitmessage highlevelcrypto (pyelliptic / OpenSSL)
## Публичные: 04AAC5327CEF4681FEDCA19C5D9C009172484A3497B616376947E81F2E9ED35968A707D3C4966AB49608F047A5F9E29D16ABD35FB4F613D5B5A119EBDD6799C45D
## Адрес: 1BE6sRNQgQ28iiYPKBXeyHh1E6LPAdaxfH
##
## Шифрование ------------
## открытый текст: Bitcoin является новой мировой валютой.
## Шифр: f8f358b861c041e430024ecbecccaada02ca00203c00513c46364b3f08de80b202e658155093dfd6f0847daff53295a858aafb2000205fef717e5e6935a450930925d8da7aecd02a560a4f8c5ebdad1517e8480724b8fb6fb42db52256c14df788546bd32360604f9cb0ad6ce79d8e98274e54a55526baceb8d559e854f75300114d0148d310d70ad7515e8f8f2e81a416d93d26a4f06d185c69bd64a2384303e9fff393a8ee
## расшифровывать: матч
[/ Цитата]
# - * - кодирование: UTF-8 - * -
от highlevelcrypto импорта *
от pyelliptic импорта арифметики
от binascii импорта hexlify, unhexlify
# тзд
открытый текст = "Bitcoin это новая мировая валюта."
# От Casascius Btc утилиты
privkeyUtil = "0x29635CB46E2AA93EFF403448E1555DC99F4ECB75898BBF232D769EA5C029A1DF"
pubkeyUtil = "0x04AAC5327CEF4681FEDCA19C5D9C009172484A3497B616376947E81F2E9ED35968A707D3C4966AB49608F047A5F9E29D16ABD35FB4F613D5B5A119EBDD6799C45D"
pubkeyHashUtil = "702B9096868BA888D71326D1F55EC2B20CB84D3A"
addressUtil = "1BE6sRNQgQ28iiYPKBXeyHh1E6LPAdaxfH"
################################################## ##############
# Фактическая работа
################################################## ##############
pubkeyEcc = privToPub (privkeyUtil [2:]). Верхний ()
Шифр = зашифровать (открытый текст, pubkeyEcc)
матч = BOOL (дешифровать (шифр, privkeyUtil [2:]) == открытого текст)
################################################## ##############
# вывод
Распечатать "ключи ------------"
Распечатать "Данные утилиты Casascius"
Распечатать "privkey:", privkeyUtil
Распечатать "Публичных:", pubkeyUtil
Распечатать "адрес:", addressUtil
Распечатать
Распечатать "Данные, полученные из выше privkey с PyBitmessage highlevelcrypto (pyelliptic / OpenSSL)"
Распечатать "Публичных:", pubkeyEcc
Распечатать "адрес:", Arithmetic.pubkey_to_address (pubkeyEcc)
Распечатать
Распечатать "шифрование ------------"
Распечатать "простой текст:", простой текст
Распечатать "шифр:", Hexlify (шифр)
если матч:
Распечатать "расшифровывать: матч"
#вывод:
## клавиш ------------
## данные из утилиты Casascius
## privkey: 0x29635CB46E2AA93EFF403448E1555DC99F4ECB75898BBF232D769EA5C029A1DF
## Публичные: 0x04AAC5327CEF4681FEDCA19C5D9C009172484A3497B616376947E81F2E9ED35968A707D3C4966AB49608F047A5F9E29D16ABD35FB4F613D5B5A119EBDD6799C45D
## Адрес: 1BE6sRNQgQ28iiYPKBXeyHh1E6LPAdaxfH
##
## данные, полученные выше privkey с PyBitmessage highlevelcrypto (pyelliptic / OpenSSL)
## Публичные: 04AAC5327CEF4681FEDCA19C5D9C009172484A3497B616376947E81F2E9ED35968A707D3C4966AB49608F047A5F9E29D16ABD35FB4F613D5B5A119EBDD6799C45D
## Адрес: 1BE6sRNQgQ28iiYPKBXeyHh1E6LPAdaxfH
##
## Шифрование ------------
## открытый текст: Bitcoin является новой мировой валютой.
## Шифр: f8f358b861c041e430024ecbecccaada02ca00203c00513c46364b3f08de80b202e658155093dfd6f0847daff53295a858aafb2000205fef717e5e6935a450930925d8da7aecd02a560a4f8c5ebdad1517e8480724b8fb6fb42db52256c14df788546bd32360604f9cb0ad6ce79d8e98274e54a55526baceb8d559e854f75300114d0148d310d70ad7515e8f8f2e81a416d93d26a4f06d185c69bd64a2384303e9fff393a8ee
## расшифровывать: матч
[/ Цитата]
Я не криптограф, но от того, что я понимаю, что это должно быть возможно сделать это действительно безопасным (не уверен, о состоянии библиотек под рукой).