Articles of rsa

Шифровать данные с помощью открытого ключа в c # и расшифровать данные с помощью закрытого ключа в php

Я пытаюсь зашифровать строку JSON в C # en расшифровать ее на PHP с помощью OpenSSL RSA. Следующий код находится в C #: public static string EncryptData(string data) { string key = @"—–BEGIN PUBLIC KEY—– MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC/J/txQvYBm5iOHRRRtgdXd5hq DEavxy5OExSiwjJgOgT72A9GX7+E7QYfhUZJTGtf+/J84tuJPx6/Ff1dZa1XRW84 /n5m7fw93CTVwpfRFi0Owenor44zgk6ABSfMlCzwGfdcS8AFiWCFUBpatKte6PaO /WfYK7qz/5faSp3FawIDAQAB —–END PUBLIC KEY—–"; OpenSSL.Crypto.CryptoKey pKey = OpenSSL.Crypto.CryptoKey.FromPublicKey(key, null); OpenSSL.Crypto.RSA rsa = pKey.GetRSA(); byte[] encryptedData = rsa.PublicEncrypt […]

Обеспечение совместимости RSA в Python (PyCrypto) и PHP (OpenSSL)

Я переношу весь PHP API, и пока я использовал PyCrypto раньше, я не уверен, как перевести следующий вызов шифрования, так как мне нужен тот же самый результат. Вызов PHP: define('KEY', "—–BEGIN PUBLIC KEY—– MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC81t5iu5C0JxYq5/XNPiD5ol3Z w8rw3LtFIUm7y3m8o8wv5qVnzGh6XwQ8LWypdkbBDKWZZrAUd3lybZOP7/82Nb1/ noYj8ixVRdbnYtbsSAbu9PxjB7a/7LCGKsugLkou74PJDadQweM88kzQOx/kzAyV bS9gCCVUguHcq2vRRQIDAQAB —–END PUBLIC KEY—–"); $cypher = ""; $result = openssl_public_encrypt($plain, $cypher, KEY, OPENSSL_PKCS1_PADDING); echo bin2hex($cypher); Предполагая, что все идет […]

Сервер Android и PHP: шифрование и дешифрование данных

У меня есть приложение для Android, которое общается с моим собственным сервером. Поскольку у нас нет https, я хочу реализовать собственное шифрование данных. Сервер реализован в PHP. Я хотел использовать AES, но моя основная проблема заключается в совместном использовании ключа сервера с локальным приложением, поскольку он может быть перехвачен, а затем каждый может расшифровать мои […]

Как создать объект Crypt :: RSA из модуля, экспоненты и частного экспонента?

Я пытаюсь перенести следующие функции php на perl: public function loadKey($mod, $exp, $type = 'public') { $rsa = new Crypt_RSA(); $rsa->signatureMode = CRYPT_RSA_SIGNATURE_PKCS1; $rsa->setHash('sha256'); $rsa->modulus = new Math_BigInteger(Magicsig::base64_url_decode($mod), 256); $rsa->k = strlen($rsa->modulus->toBytes()); $rsa->exponent = new Math_BigInteger(Magicsig::base64_url_decode($exp), 256); // snip… } Мне нужно преобразовать строку в форму («RSA. $ Mod. $ Exp. $ Private_exp»): RSA.mVgY8RN6URBTstndvmUUPb4UZTdwvwmddSKE5z_jvKUEK6yk1u3rrC9yN8k6FilGj9K0eeUPe2hf4Pj-5CmHww==.AQAB.Lgy_yL3hsLBngkFdDw1Jy9TmSRMiH6yihYetQ8jy-jZXdsZXd8V5ub3kuBHHk4M39i3TduIkcrjcsiWQb77D8Q== … […]

OpenSSL «Печать» в C (или через оболочку)

Я работаю над переносом кода PHP на C, который связывается с веб-API. Проблема, с которой я столкнулся, заключается в том, что PHP-код использует функцию openssl_seal() , но я не могу найти способ сделать то же самое в C или даже через openssl в вызове system() . Из руководства PHP по openssl_seal() : int openssl_seal (строка […]

Шифрование в Java и дешифрование в PHP с помощью Phpseclib

Изменить 2: проблема решена. Я не понял, как должна работать функция loadkey в php, и я ошибочно предположил, что он будет читать файл ключа (это не так). Решение состояло в том, чтобы прочитать содержимое файла в переменной, а затем загрузить переменную с помощью loadkey. Изменить: проблема связана с ключом. Я понял, что loadkey возвращает false, […]

openssl_pkey_export и "невозможно получить ключ от параметра 1"

Мне нужно использовать openssl в моем проекте php, поэтому я создал тестовую php-страницу с помощью openssl. Тем не менее, я продолжаю получать эти ошибки, и я не уверен, почему. openssl включен. Предупреждение: openssl_pkey_export () [function.openssl-pkey-export]: невозможно получить ключ от параметра 1 в C: \ wamp \ www \ opensslsample \ index.php в строке 18 Предупреждение: […]

openssl: как я могу получить открытый ключ от модуля?

Я генерирую пару ключей с помощью openssl: shell> ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/Users/mike/.ssh/id_rsa): /path/to/test_rsa Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /path/to/test_rsa. Your public key has been saved in /path/to/test_rsa.pub. И затем я генерирую […]

Преобразование ключей rsa в формат pem

У меня есть ключевая пара RSA в десятичном формате: N: 131380300130444423689465024460852313971098730922811994958210650530501686748132880102503190365296216968351535889369502651601697016994057094307459860310817213533755054007252477133258682280599098830508996183566745393684789271087614478241425320061726198137426426490142200235611844869472546908487777450913733956847 E: 65537 D: 80297204963989065579466889768824319637950465647088430322583084471355799970954766200860052948440422519604509972209521777162610037317804551817832746460011635684494412969232268215156141089492528372187753214602862715747188949826914338588271329247689858629892142371556575928454002581316958535707202236560574870513 P: 1224584489781086541356110467036625215751324632060784958572680296867401248241071907258999049522896850209985495153134079568147009917335592949603533318035603 Q: 10728561502026755927334064184961854822182870744919733441933716834397978727498603128211162084788541605856166966893670172798846339557261092973389679407794073 Хотя OpenSSL (для PHP) требует, чтобы ключ находился в формате PEM. Как мне их преобразовать? Очень важно, чтобы открытый и закрытый ключ «остался прежним» (под этим я подразумеваю, что я не могу просто создать новую пару […]

Расшифровка RSA с использованием закрытого ключа

У меня есть закрытый ключ и зашифрованная строка. Фактически строка была зашифрована с использованием .NET-модулей. Теперь мне нужно расшифровать строку. Я пробовал в php, но это бросает мне следующую ошибку openssl_private_decrypt(): key parameter is not a valid private key Я пробовал в perl, но там он берет свой собственный секретный ключ, но ему нужен собственный […]