SHA1 VS RSA: каково различие между ними?

См. Элемент списка 1 в разделе «Выражение в скобках RE» в спецификации регулярного выражения POSIX ( http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_03_05 ):

The  ( ']' ) shall lose its special meaning and represent itself in a bracket expression if it occurs first in the list

Учитывая, что [][] представляет скобочное выражение [...], которое содержит список из 2 символов, ] и [.

Использование обратной косой черты для экранирования ] в выражении в скобках взамен не POSIX, но некоторые версии некоторых инструментов будут принимать - YMMV.

45
задан informatik01 3 February 2014 в 12:47
поделиться

5 ответов

Fundamentally different.

SHA1 is a hash algorithm, which is a one way function, turning an input of any size into a fixed-length output (160 bit in this case). A cryptographic hash function is one for which it should not be possible to find two inputs giving the same output except by brute force (for instance, with a 128-bit function you should need to try on average 2^64 message to find such a "collision" due to something called the birthday paradox - Google it for more).

In fact for SHA1 this is no longer the case - the algorithm is (in cryptographic terms at least) broken now, with a collision attack described by Xiaoyun Wang et al that beats a classic birthday attack. The SHA2 family is not broken, and a process is underway by NIST to agree on a SHA3 algorithm or family of algorithms.

Edit - Google have now generated and published an actual SHA1 collision.

RSA is an asymmetric encryption algorithm, encrypting an input into an output that can then be decrypted (contrast a hash algorithm which can't be reversed). It uses a different key for encryption (the public one) than for decryption (the private one). This can therefore be used to receive encrypted messages from others - you can publish your public key, but only you with the private key can then decrypt the messages that have been encrypted with it.

If you reverse the keys for RSA, it can be used to generate a digital signature - by encrypting something with your private key, anyone can decrypt it with the public key and, if they are sure the public key belongs to you, then they have confidence that you were the one who encrypted the original. This is normally done in conjunction with a hash function - you hash your input, then encrypt that with your private key, giving a digital signature of a fixed length for your input message.

87
ответ дан David M 26 November 2019 в 21:03
поделиться

SHA1 - это алгоритм хеширования (подписи документов и сертификатов), а RSA - алгоритм шифрования / дешифрования (защищенные соединения).

7
ответ дан Spencer Ruport 26 November 2019 в 21:03
поделиться

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

5
ответ дан sybreon 26 November 2019 в 21:03
поделиться

SHA1 - криптографическая хеш-функция, тогда как RSA - алгоритм шифрования.

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

Алгоритм шифрования дает часть данных, но вывод не имеет фиксированной длины - ваше шифрование. Учитывая вывод (шифрование), вы можете (если у вас есть правильные ключи) определить ввод.

5
ответ дан AnnaR 26 November 2019 в 21:03
поделиться

Алгоритм Secure Hash Algorithm (SHA) принимает сообщение длиной менее 264 бит и выдает 160-битный Дайджест сообщения. Алгоритм немного медленнее, чем MD5, но больший дайджест сообщения делает его более защищенным от атак грубого взлома и атак инверсии. Алгоритм, указанный в стандарте Secure Hash (SHS, FIPS 180), был разработан NIST. SHA-1 - это пересмотр SHA, опубликованный в 1994 году; пересмотр исправил неопубликованный недостаток в SHA. Его дизайн очень похож на хеш-функции семейства MD4, разработанные Rivest. SHA-1 также описан в стандарте ANSI X9.30.

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

Наиболее заметным отличием является то, что SHA является алгоритмом шифрования, тогда как RSA является шифрованием а также алгоритм подписи.

16.08.2005 было объявлено, что в SHA-1 можно найти столкновение в 2 ^ 63 операциях. Этот результат исследования принадлежит профессору Сяоюнь Вану из Университета Цинхуа в Пекине вместе с профессорами Эндрю Яо и Фрэнсис Яо. Это расширяет работу Вана, Инь и Ю, которая показала, что столкновение может быть найдено в 2 ^ 69 операциях. Это означает, что в SHA коллизия легче происходить, чем в RSA, но, в частности, никогда не было найдено двух похожих ключей, которые столкнулись.

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

Наиболее заметным отличием является то, что SHA является алгоритмом шифрования, тогда как RSA является как алгоритмом шифрования, так и алгоритмом подписи.

16.08.2005 было объявлено, что в SHA-1 можно найти столкновение в 2 ^ 63 операциях. Этот результат исследования принадлежит профессору Сяоюнь Вану из Университета Цинхуа в Пекине вместе с профессорами Эндрю Яо и Фрэнсис Яо. Это расширяет работу Вана, Инь и Ю, которая показала, что столкновение может быть найдено в 2 ^ 69 операциях. Это означает, что в SHA коллизия легче происходить, чем в RSA, но, в частности, никогда не было найдено двух похожих ключей, которые столкнулись.

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

Наиболее заметным отличием является то, что SHA является алгоритмом шифрования, тогда как RSA является как алгоритмом шифрования, так и алгоритмом подписи.

16.08.2005 было объявлено, что в SHA-1 можно найти столкновение в 2 ^ 63 операциях. Этот результат исследования принадлежит профессору Сяоюнь Вану из Университета Цинхуа в Пекине вместе с профессорами Эндрю Яо и Фрэнсис Яо. Это расширяет работу Вана, Инь и Ю, которая показала, что столкновение может быть найдено в 2 ^ 69 операциях. Это означает, что в SHA коллизия легче происходить, чем в RSA, но, в частности, никогда не было найдено двух похожих ключей, которые столкнулись.

Наиболее заметным отличием является то, что SHA является алгоритмом шифрования, тогда как RSA является как алгоритмом шифрования, так и алгоритмом подписи.

16.08.2005 было объявлено, что в SHA-1 можно найти конфликт в 2 ^ 63 операций. Этот результат исследования принадлежит профессору Сяоюнь Вану из Университета Цинхуа в Пекине вместе с профессорами Эндрю Яо и Фрэнсис Яо. Это расширяет работу Вана, Инь и Ю, которая показала, что столкновение может быть найдено в 2 ^ 69 операциях. Это означает, что в SHA коллизия легче происходить, чем в RSA, но, в частности, никогда не было найдено двух похожих ключей, которые столкнулись.

Наиболее заметным отличием является то, что SHA является алгоритмом шифрования, тогда как RSA является как алгоритмом шифрования, так и алгоритмом подписи.

16.08.2005 было объявлено, что в SHA-1 можно найти конфликт в 2 ^ 63 операций. Этот результат исследования принадлежит профессору Сяоюнь Вану из Университета Цинхуа в Пекине вместе с профессорами Эндрю Яо и Фрэнсис Яо. Это расширяет работу Вана, Инь и Ю, которая показала, что столкновение может быть найдено в 2 ^ 69 операциях. Это означает, что в SHA коллизия легче происходить, чем в RSA, но, в частности, никогда не было найдено двух похожих ключей, которые столкнулись.

16.08.2005 было объявлено, что в SHA-1 можно обнаружить столкновение в 2 ^ 63 операциях. Этот результат исследования принадлежит профессору Сяоюнь Вану из Университета Цинхуа в Пекине вместе с профессорами Эндрю Яо и Фрэнсис Яо. Это расширяет работу Вана, Инь и Ю, которая показала, что столкновение может быть найдено в 2 ^ 69 операциях. Это означает, что в SHA коллизия легче происходить, чем в RSA, но, в частности, никогда не было найдено двух похожих ключей, которые столкнулись.

16.08.2005 было объявлено, что в SHA-1 можно обнаружить столкновение в 2 ^ 63 операциях. Этот результат исследования принадлежит профессору Сяоюнь Вану из Университета Цинхуа в Пекине вместе с профессорами Эндрю Яо и Фрэнсис Яо. Это расширяет работу Вана, Инь и Ю, которая показала, что столкновение может быть найдено в 2 ^ 69 операциях. Это означает, что в SHA коллизия легче происходить, чем в RSA, но, в частности, никогда не было найдено двух похожих ключей, которые столкнулись.

-5
ответ дан sangupta 26 November 2019 в 21:03
поделиться