The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Openssl blowfish"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Openssl blowfish"  
Сообщение от anonym on 26-Мрт-07, 16:29 
Привет всем.
Пытаюсь реализовать шифрование по блоуфиш, почему то выходит так, что сообщение зашифрованое открытым ключем этим же ключем и расшифровывется, а при попытке расшифровать закрытым, выходит какая-то чепуха.
Вот код, ткните пожалуйста где ошибка.

#include <stdio.h>
#include <stdint.h>
#include <openssl/blowfish.h>
#include <malloc.h>
#include <string.h>
#include <assert.h>

char pub_key[]="\
mQGiBEYHuaURBAD3XoitIiZhTAv/cKDixamR0hbNJNH0vGheaz+luQ1MHqsqquLC\
has4ksEkBeRYjOoVdp9KlsUgFhBcjS+7UyITugluGgYILdEYNJncNtxdGRRENBaR\
nbg0gBmqw+AvFt88hlwJRRCOscXLDLeK5rS9nmr7w63hKLyir8UWR5knQwCgkVYs\
GbS2DqBjlFDGtLQfU1e84zED/1beakFfmlfbrOsQ83d96Xr9sCcTCt6J0lqSWcj2\
3xv0VldW0DPtC7JlGdRH2sf4thXpDiT4QnMzk7p0dO1ovdKY8kPgenRpn9Qpg+FI\
4lk4Z6H7mtL6/TLCHNa97e0nef3wDRcjUF/oW1Vb48EXv3h2CnRR0d0a8PqtzvK8\
DWHIBACXiWIfLY2XkFSfsZv6Y/qyjsxhWB9r2ZYq2h8rvU7BSZERCDBKUJ9s45y5\
Whc2hAgy9kEcqHclywY6N8k10PhdTLhZisss9JRBB7dNjAY6DFv6Rf0ziIW44N6k\
p4DxKKpbFbBZ1ARBgV33j0qvGBqha92zms2HPPk8S7/cV90z2bQXdGVzdGtleTEg\
KHRlc3QpIDxhQGIuYz6IXgQTEQIAHgUCRge5pQIbAwYLCQgHAwIDFQIDAxYCAQIe\
AQIXgAAKCRAO0BmZrRwiEnRPAJ9bi1o78bPKf0vkeEBTu+Y3jKrCGQCeMBqUY9ln\
tCDFZMDVYgVM4Ween7y5AQ0ERge5phAEAL0JFZF1mUVUgkhRPdDogogRmC01u5nZ\
h90PS/vlY1jG7nvRWoABmrXrqBCSodNE2VctnTzWArKaGJCskz3Mnq95cgWEFFYN\
EYbug2Qc//0hMA/q4IWmHbFUvfLSanhUqnsw0w9UaAcI5DqMHahIqexfkZmcztHw\
tfjrCEWM+U6bAAMFA/9+tFzUmdqbcxsJRVPnYy+4JM6dvPh0z4vbYrpmDM2i+81f\
ldS0nvbfThcgoCzf5aY+e38QLO29MlqiAkQikzg3LdR088z4FXN5NZ1t5F8GExLd\
J6UbUaOa6scII0xK83xisjt4/QHGFgZgVd/LGTCj7w9eqt31O7M8OT4gbI8wxYhJ\
BBgRAgAJBQJGB7mmAhsMAAoJEA7QGZmtHCISIwAAnj21kAbb+T1njw92qdJwI51Z\
Y+YoAJwPj9/7zoEZon1pD5BL4ZiBF5QF1A==\
=8iRp";

char sub_key[]="\
lQHhBEYHuaURBAD3XoitIiZhTAv/cKDixamR0hbNJNH0vGheaz+luQ1MHqsqquLC\
has4ksEkBeRYjOoVdp9KlsUgFhBcjS+7UyITugluGgYILdEYNJncNtxdGRRENBaR\
nbg0gBmqw+AvFt88hlwJRRCOscXLDLeK5rS9nmr7w63hKLyir8UWR5knQwCgkVYs\
GbS2DqBjlFDGtLQfU1e84zED/1beakFfmlfbrOsQ83d96Xr9sCcTCt6J0lqSWcj2\
3xv0VldW0DPtC7JlGdRH2sf4thXpDiT4QnMzk7p0dO1ovdKY8kPgenRpn9Qpg+FI\
4lk4Z6H7mtL6/TLCHNa97e0nef3wDRcjUF/oW1Vb48EXv3h2CnRR0d0a8PqtzvK8\
DWHIBACXiWIfLY2XkFSfsZv6Y/qyjsxhWB9r2ZYq2h8rvU7BSZERCDBKUJ9s45y5\
Whc2hAgy9kEcqHclywY6N8k10PhdTLhZisss9JRBB7dNjAY6DFv6Rf0ziIW44N6k\
p4DxKKpbFbBZ1ARBgV33j0qvGBqha92zms2HPPk8S7/cV90z2f4DAwLi5IetkbPi\
a2CKa+ZnwYdCq9K9QuzntazMrH+Du7ecl6h88szqmBVcgnc/wsWkseelzClrK/s1\
lx9qbLQXdGVzdGtleTEgKHRlc3QpIDxhQGIuYz6IXgQTEQIAHgUCRge5pQIbAwYL\
CQgHAwIDFQIDAxYCAQIeAQIXgAAKCRAO0BmZrRwiEnRPAJ947mrXWAVFaoFGi+NA\
QvPlD8dkTgCfZekzqZBIBJ5tVxN244tapnfSBdudAVgERge5phAEAL0JFZF1mUVU\
gkhRPdDogogRmC01u5nZh90PS/vlY1jG7nvRWoABmrXrqBCSodNE2VctnTzWArKa\
GJCskz3Mnq95cgWEFFYNEYbug2Qc//0hMA/q4IWmHbFUvfLSanhUqnsw0w9UaAcI\
5DqMHahIqexfkZmcztHwtfjrCEWM+U6bAAMFA/9+tFzUmdqbcxsJRVPnYy+4JM6d\
vPh0z4vbYrpmDM2i+81fldS0nvbfThcgoCzf5aY+e38QLO29MlqiAkQikzg3LdR0\
88z4FXN5NZ1t5F8GExLdJ6UbUaOa6scII0xK83xisjt4/QHGFgZgVd/LGTCj7w9e\
qt31O7M8OT4gbI8wxf4DAwLi5IetkbPia2CDrxW8BtK2jFoabcTlvoD7SrfAkluO\
8FQtJa0FEZDvZnj4z/wjAIEM8RmjTyaoyEaWOtOLVdDnZeZSv295sohJBBgRAgAJ\
BQJGB7mmAhsMAAoJEA7QGZmtHCISIwAAnilYoDrupHc+Z8lZ6GkSrMUVPFubAJ9x\
1VMpJDu7mRf++SSr8BIESL6ssA==\
=3XZK";

static void
openssl_bf_encrypt(void *ctx, unsigned length,
           uint8_t *dst, const uint8_t *src)
{
  assert (!(length % BF_BLOCK));
  while (length)
    {
      BF_ecb_encrypt(src, dst, ctx, BF_ENCRYPT);
      length -= BF_BLOCK;
      dst += BF_BLOCK;
      src += BF_BLOCK;
    }
}

static void
openssl_bf_decrypt(void *ctx, unsigned length,
           uint8_t *dst, const uint8_t *src)
{
  assert (!(length % BF_BLOCK));
  while (length)
    {
      BF_ecb_encrypt(src, dst, ctx, BF_DECRYPT);
      length -= BF_BLOCK;
      dst += BF_BLOCK;
      src += BF_BLOCK;
    }
}

int
main(int argc, char *argv[])
{
  char in[] = "just a test message     ";
  char out[1024];
  BF_KEY bf_pubkey;
  BF_KEY bf_subkey;

  memset((void*)out, 0, 1024);

  BF_set_key(&bf_pubkey, strlen(pub_key), pub_key);
  BF_set_key(&bf_subkey, strlen(sub_key), sub_key);
    
  openssl_bf_encrypt(&bf_pubkey, strlen(in), out, in);
  printf("Crypted:\n%s\n", out);

  openssl_bf_decrypt(&bf_subkey, strlen(out), in, out);
  printf("Decrypted:\n%s\n", in);

  return 0;
}

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

  • Openssl blowfish, chip, 17:24 , 26-Мрт-07, (1)  
    • Openssl blowfish, anonym, 17:47 , 26-Мрт-07, (2)  
      • Openssl blowfish, chip, 17:53 , 26-Мрт-07, (3)  
        • Openssl blowfish, anonym, 18:00 , 26-Мрт-07, (4)  

Сообщения по теме [Сортировка по времени, UBB]


1. "Openssl blowfish"  
Сообщение от chip email(ok) on 26-Мрт-07, 17:24 
>Привет всем.
>Пытаюсь реализовать шифрование по блоуфиш, почему то выходит так, что сообщение зашифрованое

http://en.wikipedia.org/wiki/Blowfish_(cipher):

Ключевая фраза: In cryptography, Blowfish is a keyed, ***symmetric block cipher***

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Openssl blowfish"  
Сообщение от anonym on 26-Мрт-07, 17:47 
>>Привет всем.
>>Пытаюсь реализовать шифрование по блоуфиш, почему то выходит так, что сообщение зашифрованое
>
>http://en.wikipedia.org/wiki/Blowfish_(cipher):
>
>Ключевая фраза: In cryptography, Blowfish is a keyed, ***symmetric block cipher***

не уловил сути.. можно поконкретней в двух словах сказать куда копать?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Openssl blowfish"  
Сообщение от chip email(ok) on 26-Мрт-07, 17:53 
>>>Привет всем.
>>>Пытаюсь реализовать шифрование по блоуфиш, почему то выходит так, что сообщение зашифрованое
>>
>>http://en.wikipedia.org/wiki/Blowfish_(cipher):
>>
>>Ключевая фраза: In cryptography, Blowfish is a keyed, ***symmetric block cipher***
>
>не уловил сути.. можно поконкретней в двух словах сказать куда копать?

В сторону основ криптографии. blowfish - симметричный алгоритм, ключи для encrypt()/decrypt() совпадают. Примером, ассиметричного алгоритма может служить RSA.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Openssl blowfish"  
Сообщение от anonym on 26-Мрт-07, 18:00 
>>>>Привет всем.
>>>>Пытаюсь реализовать шифрование по блоуфиш, почему то выходит так, что сообщение зашифрованое
>>>
>>>http://en.wikipedia.org/wiki/Blowfish_(cipher):
>>>
>>>Ключевая фраза: In cryptography, Blowfish is a keyed, ***symmetric block cipher***
>>
>>не уловил сути.. можно поконкретней в двух словах сказать куда копать?
>
>В сторону основ криптографии. blowfish - симметричный алгоритм, ключи для encrypt()/decrypt() совпадают.
>Примером, ассиметричного алгоритма может служить RSA.

ок. спасибо, что ответили на глупый вопрос :)
мне почему-то всегда казалось что блоуфиш работает с двумя ключами. буду пробовать rsa.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру