22.04.2018
Криптография: чем защищены криптовалюты?

Для того, чтобы понять, что такое безопасность криптовалюты, нужно заглянуть на пару тысяч лет назад. Криптография имеет очень длинную историю от замены букв и до системы шифрования с открытым ключом и хешированием. «На Криптычах» рассказывают все по порядку.

биткоин

История

Первые упоминания криптографии можно найти в Древнем Египте 4000 лет назад, когда использовали моноалфавитную систему шифрования — основной принцип заключается в замене букв алфавита изначального текста буквами другого алфавита. Это первый период развития. Второй период начинается с развитием полиалфавитного шифрования — периодическое использование в тексте нескольких моноалфавитных шифров к определенному числу букв шифруемого текста. Начиная с IX века на Ближнем Востоке (Ал-Кинди) и с XV века в Европе (Леон Баттиста Альберти) — до начала XX века).

Например: [Привет]; [Как дела?]; [Я работаю], …, [Перезвоню], …, …, [Ты ETH купил]?. Первый моноалфавитный шифр будет кодировать [Привет], второй моноалфавитный шифр — [Как дела], третий — [Я работаю] и дальше в таком духе. Это полиалфавитный шифр.

Третий период (1900 — 1950-х) примечателен тем, что тут начинают внедряются электромеханические устройства в работу шифровальщиков в купе с полиалфавитным шифрованием.

Известнейшим примером применения электромеханического устройства и полиалфавитного шифрования является немецкая кодирующая машина — ENIGMA, которая могла посодействовать своим существованием многим смертям во второй мировой войне. К счастью, накануне войны Алан Тьюринг вместе с остальными учеными и уполномоченными органами Англии смогли создать дешифровальную машину, которую назвали Turing BOMB.

енигма

Четвертый период (1950 — 1975-х) криптография становится более математической, со строгими правилами количества информации, передачи данных, энтропии, функций шифрования. Обязательным этапом создания шифра считается изучение его уязвимости к различным известным атакам — линейному и дифференциальному криптоанализу. До 1975 года криптография все еще оставалась с приватным ключом.

Пятый период начинается с 1975 года и продолжается по сей день. Именно этот период можно назвать современной криптографией.

Сегодня

Новое направление, которое начинает активно развиваться — криптография с открытым ключом. Новые технические возможности, а также распространение криптографии в использование частными лицами требует развития.

Асимметричное шифрование предполагает использовать в паре два разных ключа — публичный(открытый) и приватный(секретный). В асимметричном шифровании ключи работают в паре — если данные шифруются открытым ключом, то расшифровать их можно только соответствующим секретным ключом и наоборот — если данные шифруются секретным ключом, то расшифровать их можно только соответствующим открытым ключом. Использовать открытый ключ из одной пары и секретный с другой — невозможно. Каждая пара асимметричных ключей связана математическими зависимостями. Данный способ также нацелен на преобразование информации от просмотра третьей стороной.

Теперь можно приступить к тому, как это работает в блокчейне биткоина. Биткоин адрес — это хеш (код) публичного ключа (PUB). Сам публичный ключ это хеш от приватного ключа (PRIV).

Публичный ключ зашифрованный в SHA256 это и есть адрес кошелька. Адрес = SHA256(PUB) , и получается что-то вроде этого: 1thFdfkjoJgz3N6sLoAwGth9TNm8YuOPgT7 (это упрощенный процесс, на самом деле все сложнее)

Это адрес, который нужно запомнить для совершения перевода другому лицу (человек — получатель средств, должен вам его скинуть). Смысл адреса можно представить себе, как точное местонахождение биткоина в блокчейне. Но в блокчейне не содержится твой секретный и публичный ключи, в сети нет информация о них, они есть только у тебя и их нужно держать в секрете. Передача биткоин-адреса другому человеку — абсолютно безопасна, поскольку свойства хеша таковы, что невозможно из адреса получить публичный ключ:

Pub=261c1eb21fc47456467be1cfc6d4565652e9e768b620782898936b93000a6c02

И тем более приватный:

Priv=04678afdb0fe5548271967f1a67130b546hj5k8e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f

биткоин кошель

На твоем компьютере создается публичный и приватный ключ. Приватный ключ считается совершенно секретным, потому что с его помощью можно расшифровать то, что зашифровано публичным. В то же время, если ты расскажешь о публичным ключе, то с его помощью смогут зашифровать любое сообщение так, что прочитать его сможешь только ты, так как владеешь приватным ключом. Но кроме этого, у публичного ключа есть полезный эффект — с помощью него можно проверить, что данные были зашифрованы именно твоим приватным ключом, не расшифровывая при этом сами данные.

Также в криптовалютах для обеспечения безопасности транзакций используется:

Хеширование

Хеширование — это это процесс при котором происходит преобразование информации любой длины в выходную битовую строку определенной длины. Такие преобразования также называются хеш-функциями или функциями свёртки, а их результаты называют хеш-кодом, контрольной суммой или дайджестом сообщения (англ. message digest). Результаты хеширования статистически уникальны. Последовательность, отличающаяся хотя бы одним байтом, не будет преобразована в то же самое значение.

Проще говоря, информация, которую вы собираетесь закодировать при хешировании, в независимости от размера, превращается в битовую строку фиксированной длины.


Оригинал статьи

Криптография: чем защищены криптовалюты?

Для того, чтобы понять, что такое безопасность криптовалюты, нужно заглянуть на пару тысяч лет назад. Криптография имеет очень длинную историю от замены букв и до системы шифрования с открытым ключом и хешированием. «На Криптычах» рассказывают все по порядку.

биткоин

История

Первые упоминания криптографии можно найти в Древнем Египте 4000 лет назад, когда использовали моноалфавитную систему шифрования — основной принцип заключается в замене букв алфавита изначального текста буквами другого алфавита. Это первый период развития. Второй период начинается с развитием полиалфавитного шифрования — периодическое использование в тексте нескольких моноалфавитных шифров к определенному числу букв шифруемого текста. Начиная с IX века на Ближнем Востоке (Ал-Кинди) и с XV века в Европе (Леон Баттиста Альберти) — до начала XX века).

Например: [Привет]; [Как дела?]; [Я работаю], …, [Перезвоню], …, …, [Ты ETH купил]?. Первый моноалфавитный шифр будет кодировать [Привет], второй моноалфавитный шифр — [Как дела], третий — [Я работаю] и дальше в таком духе. Это полиалфавитный шифр.

Третий период (1900 — 1950-х) примечателен тем, что тут начинают внедряются электромеханические устройства в работу шифровальщиков в купе с полиалфавитным шифрованием.

Известнейшим примером применения электромеханического устройства и полиалфавитного шифрования является немецкая кодирующая машина — ENIGMA, которая могла посодействовать своим существованием многим смертям во второй мировой войне. К счастью, накануне войны Алан Тьюринг вместе с остальными учеными и уполномоченными органами Англии смогли создать дешифровальную машину, которую назвали Turing BOMB.

енигма

Четвертый период (1950 — 1975-х) криптография становится более математической, со строгими правилами количества информации, передачи данных, энтропии, функций шифрования. Обязательным этапом создания шифра считается изучение его уязвимости к различным известным атакам — линейному и дифференциальному криптоанализу. До 1975 года криптография все еще оставалась с приватным ключом.

Пятый период начинается с 1975 года и продолжается по сей день. Именно этот период можно назвать современной криптографией.

Сегодня

Новое направление, которое начинает активно развиваться — криптография с открытым ключом. Новые технические возможности, а также распространение криптографии в использование частными лицами требует развития.

Асимметричное шифрование предполагает использовать в паре два разных ключа — публичный(открытый) и приватный(секретный). В асимметричном шифровании ключи работают в паре — если данные шифруются открытым ключом, то расшифровать их можно только соответствующим секретным ключом и наоборот — если данные шифруются секретным ключом, то расшифровать их можно только соответствующим открытым ключом. Использовать открытый ключ из одной пары и секретный с другой — невозможно. Каждая пара асимметричных ключей связана математическими зависимостями. Данный способ также нацелен на преобразование информации от просмотра третьей стороной.

Теперь можно приступить к тому, как это работает в блокчейне биткоина. Биткоин адрес — это хеш (код) публичного ключа (PUB). Сам публичный ключ это хеш от приватного ключа (PRIV).

Публичный ключ зашифрованный в SHA256 это и есть адрес кошелька. Адрес = SHA256(PUB) , и получается что-то вроде этого: 1thFdfkjoJgz3N6sLoAwGth9TNm8YuOPgT7 (это упрощенный процесс, на самом деле все сложнее)

Это адрес, который нужно запомнить для совершения перевода другому лицу (человек — получатель средств, должен вам его скинуть). Смысл адреса можно представить себе, как точное местонахождение биткоина в блокчейне. Но в блокчейне не содержится твой секретный и публичный ключи, в сети нет информация о них, они есть только у тебя и их нужно держать в секрете. Передача биткоин-адреса другому человеку — абсолютно безопасна, поскольку свойства хеша таковы, что невозможно из адреса получить публичный ключ:

Pub=261c1eb21fc47456467be1cfc6d4565652e9e768b620782898936b93000a6c02

И тем более приватный:

Priv=04678afdb0fe5548271967f1a67130b546hj5k8e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f

биткоин кошель

На твоем компьютере создается публичный и приватный ключ. Приватный ключ считается совершенно секретным, потому что с его помощью можно расшифровать то, что зашифровано публичным. В то же время, если ты расскажешь о публичным ключе, то с его помощью смогут зашифровать любое сообщение так, что прочитать его сможешь только ты, так как владеешь приватным ключом. Но кроме этого, у публичного ключа есть полезный эффект — с помощью него можно проверить, что данные были зашифрованы именно твоим приватным ключом, не расшифровывая при этом сами данные.

Также в криптовалютах для обеспечения безопасности транзакций используется:

Хеширование

Хеширование — это это процесс при котором происходит преобразование информации любой длины в выходную битовую строку определенной длины. Такие преобразования также называются хеш-функциями или функциями свёртки, а их результаты называют хеш-кодом, контрольной суммой или дайджестом сообщения (англ. message digest). Результаты хеширования статистически уникальны. Последовательность, отличающаяся хотя бы одним байтом, не будет преобразована в то же самое значение.

Проще говоря, информация, которую вы собираетесь закодировать при хешировании, в независимости от размера, превращается в битовую строку фиксированной длины.


Оригинал статьи