Обмен данными между двумя сторонами с использованием TripleDes или RSA
Я получаю зашифрованные данные от поставщиков в формате TripleDes или RSA.
Когда я иду расшифровывать эти данные, какая информация мне нужна от моих поставщиков, чтобы сделать это?
И закрытый, и открытый ключ?
Что хорошего в открытом ключе для шифрования?
3 ответа
При использовании RSA вам нужен открытый ключ для этого алгоритма, если вы хотите зашифровать, который, вероятно, будет иметь этот формат (e,n) или (n,e), состоящий из двух чисел e и n, полученных в результате математических вычислений (включая расширенный Евклиды и модульные операции) продавец должен был сделать. Если вы хотите расшифровать, вам нужен личный ключ, созданный вами, и сообщение, зашифрованное вашим открытым ключом.
Допустим, Алиса хочет передать данные, зашифрованные RSA, Бобу. Алисе нужен Боб, чтобы вычислить как закрытый, так и открытый ключи для алгоритма. Боб отправляет открытый ключ Алисе, и она шифрует данные этим открытым ключом и отправляет зашифрованные RSA данные Бобу, который он расшифровывает с помощью закрытого ключа. Если они оба хотят передать данные, каждый из них должен выполнить эти вычисления, в результате чего Алиса создаст открытый и закрытый ключи для своих полученных сообщений, а Боб создаст открытый и закрытый ключи для своих полученных сообщений.
С TDES обеим сторонам линии нужен один и тот же ключ. Алиса определяет закрытый ключ K, который она отправляет Бобу безопасным способом, так что каждый TDES-шифрует и TDES-дешифрует свои сообщения M, используя C = TDES-encrypt(M,K) и M = TDES-decrypt(C,K).
Иногда случается, что нет безопасных средств для отправки закрытого ключа TDES, поэтому может случиться так, что ваш поставщик использует RSA для отправки вам ключа TDES, зашифрованного с помощью RSA, так что если у вас есть открытый ключ для RSA, вы будет иметь право дешифровать сообщение и найти ключ TDES, который вы будете использовать для связи.
Если вам нужна более подробная информация о том, как работают эти два криптографических алгоритма, ссылки на Википедию Vittorio Cozzolino, похоже, вам подойдут.
RSA
Если ваши поставщики отправляют вам данные, зашифрованные с помощью RSA - тогда, прежде чем они смогут это сделать, вы должны отправить им свой открытый ключ (который является открытым - следовательно, может быть открыт для всего мира). Они зашифруют данные вашим открытым ключом и отправят вам. Поскольку только у вас есть закрытый ключ, соответствующий открытому ключу, только вы можете расшифровать его. Таким образом, в основном вам нужна пара PubKey-PrivKey, прежде чем это можно будет сделать3-DES
Они должны отправить вам (отдельно) секретный ключ, который использовался для шифрования данных с помощью 3-DES. Если кому-то еще достанется секретный ключ, он также может расшифровать данные. Поэтому они должны отправить вам секретный ключ в отдельном безопасном канале.
Что касается RSA, на самом деле вы можете делать разные вещи:
- Вы можете зашифровать с открытым ключом, так что только те, кто имеет закрытый ключ, могут прочитать ваше сообщение. Таким образом, вы можете гарантировать конфиденциальность, но не подлинность.
- Вы можете зашифровать с помощью ключа pivate, так что только те, у кого есть открытый ключ, могут прочитать ваше сообщение. Таким образом, вы можете гарантировать подлинность, но не конфиденциальность.
- Вы можете зашифровать с открытым ключом, а затем с закрытым ключом. Таким образом, вы можете гарантировать подлинность и конфиденциальность.
Вы можете найти больше информации здесь: http://en.wikipedia.org/wiki/RSA_(algorithm).
Triple DES - это последовательное применение алгоритма DES с разными ключами. Вы можете найти больше информации об этом здесь:
http://en.wikipedia.org/wiki/Triple_DES
Разница с RSA заключается в том, что DES является алгоритмом с симметричным ключом, а не алгоритмом с открытым ключом.
Это просто обзор проблем, потребуются часы, чтобы объяснить все об этих алгоритмах и о том, как они работают.