Если вы заинтересованы в изучении ECC, Certicom имеет много информации, которая достаточно легко понять. Это на самом деле не так сложно, как может показаться. Просто много уравнений.
http://www.certicom.com/images/pdfs/WP-ECCprimer.pdfhttp://www.certicom.com/index.php/10-introductionЕсли вы можете прийти с консольным приложением, которое будет работать под Linux, возможно, займет некоторую энтропию или 32-байтовый секретный ключ и печатает один адрес Bitcoin на консоль, я могу преобразовать его для работы на машине кредитной карты. Я также могу предоставить ту часть, которая отправляет QR-коды на принтер, заданный только строка для кодирования.
Как бы один получить энтропию на таком устройстве? Создание автономной консоли приложение, которое может создать адрес из закрытого ключа является относительно простым. Это может быть что-то я бы до.
Это потребует автономную реализацию SHA256, ripemd160, математики и BIGNUMs ЕС.
РЕДАКТИРОВАТЬ: Глядя на реализацию BIGNUM OpenSSL, это зависит от вещей, как stdio.h и assert.h. Что на самом деле доступно на этой кредитной карте машине?
stdio.h, string.h, stdlib.h, math.h все должны быть доступны.
Энтропия должна исходить из сочетания клавиатуры и таймера. В дополнении к выскабливанию системных данных, во время инициализации мы пользователь разомните клавиатуры для инициализации пула энтропии. Используя ключевые коды сканирования из ключевых штрихов, а также точную синхронизацию между ними (система клеща счетчик с разрешением в диапазоне миллисекунды), а также системные часы, мы получаем достаточно энтропии, чтобы начать генерации ключей. Каждое нажатие используются для добавления энтропии в пул, и мы упорно энтропию к файловой системе (которая сохраняется в батарейной поддержке ОЗУ).
Это много, как то, что делает bitaddress.org приобрести энтропии при первой загрузке его, другой, чем мы можем а) делать это дольше, потому что б) с учетом постоянного хранения, у нас есть только исчерпывающе сделать это один раз.
И, наконец, как вы могли заметить в моем Bitcoin полезности адреса: Я предпочитаю, чтобы генерировать личные ключи, используя SHA256 хэш строки, которая является частично сформированной системой, а частично предоставленного пользователем. Система генерирует длинную случайную строку символов (80+), а затем пользователю предлагается ввести с клавиатуры затора в середине этого. SHA256 делается на результирующую строку плюс п, где п представляет собой число инкрементации. Это обеспечивает простую проверяемость, что ГСЧ не сфальсифицирован (или, если это как-то, это не будет вредно), а также позволяет пользователю приличного шанса "вырезать палубу", Не слишком много беспокойства, что тарабарщина пользователя не будет иметь достаточно энтропии.