Энциклопедия мобильной связи

Криптовалюта и криптография. От шифровальных машин к виртуальным деньгам

20 мая 2017г. на фестивале научных лекций ТЕДх в Новосибирске Леонид Каганов прочел интереснейшую лекцию об истории криптографии и, соответственно, истории появления и развития криптовалюты.

От шифровальных машин к шифрованной почте, браузеру Tor и, наконец, криптовалюте.

Когда появится видео лекции, мы его сюда добавим, а пока — иллюстрированная расшифровка лекции. Enjoy!

TEDx про криптографию

Самая яркая отрасль, технология будущего - это вовсе не IT, не вычислительная техника, а криптография.

Вообще вся наука о шифровании - это такая красивая сказка, которую может рассказать дилетант дилетантам, и она все равно останется красивой и остросюжетной. И я ее вам расскажу.

Собственно, своему рождению вычислительная техника тоже обязана криптографии. И вся история компьютерной техники - о том, как одни люди хотели переписываться тайно, а другие хотели это прочесть.

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

Первые компьютеры выглядели раскаленными чудовищами на электромоторах, позже - на радиолампах. Они появились во время Второй мировой в Британии на секретной базе Блетчли Парк - в группе математиков работал знаменитый Алан Тьюринг.

Цель работы была одна: вскрывать шифр вермахта «Энигма» и читать радиограммы фашистских штабов.

Немцы точно знали, что человеческий мозг не способен перебрать все комбинации и вскрыть этот шифр. И они были абсолютно правы. Просто не знали о том, что мозг может быть электронный.

Хотя давно пора было знать: ведь впервые шифр «Энигмы» удалось расшифровать полякам еще в 1932 году при помощи утечек, математической теории и построения специального устройства для расшифровки. Но немецкие инженеры просто усложнили шифр «Энигмы». Мы все переделали, и уж больше такого не случится.

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

Но вернемся к «Энигме». Шифр научились вскрывать - в Блечли Парк летели подслушанные радистами сигналы, и возвращались в штабы антигитлеровской коалиции в виде прозрачных планов, сводок и донесений немецкого командования.

И есть мнение, что именно это в итоге и определило победу союзников и разгром Гитлера. Хотя есть основания считать, что, мягко говоря, не только. Но для цивилизации здесь ценна сама идея: о том, что победа над мировым злом может скрываться в моторах и лампах, стоящих в далеком сарае в тылу - в этом есть что-то поистине Толкиеновское.

В любом случае, все поняли, что компьютер - великая сила. И не только для чтения чужой переписки. Впрочем, особой благодарности от современников Тьюринг не дождался: уличенный в нетрадиционной сексуальной ориентации, он был приговорен в Британии к химической кастрации и покончил жизнь самоубийством.

Шли годы, шифры стали сложнее, а методы их взлома - изощреннее. Но до какого-то момента бытовало мнение, что если накопить достаточно материала (перехваченных депеш) и если будет достаточно времени, то государственная разведка с помощью суперкомпьютеров вскроет любой шифр. А на крайний случай всегда остается старая дерзкая спецоперация: можно арестовать радиста, захватить с тыла вражеский штаб с шифрами, подослать к шпиону головокружительную разведчицу - в общем, любым способом выкрасть или заставить отдать шифр. «Мы все переделали, и такого больше не случится…»

Но в 1977 возникла проблема - появилось шифрование нового поколения: несимметричное шифрование RSA (по фамилиям разработчиков: Rivest, Shamir, Adleman). Бесстыдство нового метода состояло в том, что депеши не надо было даже прятать: их можно было гнать совершенно открыто по открытым каналам, пусть противник слушает, никакого материала накопить ему не удастся. Потому что главная подлость заключалась в том, что у нового поколения шифров не было ключа, который должны знать двое - отправляющий и получающий. (Ведь как мы помним из пословицы, знают двое - знает и свинья).

Ключ для расшифровки отныне хранился только в одном месте - в далеком кабинете далекого воображаемого Гитлера, получателя шифровки. А отправитель просто шлет некий информационный мусор, который не смог бы расшифровать даже он сам при всем желании. Если отправитель пойман, обворован или перевербован - пароля у него все равно нет и никогда не было, он умеет только отправлять. И вы, спецслужбы, тоже можете отправлять. И любой человек мира может написать шифровку далекому воображаемому Гитлеру, а прочтет ее только Гитлер. Спецслужбы напряглись: да как такое вообще возможно, это же против логики? Но математика отвечала: такое теперь возможно.

И мы сейчас разберемся, как. Чтобы не вдаваться в сложную математику, обойдемся простой: представим, будто у математики в нашем мире не существует операции деления, только умножение.

Алгоритм RSA по вашей просьбе рождает случайную пару из двух ключей. Например, это числа: 5 и 0.2 Конечно, вы догадываетесь, что они не случайные. Но чисто внешне общего у них довольно мало. Один из этих ключей открытый: 5. Вы его можете писать на заборах, публиковать в газетах и подписывать им свои бумажные письма: мол, каждый, кто хочет послать мне шифровку, просто каждую цифру (или номер буквы) должен умножать на 5. А закрытая половина - 0.2 хранится в тайне только у вас. Получая от своих собеседников закодированные цифры, вы просто умножаете их на 0.2 и получите расшифровку!

А как видят переписку наблюдатели? Они прочли на заборе ваш открытый ключ 5. И это им ничего не дало. Они проникли в тайну переписки и видят, что к вам идут потоки зашифрованных цифр, умноженных на 5… Ну казалось бы, достаточно обратно поделить на 5, но мы же помним: в математике нашего условного мира деления нет. Не существует такой обратной операции для умножения! Есть тайный множитель 0.2, но отгадать его нельзя. Итог: на глазах у всего мира любой человек может шифровать открытым ключом информацию для адресата - владельца второй половины ключа. Но ни сам отправитель, ни случайные зрители, ни спецслужбы расшифровать ее не смогут.

Пока спецслужбы решали, как им отныне жить с этой проблемой государственных шпионов и военных радистов, подоспел интернет, в который побежали огромные толпы простых людей. А в 1991 программист Филипп Циммерман написал программку PGP, в которой подарил шифрование RSA всем желающим для электронной переписки, которую невозможно вскрыть…

Спецслужбы США - как любые спецслужбы любой страны - испокон веков считали своим законным правом читать всю переписку граждан. В интересах государства, разумеется, не просто так. И в послевоенные десятилетия им показалось, что они наконец-то получили такую возможность, и так отныне будет всегда. Поэтому программу PGP восприняли как страшный плевок в душу. И пришли в такое огорчение, что для начала пытались посадить Циммермана в тюрьму. Негодование спецслужб было совершенно искренним и по-человечески понятным.

А вот для народа оставалось загадкой: по какому закону невинный математик, сделавший какой-то там шифр, заслужил уголовное наказание? И как вообще можно запретить человеку что-то зашифровать - мою переписку с любовницей, например? Вы, спецслужбы, вообще что имеете в виду, вы реально ее прочитать планировали? В итоге дело закрыли, Циммерман остался на свободе, и сегодня без шифрования цивилизация немыслима: все банки, все платежки, все электронные подписи, и даже все сайты, начинающиеся с https - все они используют эти принципы.

Следующая веха криптоистории стартовала в 2002 году, когда исследовательская лаборатория ВМС США решила рассекретить свою разработку: систему Tor, которая позволяет пользователям шифрованно пользоваться интернетом, оставаясь неуловимым - все пакеты проходят через случайную цепочку серверов Tor по непредсказуемым странам и континентам, и невозможно выяснить, кто и откуда отправил пакет. Это позволяло, например, разведчику в Уганде отправить донесение в посольство в Копенгагене так, чтобы в Уганде никто об этом не узнал.

Можно сказать, в 2002 году родился второй интернет: уже полностью анонимный и зашифрованный. Со своими сайтами, шпионами и черными делами. ВМС США крепко пожалели о своем детище, но было поздно - технология ушла в народ. А через год появился I2P (invisible internet project) - примерно похожая технология, и стало совсем грустно.

В 2008 году грянула новая эпоха: криптография атаковала самое святое - деньги. То, что всегда было под контролем государства - оно печатало деньги, хранило и распределяло. Появилась первая криптовалюта - Биткоин. Электронные деньги, основанные на принципах шифрования. У Биткоинов нет банка. Они лежат везде и одновременно нигде: банком является мировая сеть владельцев кошельков, куда войти может каждый. Биткоины нельзя напечатать в нужном количестве: они рождаются сами по своим законам, и только у тех, кто жертвует им свои вычислительные мощности. Биткоины не обеспечены вообще ничем - но ведь даже доллары давно ничем не обеспечены, кроме своего спроса. И Биткоины нельзя ни захватить, ни подобрать шифр суперкомпьютером - вся сеть биткоинов сама занята именно этим: непрерывными попытками подобрать шифр.

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

Криптовалюта взорвала мозг не только у спецслужб и разведок, но у банкиров. Впрочем, создатель Биткоинов усвоил уроки Тьюринга и Циммермана: математикам от криптографии не стоит рассчитывать на благодарность современников. Он удачно скрыл свое имя, представившись неким японцем Сатоси Накамото, и до сих пор неизвестно даже, один это человек или группа. Существует даже шутка, что Биткоин изобрел искусственный интеллект, который давно самозародился и тайно присутствует в мире - ему понадобились финансовые операции, и он их изобрел.

Вслед за Биткоином тут же появились и другие криптовалюты, и число их на сегодняшний день огромно , хотя Биткоин по-прежнему эталон. Итог: в мире есть доступная валюта, которую нельзя ни запретить, ни поставить под контроль, и это самая ценная валюта мира - с номиналом в полтора раза выше доллара и евро.

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

Мы уже понимаем, что криптография на этом не остановится. Какой будет следующая эпоха? Какое новое потрясение принесет нам криптография? Мы этого пока не можем предположить, потому что она всегда атакует неожиданно - откуда никто не ждет.

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

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

Но главный урок, который мы должны для себя извлечь: мир будущего - это не мир материи. Наша цивилизация отучается работать с материей - она все чаще работает с информацией. А у информации совсем другие законы.

Десять лет назад я был очень прогрессивным гиком: на двери своей квартиры использовал вместо ключа - сканер отпечатка пальца. И я надеялся, что со временем пойду дальше и буду использовать сканер сетчатки, а потом, глядишь, изобретут и сканеры ДНК, и тогда я уж точно смогу доказать, что я - это именно я.

Но прошло десять лет, и теперь у меня в руке под кожей маленький электронный чип, отвечающий сканеру шифрованным радиосигналом. Он свидетельствует, что он - это именно он. А значит, пришел я. Сканеры отпечатков ушли в прошлое. Сканеры сетчатки так и не вошли в быт. Сканеры ДНК мелькали в фантастическом кино, и наши дети будут смеяться над этой наивностью. Почему? Нашим миром уже давно управляют законы криптографии, а не материи. Например, такая простая штука, как компрометация данных… Проще всего один раз украсть ваш стакан и получить отпечатки пальцев и ДНК. И всё - злоумышленник пожизненно получает доступ к дверце вашей банковской ячейки. Повторить в материи палец с вашим отпечатком - вопрос технологий, особенно в эпоху развивающейся 3D-печати. А вот сменить себе на руках отпечатки - задача нерешаемая. В отличие от кода чипа, который можно легко перепрошить.

На Международном хакерском конгрессе в Германии Ян Крисслер (Jan Krissler), известный как Starbug, показал, как можно легко подделать отпечатки пальцев по фотографиям . Ему удалось создать рабочий макет подушечки пальца министра обороны Германии Урсулы фон дер Ляйен по нескольким фотографиям, сделанным хорошим фотоаппаратом на пресс-конференциях и встречах.

Я привел этот пример с замком на двери, чтобы подчеркнуть саму философскую идею: подобные проблемы человечеству до последнего времени просто не приходили в голову. Мир производил сканеры пальцев, потому что мы привыкли считать себя и свое тело неповторимым. Идея использовать его для защиты информации казалась перспективной. Нас учили, будто информацию можно копировать сколь угодно много, но не материю - материя-то уникальна по определению… Но теперь оказывается, все наоборот! Мир идет к тому, что мы и наши тела рано или поздно окажемся повторимы и потеряем свою ценность. А неповторимой-то останется именно информация. Не любая - специально для этой цели шифрованная. Этому нас учит криптография, и к этой сингулярности она нас ведет.

Здравствуйте! В этой статье мы расскажем про криптовалюту и постараемся дать о ней всю наиболее важную информацию.

Сегодня вы узнаете:

  1. Какие существуют криптовалюты.
  2. Почему они так популярны.
  3. Как на них можно заработать.

Что такое криптовалюта

Разберемся, что скрывается под термином «криптовалюта», что это простыми словами, и почему она называется именно так. Само наименование Crypto Currensy, означающее «криптовалюта», появилось в журнале «Форбс» в 2011 году. И с тех самых пор название прочно вошло в обиход.

Криптовалютой называют особую разновидность электронного платежного средства. Строго говоря, это математический код. Называется она так из-за того, что при обращении этих цифровых денег используются криптографические элементы, а именно электронная подпись.

Единицей измерения в этой системе считаются «коины» (буквально – «монеты»). Криптовалюта не имеет никакого реального выражения типа металлических монет или бумажных банкнот. Эти деньги существуют исключительно в цифровом виде.

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

«Выпуск» цифровых денег происходит различными способами: это и ICO (первичное размещение монет, система ), и майнинг (поддержание специальной платформы для создания новых криптоденег), и форжинг (образование новых блоков в уже имеющихся криптовалютах). То есть криптовалюта возникает буквально «из интернета».

Другое важное отличие от обычной валюты состоит в децентрализации выпуска. Выпуск электронной валюты представляет собой генерирование математического кода с последующей электронной подписью.

Эмитировать реальные деньги вправе исключительно Центробанк, а вот выпускать криптоденьги – любой человек. Для того чтобы совершать операции при помощи криптовалюты, не нужно контактировать ни с какими сторонними организациями (банками).

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

Обращение такой валюты происходит по системе «блок-чейна» (буквально «замкнутая цепь» в переводе с английского). Эта система представляет собой распределенную по миллионам персональных компьютеров во всем мире базу данных. При этом хранение и запись информации при обращении криптоденег происходит на всех устройствах сразу, что гарантирует абсолютную прозрачность и открытость производимых транзакций.

Почему криптовалюта так популярна

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

Для расчетов виртуальными деньгами используется только их номер, поэтому криптовалюта и не нуждается в реальном выражении. Цифровые платежные средства защищены криптографическим кодом, что делает их более надежными в сравнении с «настоящими» деньгами. А вследствие абсолютной децентрализации эмиссии виртуальных монет, их нельзя ни подделать, ни запретить.

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

А также привлекательность криптовалюты состоит в том, что ее можно получить самостоятельно. То есть цифровую валюту можно достать практически «из воздуха». А ведь на покупке и продаже, а также инвестировании криптовалюты можно еще и . При этом криптоденьги могут быть обменены на традиционные денежные средства, вследствие чего они способны приносить вполне осязаемый доход.

Виды криптовалют

Цифровые деньги впервые появились в 2008 году, а к настоящему времени их существует уже несколько тысяч разновидностей. Есть большая категория (почти 50%) криптоденег, фактически не обеспеченных никаким содержанием. Это так называемые мыльные пузыри. Не будем брать их во внимание.

Наиболее распространенные виды криптовалюты:

1. (BTC, bitcoin, на данный момент один биткоин эквивалентен 4200 долларов США). Криптовалюта биткоин простыми словами – это самая первая цифровая валюта, на основе которой разрабатывались все последующие. Разработчик биткоина (группа разработчиков) – Сатоши Накамото. Для этой валюты заявлен предел по количеству в 21 000 000, однако, в настоящее время он все еще не достигнут.

2. Эфириум (etherium, равен 300 долларов США). Это разработка российского программиста Виталия Бутерина. Появилась такая валюта сравнительно недавно – в 2015 году. Сейчас она довольно популярна наряду с биткоинами.

3. Лайткоин (litecoin, LTC, приравнен к 40 долларам США). Валюта разработана программистом Чарли Ли и выпускается с 2011 года. Лайткоин считается аналогом серебра среди криптовалюты (а биткоин – аналогом золота). Выпуск лайткоинов, как и биткоинов, тоже лимитирован и составляет 84 000 000 единиц.

4. Зи-кэш (Z-cash, 200 долларов США).

5. Дэш (dash, 210 долларов США).

6. Риппл (Ripple, 0,15 долларов США).

Кроме указанных наименований, в электронном обращении используются также Даркоин, Праймкоин, Пиркоин, Доджкоин, Нэймкоин и многие другие.

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

Кроме этого, сейчас есть даже особые банкоматы, в которых можно перевести биткоины в привычные бумажные деньги, а ряд торговых сетей и магазинов принимают эту валюту для расчета наряду с обычными купюрами и монетами.

Преимущества и недостатки криптовалют

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

Плюсы:

  1. Добыть такие деньги при помощи специально организованной деятельности (майнинга) может любой желающий. Поскольку нет единого эмиссионного центра и никаких контролирующих этот процесс органов, то никто не может запретить добывать криптоденьги в сети простым гражданам.
  2. Все операции с криптовалютами (так называемые транзакции) происходят абсолютно анонимно. Единственная открытая информация в этом случае – номер электронного кошелька. А все сведения о его владельце закрыты.
  3. Децентрализованный выпуск, помимо возможности добычи денег каждым желающим, обусловливает и отсутствие контроля за этим процессом.
  4. Для каждой разновидности криптовалюты предусмотрен предел выпуска. Таким образом, невозможна избыточная эмиссия и, как следствие, в отношении этих денег не бывает инфляции.
  5. Криптовалюта защищена уникальным кодом вроде , поэтому она защищена от копирования, а, следовательно, ее нельзя подделать.
  6. При транзакциях практически нет комиссий, поскольку при проведении операций с помощью криптовалюты исключена за ненадобностью роль третьей стороны отношений – банков. Следовательно, такие платежи сравнительно более дешевы, чем при использовании обычных денежных средств.

При всем многообразии положительных характеристик, у криптовалюты есть и недостатки.

Минусы:

  1. Если пользователь потерял пароль от своего электронного кошелька, это означает для него потерю всех находящихся в нем средств. Поскольку нет никакого контроля за проведением транзакций при помощи цифровых денег, нет и гарантий их сохранности.
  2. Криптовалюта характеризуется высокой волатильностью в связи со спецификой ее обращения (волатильность означает частую смену ее стоимости).
  3. В отношении криптовалют могут предприниматься попытки различных негативных воздействий со стороны национальных регуляторов денежного обращения (например, Центробанка РФ).
  4. Поскольку со временем процесс добывания криптомонет все более и более усложняется, то майнинг при помощи оборудования отдельных пользователей становится все менее рентабельным.

Каждый из существующих видов криптовалют обладает как достоинствами, так и недостатками, присущими им всем в совокупности.

В целом же все криптоединицы валюты характеризуются теми же чертами, что и современные деньги, а именно:

  • Они универсальны;
  • Являются обменным средством;
  • Их можно накапливать;
  • Выполняют расчетную функцию.

Стоимость цифровых денег варьируется в зависимости от спроса и предложения.

Как зарабатывают на криптовалюте

В настоящее время имеется ряд способов заработка на биткоинах и прочей виртуальной валюте:

1. Купля-продажа криптовалюты . Это делается на специальных биржах или обменниках электронных денег. Принцип действия в том, чтобы купить валюту во время снижения ее стоимости, а продать – во время повышения. Чаще всего такая торговля связана с биткоинами, поскольку их стоимость выше остальных видов криптовалюты.

2. Инвестиции криптовалют . производятся путем передачи определенной суммы электронных денег одного лица в доверительное управление другому. Обычно вопросами доверительного управления занимаются брокеры.

3. Добыча электронных денег (майнинг) . Майнинг криптовалюты простыми словами – это процесс добывания криптовалюты при помощи специального программного обеспечения. На обычном домашнем компьютере большие объемы криптовалют произвести не удастся, нужны довольно значительные мощности, а, следовательно, приобретение дополнительного оборудования. Необходимы мощные видеокарта и процессор. Кроме этого, используются и специальные аппараты – так называемые майнинг фермы, которые вырабатывают криптовалюту.

4. Майнинг облачным способом . Для такого производства цифровой валюты не понадобится покупать дополнительные приспособления. Для этого существуют специальные сервисы, на которых можно продавать и приобретать вычислительную мощность. То есть сервис генерирует для вас криптовалюту, а вы оплачиваете затраченную мощность.

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

Заключение

Таким образом, криптовалюта – это новое слово в денежном обращении. Ее возникновение обусловлено потребностями времени. Несмотря на то что криптоденьги не имеют реального выражения, они практически наравне с традиционными валютными единицами могут участвовать в различных операциях на рынке.

В настоящее время существует ряд способов заработка криптовалют, а также вариантов получения с них прибыли, чем и пользуются наиболее продвинутые пользователи.

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

"Защита информации" – более широкое понятие по сравнению с понятием "криптографической защиты". Защита информации может обеспечиваться различными методами (физическими, методами стеганографии, др.), в том числе и криптографическими. Под криптографическими методами защиты информации понимаются такие, которые используют математические способы преобразования защищаемой информации (см. «Словарь криптографических терминов», под ред. Б.А. Погорелова, В.Н. Сачкова, МЦНМО, М., 2006.).

  • Определения шифра Вы можете посмотреть в словаре. Однако очень часто в рунете, да и в литературе тоже, путают эти понятия. Выделим основное отличие на понятийном уровне. Код это преобразование информации, в котором НЕ участвует секретная составляющая в виде ключа, примером кода является base64 - схема, по которой произвольная последовательность байт преобразуется в последовательность печатных ASCII символов. Шифр – это преобразование, в котором участвует в каком-либо виде секретная составляющая (ключ). Примерами шифров являются алгоритмы AES или ГОСТ 28147-89.

  • Вы знаете из словаря, что аутентификация - это доказательство пользователя что он - это он. Обычно пользователь это доказывает обладанием некоторого знания (пароль, ключ и т.п.) Протокол аутентификации - это процедура этого доказательства. Протоколы аутентификации различаются числом шагов: 2-проходные, 4-проходные. Также бывает односторонняя и взаимная аутентификация. Например, если Вы заходите на почтовый сайт, и сайт просит Вас ввести пароль это будет 2-проходная односторонняя аутентификация, т.е. Вы аутентифицировались перед сервером и протокол состоял из двух шагов: запрос, ответ. Более сложные протоколы работают, например, в рамках протокола TLS, там может использоваться 5-ти проходная взаимная аутентификация, которая совмещается с протоколом открытого распределения ключей.

  • Как всегда, за формальными определениями отсылаем Вас к словарю. Основное отличие данных протоколов в следующем. В случае идентификации вы представляетесь перед кем-либо (идентифицируете себя). Например, заходите на сайт с почтой и пишете свой почтовый адрес в соответствующее поле, или, пример более жизненный, к Вам подходит милиционер и спрашивает, кто Вы такой, и Вы называете свою фамилию. Это и есть идентификация. А вот аутентификация - это процедура доказательства Вами того, что вы тот, за кого себя выдаете. В нашем первом примере почтовый сервер попросит Вас ввести свой пароль и тем самым аутентифицировать себя. Во втором примере милиционер попросит предъявить паспорт и, тем самым, Вы пройдете аутентификацию перед ним.

  • Определения данных понятий Вы можете найти в словаре, а здесь поясним в чем их различие. Для нормальной работы инфраструктуры открытых ключей (PKI) необходимо наличие центра доверия, обычно это удостоверяющий центр (УЦ). Сертификат - это подписанный удостоверяющим центром открытый ключ пользователя. Сертификат может содержать еще много информации, они выстраиваются в цепочки сертификатов, но главная задача сертификата - удостоверить что открытый ключ именно ВАШ.

  • В первую очередь Вам следует запастись терпением. Криптография – наука сложная. Для изучения криптографии также является необходимым знание математики на высоком уровне (студент 3го курса математических/технических специальностей – уровень необходимый, но не достаточный). Для начала можно воспользоваться книгой А.П. Алферов, А.Ю. Зубов, А.С. Кузьмин, А.В. Черемушкин, «Основы криптографии», Гелиос АРВ, М., 2001. Также неплохой вариант: Б. Шнайер «Прикладная криптография: Протоколы, алгоритмы, исходные тексты на языке Си», Триумф, М., 2002, - более популярный, но, на мой взгляд, более слабый вариант. На следующем этапе нужно уже определиться со специализацией, и… Удачи!

  • Это все названия одно и того же метода криптографического анализа, который заключается в полном переборе всех неизвестных элементов криптографической схемы. Данный метод применим к любым схемам и гарантированно приведет к успеху. Именно поэтому по сложности данного метода оценивают криптографическую стойкость в случае отсутствия более эффективных методов анализа. Эффективность данного метода, обычно, повышают путем распараллеливания процесса перебора.

  • Под “совершенными” понимают такие шифры, при анализе которых криптоаналитик не может получить никакой информации об открытом тексте, имея в распоряжении шифртекст. Казалось бы, все шифры, которые стоит использовать на практике должны обладать свойством “совершенности”. Однако это не так, причем практически всегда. Дело в том, что свойство “совершенности” требует использования огромного количества ключевой информации (объем которой равен совокупному объему всех открытых текстов). Данное условие является крайне непрактичным, поэтому, как правило, используют шифры, совершенные в неклассическом смысле: оптимальные по скорости/цене реализации и криптографической стойкости. Шифры, совершенные относительно этих свойств в определенный момент времени, часто стандартизируются государственными и/или международными организациями.

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

  • Есть классический пример. Если шифр гаммирования применить дважды, то на выходе получим открытый текст. Конечно, не со всеми криптографическими алгоритмами при многократном применении происходят такие катастрофические последствия. Однако использовать данный метод для повышения криптографической стойкости обычно не рекомендуется. Например, для шифров или функций хэширования метод перебора, основанный на построении радужных таблиц, использует цепочки, которые получены путем многократного применения исходно алгоритма. Таким образом, применив алгоритм два или более раз вы, как минимум, не осложните задачу криптоаналитику. В любом случае, прежде чем модифицировать криптографический алгоритм или использовать его нестандартным образом, требуется убедиться, что это не повлечет появления новых слабостей и уязвимостей.

  • Алгоритмы шифрования

    • Шифры разделяются на блочные и поточные по следующему признаку. Первые оперируют сразу с большим блоком информации (64, 128, 256 бит), вторые вырабатывают знаки шифрующей последовательности меньшей длины (1, 4, 16, 32 бита). В некотором приближении данное различие можно считать условным. Как правило, блочные шифры отличаются от поточных принципами строения. Также, обычно поточные шифры работают в режиме гаммирования, т.е. вырабатывают шифрующую последовательность, которая затем накладывается (суммируется) с последовательностью основного текста. Для блочных же шифров отдельно разрабатываются различные режимы использования (в том числе, режим гаммирования). Исторически поточные шифры использовались на платформах с ограниченными ресурсами (вычислительными, малым объемом памяти), или для обеспечения высокой скорости шифрования. Однако в настоящее время на подавляющем большинстве платформ использование блочных шифров является приемлемым. Поточные шифры продолжают использоваться (Э. Бихам) в случае необходимости иметь сверхскоростной программный шифр, а также в случае аппаратной реализации шифра в массовых дешевых изделиях.

    • Понятие режимов шифрования, как правило, используется применительно к блочным шифрам. Блочный шифр при фиксированном ключе задает некоторую подстановку на блоках открытого текста и является, таким образом, шифром простой замены. Непосредственное использование шифров простой замены может быть опасным: имея достаточно материала, противник может дешифровать открытый текст. В связи с этим, для блочных шифров разрабатываются режимы шифрования, то есть специальные алгоритмы использования блочного шифра (см. статью Режимы шифрования блочных шифров). Использование различных режимов шифрования обусловлено разнообразными практическими потребностями. В качестве примера можно привести необходимость ограничения распространения искажений, организацию синхронизации и т.д.

    • Чисто теоритически почти для любого шифра можно определить ключ шифрования (или дешифровать шифртекст). Другой вопрос: за сколько времени? Пусть длина ключа равна n бит. Если Вы используете «хороший» алгоритм шифрования, то для него не существует методов нахождения ключа с трудоемкостью меньше чем 2^n (операций опробования одного ключа). В этом случае длины ключа, равной 128 битам, более чем достаточно. Можно также порекомендовать НЕ использовать ключи длиной меньше 64 бит. В то же время, если у Вас не возникает неудобств с хранением, передачей ключей, со скоростью шифрования, то всегда нужно использовать ключ максимальной длины из возможных для Вашего алгоритма шифрования.

    • Чтобы ответить на этот вопрос, нужно в первую очередь определить, по каким критериям следует сравнивать шифры. В первую очередь, это, конечно же, криптографическая стойкость. Во вторую – скорость программной (аппаратной) реализации. Шифры можно также сравнивать по следующему критерию: количество различных платформ, на которых они могут быть реализованы. (Следует учитывать, что платформы, на которых возникает необходимость реализации шифрования, могут быть весьма различными: от высокопроизводительных ЭВМ до смарт-карт.). Что касается криптографической стойкости, то на данный момент и американский стандарт AES и отечественный ГОСТ 28147-89 можно считать стойкими. В плане быстродействия отечественный стандарт уступает американскому (не стоит забывать, что отечественный стандарт старше американского на 10 лет!), однако скорость его работы достаточна для подавляющего большинства практических целей. Оба стандарта шифрования позволяют создавать реализации на самых различных платформах, в том числе с ограниченными ресурсами. В то же время, следует отметить, что для реализации шифра ГОСТ 28147-89, требуется меньше памяти. Таким образом, нельзя однозначно заключить, какой шифр «лучше». Если добавить в критерии оценки шифров такое свойство, как «патриотизм», то однозначно побеждает отечественный стандарт ГОСТ 28147-89.

    • В первую очередь, алгоритм шифрования должен быть стойким. Во вторую – с достаточно высокой скоростью шифрования. Наибольшее число вопросов у пользователя может вызывать первое условие. Определить, что шифр является стойким может лишь большая группа профессиональных криптографов в течение длительного периода времени (для этого и проводятся в Европе и США конкурсы на различные криптографические алгоритмы). Обычному пользователю, а иногда даже крупной компании, такие трудоемкие исследования, как правило, оказываются неподсилу. Специально для вас существуют стандартизированные решения. В нашей стране это алгоритм шифрования ГОСТ 28147-89. Стандартизированные решения подходят практически в любой ситуации. Однако бывают исключительные случаи (см. ответ на вопрос из ФАКа «Существует ГОСТ на шифрование, зачем нам еще какие-то шифры и алгоритмы?»). Какой шифр использовать в таких ситуациях – зависит уже от множества различных условий, и общего рецепта здесь дать нельзя.

    • Основная цель использования алгоритма шифрования – обеспечение конфиденциальности информации. Следует отметить, что существует огромное количество шифров, удовлетворяющих этой цели. Однако при практическом использовании алгоритма шифрования к нему могут предъявляться дополнительные требования. Приведем некоторые из них: а. Высокая скорость программной реализации шифрования на определенной платформе. При этом конкретная платформа может варьироваться от обычных ПК до процессоров на смарт-картах. б. Высокая скорость аппаратной реализации и низкая стоимость конечного изделия. При аппаратной реализации каждая операция, используемая при шифровании вносит определенный вклад в стоимость конечного изделия. в. Определенные особенности ключевой структуры. Например, шифрование большого (небольшого) объема информации на одном ключе, частая смена ключей. г. Необходимость наличия дополнительных свойств, например, синхронизации. д. Особые сферы применения. В качестве примера можно привести алгоритмы шифрования для устройств RFID. В последнем случае идут даже на снижение стойкости шифра с целью его максимального упрощения. Для подавляющего большинства практических задач вполне подходят стандартизированные решения. Их можно и нужно использовать. Гарантией криптографической стойкости таких алгоритмов, как ГОСТ 28147-89 и AES, служит повышенный интерес к ним всего мирового криптографического сообщества.

    • Смотря для каких целей. Если хотите поиграть в шпионов – используйте на здоровье! Если же от стойкости Вашего шифра зависит конфиденциальность Ваших данных, финансовое состояние Вашей фирмы или Вас лично, то ответ – НЕТ. Человеку свойственно ошибаться, даже если он профессионал. Поэтому, перед тем, как начать практическое использование криптографического алгоритма, он проходит множество проверок различными экспертами. И процесс этот не быстрый: конкурс NESSIE (https://www.cosic.esat.kuleuven.be/nessie/) проводился в течение 3,5 лет; конкурс AES (http://csrc.nist.gov/groups/ST/toolkit/block_ciphers.html/) – почти 4 года; предполагаемые сроки проведения конкурса SHA-3 (http://csrc.nist.gov/groups/ST/hash/sha-3/index.html/) – 4 года. В общем, если Вам нужно шифровать более серьезные сообщения, чем «Сережка любит Светку из 8 “Б”», то используйте либо стандартизированные решения, либо криптоалгоритмы, прошедшие экспертизу высокого уровня.

    • На этот вопрос однозначно ответить нельзя. Дело в том, что для разных шифров наиболее эффективными могут являться совершенно различные атаки. Существуют, конечно, универсальные атаки, как, например, метод полного перебора ключей. В то же время, целый ряд атак (например, слайд-атака) применимы только к очень ограниченному кругу шифров. В последнее время, в связи с увеличением длин ключей и развитием методов синтеза шифров, наиболее эффективными (по крайней мере с точки зрения практики) являются атаки не на сами шифры, а на их реализацию: кэш-атаки (cache attacks), методы на основе связанных ключей, и др.

    • Радужные таблицы (rainbow table) это особый вариант таблиц, который используется при алгоритмах поиска или перебора, основанных на принципе time-memory tradeoff (компромисс между временем поиска и размером таблиц). Существует несколько способов построения таких таблиц. Все они основаны на построении цепочек последовательного применения исследуемой функции и хранении только первой и последней точек данных цепочек. Известны классический метод, предложенный Хеллманом, метод основанный на выделенных точках и метод радужных таблиц. Все эти методы различаются так называемой функцией редукции. Для метода радужных таблиц эта функция состоит из последовательности различных функций. Это позволяет уменьшить число таблиц и увеличить их размер, т.к. уменьшается вероятность склеивания генерируемых цепочек. Самые известные атаки подобного вида: обращение хэш-функции MD5, атаки на A5/1 и DES.

    Криптография с открытым ключом, ЭЦП

    • Раскрыть в одном вопросе принципы криптографии с открытым ключом очень сложно. Но мы Вас успокоим, вместе с открытым ключом существует секретный, и именно он, обычно, участвует в процедуре расшифрования или подписи. А вот открытый ключ работает при шифровании или проверки подписи. Так что, посылая сообщение, вы берете открытый ключ вашего абонента, который тот напечатал в газете, или поместил на свой сайт, и шифруете им сообщение. А вот абонент берет свой секретный ключ, который хранит в секрете, и расшифровывает с помощью него сообщение..

    • У криптографии с открытым ключом есть свои плюсы и минусы. К плюсам можно отнести удобство в управлении ключами и возможность организовать процедуры подписи и ключевого обмена. Однако есть и минусы. Это сложность реализации, как правило, невысокая скорость реализации. Так же некоторые относят к минусам и то, что принципы, которые лежат в основе криптографии с открытым ключом, основаны на трудно решаемых математических задачах, которые однажды, кто-нибудь, может и решить. В общем случае, они, конечно, решены, но вот с практической точки зрения требуются БОЛЬШИЕ И ДОРОГИЕ компьютеры для их решения, которые не могут быть доступны простым гражданам или фирмам.

    • Один из самых распространенных протоколов открытого распределения ключей - это протокол Диффи-Хеллмана. Все остальные, в принципе, построены на его основе. К сожалению, протокол не стойкий относительно активной атаки «человек посередине». Однако если расширить протокол средствами аутентификации, то данное решение будет вполне безопасно. Существуют десятки модификаций протокола Диффи-Хеллмана и протоколов, использующих схожие математические идеи. Кроме того, существуют протоколы, использующие симметричные криптографические алгоритмы.

    • Используйте стандартизированные решения, например ГОСТ Р 34.10-2001. Очень хорошая стойкая схема.

    Функции хэширования

    • Долгое время самой распространенной функцией хэширования являлась MD5. В настоящее время эта функция хэширования продолжает использоваться во многих протоколах и приложениях. Однако в августе 2004 года для MD5 впервые предъявлены коллизии. Методы совершенствовались и теперь коллизии MD5 строятся уже за сотые доли секунды. Более того, имеются примеры так называемых мультиколлизий. Например, здесь (http://www.win.tue.nl/hashclash/Nostradamus/) можно найти 12 pdf файлов с различным и занимательным содержанием, но одинаковыми значения хэш-функции MD5 от них.

    • Для произвольного значения хэш-функции, на данный момент, нет. Хэш-функцию MD5 сломали относительно задачи построения коллизии. Но пока не разработано универсального метода построения прообраза для этой хэш-функции. Однако методы анализа MD5 развиваются очень стремительно и появление метода построения прообраза в ближайшее время весьма реально. Следует отметить, что при определенных предположениях задача построения прообраза решена уже на данный момент. Например, здесь (http://eprint.iacr.org/2011/248.pdf) решается задача восстановления пароля по значению хэш-кода MD5 от строки, состоящей из этого пароля и значения соли.

    • Криптографические функции хэширования используются для доказательства авторства, обеспечения целостности сообщений, идентификации и аутентификации сообщений или участников протокола. Наиболее распространено использование функций хэширования при вычислении электронной цифровой подписи (ЭЦП). В данном случае использование хэш-функций обусловлено необходимостью обеспечения криптографической стойкости и высокой скорости реализации вычисления ЭЦП. Хэш-функции также часто используются при идентификации пользователя с помощью пароля. Как правило, на сервере хранятся не сами пароли (по понятным причинам), а результат применения к ним функции хэширования (хэш-коды). При введении пользователем пароля, к нему применяется хэш-функция и полученный результат сравнивается с хранимым на сервере. Хэш-функции иногда используют для построения блочных (SHACAL) и поточных (SEAL) шифров, генераторов случайных чисел.

    • Ключевые функции хэширования (коды аутентификации сообщений, message authentication code, MAC), в отличие от бесключевых функций хэширования, при вычислении хэш-кода используют некоторую секретную информацию – ключ. Ключевые функции хэширования используются для обеспечения целостности информации и идентификации сообщений или пользователей. Один из наиболее распространенных вариантов построения MAC на основе бесключевой функции хэширования носит название HMAC. При вычислении хэш-кода с помощью HMAC используется двукратное вычисление бесключевой функции хэширования.

    • При криптографическом анализе хэш-функций, одной из основных рассматриваемых задач является задача построения коллизии. Другими словами, требуется найти два различных сообщения x и y, такие что значения их хэш-кодов совпадают. На первый взгляд может показаться, что если длина хэш-кода равна n бит, то найти коллизию для “идеальной” хэш-функции можно только с помощью перебора 2n различных сообщений. Но это не так, и в теории вероятностей это называется парадоксом задачи о днях рождениях. Задача о днях рождениях формулируется следующим образом:: какова вероятность того, что среди N учеников одного класса существуют двое, имеющие одинаковую дату рождения? Оказывается, что данная вероятность больше 0,5 уже при N=23. Задача о днях рождениях схожа с задачей поиска коллизии функции хэширования и для построения коллизии достаточно перебрать гораздо меньше, чем 2^n сообщений, а именно - порядка 2^(n/2).

    • При криптографическом анализе функций хэширования рассматриваются три основные задачи: 1. Построение прообраза. 2. Построение второго прообраза. 3. Построение коллизии. (см. основную статью о хэш-функциях). Существуют общие методы решения каждой из этих задач, применимые к любой функции хэширования. Некоторые считают хэш-функцию «сломанной», если для нее предложены методы решения какой-либо из задач 1-3 с трудоемкостью меньше трудоемкости общего метода. В 2008 году появился ряд работ австрийских и польских криптографов по анализу отечественного стандарта на хэш-функцию. Их усилиями трудоемкость решения основных задач криптоанализа для хэш-функции ГОСТ Р 30.11-94 существенно снижена по сравнению с общими методами анализа. В то же время, трудоемкость решения данных задач (как и требования на необходимый объем памяти) остается настолько большой, что не стоит опасаться продолжать использовать в дальнейшем отечественный стандарт на хэш-функцию (см. также статью о хэш-функции ГОСТ Р 30.11-94). При этом с 2013 года в России действует новый стандарт на функцию хэширования (http://www.standards.ru/document/5293367.aspx). Если кртако, то в новом алгоритме полностью поменяли структуру и увеличили размер хэш-кода.

    • «Сломали» - термин неформальный и его можно трактовать различными способами. В последнее время действительно появился целый ряд работ, показавших серьезные слабости алгоритмов хэширования MD5 и SHA-1. Этим результатам и выводам из них посвящена отдельная статья. Здесь отметим только основное. От использования данных хэш-функций нужно отказаться! Следует однозначно избегать их использовать в разрабатываемых системах защиты информации. В то же время, на данный момент существует лишь несколько практических примеров использования теоретических результатов по анализу хэш-функций SHA-1. В связи с этим, в тех случаях, когда переход на использование других алгоритмов хэширования связан с высокими затратами (прежде всего, финансовыми), продолжение использования SHA-1 возможно. При этом, однако, следует проводить дополнительные экспертизы системы защиты информации. От использования MD5 нужно отказаться КАТЕГОРИЧЕСКИ!

    • Соль - это последовательность символов, которая используется при вычислении значений различных криптографических примитивов и хранится в открытом виде. Значение соли должно вырабатываться псевдослучайным образом, независимо и равновероятно для каждого обращения к криптографическому примитиву. Соль используется для того, чтобы уменьшить эффективность ряда криптографических атак. В качестве примера рассмотрим один метод идентификации с использованием паролей. После получения запроса, сервер отправляет пользователю случайно выработанное значение соли. Пользователь и сервер независимо вычисляют значение хэш-функции от строки, состоящей из пароля и значения соли. Пользователь отправляет на сервер вычисленное значение хэш-функции. В случае если это значение совпадает со значением сервера, то идентификация проходит успешно. Использование соли в этом протоколе обусловлено необходимостью снизить эффективность перебора паролей по словарю. Действительно, для реализации этой атаки необходимо создавать словари для всех возможных значений соли, что, как правило, невозможно реализовать на практике.

    Использование криптографии на практике

    • Что такое целостность данных Вы посмотрите в словаре, а мы рассмотрим методы ее обеспечения. Сначала теория. Обеспечение целостности данных это одна из задач, которую успешно решают с помощью функций хэширования. Если вычислить хэш-код от блока данных, то при практически любом, даже самом незначительном изменении блока данных хэш-код поменяется. И если Вы сохраняете хэш-код в безопасности, то это гарантирует Вам неизменность данных при передаче. Однако, если Вы передаете хэш-код вместе с данными, то использование обычных хэш-функций уже опасно, Вам необходимо применить ключевые хэш-функции, например HMAC. Задачу обеспечения целостности можно также решать с помощью шифрования или кодирования (например, процедурой архивации данных). Теперь о практике. Если вы хотите передать файл по сети и хотите быть уверены, что он дойдет в точности такой, какой был послан, Вы можете: - воспользоваться программой вычисления функции хэширования (самая популярная программа md5sum) и вычислить хэш-код от файла. Однако, во первых, вам надо убедиться что само значение хэш-кода никто не изменил, и, во вторых, репутация функции MD5 существенно подорвана, и лучше пользоваться другими функциями; - архивировать файл и передать архив. От случайных изменений это предохраняет, а если Вы боитесь намеренного изменения – архивируйте с паролем; - зашифровать файл, только при этом ключ шифрования не передавайте вместе с файлом; - и, наконец, подписать ваш файл с помощью ЭЦП (о том как это сделать, смотрите ФАК)

    • Для обмена зашифрованными или подписанными ЭЦП электронными письмами можно использовать стандартное решение PGP. Реализаций данного решения много, например http://www.gnupg.org/ . Для использования PGP Вам необходимо сгенерировать пару ключей: открытый и секретный. Затем необходимо передать по безопасному или доверенному каналу Ваш открытый ключ абоненту. Далее в любой почтовой программе типа The Bat или Outlook (в Bat проще!) создать письмо и подписать и/или зашифровать его, используя соответствующие пункты меню программы. Вашему абоненту останется просто проверить подпись или расшифровать письмо.

    • Как подписать письмо цифровой подписью смотрите в отдельном вопросе. Если Вы хотите подписать файл то Вам понадобиться развернуть у себя небольшую инфраструктуру открытых ключей, а именно сгенерировать себе открытый и закрытый ключ. Проще всего это сделать с помощью библиотеки openssl (http://www.openssl.org/). Утилитами genrsa можно получить открытый и секретный ключи необходимого размера, а утилитой rsautl подписать файл.

    • Существует множество утилит и программ для решения данной задачи. Например, программа TrueCrypt (www.truecrypt.org) позволяет создавать целые зашифрованные разделы. Для шифрования одного файла можно воспользоваться утилитой EncryptFiles http://www.encryptfiles.net . Данная программа позволяет шифровать файлы с использованием более 10 алгоритмов в том числе и AES. В самом крайнем случае можно воспользоваться архиватором с паролем, однако нужно помнить, что не все архиваторы обладают стойкой системой шифрования. Нельзя также забывать, что сложность восстановления Ваших данных в этом случае определяется не только алгоритмом шифрования, но и сложностью Вашего пароля.

    • О преимуществах и недостатках этих двух ОС можно спорить часами и днями, для этого есть отдельные ресурсы. Статистика утверждает, что большинство публичных серверов в интернете работают на юникс-подобных ОС, а большинство вирусов и червей работают именно под Windows. Однако при неграмотной настройке и юникс-системы будут дырявые и небезопасные. Ответим так: при правильной и грамотной настройке и использованию обе ОС вполне безопасны. Просто будьте бдительны!

    • Вопрос для отдельной статьи, ответим кратко. Самое простое - это создать свой самоподписанный сертификат. Это может легко сделать библиотека openssl. После чего заходите в конфиги своего любимого apache и прописываете пути к ключам и сертификату для организации TLS/SSL соединения. Если Вы хотите сделать это под Windows, то Вам понадобиться установленный CSP (Cryptographic Service Provider), можно установить и отечественный CSP (КриптоПро, Lissi csp и др.) с поддержкой отечественных стандартов на хэш-функцию, шифрование и ЭЦП. Далее Вам останется воспользоваться средствами этого самого CSP, ну или просто зайти на сайт, например, http://www.cryptopro.ru/certsrv/ и запросить там тестовый сертификат. Если Вы хотите прикрутить не самописный сертификат к своему сервису, можно заказать на http://www.startssl.com - там бесплатно можно получить сертификат для своего домена.

    • Получение качественных случайных чисел является сложной криптографической задачей. Для ее решения существуют как аппаратные так и программные средства. На практике можно воспользоваться как самыми простыми так и более сложными алгоритмами. Можно выписывать случайное число “из головы”, либо с помощью механических средств (монетка, кубики, домино т.д.). Затем, для повышения его “качества” желательно применить к нему хэш-функцию, добавив в качестве аргумента еще каких-либо псевдослучайных параметров (текущее время, дата, номер машины соседа и т.п.). Однако этот метод хорош для разового использования. Для получения большого числа случайных чисел желательно использовать программные средства. Почти в любом языке программирования есть функция rand(), которая генерирует псевдослучайное число. Однако следует помнить, что период данной функции обычно небольшой (216 или 232) и до ее использования необходимо задать первоначальное псевдослучайное заполнение (время, дата и тп). Существуют генераторы ключевой информации в программных криптографических пакетах (например, truecrypt). Многие открытые операционные системы собирают псевдослучайную информацию (движение мышки, нажатие клавиш и т.п.) в определенный файл (/dev/random). Можно воспользоваться онлайн-генераторами (http://random.org), однако алгоритмы их работы, как правило, не опубликованы.

    • Одноразовые пароли (One-Time Password, OTP) - это одно из средств решения задачи аутентификации пользователей. Ключевым свойством OTP является то, что пароль действует только для одного процесса аутентификации и в ограниченном промежутке времени. Данное свойство позволяет эффективно противостоять возможной компрометации пароля во время использования. Современные реализации таких систем строятся на основе электронных брелков (http://www.aladdin-rd.ru/catalog/etoken/otp/ , http://www.rsa.com/node.aspx?id=1215). Существуют различные схемы работы системы OTP, в самой простой из них сервер и клиентское устройство ведут счет уже полученных паролей и для новой аутентификации на обоих сторонах генерируется одинаковое случайное значение - пароль.

    • Для решения задачи соединения компьютеров в безопасную сеть в рамках общедоступной сети существует стандартный способ – организовать VPN с закрытым трафиком с помощью протокола IPSec. Способ хороший, но для частного использования, например двух компьютеров, может быть слишком громоздким. Можно использовать более простое решение – туннелирование. Организовать его не сложно: ставится сервер ssh. Для linux систем это не проблема, для Windows можно использовать freeSSHd (www.freesshd.com). Далее настраиваем туннель. Для linux способов много, для Windows можно использовать бесплатный клиент Putty, у которого существует возможность настройки туннеля. После успешной настройки трафик между двумя компьютерами (ftp, http, icq, и т.д.) можно направлять через зашифрованный канал ssh.

    • C паролями на архивы ситуация существенно зависит от программы архивации. Как правило, ни один архиватор пароль для архива в самом архиве не хранит. Шифруется, в основном, уже архивированный файл. Основная атака на архиваторы с паролем - это атака с известным открытым текстом, т.е. одним из файлов архива. Для наиболее известных архиваторов положение следующее: ARJ – не стойкий, любая длинна пароля вскрывается; ZIP – не стойкий, если только не используется AES; RAR – ранние версии уязвимы, версия 3.0 и старше использует в качестве шифра AES и достаточно стойки при хорошем пароле. Что касается Word и MS Office, то здесь ситуация схожая. Ранние версии офиса уязвимы и пароли легко вскрываются. Версии программы, начиная с Office XP/2003, содержат возможность установки более-менее стойкого пароля на открытие файлов, однако по умолчанию стоит пароль 40 бит, что очень опасно.

    • Вопрос о грамотной политике своих паролей не прост. Следует сказать, что скорость и возможность перебора паролей сильно зависит от того, кто и какой пароль подбирает. Например, если злоумышленник хорошо знает автора пароля, то, попробовав около 20 вариантов (например номер машины, имя жены, дни рождения или номер телефона) злоумышленник может добиться успеха. Следует так же заметить, что большое количество программ получают пароли в открытом виде, что облегчает задачу перехвата. Скорость перебора паролей сильно зависит от самого приложения, для которого он осуществляется. Приложение может содержать защиту от перебора, что очень осложнит сам перебор, однако нельзя забывать, что злоумышленник может украсть базу паролей и спокойно перебирать ее дома на своем компьютере. Тем не менее, скорость перебора иногда может достигать десятков миллионов вариантов в секунду. А значит, пароль из 5 символов очень слаб. Несложно посчитать, что для такой скорости и латинского алфавита из больших и малых букв (52 символа) время полного перебора 10 символьного пароля составит (52^10)/10000000/3600/24/365 = 458 лет. Для 6 символов время составит 33 минуты! Как выбирать хороший пароль смотрите в отдельной статье.

    • Если грамотно подходить к вопросу обеспечения безопасности своей точки доступа или WiFi канала, то проблем можно избежать. Дело в том, что протокол WEP (Wired Equivalent Privacy) - устаревший протокол обеспечения безопасности беспроводной IEEE 802.11 сети, имеет существенные уязвимости и использовать его на практике категорически не рекомендуется. В качестве замены протокола WEP был разработан сначала протокол WPA, а затем и протокол WPA2. Для обеспечения достаточного уровня безопасности беспроводной сети рекомендуется использовать протокол WPA2, режим шифрования AES и режим аутентификация либо PSK (предварительно распределенный ключ) для личного использования либо аутентификацию EAP. Более подробно о протоколах обеспечения безопасности сетей Wi-Fi смотрите в статье Wi-Fi - защита беспроводных сетей. В любом случае, когда используете общественную точку доступа даже с применением WPA - будте бдительны, не передовайте конфиденциальную информацию в открытом виде.

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

    • Это опасно! В этой ситуации возможны два случая. Первый, самый распространенный и менее опасный. Поддавшись российской привычке к халяве, или просто по неспособности, владельцы сайта не удосужились изготовить верный сертификат и продлевать его должным образом. Вместо этого они изготовили самоподписной сертификат и установили его на сайт (обычно он еще и просроченный). Это связано с тем, что для изготовления верного (валидного) сертификата необходимо его подписать в некотором Удостоверяющем Центре, а это, как правило, стоит денег. И второй, более опасный случай. Существует атака на протокол TLS методом «человек посередине» (Man-in-the-middle attack). Атака сводиться к тому, что злоумышленник подменяет собой сервер назначения (например gmail.com), использует свой самоподписной или просто «не верный» сертификат и предлагает его Вам в качестве сертификата сервера. Если вы игнорируете предупреждение браузера об опасности и соглашаетесь на начало сессии TLS, вы начинаете общение с компьютером злоумышленника по как бы защищенному каналу и рассказываете ему все свои «пароли и явки»

    Криптология (от греч. cryptos – тайный и logos – слово) – наука, занимающаяся шифрованием и дешифрованием. Криптология состоит из двух частей – криптографии и криптоанализа. Криптография – наука о построении криптографических систем, используемых с целью защиты информации. Криптоанализ – наука о методах анализа криптографических систем, цель анализа – разработка методов раскрытия информации, защищаемой криптосистемой . На протяжении всей истории человечества основным фактором развития криптологии было противоборство методов защиты информации и методов её раскрытия.

    Contents

    Оновные задачи криптографии

    В настоящее время криптогарфические функции применяются для решения следующих задач защиты информации:
    1. Обеспечение конфиденциальности информации .
    2. Обеспечение целостности информации .
    3. Аутентификация информации .
    4. Удостоверение авторства по отношению к сообщению или документу.
    5. Обеспечение неотслеживаемости информации .

    Основные понятия криптографии.

    Криптография – самостоятельная наука с особым предметом исследований и специфическими методами исследования, и, несомненно, эта наука имеет математическую природу. Наиболее отчётливо многообразие связей криптологии с математикой проявилось в двадцатом веке. Большое влияние на это имел выход в свет фундаментальный труд К. Шеннона «Теория связи в секретных системах». Впрочем и до этого события история криптологии была отмечена замечателльными научными трудами и практическим вкладом в криптоаналитические разработки многих математиков, таких, как Л. Б. Альберти(XVв.), Б. Виженер, Ф. Виета(XVI-XVII вв.), Л. Эйлер(XVIII в.) и др.

    Современная криптология

    Современная криптология базируется на многих математических дисциплинах: линейная алгебра, теория групп, полугрупп, теория автоматов, математический анализ, теория дискретных функций, теория чисел, комбинаторный анализ, теория вероятностей и математическая статистика, теория кодирования, теория информации, теория сложности вычислений… Для полноты описания научных основ криптологии следует упомянуть физические и инженерные науки, такие, как теория связи, теория электромагнитного поля, квантовая физика, компьютерные науки и др. Методы исследования в криптографии и криптоанализе во многом схожи, но задачи этих разделов криптологии различаются существенно.

    Криптографическая система

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

    Ключ криптосистемы

    Практическое использование ключа криптосистемы подразумевает реализацию так называемого жизненного цикла ключа, т.е. выполнение таких действий с ключом, как генерация, распределение (рассылка) между пользователями, хранение, установка (с целью реализации при данном ключе криптографической функции для защиты информации), смена и уничтожение ключей. Протоколы, управляющие жизненным циклом ключей, называются ключевыми протоколами. Ключевое множество и ключевые протоколы образуют ключевую подсистему криптографической системы. В зависимости от задач защиты информации различают и выполняющие эти задачи криптографические системы. Для обеспечения конфиденциальности информации используется система шифрования, реализующая семейство E биективных функций множества сообщений, называемое шифром: E = {}, kK.

    Аутентификация сторон

    Для аутентификации сторон протокола используется система идентификации, для аутентификации сообщений – система имитозащиты, для обеспечения неотказуемости от авторства – система электронной цифровой подписи (ЭЦП).
    Сообщение, к которому применяется криптографическая функция шифра, называют открытым текстом, а само применение функции шифра к открытому тексту называется шифрованием или зашифрованием. Результат шифрования открытого текста называется шифрованным текстом или криптограммой.
    Шифр E можно рассматривать как семейство отображений , биективных по первой переменной, где X* и Y* - соответственно множество открытых и шифрованных текстов. Биективность функций шифра обеспечивает возможность восстановления открытого текста по шифрованному тексту. Применение к криптограмме обратного отображения с использованием известного ключа называется расшифрованием.
    Раскрытие криптоаналитиком информации, защищаемой шифром, называют дешифрованием (ключ расшифрования криптоаналитику неизвестен, т.е. неизвестно, какое именно отображение из семейства E использовано для шифрования). Разработанный криптоаналитиком метод раскрытия шифра или информации , защищаемой шифром, называют криптоаналитической атакой.

    Стойкость

    Способность криптосистемы противостоять атакам криптоаналитика называется её криптографической стойкостью . Как правило, криптографическая стойкость системы измеряется вычислительными и временными затратами, достаточными для её вскрытия, в некоторых случаях – объёмом материальных затрат.
    По величине стойкости криптографические системы классифицируются на системы временной стойкости и гарантированной стойкости. Последние обеспечивают защиту информации в течение длительного времени, несмотря на усилия нарушителя, располагающего значительными материальными, интеллектуальными и вычислительными ресурсами. Следовательно, криптосистема гарантированной стойкости должна быть способна реализовать большое число различных функций, иначе секретная информация может быть раскрыта с помощью тотального перебора функций расшифрования. Более того, устройство системы гарантированной стойкости должно связывать любую попытку её взлома с неизбежным решением трудоёмкой задачи, а именно, задачи нерешаемой с использованием самых передовых современных технологий в течение практически приемлемого временного периода.

    Классификация криптосистем .

    По принципам использования ключей криптосистемы разделены на системы с секретным и открытым ключом.

    Симметричные криптосистемы

    Системы с секретным ключом (основная статья "Симметричная криптосистема") используются на протяжении нескольких тысячелетий до настоящего времени и основаны на классическом принципе обеспечения конфиденциальности и информации: а именно, на секретности используемого ключа для всех, кроме лиц, допущенных к информации. Такие криптосистемы называют также симметричными в связи с тем, что ключи, используемые в них для реализации прямых и обратных криптографических функций, обладают определённой симметрией (часто они совпадают). Защита информации с помощью симметричных криптосистем обеспечивается секретностью ключа.

    В настоящее время симметричные шифры - это:

    Блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект - нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.

    Поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147-89 в режиме гаммирования), запущенного в специальном режиме.

    Большинство симметричных шифров используют сложную комбинацию большого количества подстановок и перестановок. Многие такие шифры исполняются в несколько (иногда до 80) проходов, используя на каждом проходе «ключ прохода». Множество «ключей прохода» для всех проходов называется «расписанием ключей» (key schedule). Как правило, оно создается из ключа выполнением над ним неких операций, в том числе перестановок и подстановок.

    Типичным способом построения алгоритмов симметричного шифрования является сеть Фейстеля. Алгоритм строит схему шифрования на основе функции F(D, K) , где D - порция данных, размером вдвое меньше блока шифрования, а K - «ключ прохода» для данного прохода. От функции не требуется обратимость - обратная ей функция может быть неизвестна. Достоинства сети Фейстеля - почти полное совпадение дешифровки с шифрованием (единственное отличие - обратный порядок «ключей прохода» в расписании), что сильно облегчает аппаратную реализацию. Операция перестановки перемешивает биты сообщения по некоему закону. В аппаратных реализациях она тривиально реализуется как перепутывание проводников. Именно операции перестановки дают возможность достижения «эффекта лавины».

    Операция перестановки линейна -

    f(a) xor f(b) == f(a xor b)

    Операции подстановки выполняются как замена значения некоей части сообщения (часто в 4, 6 или 8 бит) на стандартное, жестко встроенное в алгоритм иное число путем обращения к константному массиву. Операция подстановки привносит в алгоритм нелинейность.

    Зачастую стойкость алгоритма, особенно к дифференциальному криптоанализу, зависит от выбора значений в таблицах подстановки (S -блоках). Как минимум считается нежелательным наличие неподвижных элементов S(x) = x , а также отсутствие влияния какого-то бита входного байта на какой-то бит результата - то есть случаи, когда бит результата одинаков для всех пар входных слов, отличающихся только в данном бите.

    Криптосистема с открытым ключом

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

    Пусть K - пространство ключей, а e и d - ключи шифрования и расшифрования соответственно. E - функция шифрования для произвольного ключа eϵK , такая что:

    E(m)=c

    Здесь cϵC , где C - пространство шифротекстов, а mϵM , где M - пространство сообщений. D - функция расшифрования, с помощью которой можно найти исходное сообщение m , зная шифротекст c:

    D(c)=m

    {E: eϵK} - набор шифрования, а {D: dϵK} - соответствующий набор для расшифрования. Каждая пара (E, D) имеет свойство: зная E , невозможно решить уравнение E(m)=c , то есть для данного произвольного шифротекста cϵC , невозможно найти сообщение mϵM . Это значит, что по данному e невозможно определить соответствующий ключ расшифрования d . E является односторонней функцией, а d - лазейкой. Ниже показана схема передачи информации лицом А лицу В. Они могут быть как физическими лицами, так и организациями и так далее. Но для более лёгкого восприятия принято участников передачи отождествлять с людьми, чаще всего именуемыми Алиса и Боб. Участника, который стремится перехватить и расшифровать сообщения Алисы и Боба, чаще всего называют Евой.

    В этой статье мы рассмотрим симметричную и асимметричную криптографию и науку, которая лежит в основе криптовалют.

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

    Цифровые подписи

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

    Сначала вспомним, что такое подпись в реальной жизни и каковы ее функции? Представьте себе документ, который вы подписали:

    • Подпись должна доказывать, что именно вы подписали документ.
    • Никто другой не сможет подделать и скопировать вашу подпись.
    • Если вы подписали что-то, вы не сможете повернуть время вспять, отказаться или заявить, что это подстава.

    Однако в реальном мире, даже сложная подпись может быть подделана, а 100% проверить подписи с на глаз - ненадежно.

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

    Но прежде придется углубиться в основы криптографии.

    Что такое криптография в валютах?

    Криптография - это метод использования передовых математических принципов для хранения и передачи данных в определенной форме, так что только те, для которых они предназначены, могут читать и обрабатывать информацию. Криптография используется уже тысячи лет для тайного общения. Самое раннее использование криптографии было зафиксировано в гробнице, найденной в Древнем царстве в Египте около 1900 года до нашей эры.

    Шифрование - один из наиболее важных инструментов, используемых в криптографии. Это средство, с помощью которого сообщение превращается в нечитаемый набор символов, если его непреднамеренно кто-то прочитает. Только отправитель и получатель знают, что скрыто в письме.

    В современных технологиях широко используются три формы шифрования:

    • хеширование.

    Симметричная криптография

    Симметричная криптография - это самый известный криптографический метод. Концепция очень проста, и разбить ее на шаги, то получится следующее:

    • Есть сообщение А, которое вы хотите отправить своему другу.
    • Вы шифруете сообщение с помощью ключа и получаете шифрованный текст Б.
    • Ваш друг получает шифрованный текст Б.
    • Затем он расшифровывает скрытый текст, используя тот же ключ, и получает А.

    Визуально получается так:

    Существует два типа симметричной криптографии:

    • Потоковые шифры.
    • Блочные шифры.

    Что такое потоковые шифры?

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

    Используются разные принципы потокового шифрования, AND, OR или XOR (исключающее ИЛИ).

    Рассмотрим, например, одноразовый блокнот по алфавиту.

    Для этого шифрования нужен ключ, который имеет такое же количество символов, что и сообщение, и его нужно использовать только один раз (отсюда название «одноразовый »).

    Предположим, что мы отправим сообщение Бобу «СКОРО УВИДИМСЯ». Но мы не хотим, чтобы кто-то перехватывал наше сообщение. Так что мы с Бобом решили использовать одноразовый блокнот, который выглядит следующим образом:

    «Г Н П В К У О Х З Ю Т Э М»

    Как видно, запись имеет столько символов, что и сообщение, т. е. 13.

    Вот это очень простой пример применения одноразового блокнота, чтобы лучше понять его принципы.

    Появляется еще одна вещь: каждая буква из алфавита заменяется числовым эквивалентом.

    А 0 К 11 Х 22
    Б 1 Л 12 Ц 23
    В 2 М 13 Ч 24
    Г 3 Н 14 Ш 25
    Д 4 О 15 Щ 26
    Е 5 П 16 Ъ 27
    Ё 6 Р 17 Ы 28
    Ж 7 С 18 Ь 29
    З 8 Т 19 Э 30
    И 9 У 20 Ю 31
    Й 10 Ф 21 Я 32

    В ходе процесса шифрования будет 6 единиц данных :

    • OM исходное сообщение: оригинал, который мы написали “СКОРО УВИДИМСЯ”;
    • NOM числовое исходное сообщение (его цифровой эквивалент);
    • OTP одноразовый блокнот;
    • NOTP числовой одноразовый блокнот;
    • NCT числовой шифрованный текст, который является суммой числового исходного сообщения и одноразового блокнота. Если сумма больше, вычитается 33 в нашем случае, по количеству букв в алфавите с 0.
    • CT шифрованный текст, который является алфавитным эквивалентом пункта выше.

    Давайте начнем по порядку.

    OM NOM OTP NOTP NCT CT
    С 18 Г 3 21 Ф
    К 11 Н 14 25 Ш
    О 15 П 16 31 Ю
    Р 17 В 2 19 Т
    О 15 К 11 26 Щ
    У 20 У 20 7 Ж
    В 2 О 15 17 Р
    И 9 Х 22 31 Ю
    Д 4 З 8 12 Л
    И 9 Ю 31 7 Ж
    М 13 Т 19 32 Я
    С 18 Э 30 15 О
    Я 32 М 13 12 Л

    Так работает этот процесс шифрования, предлагая псевдослучайную последовательность букв.

    Расшифровка

    Процесс дешифрования происходит по тому же самому ключу. Тот, кто получил сообщение ФШЮТЩЖРЮЛЖЯОЛ, имеет:

    • зашифрованную фразу,
    • общий ключ,
    • таблица с числовыми эквивалентами.

    Итак, как Боб расшифрует сообщение, используя эти данные?

    • Он отобразит числовые значения как ключа, так и зашифрованного сообщения, чтобы получить NCT и NOTP.
    • Затем он вычислит NOM (числовое значение исходного сообщения), выполнив этот расчет: NOM = NCT — NOTP mod 33.
    • Он будет использовать таблицу сопоставления для получения соответствующих букв.

    Что такое блочное шифрование?

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

    У одноразового блокнота длина ключа равна длине сообщения, а в блоках это необязательно. Одним ключом можно зашифровать длинный текст.

    Самый простой - метод подстановки Атбаш, когда алфавит просто переворачивается: А->Я и наоборот. Также известен Шифр Цезаря, когда буква принимает значение стоящей за ней (или удаленной на Х).

    Например, слово БАК -> ВБЛ, сдвинуто на 1:

    • А Б В Г Д Е Ё Ж З И Й К Л
    • Б В Г Д Е Ё Ж З И Й К Л А

    Но это очень простые примеры, обычно шифрование происходит с огромными фрагментами данных.

    На картинке можно представить так:

    Плюсы и минусы симметричной криптографии

    Даже сейчас большое количество ПО использует этот метод в сочетании с асимметричной криптографией для обеспечения быстрых и эффективных служб шифрования / дешифрования.

    Но проблем несколько:

    • Шифрование и дешифрование выполняется с помощью одного ключа - главная проблема. Если кто-то перехватит ключ, все данные будут скомпрометированы.
    • Нет масштабируемости. Предположим, что информационный центр отправляет данные с помощью симметричной криптографии.Все нормально, пока клиентов всего 3-4. Но чем больше их, тем более неудобно обрабатывать все ключи.

    Из-за этих уязвимостей с симметричным ключом было необходимо решение, и в 1970-х годах оно наконец-то наступило.

    Ассиметричная криптография

    В 1970 году британский математик и инженер Джеймс Эллис дошел до идеи, основанной на простой концепции. Что, если шифрование и дешифрование - обратные операции на основе двух разных ключей? В традиционной, то есть симметричной криптографии, сообщение должно быть отправлено вместе с ключом, чтобы другая сторона расшифровала сообщение.

    Эллис предположил, что получатель сообщения не может быть пассивной стороной, и им нужно было иметь «замок» и «ключ» для себя. Замок можно было отправить кому угодно в мире, но ключ должен оставаться приватным.

    Была теория, а практическое применение этой теории из-за двух блестящих принципов:

    • Односторонняя функция с потайным входом: легко перейти от одного состояния к другому, но вернуться в исходную позицию без ключа невозможно; К - открытый ключ, к - приватный. Ключи математически связаны друг с другом через функцию, K = f (k). Простой пример - умножение больших чисел. Например, у вас есть числа 1847 и 19837. Их произведение 36638939. Однако, если вы просто знаете это число, вы не найдете ни один множитель. Нужно знать хотя бы один, чтобы узнать второй.
    • Обмен ключами Диффи–Хеллмана, Протокол Диффи–Хеллмана. Это обмен ключами по незащищенным каналам связи. Похожая ситуация для наглядности: Алиса и Боб живут в стране, где нет тайны переписки. Но ребята очень хотят сохранить свою тайну. Тогда Алиса отправляет запертый замком ящик с письмом Бобу. Боб его получает, вешает свой замок, отправляет Алисе посылку с двумя замками: старым и новым. Алиса получает, снимает свой замок, отправляет Бобу. Он получает, открывает замок своим ключом, открывает ящик и читает письмо. Так ни к Алисе, ни к Бобу не попадали чужие ключи, никто не украл бы их по пути.

    Асимметричная криптография использует два ключа, открытый ключ и приватный, для шифрования и дешифрования конкретных данных. Использование одного ключа отменяет использование другого.

    Биткоин, Эфириум и другие используют криптографию на эллиптических кривых.

    Любая эллиптическая кривая удовлетворяет уравнению Y^2 = x^3 + ax + b, где (x, y) - точка на кривой, a и b - постоянные.

    По математическим свойствам, точки образуют абелеву группу, умножение кривой происходит быстро, а деление медленно.

    Как происходит проверка цифровой подписи в криптовалютах?

    На эллиптических кривых конкретно биткоин работает следующим образом.

    Прежде чем посмотреть процесс, приведем некоторые переменные и их толкование:

    • Приватный ключ = d.
    • Сообщение = z.
    • Публичный ключ = Q.
    • G - постоянная точка на графике.
    • «k» - это случайное число, которое будет генерироваться автоматически для каждой уникальной подписи.
    • «n» - еще одна константа.

    Математическая проверка (не сильно углубляясь):

    Подписание сообщения

    Открытый ключ Q = dG. (невозможно получить секретный ключ от Q и G, потому что деление на недопустимо).

    Теперь мы умножим G на случайное число «k» и построим эту точку на графике. Координатами этой точки являются (x, y). т. е. (х, у) = kG

    Затем мы определяем два значения r и s такие, что:

    s = (z + rd) k ^ -1 mod n

    Мы генерируем r и s, чтобы задать координаты нашей подписи.

    Итак, мы отправляем точку (r, s) для проверки.

    Проверка сообщения

    Верификаторы проведут простое уравнение:

    z * s ^ -1 * G + r * s ^ -1 * Q

    Значение этого уравнения даст точку (x, y).

    Теперь верификаторы могут просто сравнить координаты x. Они не имеют координаты x, заданной непосредственно от отправителя, но они имеют значения r и n.

    И поскольку мы уже знаем, что r = x mod n, они могут просто решить уравнение для x.

    Если значения x совпало, подпись проверена.

    Причина, по которой криптовалюты выбрали эллиптические кривые, это экономия битов и большая эффективность.

    Как ключи работают в блокчейне?

    Итак, что происходит, когда кто-то посылает деньги на блокчейн? Они отправляют деньги на публичный адрес, который представляет собой хэш открытого ключа и дополнительную информацию. Как мы видели выше, открытый ключ выводится математически из приватного ключа.

    Очевидно, что вы не должны показывать свой личный ключ. Он используется для подписания транзакции, которую пользователь хочет сделать. Итак, если у кого-то есть доступ к вашему закрытому ключу, они могут подписывать транзакции, а значит, украсть деньги.

    Кроме того, как вы можете видеть, закрытый ключ длиннее общего адреса.

    Итак, как открытый ключ выводится из закрытого ключа? Давайте рассмотрим пример биткоина.

    Предположим, Алиса хочет сгенерировать свои ключи, чтобы она могла совершать транзакции по блокчейну. Вот, что она будет делать:

    • Во-первых, она будет генерировать 256-битный закрытый ключ. Она может либо сделать это вручную, либо использовать автогенератор.
    • Затем ей нужно сгенерировать публичный адрес: алгоритм внутри кошелька сделает это автоматически (шаги ниже).
    • Приватный ключ будет анализироваться с помощью алгоритма хэширования SHA 256, чтобы получить хэш.
    • Затем хэш будет разбираться через функцию RIPE MD 160, и будет создан новый хэш, и его копия будет сохранена (ЧАСТЬ А).
    • Затем хэш будет хэширован через SHA 256 для генерации другого хэша.
    • Затем новый хэш снова будет хэширован через SHA 256 для генерации другого хэша. Первые 7 бит этого хэша будут сохранены (ЧАСТЬ B).
    • ЧАСТЬ А и ЧАСТЬ B будут сведены вместе, и результатом будет публичный адрес.

    Как работает процесс подписи (упрощенно)?

    Предположим, Алиса хочет отправить 500 BTC Бобу. Она выполнит следующие шаги:

    • Она создаст транзакцию и подпишет ее своим личным ключом.
    • Она отправит транзакцию на публичный адрес Боба.
    • Затем Боб может расшифровать сообщение, используя открытый ключ Алисы, чтобы убедиться, что на самом деле Алиса послала ему биткоины,
    • Cделка считается завершенной.

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



    Понравилась статья? Поделитесь с друзьями!
    Была ли эта статья полезной?
    Да
    Нет
    Спасибо, за Ваш отзыв!
    Что-то пошло не так и Ваш голос не был учтен.
    Спасибо. Ваше сообщение отправлено
    Нашли в тексте ошибку?
    Выделите её, нажмите Ctrl + Enter и мы всё исправим!