Алгоритмите със симетричен ключ
Алгоритмите със симетричен ключ са метод в криптографията. Той се прилага, когато ключовете за декриптиране и криптиране са точно една и съща споделена тайна. Тайната може да се генерира на случаен принцип или от парола, или чрез процедура за обмен на тайни ключове, като например Diffie-Hellman.
Алгоритмите със симетричен ключ са много важни, защото са по-бързи за компютрите от другите видове:алгоритми с публичен ключ. При криптографията с публичен ключ (криптография с асиметричен ключ) ключът за криптиране може да се даде публично без проблем и всеки може да ви изпраща тайни съобщения. Ключът за криптиране е "отворен", защото на практика не може да се използва за получаване на ключа за декриптиране. Това е много полезно, но алгоритмите за криптография с публичен ключ са много бавни за компютрите, затова се използват само за изпращане на секретен ключ. Тогава алгоритмите със симетричен ключ се използват за всичко останало, защото са по-бързи.
Съществуват два вида алгоритми със симетричен ключ, наречени поточни и блокови шифри. Поточните шифри криптират съобщението като поток от битове един по един. Блоковите шифри вземат блокове от битове, шифроват ги като една единица и понякога използват отговора и по-късно. Обикновено се използват блокове от 64 бита; въпреки че съвременните шифри като Advanced Encryption Standard използват 128-битови блокове.
Примери за популярни симетрични шифри са Twofish, Serpent, AES (известен още като Rijndael), Blowfish, CAST5, RC4, TDES и IDEA.
В историята някои методи за криптоанализ са използвали симетрията, така че симетричните системи са били по-малко сигурни. Някои атаки се наричат атаки с известен текст, атаки с избран чист текст, диференциаленкриптоанализ и линеен криптоанализ.
Други термини за криптиране със симетричен ключ са криптиране със секретен ключ, криптиране с един ключ, криптиране със споделен ключ, криптиране с един ключ и накрая криптиране с частен ключ. Последният термин няма същото значение, каквото има терминът "частен ключ" в криптографията с публичен ключ.
При алгоритъма със симетричен ключ ключът, използван за криптиране, е същият като този, използван за декриптиране. Поради тази причина той трябва да се пази в тайна.
Симетрични срещу асиметрични алгоритми
За разлика от симетричните алгоритми, алгоритмите сасиметричен ключ използват различен ключ за криптиране и за декриптиране. Това означава, че потребител, който знае ключа за криптиране на асиметричен алгоритъм, може да криптира съобщения, но не може да изчисли ключа за декриптиране и не може да декриптира съобщения, криптирани с този ключ. Кратко сравнение на тези два вида алгоритми е дадено по-долу:
Скорост
Алгоритмите със симетричен ключ обикновено са много по-малко изчислително интензивни от алгоритмите с асиметричен ключ. На практика алгоритмите с асиметричен ключ обикновено са стотици до хиляди пъти по-бавни от алгоритмите със симетричен ключ.
Управление на ключовете
Един от недостатъците на алгоритмите със симетричен ключ е изискването за споделен секретен ключ, като и двете страни трябва да притежават едно и също копие от всяка страна. За да се осигури сигурна комуникация между всички в група от n души, са необходими общо n(n - 1)/2 ключа, което е общият брой на възможните комуникационни канали. За да се ограничи въздействието на евентуално откриване от криптографски нападател, те трябва да се сменят редовно и да се пазят по време на разпространението и в експлоатация. Процесът на избор, разпространение и съхранение на ключовете е известен като управление на ключовете и е труден за постигане по надежден и сигурен начин.
Хибридна криптосистема
При проектирането на съвременни криптосистеми се използват както асиметрични (с публичен ключ), така и симетрични алгоритми, за да се извлече полза от най-доброто от двете. Асиметричните алгоритми се използват за разпределяне на симетрични ключове в началото на сесията. След като симетричният ключ е известен на всички страни в сесията, по-бързите алгоритми със симетричен ключ, използващи този ключ, могат да се използват за криптиране на останалата част от сесията. Това опростява проблема с разпространението на ключовете, тъй като асиметричните ключове трябва да се разпространяват само автентично, докато симетричните ключове трябва да се разпространяват както автентично, така и поверително.
Системите, които използват такъв хибриден подход, включват SSL, PGP и GPG и др.
Свързани страници
- Алгоритми с асиметричен ключ
Въпроси и отговори
В: Какво представляват алгоритмите със симетричен ключ?
О: Алгоритмите със симетричен ключ са метод в криптографията, при който ключовете за декриптиране и криптиране са абсолютно една и съща споделена тайна.
В: Как можете да генерирате тайната?
О: Тайната може да бъде генерирана на случаен принцип или от парола, или чрез процедура за обмен на тайни ключове като Diffie-Hellman.
В: Защо са важни алгоритмите със симетричен ключ?
О: Алгоритмите със симетричен ключ са много важни, защото са по-бързи за компютрите от алгоритмите с публичен ключ.
Въпрос: Какво представлява криптографията с публичен ключ (криптография с асиметричен ключ)?
О: При криптографията с публичен ключ (криптография с асиметричен ключ) ключът за криптиране може да се даде публично без проблем и всеки може да ви изпраща тайни съобщения. Ключът за криптиране е "отворен", защото на практика не може да се използва за получаване на ключа за декриптиране.
Въпрос: Кои са двата вида симетрични шифри?
О: Двата вида симетрични шифри включват поточни шифри и блокови шифри. Поточните шифри криптират съобщението като поток от битове един по един, докато блоковите шифри вземат блокове от битове, криптират ги като една единица и понякога използват отговора и по-късно.
Въпрос: Какъв размер блокове използват съвременните шифри?
О: Съвременните шифри, като Advanced Encryption Standard, използват блокове от 128 бита.
В: Какви видове атаки са били използвани за използване на симетрията в историята?
О: В историята някои методи за криптоанализ са използвали симетрията, така че симетричните системи са били по-малко сигурни. Някои атаки, които са били използвани, включват атаки с известен чист текст, атаки с избран чист текст, диференциален криптоанализ и линеен криптоанализ.