Sha 256 что это такое простыми словами
Алгоритм хеширования SHA-256 — что это такое простыми словами и как работает, функции и примеры?
SHA-256 – алгоритм шифрования хэш-функции из семейства SHA-2 (Secure Hash Algorithm, с англ. – Алгоритм безопасного хэширования). Приставка 256 обозначает размер вывода – 256 бит. Существуют и другие форматы: 224, 384, 512.
Разработана для Агентства Национальной Безопасности США (АНБ) в 2001 году. Запатентована под номером 6829355 в США и распространяется свободно по бесплатной лицензии (RF).
Метод хэширования SHA-256 используется правительством и гражданскими учреждениями США согласно Федеральным стандартам обработки информации, для обеспечения защиты данных. А ещё с его помощью генерируются хеши в сети Биткоин.
Предшественник (SHA-1) был успешно атакован. В 2011 году Марк Стивенс доказал возможность коллизионной атаки, а в 2017 Google опубликовал отчёт об успешном её проведении. С тех пор браузеры отказались от SSL-сертификатов на SHA-1, и Windows прекратил поддержку закодированных алгоритмом подписей в 2020 году.
В SHA-256 атаки с нахождением прообраза могут вычислить 52, а при коллизионной атаке пока что удаётся раскрыть 46 раундов из 64.
Что такое алгоритм хэширования и шифрования sha256 (sha 256 algorithm)?
Задача хэширования – превратить информацию в строку. Функция может принять данные неограниченного размера, даже 10 мегабайт текста из 1000 книг. Процесс хеширования происходит раундами (кругами) – так можно уместить в строку любой объем. Но расшифровать обратно уже не получится. Если кому-то удастся это сделать, то алгоритм автоматически потеряет смысл.
Задача шифрования – превратить информацию в условно хаотичный набор символов, расшифровать которые можно только с помощью ключа. Зашифрованный файл размером в 10 мегабайт будет занимать как минимум столько же места, что и является главным отличием его от хэширования: оно превращает любой объем данных в строку одинаковой длины.
Биткоин не использует шифрование. Приставка «крипто» (crypto – encrypt – шифровать) в его обозначении «криптовалюта», была присвоена ему только потому, что его алгоритм цифровой подписи использует методы, основанные на эллиптических кривых, что применяются в шифровании.
Вместо этого пользователь генерирует пару – открытый и закрытый ключ. Они связаны математически, и мы можем утверждать, что получить закрытый ключ из открытого – невозможно, что и подтверждает право владения BTC.
В блокчейне у всех транзакций есть неизрасходованные выходы (UTXO), а проще говоря – балансы. Они связаны с биткоин-адресами и мы можем просматривать их в сети публично. Имея на балансе 1 BTC, у вас есть закрытый ключ от открытого ключа с этим UTXO, а значит вы сможете подписать транзакцию и будет создан новый UTXO с передачей права на открытый ключ получателя.
SHA-256 генерирует строки максимально надёжно на сегодняшний день. Достаточно, чтобы их нельзя было расшифровать, получив закрытые данные из открытого ключа.
Алгоритм удовлетворяет 4 ключевым требованиям:
Как работает майнинг на кодировке SHA-256?
В интернете есть сайты с конвертацией любого текста с помощью функции SHA-256. Можно попробовать сделать это самому.
Например, слово «Hello»: 185f8db32271fe25f561a. a518007d1764826381969.
Выходная строка неизменна, это отличает хэширование от шифрования. Если другой человек с другого устройства введёт «Hello», он получит ту же строку.
Bitcoin использует двойное хеширование. Полученный хэш, он пропускает повторно через SHA-256. Это нужно во избежание атаки «дней рождения», хотя вероятность её невелика.
Например, вводим полученный хэш от «Hello»: 185f8db32271fe25f561a. da518007d1764826381969 = 52c87cd40ccfbd78. d4c3684ed60f6513e8d16077e5b8e.
По такому принципу собирается и обрабатывается целый ряд данных. Результат – блокчейн. Цепочка блоков, образно растущая вверх. Нижние блоки невозможно достать и подменить, не разрушив при этом всё строение сети.
Древо Меркла
У каждой транзакции есть хэш. Он представляет такую же строку, выводимую с помощью функции SHA-256. Иерархическая принадлежность транзакций образовывает древо вида родитель-ребёнок. Подобно семейному древу, древо Меркла хранит данные обо всех предыдущих транзакциях. Эти данные хранятся у тысяч узлов (нод), и если кто-то попытается подсунуть в сеть ложный баланс или перевод, несоответствие историческому наследию будет обнаружено и отвергнуто сетью.
Корень Меркла добавляется в функцию наоборот. Например: b7a0c5014ae6ecb. 707a42516e94899073 вместо 37099849e61524. 019efbce6ea4105c0a7b.
Версия клиента
Актуальная версия, одобренная сетью. Например: 02000000.
Часть строк принимается в формате 4-byte «little-endian», и это одна из них.
Хэш предыдущего блока
Скрепляет блокчейн, гарантируя, что следующий блок будет ссылаться на прежде подтверждённый.
Вводится наоборот. Например: 05c2ddc616d1b90. 0000000000000000 вместо оригинального 000000000000000. 346f13a009b1d616cdd2c50.
Зеркальное отражение строки избавляет алгоритм от потери детализации. Чем больше значений, тем меньше вероятность того, что сложность окажется слишком трудной или слишком лёгкой.
Метка времени (Timestamp)
В формате системы Unix, количество секунд от начала эпохи (1 января 1970, 00:00).
Принимается сетью, только если число больше медианы временных штампов последних 11 блоков, и меньше медианы штампов, что возвращают подключённые ноды (скорректированное сетью время) + 2 часа.
Биткоин использует беззнаковое целое число для метки времени, поэтому «проблема 2038 года» откладывается еще на 68 лет.
Таргет (Target)
Сложность следующей цели. Пересчитывается каждые 2016 блоков (примерно 2 недели). Если хэшрейт в сети будет расти, увеличится и количество нулей в таргете искомого хеша, что потребует перебора большего количества хэшей при майнинге криптовалюты. И наоборот, уменьшение желающих участвовать в добыче BTC и валидации блоков, уменьшает сложность и «снижает» таргет. За 1 цикл не может быть изменён более чем в х4 раза.
Например таргет генезис блока был 00000000ffff00000000000000. 00000, в 2013 уже 0000000000000529b10000000. 00000, в 2018 – 00000000000000000049500d0. 00000, а в 2021 – 0000000000000000000cdf6f00. 00000. Судя по количеству нулей, можно легко наблюдать рост сложности.
Помещается в функцию тоже в компактном 4-байтном формате вида: f2c9749a.
Нонс (Nonce)
Аббревиатура от числа, используемого единожды, при переборе хэшей.
Мы взяли 5 известных значений, описанных выше и теперь можем начать подставлять nonce в функцию, покуда не будет найден хэш, меньше таргета.
1, 2, 3… 40348, 40349… 168437213, 168437214, 168437215…
Когда нонс подойдёт, и мы получим хэш-значение меньше таргета, установленного сетью, новый блок будет найден. Майнер может добавить в него избранные транзакции (не превышая допустимый размер блока: 1,5 МБ) забетонировать их в нём и получить за это комиссию.
Поиск следующего блока в сети произойдёт с участием этого же набора данных, что теперь изменились в связи с новыми транзакциями в древе Меркла, временем на планете, и т.д.
Особенности SHA-256
SHA-2 – это криптографическая хеш-функция и обычно является строительным блоком для других криптографических конструкций. Удовлетворяя требованиям криптографического хэширования, это односторонняя функция, которая детерминирована, быстро вычисляется, устойчива к атакам с предварительным и вторым прообразом, а также устойчива к коллизиям.
Далее её можно использовать в своих целях, наделяя особенностями. Например Bitcoin сделал двойное SHA-256.
Оборудование для майнинга
В сравнении с алгоритмом RandomX Monero (только CPU), SHA-256 майнинг не может быть устойчив к ASIC или GPU.
Для добычи BTC может использоваться любой процессор. В гонке за скоростью перебора хэшей выигрывают ASIC майнеры (интегральные схемы особого назначения), спроектированные специально под задачу добычи Bitcoin. Самые популярные производители: Bitmain, MicroBT.
SHA-256 – что можно майнить
Все форки Bitcoin пошли по простому пути и используют тот же алгоритм хэширования. Сюда входят известные «альткоины»: Bitcoin Cash, Namecoin, Peercoin, Emercoin и сотни других, менее популярных.
Ethereum разработал собственную функцию Ethash, чтобы допустить к добыче только видеокарты (до момента полного переключения на Ethereum 2.0). Litecoin – Scrypt (в попытках быть резистентным к асикам). Современные криптовалюты предпочитают алгоритм Proof-of-Stake, в которых добыча криптовалют называется стейкингом. Традиционные Proof-of-Work вычисления становятся инвесторам всё менее интересными.
Список криптовалют на SHA-256
Отсортированы по размеру капитализации.
Что такое алгоритм шифрования SHA-256? Принцип работы SHA-256 в майнинге биткоина
Каждый, кто пробовал майнить цифровую валюту рано или поздно сталкивался с таким термином как SHA256. Что же обозначают эта аббревиатура, какими особенностями обладает, как работает? Обо всем этом мы расскажем в данном материале.
Расшифровка SHA256 – сокращение от Secure Hashing Algorithm – это актуальный на сегодня алгоритм хеширования, созданный National Security Agency – Агентством национальной безопасности США. Задача данного алгоритма заключается в том, чтобы выполнить из случайного набора данных определённые значения с длиной, которая зафиксирована. Эта длина является идентификатором. Значение, которое получится, сравнивается с дубликатами изначальных данных, получить которые нет возможности.
Эмиссию денежной массы во многих криптопроектах обеспечивают майнеры, при этом криптодобыча не только обеспечивает генерацию новых монет, но и является основным элементом защиты пиринговой сети. Цифровой печатный станок, работает строго по заданному алгоритму шифрования, изменить который можно только путем всеобщего голосования участников сети (форка).
Алгоритм sha256, на котором базируется майнинг патриарха криптовалют — Bitcoin (BTC), был создан вовсе не на ровном месте. В его основе лежит алгоритм хеширования SHA-2, используемый для создания протоколов передачи данных в Глобальной сети (TCP/IP).
Алгоритм sha256, является одной из хеш-функций SHA-2. В этом обзоре мы расскажем вам, как работает майнинг sha-256 и в чем плюсы и минусы данного криптопротокола.
Навигация по материалу:
Что такое алгоритм шифрования SHA-256?
Аббревиатуру SHA расшифровывают как «безопасный расчет хеша». С помощью данного метода вычислений обеспечивается защита криптографических наборов данных. Ведь без специального кода, который есть только у владельца, невозможно получить доступ к зашифрованной информации.
Алгоритм SHA-2, подвидом которого является SHA-256, был разработан в начале третьего тысячелетия Агентством Национальной Безопасности США. Число 256 обозначает количество фрагментов, из которых состоит данный криптографический код.
Через несколько лет после выхода Агентство запатентовало второй выпуск алгоритма SHA-2 под лицензией Royalty-free, благодаря чему технологию можно было направить в мирное русло.
Особенности протокола SHA-256
Нет ни одного метода оптимизации подбора хеш-суммы. Протокол SHA-256 принимая определенные, выдает абсолютно непредсказуемый результат. Поиск нужного варианта выполняется путем банального перебора всех возможных комбинаций. Подбор правильного хеша дело случая, но чем больше мощность вычислительного оборудования, тем выше шансы, что вы найдете его быстрее остальных участников процесса.
Для полноты рассказа добавим немного сложной технической информации. В протокол SHA-256 данные фрагментируются на 256 долей, в каждом из которых содержится 512 бит (64 байта). Доли перемешивают по определенной криптографической схеме, которая заложена в алгоритме, и в результате образуется специальный хеш-код, объемом 256 бит. Смешивание информации повторяется 64 раза. Нужно сказать, что это не так уж много, по сравнению с новыми криптоалгоримами.
Технические параметры SHA-256:
Алгоритм основан на методике Меркла-Дамгарда, массив информации делится на отдельные блоки, в каждом из которых 16 частей. Выполнив 64 перемешивания, система выводит корректную хеш-сумму, которая служит отправной точкой для обработки следующего блока. Процесс непрерывен и взаимосвязан получить код отдельно взятого криптоблока, не имея данных о его предшественнике абсолютно невозможно.
Как работает хеширование?
Хеширование — это преобразование по заранее определенной схеме какого-либо объема входящей информации в цифровой код. Исходящее значение уникально, с его помощью всегда можно идентифицировать именно этот массив информации. Алгоритм создания зашифрованной строки (хеш-кода) называется хеш-функцией.
Валидное число в строке шифрованной подписи криптоблока биткоина должно содержать энное количество нулей. На момент составления обзора количество нулей в хеш-коде цифрового золота уже перевалило число 17. Поэтому расшифровка sha256 сложнее, чем поиск некой определенной песчинки, которая находится в произвольной точке земного шара.
Важно! В принципе зашифровать можно все что угодно хоть поэму Лермонтова «Кавказский пленник» и в результате получится шестнадцатеричный код типа: c8ba7865a9x924590dcc54a6f227859z.
Шифрование не имеет обратной силы, сделать с цифробуквенного набора текст не получится, но если в самой поэме изменить хотя бы одну точку или пробел, то хеш-код произведения будет совершено иным. Вы можете убедиться в этом сами, посетив сайт для автоматической шифровки http://crypt-online.ru/crypts/sha256/.
Зависимость блоков в сети биткион
В сети каждой криптовалюты, в том числе и биткоин, блоки представляют собой массив информации о переводах средств за определенный период. Каждый из них имеет уникальный хеш-код (подпись).
Как уже было сказано криптографическая подпись последующего вытекает из хеш-кода предыдущего, образуя целостную систему, в которой нельзя что-либо изменить или подделать. Майнеры постоянно заняты вычислением подписи нового блока, и получают награду только за результат.
Список криптовалют на SHA-256
SHA-256 представляет собой классику криптоалгоритма. Помимо первой криптовалюты Bitcoin (BTC) на нем базируются еще 43 блокчейн-проекта.
Самые популярные из них:
Плюсы и минусы алгоримта
SHA256 имеет некие преимущества перед другими алгоритмами. Это наиболее востребованный алгоритм майнинга среди всех существующих. Он показал себя как надежный к взламыванию (случается не часто) и результативный алгоритм как для задач майнинга, так и для прочих целей.
Имеются и недостатки:
Криптовалюты SHA256, как и SHA512 наиболее защищены от данного отрицательного момента, но вероятность развития риска все-таки есть. Miner на SHA256, как и на любом ином хешировании – это процесс разрешения какой-то сложнейшей криптографической задачи, которую генерирует программа для майнинге на основе информации полученной с блоков.
Майнинг при помощи хэш-функции SHA256 можно осуществлять 3 методами:
В майнинге хеш–сумма применяется как идентификатор уже присутствующих блоков, и создания новых на основе тех, что имеются. Процесс майнинга отражен в интерфейсе в виде «accepted f33ae3bc9…». Где f33ae3bc9 – это хешированная сумма, часть данных, которая требуется для дешифровывания. Главный блок включает в себя огромное число такого рода хеш-сумм.
То есть, добыча с алгоритмом SHA256 – это подбор правильного значения хешированной суммы без остановки, перебор чисел для того, чтобы создать очередной блок. Чем мощнее оборудование, тем больше шансов стать владельцем того самого правильного блока: скорость перебирания разного рода сумм зависит от мощностей. Потому как Биткоин построен на алгоритме SHA256, для конкурентоспособного майнинга на нём требуются крайне большие вычислительные мощности.
Это связывается с тем, что для добычи криптовалюты хватает производства «асиков», а именно специальной схемы особенного назначения. Асики дают возможность добывать Биткоины и прочие криптовалюты на хэш-функции SHA–256 оперативнее, результативнее и недорого.
Заключение
В конце статьи нужно извиниться перед читателем за чересчур сложное объяснение темы, но, увы, рассказ об основах криптографии нельзя отнести к разряду повседневного чтива. Что же касается перспектив SHA-256, то пока биткоин занимает львиную долю рынка данный алгоритм будет очень востребованным.
Но если патриарха цифровых активов потеснят альтернативные проекты, работающие на других алгоритмах, то SHA-256 станет достоянием историков. И такой поворот только оживит блокчейн-индустрию.
Дата публикации 16.05.2020
Подписывайтесь на новости криптовалютного рынка в Яндекс Мессенджер.
Поделитесь этим материалом в социальных сетях и оставьте свое мнение в комментариях ниже.
Русские Блоги
Подробное объяснение принципа алгоритма SHA256
1. Введение в SHA256
В соответствии с SHA-2 его можно разделить на шесть различных стандартов алгоритмов.
В том числе: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256.
За исключением некоторых незначительных различий в длине сводки и количестве циклов, базовая структура алгоритма последовательна.
Возвращаясь к SHA256, прямо скажем, это хеш-функция.
Хеш-функции, также известные как алгоритмы хеширования, представляют собой метод создания небольших цифровых «отпечатков пальцев» из любых данных. Хеш-функция сжимает сообщение или данные в дайджест, уменьшая объем данных и фиксируя формат данных. Эта функция перемешивает данные и воссоздает отпечаток пальца, называемый хэш-значением (или хэш-значением). Значение хеша обычно представлено короткой цепочкой случайных букв и цифр.
Для сообщений любой длины SHA256 генерирует 256-битное хеш-значение, называемое дайджестом сообщения.
Это резюме эквивалентно массиву длиной 32 байта, обычно представленному шестнадцатеричной строкой длиной 64
Давайте посмотрим на пример:
Станьте программистом блокчейна на 100 дней, и дядя Красной Армии ведет нас, сражаясь!
В этом предложении значение хеш-функции, полученное после хеш-функции SHA256:
Нашел один здесьSHA256 онлайн-инструмент проверки, Может использоваться для проверки результата хеширования SHA256, а также для проверки правильности кода SHA256. Это очень удобно для использования, вы можете почувствовать это.
2. Подробное объяснение принципа SHA256
Чтобы лучше понять принцип SHA256, вот модули, которые можно извлечь отдельно от алгоритма, в том числе Постоянная инициализация 、 Предварительная обработка информации 、 Используемые логические операции Введем отдельно, после того, как избавимся от этих барьеров в понимании, давайте рассмотрим основную часть алгоритма SHA256, то есть как вычисляется дайджест сообщения.
2.1 Постоянная инициализация
8 начальных хеш-значений и 64 хеш-константы используются в алгоритме SHA256
Среди них алгоритм SHA2568 начальных хеш-значенийследующее:
Эти начальные значения получают, взяв первые 32 бита дробной части квадратного корня из первых 8 простых чисел (2, 3, 5, 7, 11, 11, 13, 17 и 19) в натуральные числа
Например, 2 » role=»presentation» style=»position: relative;»> 2 Дробная часть составляет около 0,414213562373095048, и
В алгоритме SHA256 используется64 константыследующее:
2.2 Предварительная обработка информации (предварительная обработка)
Предварительная обработка в алгоритме SHA256 заключается в добавлении необходимой информации после сообщения, которое вы хотите хэшировать, чтобы все сообщение соответствовало заданной структуре.
Предварительная обработка информации делится на два этапа: Дополнительные биты заполнения с Дополнительная длина
STEP1: дополнительные биты заполнения
Заполните конец сообщения, чтобы оставшаяся часть длины сообщения после модуля 512 составляла 448
Заполнение выполняется таким образом, что первый бит заполняется 1, а затем оба заполняются 0, пока длина не соответствует модулю 512, а остаток равен 448.
Следует отметить, что информация должна быть дополнена, то есть, даже если длина удовлетворяла остатку после того, как по модулю 512 было 448, биты дополнения также должны выполняться, чтобы заполнить 512 бит.
Следовательно, заполнение должно заполнять как минимум один бит и до 512 бит.
пример: Используйте сообщение «abc» в качестве примера, чтобы показать процесс заполнения.
соответствует а, б, вКод ASCII97, 98, 99 соответственно
Итак, двоичный код исходной информации: 01100001 01100010 01100011
Первый шаг для заполнения позиции, сначала заполните «1»: 0110000101100010 01100011 1
На втором этапе заполнения заполняется 423 «0»: 01100001 01100010 01100011 10000000 00000000… 00000000
Данные после завершения битового дополнения выглядят следующим образом (в шестнадцатеричном формате для ознакомления):
Поскольку после первого этапа предварительной обработки, на втором этапе будут добавлены 64-разрядные данные, указывающие длину исходного сообщения. И 448 + 64 = 512, что просто является полной структурой.
STEP2: дополнительное значение длины
Дополнительное значение длины заключается в добавлении информации о длине исходных данных (сообщение перед первым этапом заполнения) к сообщению после выполнения операции заполнения.
Оригинальный текст, данный в Википедии:append length of message (before pre-processing), in bits, as 64-bit big-endian integer
SHA256 использует 64-битные данные для представления длины исходного сообщения.
Следовательно, длина сообщения, рассчитанная SHA256, должна быть меньше 2 6 4 » role=»presentation» style=»position: relative;»> 2 6 4 Конечно, в большинстве случаев это достаточно велико.
наBig endianЗначение дано в конце статьи
Теперь вернемся к примеру, сообщение «abc», 3 символа, занимает 24 бита.
Поэтому после операции дополнения длины все сообщение становится следующим (шестнадцатеричный формат)
2.3 Логические операции
Все операции, выполняемые в хэш-функции SHA256, являются логическими битовыми операциями.
Включая следующие логические функции:
логическая операция | смысл |
---|---|
∧ » role=»presentation» style=»position: relative;»> ∧ | Побитовое И |
¬ » role=»presentation» style=»position: relative;»> ¬ | Побитовое «дополнение» |
⊕ » role=»presentation» style=»position: relative;»> ⊕ | Побитовый XOR |
S n » role=»presentation» style=»position: relative;»> S n | Сдвиг вправо n бит |
R n » role=»presentation» style=»position: relative;»> R n | Повернуть вправо на n бит |
2.4 Рассчитать дайджест сообщения
Теперь давайте познакомимся с основной частью алгоритма SHA256, то есть с тем, как рассчитывается дайджест сообщения.
Первое: разбить сообщение на 512-битные блоки
(break message into 512-bit chunks)
Начальное значение 256-битного дайджеста, H0, вычисляется через первый блок данных, чтобы получить H1, который является первой итерацией.
Используйте отображение для каждой итерации M a p ( H i − 1 ) = H i » role=»presentation» style=»position: relative;»> M a p ( H i − 1 ) = H i Означает, что итерация может быть отображена более ярко как:
256 бит на картинке Hi Описано 8 маленьких блоков, это потому, что наименьшая арифметическая единица в алгоритме SHA256 называется «Слово» (Word), слово составляет 32 бита.
Кроме того, в первой итерации начальное значение карты устанавливается равным 8 начальным значениям введенного ранее хеша, как показано на следующем рисунке:
Следующее начинает вводить содержание каждой итерации, то есть отображение M a p ( H i − 1 ) = H i » role=»presentation» style=»position: relative;»> M a p ( H i − 1 ) = H i Конкретный алгоритм
ШАГ 1: Построить 64 слова
break chunk into sixteen 32-bit big-endian words w[0], …, w[15]
Для каждого блока разложите блок на 16 32-битных слов с прямым порядком байтов, обозначаемых как w [0],…, w [15]
Другими словами, первые 16 слов непосредственно разлагаются из i-го блока сообщения.
Остальные слова получаются по следующей итерационной формуле:
ШАГ 2: 64 цикла
карта M a p ( H i − 1 ) = H i » role=»presentation» style=»position: relative;»> M a p ( H i − 1 ) = H i Содержит 64 цикла шифрования
То есть 64 цикла шифрования могут быть выполнены для завершения одной итерации
Каждый цикл шифрования может быть описан следующим рисунком:
На рисунке 8 слов ABCDEFGH обновлены в соответствии с определенными правилами, среди которых
Восемь символов, сгенерированных последним циклом, являются хеш-строкой, соответствующей i-му блоку. H i » role=»presentation» style=»position: relative;»> H i
Это изменение завершает все введения в алгоритм SHA256
3. SHA256 алгоритм псевдокода
Теперь мы можем объединить псевдокод алгоритма SHA256 и прочесать все вышеперечисленные шаги:
4. Ссылки
Это примечание в основном относится к интегрированной информации следующим образом:
Заполнение знаний
Big endian и Little endian
Для типов данных, таких как целые и длинные целые, существуют проблемы с порядком старшего и младшего порядка расположения байтов.
Big endian считает, что первый байт является самым значимым байтом (для того, чтобы от младшего адреса к старшему адресу сохранялись данные от старшего байта до младшего байта)
Напротив, Little Endian считает, что первый байт является наименее значимым байтом (младший байт старшего байта данных хранится в порядке от младшего адреса к старшему адресу).
Например, предположим, что следующие данные начинаются с адреса памяти 0x0000:
адрес | данные |
---|---|
… | … |
0x0000 | 0x12 |
0x0001 | 0x34 |
0x0002 | 0xab |
0x0003 | 0xcd |
… | … |
Предположим, мы собираемся прочитать четырехбайтовую переменную с адресом 0x0000.
Если порядок байтов имеет порядок байтов, результат чтения равен 0x1234abcd;
Если порядок байтов является прямым порядком байтов, результатом чтения будет 0xcdab3412.
Если мы запишем 0x1234abcd в память, начиная с 0x0000, результаты хранения режимов Little Endian и Big Endian будут следующими: