Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];

Вниз

Шифрование открыто-закрытым ключом.   Найти похожие ветки 

 
[_]   (2006-11-17 20:43) [0]

Есть какая-либо не большая библиотека шифрования с поддержкой открыто-закрытого ключа? Всё что видел -- там огромный комплект разнообразных алгоритмов и прочих прелестей. Мне же хочется что-то простое.


 
vasIzmax ©   (2006-11-17 21:32) [1]

Библиотеки конечно хороши, но когда мне надо было что-то шифровать я чисто use свою наработку. Смотря для чего этого надо, какие данные и пр.


 
Eraser ©   (2006-11-17 21:45) [2]

> [0] [_]   (17.11.06 20:43)

MS Crypto API.


 
palva ©   (2006-11-17 21:49) [3]

> там огромный комплект разнообразных алгоритмов и прочих прелестей. Мне же хочется что-то простое.

Ну если в огромном комплекте не нашлось того, что вы ищете... Можете перечислить по пунктам что вам нужно? Шифровать открытым ключом вам нужно? Генерировать ключ вам нужно? Генерировать случайную гамму вам нужно? Шифровать закрытым ключом вам нужно? Хэшировать ключ вам нужно? Исходные коды для изучения вам тоже нужны? А как насчет встраивания в почтовый клиент или в аську?

Если все это нужно быстро, то проще всего взять готовую библиотеку
http://www.gnupg.org/(en)/related_software/libraries.html


 
Rouse_ ©   (2006-11-17 22:01) [4]


> Есть какая-либо не большая библиотека шифрования с поддержкой
> открыто-закрытого ключа?

Ты все хочешь шифровать? Асинхронные алгоритмы с открытым/закрытым ключем обычно не применяют для шифрования данных. Обычно их используют для шифрования ключей к синхронным алгоритмам криптовки, например таким как RC4.
Т.е. идет связка - Сессионным RC4 ключом шифруется блок данных, ключ шифруется открытым RSA ключем и добавляеляется к шифрованным данным. Получатель извлекает шифрованный RC4 ключ, расшифровывает его своим закрытым RSA ключем и полученным результатом расшифровывает данные.


 
Vga ©   (2006-11-17 22:07) [5]

> [1] vasIzmax ©   (17.11.06 21:32)

Если ты не спец по криптографии, вряд ли твоя наработка сильно надежна...


 
vasIzmax ©   (2006-11-17 22:23) [6]

Я не отрицаю, но о надежности как бы речи не было.

> Если ты не спец по криптографии

Не обязательно, достаточно придумать подходящую фукцию... :)


 
Vga ©   (2006-11-17 22:28) [7]

> [6] vasIzmax ©   (17.11.06 22:23)


> Не обязательно, достаточно придумать подходящую фукцию...
> :)

Что ты под этим имеешь в виду?


 
vasIzmax ©   (2006-11-17 22:39) [8]

Примитивный пример.
а-это значение символа в таблице ASCII
b-это случайное число
с- открытое число (н/п: 27)
d = a+c+b*0;
ИС передает такое сообщение КП и говорит 27. Тот вводит и вуаля: все расшифровано. (да обратная ф-ция уже предполагается в программе a=d-c).
Вид такой шифровки(1 символ): 282 Random.


 
Vga ©   (2006-11-17 22:56) [9]

> [8] vasIzmax ©   (17.11.06 22:39)

Ничего не понял, честно говоря... Не так кратко, и без непонятных сокращений, плиз.


 
vasIzmax ©   (2006-11-17 23:06) [10]

Примитивный пример.
У нас есть сообщение например "Хороший сайт". Мы каждую символ переводим в ASCII (а-это значение символа в таблице ASCII), затем используем генератор случайных чисел (b-это случайное число), и вводим константу 27(с- открытое число (н/п: 27)). Затем используем функцию
Пример функции: d = a+c+b*0;. После обработки каждого символа результат записываем в файл (Вид такой шифровки(1 символ): 282 Random.)
Источник сообщения (т.е. Автор) передает такой файл с прогой конечному пользователю (т.е. получатель) и говорит 27. Тот вводит и вуаля: все расшифровано.


 
Rouse_ ©   (2006-11-17 23:31) [11]


> vasIzmax ©   (17.11.06 23:06) [10]

Молодец, функцию шифрования придумал. Случайное число умноженное на ноль - сильный ход :) А теперь посчитай сколько итераций необходимо для восстановления исходного текста и получения твоего загадочного 27? :)


 
Алхимик ©   (2006-11-17 23:34) [12]


> [10] vasIzmax ©   (17.11.06 23:06)
> Примитивный пример.

Это всё равно что от детей варенье в шкафу прятать... :)


 
vasIzmax ©   (2006-11-17 23:35) [13]


> Rouse_ ©   (17.11.06 23:31) [11]

Но это был как бы
> Примитивный пример.

Можно и по прикольнее: (я всегда работаю с таблицей ASCII) : перевод кода символа в двоичную систему, в римские цифры, ... -:D


 
Rouse_ ©   (2006-11-17 23:36) [14]


> я всегда работаю с таблицей ASCII

Хм.. а что с ней работать то? Byte как бы всегда был по размерности сопоставим с Char :)


 
vasIzmax ©   (2006-11-17 23:37) [15]


> Алхимик ©   (17.11.06 23:34) [12]

Я же не знаю для чего автору вопроса шифроваться. Предложенное естественно детская шифровка, существуют масса алгоритмов, но как сказал сам автор

> Мне же хочется что-то простое.


 
Vga ©   (2006-11-17 23:41) [16]

Это слишком детская шифровка. В паре паков от игр я такую видел. От начала исследования паков до написания работающего распаковщика в обоих случаях заняло несколько (менее 6) часов.


 
vasIzmax ©   (2006-11-17 23:46) [17]

Хоть  

> Это слишком детская шифровка

но
> В паре паков от игр я такую видел

все же используется.


 
BiN ©   (2006-11-18 00:00) [18]

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


 
vasIzmax ©   (2006-11-18 00:05) [19]


> BiN ©   (18.11.06 00:00) [18]

Никто не просил 100%-но устойчивого, надежного алгоритма. Задача как мне кажется стояла в простоте, ИМХО.


 
BiN ©   (2006-11-18 00:11) [20]


> vasIzmax ©   (18.11.06 00:05) [19]
>
>
> > BiN ©   (18.11.06 00:00) [18]
>
> Никто не просил 100%-но устойчивого, надежного алгоритма

сабж:  Шифрование открыто-закрытым ключом


Речь идет о конкретном типе алгоритмов, не правда ли...
Шифрование должно быть устойчивым, иначе оно не имеет смысла.


 
Eraser ©   (2006-11-18 00:12) [21]

> [19] vasIzmax ©   (18.11.06 00:05)

для простоты - используйте готовые компоненты/библиотеки.. куда проще чем изобретать свой дырявый алгоритм )


 
vasIzmax ©   (2006-11-18 00:27) [22]

Eraser ©

> Всё что видел - там огромный комплект разнообразных алгоритмов
> и прочих прелестей. Мне же хочется что-то простое.

В принципе да - это проще. Но автору по ходу это не совсем было по душе. И я намекнул: "Хочешь чего-то нормального - сделай сам" (типа того).


 
Eraser ©   (2006-11-18 01:14) [23]

> [22] vasIzmax ©   (18.11.06 00:27)


> И я намекнул: "Хочешь чего-то нормального - сделай сам"
> (типа того).

к криптографии это поговорка не подходит в 99.99% случаев ))


 
vasIzmax ©   (2006-11-18 01:20) [24]

Eraser ©   (18.11.06 01:14)

Возможно, не спорю. Для меня криптография чисто как разминка для мозгов. Мож лит-ру почитаю например Новикова Ф.А. "Дискретная математика для программистов" или уже на крайняк че-нить из Шеннона, работы Фано и Хаффмана полистаю. :)


 
brrrrr   (2006-11-18 02:59) [25]

Еще момент: а алгортим ЭЦП, который Вы все предлагаете, который будет использовать автор ветки - он прошел сертификацию ФСБ (ну или ФАПСИ)?

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


 
ИА   (2006-11-18 02:59) [26]


> Eraser ©   (18.11.06 01:14) [23]
> > [22] vasIzmax ©   (18.11.06 00:27)
>
>
> > И я намекнул: "Хочешь чего-то нормального - сделай сам"
>
> > (типа того).
>
> к криптографии это поговорка не подходит в 99.99% случаев
> ))


Именно. Я бы доварил это утверждение до 5 степени чистоты.
По делу - под открыто/закрытый наверное имеется ввиду Public/Private?
В общем RSA шифрование делается элементарно с помощью к примеру MS Crypto API и X.509 сертификатов. Помните только что быстродействие у подобного типа хромает и для больших обьемов лучше пользоваться  симметричными алгоритмами типа Rijndael/TripleDES/Blowfish, а уже сам ключик шифровать открытым ключом.


 
vasIzmax ©   (2006-11-18 13:00) [27]


> brrrrr   (18.11.06 02:59) [25]

Если честно, не знал, что надо проходить сертификацию. А если нет наказание суровое?


 
palva ©   (2006-11-18 13:41) [28]

> А если нет наказание суровое?
Кому наказание? Тому кто доверил секретные или финансовые данные несертифицированной системе. В результате украли миллион долларов. Докажи потом что программист, придумавший алгоритм не был в доле с похитителями.

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


 
Eraser ©   (2006-11-18 13:42) [29]

> [26] ИА   (18.11.06 02:59)


> только что быстродействие у подобного типа хромает и для
> больших обьемов лучше пользоваться  симметричными алгоритмами
> типа Rijndael/TripleDES/Blowfish, а уже сам ключик шифровать
> открытым ключом.

не только для больших объемов.. для любых. На сколько мне известно, до Win2K вообще нельзя было использовать RSA ключи для шифрования данных вручную. Эти ключи предназначены только для шифрования секретного (симметричного) ключа.


 
Lamer@fools.ua ©   (2006-11-18 14:00) [30]

>>Rouse_ ©   (17.11.06 22:01) [4]

>Асинхронные алгоритмы...
Асимметричные, вроде ;o)


 
Vga ©   (2006-11-18 14:48) [31]

> [17] vasIzmax ©   (17.11.06 23:46)

Ну и зачем? Обнаружение и извлечение алгоритма и ключа (32 бит в первом случае, 1689 (или около того) байт во втором) заняло от силы пару часов. Это криптография? Не смеши. Это баловство. Хотя если в проге хранится ключ, то никакой алгоритм не поможет...


 
vasIzmax ©   (2006-11-18 14:54) [32]

Vga ©

> Это баловство

100-ПУДОВО. Когда мне надо было что так сказать "зашифровать" использовал как минимум: по буквенную замену, перевод в различные системы счисления, сортировки = все в одном. Скажу сразу, сообщение имело соотношение к выходному где-то 1:2. В принципе для любителя ИМХО неплохо...


 
Vga ©   (2006-11-18 14:57) [33]

> [32] vasIzmax ©   (18.11.06 14:54)

Я не такой спец по криптографии, чтобы оценить, но ИМХО, это отнюдь не гарантия... Возможно, спец по криптографии, имея алгоритм (хотя бы и скомпилированный) сможет найти лазейку для быстрого выяснения ключа.


 
vasIzmax ©   (2006-11-18 15:02) [34]


> сможет найти лазейку для быстрого выяснения ключа.

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


 
Vga ©   (2006-11-18 15:13) [35]

> [34] vasIzmax ©   (18.11.06 15:02)

Public Domain - вот 100% защита.


 
vasIzmax ©   (2006-11-18 15:32) [36]

имхо, не все должно быть

> Public Domain

все-таки что-то, но должно быть #Private Domain#


 
Vga ©   (2006-11-18 15:36) [37]

> [36] vasIzmax ©   (18.11.06 15:32)

А вот его уже на 100% не защитишь. Есть только два варианта абсолютной защиты - не делать или открыть.


 
vasIzmax ©   (2006-11-18 15:43) [38]


> не делать или открыть.

Я сидел в течении года над прогой, тратил на нее все свое время, скурил 100000 сигарет, поседел на на 2*10000 волос, и просто: открыть для других ее. Как-то не особенно и айс. :)


 
Vga ©   (2006-11-18 15:45) [39]

> [38] vasIzmax ©   (18.11.06 15:43)

JR куда дольше поддерживает IS, чем год... GPL - не PD, но тоже вполне неплохая защита...


 
vasIzmax ©   (2006-11-18 15:46) [40]


> Vga ©   (17.11.06 22:56) [9]


 
Vga ©   (2006-11-18 15:46) [41]

> [38] vasIzmax ©   (18.11.06 15:43)

И кстати, я тебя и не призываю открывать... Я излагаю свою точку зрения на защиту.


 
Vga ©   (2006-11-18 15:47) [42]

> [39] Vga ©   (18.11.06 15:45)

Jordan Russel
Inno Setup
GNU Public License
Public Domain
И не надо это воспринимать более чем пример.


 
vasIzmax ©   (2006-11-18 15:53) [43]

Имхо, кодирование, как и проблема защиты инфы (!!!), будет всегда актуальна... И никогда не будет все общедоступно,
> все-таки что-то, но должно быть #Private Domain#
, хотя бы для баланса с

> Public Domain


 
wal ©   (2006-11-20 09:55) [44]


> [32] vasIzmax ©   (18.11.06 14:54)
> Скажу сразу, сообщение имело соотношение к выходному где-то
> 1:2. В принципе для любителя ИМХО неплохо...
Я, конечно, небольшой спец в криптографии, но, как я понимаю, если длина зашифрованного больше чем исходного, значит туда к существующей внесена еще дополнительная избыточность. А избыточность - это возможность для анализа.


 
jack128 ©   (2006-11-20 10:20) [45]

wal ©   (20.11.06 9:55) [44]
сли длина зашифрованного больше чем исходного, значит туда к существующей внесена еще дополнительная избыточность. А избыточность - это возможность для анализа.

или что в выходной поток внесены случайные данные ;-)


 
wal ©   (2006-11-20 10:40) [46]


> [45] jack128 ©   (20.11.06 10:20)
Ну, это уже не крипто-, а стеганография получается


 
Reindeer Moss Eater ©   (2006-11-20 10:42) [47]

Если шифр блочный, а не поточный, то исходное сообщение всегда выравнивается до длины, кратной длине блока.


 
wal ©   (2006-11-20 10:44) [48]


> [47] Reindeer Moss Eater ©   (20.11.06 10:42)
И избыток забивается случайным мусором. Но это увеличивает длину исходного сообщения, но не зашифрованного по отношению к исходному.


 
Reindeer Moss Eater ©   (2006-11-20 11:32) [49]

но, как я понимаю, если длина зашифрованного больше чем исходного, ..

Длина зашифрованного  может быть больше исходного и по такой простой причине как представление результатата в виде base64.


 
wal ©   (2006-11-20 11:38) [50]


> [49] Reindeer Moss Eater ©   (20.11.06 11:32)
Это, опять же, не шифрование, а кодирование. К шифрованию имеет отношение только на "бытовом" понимании - прочитать нельзя, значит зашифровано.


 
_mrcat   (2006-11-20 12:01) [51]

>wal ©   (20.11.06 09:55) [44]
стандартный метод - к исходному тесксту добавляется т.н. "соль" блок случайных данных не имеющий отношения к передаваемому. в этом случае анализ провести гораздо сложнее, и ни о какой "избыточности" здесь речи нет.


 
Anatoly Podgoretsky ©   (2006-11-20 14:18) [52]

> Reindeer Moss Eater  (20.11.2006 11:32:49)  [49]

> как представление результатата в виде base64.

Что тоже можно считать шифровкой, посколь для чтения требуется расшифровка. Но это транспортная вещь.


 
Anatoly Podgoretsky ©   (2006-11-20 14:20) [53]

> wal  (20.11.2006 11:38:50)  [50]

шифр, а код переводятся одинаково, есть два слова одно французкое, другое английское, оттуда и пошла эта калька шифр, код



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.59 MB
Время: 0.042 c
15-1163760410
untermensch
2006-11-17 13:46
2006.12.10
В чём щас помосчь пишется ?


9-1140081963
Древолаз
2006-02-16 12:26
2006.12.10
GL Scene Холм и Танк


15-1164201013
Тульский
2006-11-22 16:10
2006.12.10
Победить глюк №2328 в Windows 2000 Server (SP3)


2-1164489332
kami
2006-11-26 00:15
2006.12.10
Потокобезопасность TStringList


2-1164205377
Kolan
2006-11-22 17:22
2006.12.10
Как получить номер выделенной строки DBGrid?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский