Для чего нужна контрольная сумма файла

Проверка контрольной суммы iso образа в Linux

Информация с хэш файлами выкладывается на сервере для скачивания или сообщается дополнительно. Для примера возьмем Debian. На сервере для скачивания дистрибутива есть файлы названные по алгоритму хеширования; MD5SUMS, SHA1SUMS и тп.. В них указана нужная информация. Для подтверждения подлинности файла метод (md5 — «Message Digest 5» или sha — «Secure Hash Algorithm»).

В линукс есть штатные утилиты с помощью которых проверяются хеши файлов. Это md5sum для алгоритма md5 и shasum для проверки алгоритма sha. Это консольные утилиты поэтому терминал. Запустим его и введем команду: md5sum имя_файла.

Проверка контрольной суммы файла. Переходим в каталог с файлом и для проверки образа — debian-live-8.6.0-amd64-cinnamon-desktop.iso

указываем в терминале:

md5sum debian-live-8.6.0-amd64-cinnamon-desktop.iso

1 md5sum debian-live-8.6.0-amd64-cinnamon-desktop.iso

Получаем результат: d68795adebd4bdee97c85fe226e16ff7 . Сравним с информацией с сервера: d68795adebd4bdee97c85fe226e16ff7.

Как видим хеш файлов совпадает. Дистрибутив пригоден.

Так же поступаем если хотим проверить алгоритм sha. Только дополняем команду в зависимости от битности алгоритма 1-, 256-, 384- или 512-битного. Например так:

shasum -a 1 debian-live-8.6.0-amd64-cinnamon-desktop.iso

1 shasum -a 1 debian-live-8.6.0-amd64-cinnamon-desktop.iso

Сверяем с информацией на сайте как в предыдущем примере.

Проверка контрольных сумм в линукс с помощью программы GtkHash

Теперь давайте рассмотрим как проверить контрольные суммы файлов, вариант с графическим интерфейсом (GUI). Установите программу с помощью команды:

sudo apt install gtkhash

1 sudo apt install gtkhash

Запустите программу. Выберите с помощью кнопки расположенной рядом с надписью «Файл» нужный файл. На рисунке номер 1. И нажмите кнопку «Hash». На рисунке под номером 2.

Я предпочитаю всем сервисам впн создавать свой. Вот инструкция как создать собственный VPN сервер

  Программа для работы с жестким диском Paragon Домашний Эксперт 11. Часть 2

Программа посчитает хеши сразу по трем алгоритмам: md5, sha1 и sha256.

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

Установить флаг (галочку) напротив нужной и она будет отображена в главном окне. После обработки результат также будет отображен во всех выбранных окнах.

Как проверить контрольную сумму файла в Windows

У microsoft тоже есть своя утилита командной строки и называется она fciv.exe (File Checksum Integrity Verifier utility).

В Windows 10 появилась утилита командной строки CertUtil. Для проверки хеша с её помощью введите команду:

certutil -hashfile полное_название_файла

1 certutil -hashfile полное_название_файла

Я предлагаю использовать более простой способ проверить контрольные суммы образа. С помощью программы Hashtab. Скачайте  программу с официального сайта.

После установки программа интегрируется в проводник. Зайдите в папку со скачанным образом. Правым кликом кликните по файлу и выберите из контекстного меню пункт «Свойства». Перейдите на вкладку «Хэш-суммы файлов». Увидите хеши в двух интересующих нас алгоритмах, md5 и sha1.

Если хеши не отобразились или требуется указать дополнительные алгоритмы расчета то нажмите на ссылку «Настройки».

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

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

Сравнение по алгоритму md5. Если видим что на значке решетка появилась зеленая галочка значит значения совпадают. Файл в порядке можно пользоваться.

Используя кнопку «Сравнить файл» можно сравнить хеши двух файлов. Я, для примера, сравнил два iso образа дебиан xfce и lxqt. Их значения, конечно, не сошлись, что и отображено на скриншоте, где показан красный крест на значке решетки.

На этом всё. Надеюсь теперь у вас не возникнет проблем с проверкой контрольной суммы файлов ни в линукс ни в виндовс.

[Разработчику] Любая таблица значений в OLAP Промо

Анализируем различные данные в 1С, используя OLAP-технологии со всеми прелестями. Т.е. наглядное отображение данных, быстрые расчеты, горизонтальные и вертикальные группировки любой вложенности, удобная фильтрация, Drag’n’Drop и ещё много приятных вещей от MS.

Обработка на входе принимает практически любую таблицу значений (ТЗ в которой колонкам указаны типы значений, строка, число и т.п.), на выходе имеем на форме 1С сводную таблицу и график по этой ТЗ, с которой работаем, как и в Excel со сводной таблицей и диаграммой.

Взял за основу разработку «OLAP Анализ счёта» ( http://infostart.ru/public/14964/ ) от JohnyDeath и переделал под любую ТЗ.

Опционально используется «Прогресс бар для 1С 77» (http://infostart.ru/public/14061/ ) от Gmix.

1 стартмани

Стандарты хеширования: популярные варианты

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

Название Краткий обзор
CRC-32 Полином CRC (Cyclic Redundancy Check, что значит «циклическая проверка излишков»). Является мощным легко осуществимым методом хеширования для достижения надежности информации. Применяется для защиты данных и обнаружении ошибок в потоке информации. Популярность принесли следующие качества: высочайшая степень обнаружения ошибок, минимальные расходы, простота эксплуатирования. Генерирует 32-битный хэш. Используется комитетом по стандартам локальных систем.
MD5 Протокол базируется на 128-битном (16-байтном) фундаменте. Применяется для хранения паролей, создания уникальных криптографических ключей и ЭЦП. Используется для аудита подлинности и целостности документов в ПК. Недостаток – сравнительно легкое нахождение коллизий.
SHA-1 Реализует хеширование и шифрование по принципу сжатия. Входы такого алгоритма сжатия состоят из набора данных длиной 512 Бит и выходом предыдущего блока. Количество раундов – 80. Размер значения хэш – 32 Бит. Найденные коллизии – 252 операции. Рекомендовано для основного использования в госструктурах США.
SHA-2 Семейство протоколов – однонаправленных криптографических алгоритмов, куда входит легендарный SHA-256, используемый в Bitcoin. Размер блока – 512/1024 Бит. Количество раундов 64/80. Найденных коллизий не существует. Размер значения однонаправленных хэш-функций – 32 Бит.
ГОСТ Р 34.11-2012 «Стрибог» Детище отечественных программистов, состоящее из пары хэш-функций, с длинами итогового значения 256 и 512 Бит, отличающиеся начальным состоянием и результатом вычисления. Криптографическая стойкость – 2128. Преобразование массива данных основано на S-блоках, что существенно осложняет поиск коллизий.

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

Методы получения профита

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

  1. Перебор по заданному словарю: никаких гарантий удачного результата нет, из плюсов можно отметить лишь малое время, затраченное на перебор.
  2. Брутфорс: банальный перебор случайных или последовательных комбинаций, большим минусом которого является значительное количество затраченного времени и ресурсов компьютера.
  3. RainbowCrack: атака по радужным таблицам является самым эффективным методом «взлома»; плюс заключается в быстром переборе, минусы — в гигантском размере радужных таблиц и большом количестве времени, затраченном на их генерацию.

Для полного перебора или перебора по словарю можно использовать, к примеру, следующие программы: PasswordsPro, MD5BFCPF, John the Ripper. Теперь же я предлагаю тебе познакомиться с новым методом атаки на хэши — методом коллизий.

Коллизия в действии

Hashtab что это за программа?

Целью Hashtab является поиск и выявление некорректно работающих системных файлов

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

  • CRC (проверяет целостность данных);
  • MD5 (создает «отпечатки» для последующей их проверки);
  • SHA1 (генерирует 160-битное хеш-значение, которое также называется дайджестом сообщения);
  • SHA2 (создает «отпечатки» различной длины и генерирует хеш-код);
  • Whirlpool (код хеширования, который явно имеет более красочное название — «воронка», нежели чем, остальные языки написания кода. Whirlpool осуществляет хеширование входного сообщения).

Использование этих и других алгоритмов позволяет Hashtab выделяться из ряда схожих программ и быть одной из лучших в своем роде.

Особенности работы с утилитой

Hashtab работает с разными видами файлов

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

На каких платформах работает Hashtab?

Утилита поддерживается несколькими операционными системами, такими как Mac и Windows

. На платформе Linuex Hashtab работать пока не может. В систему Windows утилита интегрируется и устанавливается в проводнике, а в яблочной системе она действует как отдельный плагин. Язык по умолчанию для Hashtab будет языком системы, но его всегда легко заменить в панели языковой панели самой программы.

Как пользоваться программой?

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

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

вызывать панель «Свойства». В этой панели сразу будет указан параметр контрольных сумм.

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

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

Почему Hashtab не устанавливается?

Существует несколько способов установки программы Hashtab:

  1. Возможно, программа не работает из-за того, что ваша операционная система не поддерживается этой утилитой. В таком случае можно скачать Virtual Box и установить туда ту платформу, на которой Hashtab будет работать.
  2. Еще, возможно, что установочный файл просто некорректно скачался и проблему можно решить просто скачав его еще раз. Также стоит попробовать просто перезагрузить компьютер и запустить установочный файл еще раз.

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

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

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

Описание

В настоящее время практически ни одно приложение криптографии не обходится без использования хэширования.

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

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

  • построения систем контроля целостности данных при их передаче или хранении,
  • аутентификация источника данных.

Хэш-функцией называется всякая функция h:X -> Y, легко вычислимая и такая, что для любого сообщения M значение h(M) = H (свертка) имеет фиксированную битовую длину. X — множество всех сообщений, Y — множество двоичных векторов фиксированной длины. Как правило хэш-функции строят на основе так называемых одношаговых сжимающих функций y = f(x1, x2) двух переменных, где x1, x2 и y — двоичные векторы длины m, n и n соответственно, причем n — длина свертки, а m — длина блока сообщения.

Для получения значения h(M) сообщение сначала разбивается на блоки длины m (при этом, если длина сообщения не кратна m то последний блок неким специальным образом дополняется до полного), а затем к полученным блокам M1, M2,.., MN применяют следующую последовательную процедуру вычисления свертки:

Ho = v, Hi = f(Mi,Hi-1), i = 1,.., N, h(M) = HN Здесь v — некоторая константа, часто ее называют инициализирующим вектором. Она выбирается из различных соображений и может представлять собой секретную константу или набор случайных данных (выборку даты и времени, например).

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

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

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

Что за «зверь» такой это хеширование?

Чтобы в головах читателей не образовался «винегрет», начнем со значения терминологий применительно к цифровым технологиям:

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

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

Коллизии

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

Технические параметры

Основополагающие характеристики протоколов хеширования выглядят следующим образом:

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

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

Требования

К эффективной во всех отношениях хэш-функции выдвигаются следующие требования:

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

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

Консоль (7.7) Промо

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

1.Запускаешь консоль
2.Пишешь свой код
3.Нажимаешь Выполнить.

Требование:
1С++ (со встроеным FormEx) должна быть уже загружена
1sci.dll грузится ПриОткрытии()

В архиве на всякий случай выложил все необходимое:

1cpp.dll (от 5 декабря 2008 г., 1:30:26)
1sci.dll (от 5 августа 2008 г., 13:32:42)

Ссылки:
1sci.dll http://infostart.ru/projects/4443/
1cpp.dll http://www.1cpp.ru/

Огромное спасибо steban http://infostart.ru/profile/1746/

1 стартмани

Алгоритмы

Байт четности или слово четности

Простейший алгоритм контрольной суммы — это так называемая продольная проверка четности , которая разбивает данные на «слова» с фиксированным числом битов n , а затем вычисляет исключающее ИЛИ (XOR) для всех этих слов. Результат добавляется к сообщению в виде дополнительного слова. Чтобы проверить целостность сообщения, получатель вычисляет исключающее или всех его слов, включая контрольную сумму; если результатом не является слово, состоящее из n нулей, получатель знает, что произошла ошибка передачи.

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

Сумма дополнения

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

Зависит от позиции

Простые контрольные суммы, описанные выше, не позволяют обнаружить некоторые общие ошибки, которые затрагивают сразу несколько битов, такие как изменение порядка слов данных или вставка или удаление слов со всеми битами, установленными в ноль. Алгоритмы контрольной суммы, наиболее часто используемые на практике, такие как контрольная сумма Флетчера , Adler-32 и циклический контроль избыточности (CRC), устраняют эти недостатки, учитывая не только значение каждого слова, но и его позицию в последовательности. Эта функция обычно увеличивает стоимость вычисления контрольной суммы.

Нечеткая контрольная сумма

Идея нечеткой контрольной суммы была разработана для обнаружения спама в электронной почте путем создания совместных баз данных от нескольких интернет-провайдеров электронной почты, подозреваемой в спаме. Содержание такого спама часто может отличаться по деталям, что делает обычное вычисление контрольной суммы неэффективным. Напротив, «нечеткая контрольная сумма» сокращает основной текст до характерного минимума, а затем генерирует контрольную сумму обычным образом. Это значительно увеличивает вероятность того, что несколько различающиеся спам-письма будут давать одинаковую контрольную сумму. Программное обеспечение для обнаружения спама интернет-провайдеров, такое как SpamAssassin , сотрудничающих с ними интернет-провайдеров, отправляет контрольные суммы всех электронных писем в централизованную службу, такую ​​как DCC . Если количество отправленных нечетких контрольных сумм превышает определенный порог, база данных отмечает, что это, вероятно, указывает на спам. Пользователи службы ISP аналогичным образом генерируют нечеткую контрольную сумму для каждого из своих электронных писем и запрашивают службу на предмет вероятности спама.

Общие Соображения

Сообщение длиной m бит можно рассматривать как угол m -мерного гиперкуба. Эффект алгоритма контрольной суммы, который дает n- битную контрольную сумму, заключается в отображении каждого m- битного сообщения в угол большего гиперкуба с размерностью m + n . В 2 м + п углов этого гиперкуба представляют все возможные принятые сообщения. Допустимые полученные сообщения (те, которые имеют правильную контрольную сумму) составляют меньший набор, с углами всего 2 м .

Тогда однобитовая ошибка передачи соответствует смещению от допустимого угла (правильное сообщение и контрольная сумма) к одному из m смежных углов. Ошибка, затрагивающая k бит, перемещает сообщение в угол, который на k шагов удаляется из его правильного угла. Целью хорошего алгоритма контрольной суммы является распространение действительных углов как можно дальше друг от друга, чтобы увеличить вероятность того, что «типичные» ошибки передачи окажутся в недопустимом углу.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: