Різниця між кодуванням та шифруванням


139

Чим відрізняється кодування від шифрування?


5
В якості першого наближення для шифрування використовується ключ, кодування - ні.
президент Джеймс К. Полк

Якщо ви розшифруєте кодовану програму goot data, але якщо ви розшифруєте зашифровані дані, не знаючи ключ сецету, Kudos to you, Ви зламали її.
Sujeet Agrahari

1
Кодування - це як переклад мови A на мову B, щоб люди, які знають мову B, легко її здобули. Шифруючи це як переклад мови A на мову B таким чином, щоб лише конкретні люди, які знають мову B, її отримували, як правило, ви розповідаєте їм дорогу, перш ніж розпочати переклад, можливо, методом чи ключем .. як трактувати гранат як гранату.
Sujeet Agrahari

Відповіді:


177

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

Шифрування перетворює дані в інший формат таким чином, що лише конкретні особи можуть перетворити перетворення.

Для підсумків -

Кодування призначене для підтримки зручності використання даних та використовує схеми, які є загальнодоступними.

Шифрування - це підтримка конфіденційності даних, а отже, можливість зворотного перетворення (ключів) обмежена певними людьми.

Більше інформації в ДЖЕРЕЛО


3
Чи вважаєте ви "документ із відкритим ключем для підпису" як кодування чи шифрування? :)
Jarod42

@ Jarod42 Цифровий підпис не є ні шифруванням, ні кодуванням документа, оскільки вихідні дані з нього неможливо відновити.
Тіло

1
"використання загальнодоступної схеми" - шифрування, безумовно, використовує схеми, які є загальнодоступними. Насправді будь-яка криптографічна схема, яка важить власної ваги, завжди є загальнодоступною (тобто немає на задньому плані, як у громадських очах). Частина, яка не є загальнодоступною, - це секрети, необхідні для розшифровки даних, а не фактична схема / алгоритми (наприклад, RSA, DH тощо).
PragmaticProgrammer

32

Кодування - це процес перетворення даних, щоб вони могли передаватися без небезпеки по каналу зв'язку або зберігатись без небезпеки на носії інформації. Наприклад, апаратне забезпечення комп'ютера не маніпулює текстом, воно просто маніпулює байтами, тому кодування тексту - це опис того, як текст повинен бути перетворений в байти. Аналогічно, HTTP не дозволяє безпечно передавати всі символи, тому може знадобитися кодування даних за допомогою base64 (використовує лише букви, цифри та два безпечні символи).

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

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


Для шифрування та дешифрування не потрібно завжди мати однакові ключі. Чи не використовує приватний ключ відправника для кодування, а приватний ключ одержувача для декодування?
Девід Манн

"HTTP не дозволяє безпечно передавати всі символи ...." Я думаю, що це вводить в оману. HTTP 8-бітний чистий. Ви можете передати будь-який байт, який ви хочете, в тілі повідомлення HTTP. Заголовки є специфічними ASCII, але це не має нічого спільного з "безпечною" передачею.
Hawkeye Parker

27

Кодування:

  1. Призначення: мета кодування полягає в перетворенні даних, щоб їх можна було належним чином (і безпечно) споживати іншим типом системи.

  2. Використовується для: Підтримування зручності використання даних, тобто для забезпечення їх належного споживання.

  3. Механізм пошуку даних: немає ключа і його можна легко повернути за умови, що ми знаємо, який алгоритм був використаний при кодуванні.

  4. Використовувані алгоритми: ASCII, Unicode, кодування URL, Base64.

  5. Приклад: Бінарні дані, що надсилаються електронною поштою або переглядають спеціальні символи на веб-сторінці.

Шифрування:

  1. Призначення: мета шифрування - перетворення даних, щоб зберегти їх у таємниці від інших.

  2. Використовується для: Підтримання конфіденційності даних, тобто для того, щоб переконатись, що дані не можуть бути використані ким-небудь, крім призначеного одержувача.

  3. Механізм пошуку даних: оригінальні дані можна отримати, якщо ми знаємо використовуваний алгоритм ключа та шифрування.

  4. Використовуються алгоритми: AES, Blowfish, RSA.

  5. Приклад: Надіслати комусь секретний лист, який лише він повинен мати можливість читати або надійно надсилати пароль через Інтернет.

Довідкова URL-адреса: http://danielmiessler.com/study/encoding_vs_encryption/


9

Кодування - це процес введення послідовності символів у спеціальний формат для цілей передачі або зберігання

Шифрування - це процес перекладу даних у секретний код. Шифрування - це найефективніший спосіб досягнення безпеки даних. Щоб прочитати зашифрований файл, ви повинні мати доступ до секретного ключа або пароля, що дозволяє розшифрувати його. Незашифровані дані називаються простим текстом; зашифровані дані називаються текстом шифру


3

Дивіться кодування як спосіб зберігання або передачі даних між різними системами. Наприклад, якщо ви хочете зберігати текст на жорсткому диску, вам доведеться знайти спосіб перетворення своїх символів у біти. Крім того, якщо все, що у вас є, є спалахом спалаху, ви можете кодувати текст за допомогою Морзе. Результат завжди "читабельний", якщо ви знаєте, як він зберігається.

Шифрування означає, що ви хочете зробити свої дані нечитабельними, шифруючи їх за допомогою алгоритму. Наприклад, Цезар робив це, замінюючи кожну букву іншою. Результат тут нечитабельний, якщо ви не знаєте секретний "ключ", за допомогою якого був зашифрований.


3

Я б сказав, що обидві операції перетворюють інформацію з однієї форми в іншу, різниця:

  • Кодування означає перетворення інформації з однієї форми в іншу, в більшості випадків вона легко оборотна
  • Шифрування означає, що вихідна інформація затушована і включає ключі шифрування, які повинні бути передані в процес шифрування / дешифрування для здійснення перетворення.

Отже, якщо він включає (симетричні або асиметричні) ключі (він же "секрет"), це шифрування, інакше це кодування.


2

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


1

Кодування - "дані прикладу 16
Тоді кодують 10000 означає , що це двійковий формат або ASCII або некодовані і т.д. , які можуть бути прочитані з допомогою будь-якої системи eassily і EASSy зрозуміти це реальний сенс

Шифрування -》 приклад даних дорівнює 16 Тоді шифрування - 3t57 або може бути що завгодно залежати від того, який алго використовується для шифрування


0

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

Шифрування - це підтримка конфіденційності даних і вимагає використання ключа (зберігається в секреті) для повернення до простого тексту.

Також є два основні терміни, які вносять плутанину у світ безпеки Hashing та Obfuscation

Хешинг призначений для перевірки цілісності контенту шляхом виявлення всіх його модифікацій через очевидні зміни хеш-виводу.

Обморка використовується для того, щоб люди не розуміли сенс чогось, і часто використовується разом з комп'ютерним кодом, щоб запобігти успішному зворотному проектуванню та / або крадіжці функціоналу продукту.

Читайте більше статті @ Danielmiessler


1
Кодування - це здатність розуміти схему. На основі того, який вміст читається і записується у файли. Напр. UTF-8, UTF-16, UTF-32, ANSI. Шифрування - це перетворення даних, які вже закодовані.
Арун

0

Шифрування перетворює дані у нечитабельний формат (можливо, містить спеціальні нечитабельні символи).

Кодування допомагає перетворити ці дані у читаний формат (символи), щоб вони могли зберігатися для подальшого використання, тобто, можливо, під час розшифрування.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.