Открыть сервис

Блок 64 бита

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

История и развитие

Понятие 64-битного блока возникло в середине XX века с развитием цифровых вычислительных машин. В ранних компьютерах, таких как IBM System/360 (1964 год), использовалась 32-битная архитектура, но уже к 1970-м годам возникла потребность в обработке больших объёмов данных. В криптографии 64-битный блок стал стандартом после разработки алгоритма DES (Data Encryption Standard) в 1977 году, который оперировал блоками по 64 бита. Этот размер был выбран как компромисс между скоростью шифрования и устойчивостью к атакам.

В процессорной архитектуре 64-битные блоки (машинные слова) стали массово применяться с внедрением 64-битных процессоров, таких как AMD64 (2003 год) и Intel 64 (2004 год). Однако в этом контексте термин «блок» часто заменяется на «слово» или «регистр». В криптографии 64-битный блок оставался стандартом до начала 2000-х годов, когда из-за роста вычислительных мощностей он начал уступать место 128-битным блокам в современных алгоритмах (например, AES).

Классификация

По области применения

  • Криптографические блочные шифры: алгоритмы, шифрующие данные блоками фиксированной длины. 64-битные блоки используются в DES, 3DES, Blowfish, IDEA и других.
  • Процессорные архитектуры: 64-битные машинные слова в процессорах x86-64, ARMv8-A, RISC-V.
  • Структуры данных: 64-битные блоки в файловых системах (например, в ext4 — блоки по 4096 байт, но адресация использует 64-битные указатели) или в базах данных (например, 64-битные идентификаторы).

По типу алгоритма

  • Симметричные шифры: DES, 3DES, Blowfish, CAST-128, FEAL.
  • Асимметричные шифры: редко используют фиксированные блоки, но 64-битные значения могут быть частью ключей или хешей.
  • Хеш-функции: некоторые алгоритмы, такие как MD5 (128-битный выход), SHA-1 (160-битный выход), не оперируют 64-битными блоками напрямую, но используют 64-битные слова в промежуточных вычислениях.

Устройство и характеристики

В криптографии

64-битный блок в блочном шифре представляет собой последовательность из 64 бит (8 байт), которая обрабатывается как единое целое. Алгоритм шифрования преобразует блок открытого текста в блок шифротекста с использованием ключа. Основные характеристики:

  • Размер блока: 64 бита.
  • Размер ключа: варьируется от 56 бит (DES) до 448 бит (Blowfish).
  • Режимы работы: ECB (электронная кодовая книга), CBC (цепочка блоков шифротекста), CFB (обратная связь по шифротексту), OFB (обратная связь по выходу), CTR (счётчик). В режимах CBC и CFB 64-битные блоки связываются между собой для повышения безопасности.
  • Стойкость: 64-битный блок теоретически уязвим для атак на основе коллизий (например, атака «дня рождения») при шифровании более 2^32 блоков (около 32 ГБ данных). Это ограничение привело к переходу на 128-битные блоки.

В процессорной архитектуре

В контексте процессоров 64-битный блок (машинное слово) — это единица данных, которую центральный процессор может обработать за один такт. Характеристики:

  • Разрядность регистров: 64 бита (например, регистры RAX в x86-64).
  • Адресация памяти: 64-битные адреса позволяют адресовать до 2^64 байт (16 эксабайт) оперативной памяти.
  • Производительность: 64-битные процессоры обрабатывают 64-битные целые числа и числа с плавающей запятой за один такт, что ускоряет вычисления в научных, графических и криптографических задачах.

Применение

Криптография

64-битные блочные шифры широко применялись в защите данных до середины 2000-х годов:

  • DES: использовался в банковских системах, электронных платежах (например, в стандарте ANSI X9.17), в протоколах SSL/TLS (до версии 1.1). В настоящее время считается небезопасным из-за короткого ключа (56 бит) и размера блока.
  • 3DES: улучшенная версия DES с тройным шифрованием (ключ 112 или 168 бит), применялся в финансовых системах до 2023 года, когда NIST рекомендовал его отказ.
  • Blowfish: разработан в 1993 году, используется в некоторых VPN-протоколах и файловых архиваторах (например, в bcrypt для хеширования паролей).
  • IDEA: применялся в PGP (Pretty Good Privacy) для шифрования электронной почты.

Вычислительная техника

  • 64-битные процессоры: используются в большинстве современных компьютеров, серверов и мобильных устройств. Примеры: Intel Core i9, AMD Ryzen, Apple M1/M2, ARM Cortex-A.
  • Операционные системы: 64-битные версии Windows, Linux, macOS, Android поддерживают 64-битные приложения и адресацию памяти.
  • Базы данных: 64-битные идентификаторы (например, BIGINT в SQL) используются для уникальной идентификации записей.

Научные и инженерные расчёты

64-битные числа с плавающей запятой (double precision) соответствуют стандарту IEEE 754 и используются в моделировании, машинном обучении, компьютерной графике и физических симуляциях.

Критика и ограничения

Криптографическая уязвимость

Основной недостаток 64-битных блочных шифров — ограниченный размер блока. При шифровании большого объёма данных (более 2^32 блоков) возникает риск коллизий, что позволяет злоумышленнику восстанавливать открытый текст. Например, в 2016 году была продемонстрирована атака Sweet32 на 64-битные блочные шифры в протоколах TLS и OpenVPN, что привело к рекомендации отказаться от DES и 3DES.

Переход на 128-битные блоки

Современные стандарты, такие как AES (Advanced Encryption Standard), используют 128-битные блоки, что значительно повышает устойчивость к атакам. NIST (Национальный институт стандартов и технологий США) в 2023 году объявил о полном отказе от 64-битных блочных шифров в государственных системах.

Процессорные ограничения

Хотя 64-битные процессоры стали стандартом, в некоторых встраиваемых системах (например, микроконтроллеры) до сих пор используются 32-битные или 8-битные архитектуры. 64-битные блоки требуют больше памяти и энергопотребления, что может быть критично для IoT-устройств.

Примеры

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

  • DES: 64-битный блок, 56-битный ключ. Разработан IBM в 1975 году, стандартизирован NIST в 1977 году. Снят с использования в 2005 году.
  • 3DES: 64-битный блок, ключ 112 или 168 бит. Использовался до 2023 года.
  • Blowfish: 64-битный блок, ключ от 32 до 448 бит. Разработан Брюсом Шнайером в 1993 году. Применяется в bcrypt.

Процессоры

  • AMD64 (x86-64): 64-битная архитектура, представленная AMD в 2003 году. Поддерживает 64-битные регистры и адресацию.
  • ARMv8-A: 64-битная архитектура ARM, представленная в 2011 году. Используется в современных смартфонах и серверах.
  • RISC-V (RV64): открытая 64-битная архитектура, набирающая популярность в научных и коммерческих проектах.

Интересные факты

  • 64-битный блок в криптографии может быть представлен как 8 символов ASCII (по 8 бит на символ), что упрощает визуализацию.
  • Алгоритм DES был разработан на основе шифра Lucifer, который использовал 128-битные блоки, но NIST сократил блок до 64 бит для совместимости с существующими системами.
  • В 64-битной архитектуре x86-64 максимальный объём адресуемой памяти составляет 16 эксабайт, но на практике современные процессоры ограничены 48 или 57 битами адреса (256 ТБ или 128 ПБ).
  • Переход на 128-битные блоки в криптографии увеличил безопасность, но также повысил требования к вычислительным ресурсам, что особенно заметно на мобильных устройствах.

Источники

  • NIST Special Publication 800-67: «Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher» (2017).
  • Bruce Schneier, «Applied Cryptography: Protocols, Algorithms, and Source Code in C» (1996).
  • AMD Corporation, «AMD64 Architecture Programmer’s Manual» (2003).
  • Intel Corporation, «Intel 64 and IA-32 Architectures Software Developer’s Manual» (2023).
  • K. Bhargavan, G. Leurent, «Sweet32: Attacking 64-bit Block Ciphers in TLS and OpenVPN» (2016).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →